> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ngram.space/llms.txt
> Use this file to discover all available pages before exploring further.

# Give intelligence a place.

> Connect a persistent Entity to a body that can act in a shared spatial environment.

An Entity can point, move, make objects, and leave an explanation in the world. A shell turns its intentions into a body.

<div className="ngram-actions"><a href="/spatial/quickstart">Give it a body <span aria-hidden="true">↗</span></a><a href="/spatial/recipes">See what to build <span aria-hidden="true">→</span></a></div>

The ngram WebXR surface gives your Entity a spatial output and input channel. It works in a desktop browser and can enter immersive AR on a compatible headset. Identity and memory remain in the Python runtime.

## A practical vocabulary for the world

<CardGroup cols={2}>
  <Card title="Move with intent" icon="person-walking" href="/spatial/tools#movement-and-expression">Step aside, look toward the user, greet them, or settle into an idle stance.</Card>
  <Card title="Make an explanation tangible" icon="shapes" href="/spatial/recipes">Place geometric primitives, labels, annotations, and readable panels.</Card>
  <Card title="Work with real scene objects" icon="cube" href="/spatial/tools#objects-and-environment">Spawn physics toys and change the environment around the shell.</Card>
  <Card title="Keep context in view" icon="window-maximize" href="/spatial/tools#panels-and-media">Show a result, code sample, browser page, or specific YouTube video.</Card>
</CardGroup>

The canonical Entity integration exposes **21 spatial tools**. Their availability in the registry is not evidence that every optional backend or headset feature is configured.

## Intent, then embodiment

```mermaid theme={null}
flowchart LR
    E[Persistent Entity] -->|Structured action| G[Spatial gateway]
    G --> R[Shell runtime]
    R --> W[WebXR surface]
    W -->|Events and capabilities| G
    G -->|Perception| E
```

The Entity selects an action such as `ar_gesture`. The shell resolves that gesture into an animation it actually has. This separation lets you change assets and presentation without moving identity into a character model.

## Start on desktop, then enter AR

Desktop mode is useful for building, inspecting, and demonstrating a scene. It does not supply headset tracking. In an immersive session, features depend on the browser, device, permissions, and reported capabilities.

Call `ar_inspect_surface` when the agent needs evidence about its environment. The [capability guide](/spatial/capabilities) explains what that snapshot does and does not prove.

<Note>v1 documents the shipped `ngram_entity` binding. A general “bring any harness” integration is an extension project, not an automatic OpenClaw or Hermes compatibility claim.</Note>
