04 — Workflow
Diagrams: livelink · validation · Runtime: 09 — Workflow
Day-to-day iteration: validate before export, Live Link for Ctrl+S reload, and debug vs release exports.
Validate
Babylon Scene → Validate runs the same checks as export without writing files. Use it when wiring references or scripts.
Common warnings:
- Missing script file on a SCRIPT component
- Entity / trigger / constraint target missing or render-disabled
- MESH collider on DYNAMIC body, or MESH-shaped trigger (Havok)
- Constraint ends without collider + rigid body
- Components on skinned mesh instead of armature
- AREA lights, duplicate GUIDs, no active camera
- Rendering Group id outside 0–3, or Custom Layer Mask out of 32-bit range
- Input Actions: duplicate names, empty bindings, bad
@inputMaprefs, missing Scene Default
Trace: trace-validate. Export Level also runs validate and lists warnings in its report.
Live Link
- Export once manually to set the output path (stored per .blend)
- Tick Live Link in Babylon Scene
- Every Ctrl+S re-exports to the same paths
- With
npm run dev, the Vite plugin watchespublic/levels/and reloads the browser (debounced; all asset types, not only the manifest)
Warnings print to Blender's console on each live save. Trace: trace-livelink · runtime: engine trace-livelink.
Debug Build
When Debug Build is enabled, the manifest includes "debug": true. The playground enables:
- C — physics collider wireframes
- I — Babylon Inspector (lazy-loaded)
Untick for release builds. Older manifests without the field behave as debug-enabled.
Recommended loop
flowchart LR
A[Author in Blender] --> B{Validate clean?}
B -->|fix warnings| A
B -->|yes| C[Export or Live Link save]
C --> D[Browser reload via Vite]
D --> A
Input Actions code gen (optional)
After editing the scene Input Actions asset, run from repo root:
npm run input:gen -- --app playground
Generates typed constants in apps/playground/src/InputActions.ts so action names are compile-time checked. Keep asset at apps/<name>/input.inputactions.json.
See also
- 01 — Export — artifact layout
- Babylon Launcher — open scenes without the playground
- Prefabs — linked .blend workflow