shipping WebXR surface · replaceable bodies

ngram Spatial Presence in your space.

ngram Spatial is the embodied surface for the same persistent ngram you know in chat. The browser owns the model, animation, voice, physics, and panels; the canonical runtime keeps identity, memory, relationships, tools, and judgment. They meet through an authenticated bridge and the Presence Protocol.

live architecture

What ships today

The Spatial Action API gives models a bounded vocabulary for acting in the scene. The Presence Protocol carries context and actions between the runtime and shell. The same Entity loop chooses both ordinary tools and its embodied behavior.

WebXR shell

A Three.js surface runs in the browser and on Quest, rendering a rigged character with voice, animation, environment, physics, and behaviors from shell YAML.

Agent adapter

The authenticated Entity adapter carries session events and spatial context to the canonical runtime. The 21 native model-facing tools cover movement, gaze, gesture, speech, panels, media, objects, physics, scene inspection, environment changes, and generated motion.

Same brain, new stage

A shell’s binding.baseUrl connects it to a local (ws://) or deployed (wss://) runtime. The WebXR surface stays presentation; identity and memory remain canonical in the ngram.

The spatial layer is optional. Text surfaces keep working without a browser body; adding a shell does not split identity or create another agent.