Getting Started with Aeion Spatial

Create a 3D scene, generate a product model with AI, drive the editor by natural-language commands, embed in a Commerce page, and start a VR meeting — all in the browser. zero install.

1

Create Your First 3D Scene

Navigate to Spatial → Scenes and click New Scene.

Required fields:

  • Name — e.g., "Summer Collection Showroom"
  • Scene Type — Choose the best fit for your use case:

Scene metadata:

json { "name": "Summer Collection Showroom", "sceneType": "generic", "status": "draft", "settings": { "ambientLight": { "intensity": 0.4, "color": "#ffffff" }, "environment": "studio", "camera": { "fov": 50, "near": 0.1, "far": 1000 } } }

Once created, the scene opens in the Spatial Editor — a React Three Fiber canvas with:

  • Left panel: Hierarchy tree of all scene nodes
  • Center: 3D viewport with orbit/pan/zoom controls
  • Right panel: Inspector for selected node properties (transform, material, physics)

Editor controls:

  • Left-click: Select object
  • Right-click: Context menu (duplicate, delete, group)
  • Middle-click drag: Orbit camera
  • Scroll: Zoom
  • F key: Frame selected object
  • Ctrl+Z: Undo
2

Add Objects to Your Scene

FormatUse CaseNotes
glTF/GLBStandard 3DBest for web — binary + textures in one file
FBXBlender/Maya/3ds MaxWide compatibility, larger file size
OBJ + MTLSimple modelsNo animation support
USD/USDZApple ecosystemFor iOS AR experiences
STL3D printingGeometry only, no materials
PLYPoint cloudsLaser scans, photogrammetry
BLENDBlender nativeParsed directly from Blender format
3

Generate a 3D Model with AI

Instead of uploading, generate a model from a text description or reference image:

Open: Spatial → AI Generation

Text-to-3D

  1. Select Text to 3D tab
  2. Enter a prompt: "A photorealistic leather office chair with chrome base"
  3. Select provider:
  4. Select output format: glb, gltf, fbx, obj, usdz
  5. Click Generate

Generation job tracked in your AI job history:

json { "id": "ai_job_01J8XK4N3P", "provider": "luma", "jobType": "text_to_3d", "status": "processing", "input": { "prompt": "leather office chair with chrome base", "resolution": "2048" }, "createdAt": 1746969600000, "completedAt": null }

Processing time: 10-120 seconds depending on provider and complexity. You'll receive a notification when complete.

Image-to-3D

Upload a reference photo → the AI reconstructs a 3D model from it. Best for:

  • Physical product photos → 3D product viewer
  • Architectural photos → 3D reconstruction
  • Sculptures/artwork → 3D archive

Texture Generation

Generate PBR texture sets (diffuse, normal, roughness, metalness, AO) from text:

  • Prompt: "weathered concrete with moss growing in the cracks"
  • Output: 4K PNG textures or EXR HDR maps
  • Used to create PBR materials automatically

Style Transfer

Apply artistic style to existing textures: "make this look like watercolor painting"

4

Apply Materials and Lighting

MaterialUse Case
**Standard PBR**Metals, plastics, wood — baseColor + metalness + roughness
**Transmission**Glass, water, crystal — light passes through with refraction
**Clearcoat**Car paint, lacquer — extra specular layer
**Sheen**Fabric, velvet — directional highlight at grazing angles
**Subsurface**Skin, leaves, wax — light scatters beneath surface
**Emissive**Screens, LEDs, glow effects — self-illuminated
**Physical sky**HDR environment map for realistic reflections
**Terrain**Heightmap-based terrain with multiple texture layers
**Water**Animated water surface with caustics and foam
**Hair/Cloth**Anisotropic shading for hair strands and fabric weaves
**Volume**Fog, clouds, participating media
5

Publish and Embed Your Scene

Publish the Scene

Click Publish in the scene editor toolbar.

What happens:

  1. Scene nodes validated (no broken references)
  2. All assets compressed and streamed to CDN
  3. LOD variants generated for mobile delivery
  4. spatial.scene.published event fires
  5. Scene is publicly accessible (if permissions allow)

json { "id": "scene_01J8XK4N3P", "status": "published", "publishedAt": "2026-05-11T10:30:00Z", "embedUrl": "https://yourtenant.aeionos.com/spatial/scene/summer-collection", "viewerUrl": "https://yourtenant.aeionos.com/spatial/view/summer-collection" }

Create an Embed Config

Spatial → Embeds → New Embed

json { "sceneId": "scene_01J8XK4N3P", "allowedDomains": ["yourstore.com", "yoursite.com"], "showToolbar": true, "showAnnotations": false, "expiresAt": "2027-01-01T00:00:00Z", "maxViewCount": 10000, "encrypted": false }

Embed in a Commerce Page

html <!-- Auto-generated embed snippet --> <iframe src="https://yourtenant.aeionos.com/spatial/embed/e8f4a7b2..." width="100%" height="600" allow="xr-spatial-tracking; fullscreen" style="border: none; border-radius: 12px;" ></iframe>

Use case in Commerce: Product pages with an interactive 360° viewer. The viewer is linked to the product record — inventory levels, price, and variants all update live. No manual syncing.

6

Enable VR / AR Mode

For VR (Meta Quest, HTC Vive, etc.)

  1. Open the published scene URL in a WebXR-compatible browser (Meta Browser on Quest, Firefox Reality, etc.)
  2. Click the VR headset icon (bottom-right of viewport)
  3. Browser prompts for WebXR permission → Allow
  4. Scene renders in stereo VR — 6DOF head tracking, hand controllers mapped

