Install and build your first scene
Install
Use Python 3.12 or newer, Node.js compatible with Vite 7 (Node 22.12+ is a suitable baseline), Git and a WebGL-capable browser. Run in the repository root. The installer deliberately uses npm 10.9.3 for reproducible workspace resolution.
make install
make devStudio: http://localhost:5173. API: http://localhost:8000. Keep both processes running. Stop the development launcher with Ctrl+C. For read-only production documentation, build and serve the static site; no API is needed.
npm run docs:build
python3 -m http.server 8088 --directory docs/siteOpen http://localhost:8088. Do not expose the development API publicly: library scope is not authentication.
Optional AI configuration
Keep OPENAI_API_KEY in the API environment only. QWAY uses optional semantic planning/inference; the model never supplies authoritative geometry. Without a provider, manual import, analysis, source editing, placement, persistence and static playback remain available. A fake provider is a test fixture, not intelligent planning. Provider failure must be shown, not disguised as successful composition.
First object in five minutes
- Choose QWAY. In Assets, upload a valid self-contained GLB and describe what it represents. Use Upload and inspect. Wait for deterministic analysis to finish.
- Inspect measured bounds, normalization and manifest evidence. Give the object a meaningful name and semantic notes.
- Use Add … to scene, or drag an asset into the viewport. Select the new hierarchy instance; change Position X in the inspector.
- Open QWAY Source. The corresponding pose belongs to this same instance. Edit a value with units and choose Compile preview.
- Save scene. Reopen the saved project and verify the same identity and pose. Use ❓ without leaving the editor.
For reproducible documentation exercises, the repository includes generated tests/fixtures/desk.glb; do not expect the illustrative UUIDs in reference examples to match a fresh upload.
Compose, then direct
Use Prompt → Compose for an initial scene and Revise for bounded changes. Try “Arrange everything as you think is best”, then “Make the workbench 110 cm high”. Inspect warnings and source changes. Move to WRIGHT to create connected spaces, then RIDLEY to add a cinematic or experience. Preview 🎮 runs compiled data, not an independent copy of authored intent. See the recipes.