Skip to main content
Glama

sightline_map

Measure level exposure by shooting eye-height rays from reachable cells, returning a heat map and longest sight lines to find sniper alleys and check cover breaks long views.

Instructions

Exposure of a level. For every reachable cell it shoots rays around at eye height and measures how far one can see. Returns a heat map (blue enclosed, red exposed), the longest sight lines with their positions and the area that has a sight line longer than long_sightline. Use it to find sniper alleys and to check that cover and corners break long views. Same agent settings as walkable_map.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cellNo
raysNo
namesNo
startNo
max_rangeNo
eye_heightNo
long_sightlineNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it explains the algorithm (ray casting at eye height per reachable cell), the output encoding (blue=enclosed, red=exposed), and the threshold-driven area metric. It omits cost/runtime expectations and any prerequisite state (e.g. an existing level), so it falls short of 5.

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

Conciseness4/5

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

Four tight sentences, front-loaded with what is computed before the interpretation and use case. Dense but no filler; the only slight cost is that the output description is packed into one long sentence.

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 tool with no annotations and no output schema, the description supplies both the computation and the return shape (heat map, sight lines with positions, thresholded area), which is what an agent needs to invoke and interpret it. The remaining gap is the un-documented half of the parameter set.

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

Parameters3/5

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

Schema description coverage is 0% across 7 parameters, so the description must compensate. It meaningfully explains `long_sightline` (the threshold for reported area) and implicitly `eye_height` and `rays` ('shoots rays around at eye height'), but leaves `cell`, `names`, `start`, and `max_range` undocumented, so coverage is only partial.

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?

States a specific computation ('Exposure of a level... shoots rays around at eye height and measures how far one can see') and its output (heat map, longest sight lines, exposed area). It is clearly distinguishable from geometry-modelling siblings, and it hints at kinship with walkable_map, though it doesn't contrast itself against line_of_sight or viewshed.

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?

Explicitly names the use case: 'find sniper alleys and check that cover and corners break long views.' This is clear positive guidance, but there is no when-not guidance and no named alternative (walkable_map is cited only for shared settings, not as a routing alternative).

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