Describe the world
JSON defines assets, objects, state, movement, triggers, interactions, and the camera. Use simple shapes or import detailed 3D geometry into that JSON.
Start building ↗LIVE JSON WORLD ENGINE
Define a complete world as JSON, render it as interactive 3D ASCII, and load the next valid document whenever your application changes it.
Public beta. Known limitations and export guidance.
HOW IT WORKS
JSON defines assets, objects, state, movement, triggers, interactions, and the camera. Use simple shapes or import detailed 3D geometry into that JSON.
Start building ↗Edit it in the playground or generate it anywhere. Load changed JSON and the browser renders the changed world.
world.json → view.load(nextWorld)Clicks, proximity, fixed-tick jobs, and state can drive JSON-defined behavior. Your application decides how interaction results appear.
See the code ↓EXAMPLES
A small, drivable world with clickable content.
Open in playground ↗Use objects as interactive cards that emit content events to your application.
Open in playground ↗A detailed imported model saved as JSON-native world geometry.
Open in playground ↗THE ENGINE
The core simulates your JSON. The browser adapter mounts it in a container and
view.load(nextWorld) replaces it when your JSON changes. The playground
is one client of that engine; your application can be another.