> ## 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 build something you can pick up, change, and operate. It can author a mesh in Blender, refine it in your scene, and give it behavior that continues after the conversation ends. A shell gives that Entity a body beside its work.

<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="Build in Blender" icon="cube" href="/spatial/blender">Watch real meshes arrive as the agent publishes stages of its work. Move them without losing your placement on the next edit.</Card>
  <Card title="Make it respond" icon="code" href="/spatial/programs">Operate scene buttons and sliders, grab creations, and run local animation without per-frame model calls.</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 **28 spatial tools**, including `ar_world` for programmable creations, `ar_blender` for execution-host authoring, and a five-tool [Figment bundle](/spatial/figments) for interactive objects with adjustable [physics](/spatial/physics), local behavior and portable publishing. Open [Creations](/spatial/creations) to start with the built-in examples. Tool registration alone does not prove that every optional backend or headset feature is configured.

## Intent, then embodiment

```mermaid theme={"theme":"github-light-default"}
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>
