Skip to main content
An agent should know what its environment exposes before claiming what it can perceive or do. The first tool for that is ar_inspect_surface.
The result includes the spatial tool names and the current surface context supplied with the input. It describes a live interface, not files inside the Entity’s execution workspace.

Three different kinds of evidence

Desktop and immersive AR

The runtime’s advertised support and a user’s permission to start playback or capture are separate conditions.

Capture is not unrestricted vision

ar_request_capture requests a frame from the surface. The shipped capture helper captures the rendered WebGL canvas and resizes it. A successful canvas capture does not prove access to the user’s physical room or the headset’s passthrough camera feed. Handle capture failure or missing visual input explicitly. Do not infer hand positions, gaze, or objects in a real room from desktop mode alone.

Optional services

Generated motion needs an external motion backend. The AR gateway reads NGRAM_AR_MOTION_PROVIDER_URL and optional token/timeout variables. The adapter calls /v1/motion and expects a compatible generated clip. Browser pages can refuse embedding. Media playback can require a user gesture or be unavailable for a particular video. A registered ar_open_browser or ar_play_youtube tool cannot override those conditions.

A useful inspection habit

Inspect once when entering a session or when a capability changes. Use the returned evidence to act. Repeating a registry inventory is not progress on the user’s request; if an action fails, inspect that specific failure and report the limitation.