- Units — SI everywhere, encoded in field names (
_m,_rad,_mps,_n). No implicit unit negotiation. See units and frames. - Coordinate frames — right-handed, with an explicit frame tree (named frames and parent transforms) published at
session.ready, borrowed conceptually from ROS tf. Every pose names its frame. - Time — monotonic nanosecond timestamps against a session clock, anchored to wall-clock and (in sims) to sim-time. See timestamps and clocks.
- Modalities — a registry of standard encodings (
image/jpeg,audio/pcm,proprio/json,text/event+json, …) withx-vendor.*extension naming. See modalities. - Scene graphs — an optional semantic channel exposing entities, affordances, and relations as structured JSON. Enormously valuable for LLM agents that reason in symbols rather than pixels. See scene graphs.
Core concepts
Grounding
Shared conventions — units, frames, clocks, encodings — so payloads mean the same thing in every world.
Interoperability dies in the details, so Layer 3 pins them down: