A browser-based, drag-and-drop 3D environment editor built with three.js.
npm install
npm run dev -- --host 127.0.0.1 --port 4173Open: http://127.0.0.1:4173
Put files in assets/ and they are discovered at runtime via /api/assets.
Supported types:
- Models:
.glb,.gltf,.obj,.stl - Textures:
.png,.jpg,.jpeg,.gif,.webp,.svg - Audio:
.mp3,.wav,.ogg
Recommended structure:
assets/
terrain/
props/
textures/
soundscapes/
assets/soundscapes/ files appear in the in-app Soundscapes panel and can loop while editing.
- Drag catalog assets onto the world canvas to place.
- Tools:
Terrain Paint: paint selected terrain tile asset.Height Brush: sculpt hills/valleys (Shiftlowers terrain).River Brush: paint flowing river cells (Shifterases river).Select: select tile/object and edit in inspector.
- Double-click selected objects to fire projectile particle cues.
Ftoggles fullscreen.
- Autosaves in realtime to
localStorage. - On startup, resume modal lists sessions with:
- thumbnail
- name
- updated date/time
- total editing duration
Export Full JSON: full editor state (objects, terrain, sky, animation settings, particles, etc.)Import JSON: restore a previously exported full-state JSON.Export OBJ/Export STL: static scene geometry export (terrain + placed objects).
- Built-in terrain/prop/texture assets are included so the editor is usable before importing custom packs.
- GLTF/GLB animation clips are detected and exposed in the object inspector.
- Airborne paths and particle behavior are configurable per selected object.