Skip to main content
Glama
putervision
by putervision

get_expected_view

Read-onlyIdempotent

Compute which entities are visible from an observer pose and field-of-view cone using ray-AABB occlusion; returns visible, occluded, and observer lists without writing entities.

Instructions

Compute which entities should be visible from an observer pose and FOV cone, with ray-AABB occlusion. Read-only. Does not write entities. Returns {visible[], occluded[], observer}. Use get_expected_view instead of get_spatial_map when computing observer FOV visibility and occlusion cones rather than unfiltered world states.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
projectNoOptional project identifier
fov_degreesNoHorizontal field of view in degrees (default: 90)
max_distanceNoMaximum view distance in units (default: 100)
observer_positionYesObserver 3D coordinates
observer_orientationNoObserver orientation (yaw determines heading direction)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv0.4.1
    • removedInput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
    • removedInput schema / additionalProperties
      Removed value: -false
    • removedInput schema / properties / observer_orientation / additionalProperties
      Removed value: -true
    • removedInput schema / properties / observer_position / additionalProperties
      Removed value: -true
  2. First observedv0.3.1

TDQS

A4.4/5.0
Behavior4/5

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

The annotations already establish that this is read-only, idempotent, and non-destructive, and the description reinforces that it does not write entities. It adds useful behavioral context beyond the annotations by naming the occlusion method (ray-AABB) and the return structure. It stops short of describing edge cases or performance characteristics, so it is strong but not exhaustive.

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?

The description is short and front-loads the computation and its scope. However, 'Read-only. Does not write entities.' is redundant with each other and largely duplicates the annotation-style safety information, slightly reducing efficiency.

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

Completeness5/5

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

Although there is no output schema, the description supplies the return shape as {visible[], occluded[], observer}, and it covers the core behavior, occlusion method, and sibling alternative. Together with the fully documented input schema and annotations, an agent has enough context to invoke the tool correctly.

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 100%, so the schema already documents all five parameters, including defaults for fov_degrees and max_distance. The description does not add syntax, constraints, or meaning beyond what the schema provides, so the baseline of 3 is appropriate.

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

Purpose5/5

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

The description states a specific computation: which entities should be visible from an observer pose and FOV cone, including ray-AABB occlusion. It distinguishes this tool from the sibling get_spatial_map by contrasting filtered visibility/occlusion with unfiltered world states.

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

Usage Guidelines5/5

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

It explicitly says to use this tool instead of get_spatial_map when the task is computing observer FOV visibility and occlusion cones rather than unfiltered world states. The condition for choosing this tool over the named alternative is clear.

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