VR controls:

  • Left thumbstick: Teleport / smooth locomotion
  • Right thumbstick: Turn
  • Grip button: Grab and move objects
  • Trigger: Select / interact
  • Menu button: Open scene menu

For AR (Phone/Tablet)

  1. Open the scene URL on a mobile device with AR capability
  2. Click the AR icon (bottom-right)
  3. Camera activates → point at surface → tap to place scene
  4. Scene anchored to physical surface via ARKit (iOS) or ARCore (Android)

AR features:

  • Surface detection (horizontal and vertical planes)
  • Image tracking (trigger AR experience by pointing at a poster)
  • Light estimation (scene lighting adapts to physical environment)

Generate a Launch QR Code

From the scene editor: Share → Generate QR Code

``` Deep link: aeion-spatial://scene/summer-collection?mode=vr QR code generated from that deep link.

// QR scanned on phone: // - iOS: Opens in Safari → AR Quick Look or WebXR // - Android: Opens in Chrome → WebXR AR mode // - Quest: Opens in Meta Browser → Full VR ```

7

Start a VR Meeting

TemplateDescription
`boardroom`Conference table, presentation screen, 12 seats
`auditorium`Staggered seating, large screen, 50+ capacity
`campfire`Circular seating, informal, 8 people
`outdoor_pavilion`Open-air setting, casual, 6 people
`training`Instructor podium + student seats, whiteboards
8

Collaborate in Real Time

Invite Collaborators

Share → Invite Collaborators

json { "sceneId": "scene_01J8XK4N3P", "invitees": ["user@yourtenant.com"], "permission": "editor" // "viewer" | "editor" | "admin" }

The invited user receives an email with a direct link. When they open the scene, they see you editing in real time.

What You See

  • Other users' cursors — labeled with their name, showing position in the 3D view
  • Selection highlights — when someone selects an object, you see a colored outline around it
  • Camera views — see where other users are looking (optional, toggleable)
  • Presence indicators — avatar for each user in the top toolbar

Real-Time CRDT Sync

Powered by Yjs CRDT — no central server authority:

  • Every edit (transform change, material update, node add/delete) is a CRDT operation
  • Operations merge automatically — two people editing the same material simultaneously? Both changes apply correctly
  • Undo/redo replays across all participants — your undo undoes your last operation, not theirs
  • Object locking — if you're editing a node's material, others see a lock icon and can't edit until you're done

Offline support: Disconnect and reconnect — Yjs replays your changes when back online.

9

Drive the Editor by Voice or Text

The fastest way to build a scene isn't clicking through menus — it's telling Spatial what you want. Natural-language parsing turns plain-English input into structured scene actions.

Open: Spatial Editor → AI Command Bar (or press / from any panel)

Example commands

"Place a leather chair near the window" "Make the floor look like polished concrete" "Add 3 spotlights above the table, warm color, low intensity" "Move the chair 2 meters to the left" "Delete every cube smaller than 1 meter" "Apply the brushed-steel material to all metal objects" "Group the chairs and rotate them 45 degrees" "Add ambient music — relaxed lobby mood" (drives adaptive procedural music)

What happens under the hood

Your input: "Place a leather chair near the window" │ ▼ Intent recognized: "place_object" → object_type: "chair" → material_hint: "leather" → spatial_reference: "near window" │ ▼ Command resolved: → 1. Asset library search: chair models matching "leather" material → 2. Scene-graph query: find nodes with type="window" → 3. Resolve position: 1.5m offset from window, facing center → 4. Place the chair with the resolved position + material │ ▼ Confirmation in chat: "Placed a leather chair 1.5m east of the south window."

Driving the Desktop OS by voice

AeionClaw can drive the entire Spatial Desktop by voice:

"Open the CRM dashboard panel on the right" "Walk through the portal to the Commerce workspace" "Tile the three open panels in a grid" "Lock the inventory panel to my left hand"

If an AI provider isn't configured for your tenant, the command bar tells you plainly rather than silently ignoring your input.

Importing Architectural Models

FormatDescriptionWorkflow
**IFC**Industry Foundation Classes — universal BIM exchangeAutoDesk, Revit, ArchiCAD exports
**Revit (.rvt)**Autodesk Revit nativeBest for BIM with MEP data
**DWG**AutoCAD 2D/3D drawingsFloor plans → extruded to 3D

Connecting to Other Modules

Spatial integrates natively with every Aeion OS module — no API code required:

Smart Spaces (IoT → Digital Twin)

typescript // In Smart Spaces, bind a sensor to a spatial node: // Smart Space device: Temperature Sensor TH-001 // Spatial node: Room "Conference A" (from BIM import) // Binding: sensor.data.temperature → node.material.emissiveIntensity // Result: Room walls glow warmer/cooler based on actual temperature

Commerce (Product Viewer)

typescript // In Commerce, link a product to a spatial scene: // Product: "Summer Chair" // Spatial scene: "Chair Showcase" // The product page embeds the scene as an iframe // Inventory levels shown as floating labels in 3D

Production (Set Design)

typescript // In Production, import shot planning data: // Shot schedule with camera positions → spatial camera nodes // Blocking notes → spatial annotation markers // Scene becomes an interactive shot board

CRM (Avatar Generation)

typescript // In CRM, generate an avatar from a contact photo: // Contact photo → AI texture generation → applied to character face // Used in: Recruit interview simulation, Helpdesk video agent