Skip to main content
Glama
akontadakis
by akontadakis

photosensors

Generates sensor positions and sidelighting zones for daylight dimming control by analyzing OBJ room geometry to locate dominant glazed facades and place horizontal sensors.

Instructions

Daylight-dimming photosensors from an OBJ room (methodology.md §3).

Locates the dominant glazed facade, builds sidelighting zones from the window head height (zone_rule='head_height' with depth_factors like [1,2], or 'ies_2.5'), and places one horizontal sensor per zone at sensor_fraction of the zone depth, centred on the facade and clipped to the floor. mount='workplane' (z=floor+workplane_h, up) or 'ceiling' (down). Returns points [x,y,z,dx,dy,dz] + a per-zone methodology; writes a .pts. material_map OR sidecar required (to identify floor & glazing).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
mountNoworkplane
unitsNo
sidecarNo
up_axisNo
obj_pathYes
work_dirNo
write_ptsNophotosensors.pts
zone_ruleNohead_height
task_heightNo
workplane_hNo
material_mapNo
depth_factorsNo
north_angle_degNo
sensor_fractionNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the core behavior: dominant facade detection, zone building, sensor placement at sensor_fraction, mount orientation details, return format, .pts file writing, and required inputs. It does not cover failure modes or edge cases, but it is substantially transparent about what the tool does.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but efficient: front-loaded with the tool's purpose, then algorithmic steps, geometry details, outputs, and requirements. Every sentence conveys essential information with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex geometric tool, the description covers the main workflow, output format, mount behavior, and required inputs. It even references methodology.md for deeper detail. It is not fully complete because several optional parameters are not explained, but it is adequate for a typical default call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain parameters, and it does for key ones: zone_rule, depth_factors, sensor_fraction, mount, workplane_h, material_map/sidecar, and the .pts output. However, it leaves several parameters unexplained (units, up_axis, task_height, north_angle_deg, work_dir), which is a meaningful gap for a 14-parameter tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description is clear that this tool generates daylight-dimming photosensor points from an OBJ room: it locates, builds, and places sensors and returns point coordinates. It does not explicitly distinguish itself from sibling tools like 'sensors' or 'workplane_grid', but the specific algorithm and daylight-dimming context make the purpose sufficiently clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides solid context: it applies to an OBJ room with a glazed facade, and it states that material_map OR sidecar is required to identify floor and glazing. It does not explicitly say when to choose this tool over alternatives, but the technical context and prerequisites give clear enough usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.