Select an object or drag a shape to add one.
G Move R Rotate S Scale
v1.0.0 — Browser-Native 3D Editor
A fully browser-based 3D creation environment — no plugins, no installs, no boundaries. Build, sculpt, and render directly in the matrix.
Switch between a hardware-accelerated WebGPU renderer and a software Canvas 2D rasteriser — both in real time.
Per-axis translate, rotate, and scale gizmos with uniform-scale centre handle for fast, precise object manipulation.
Multi-phase drag-to-create for Box, Cone, Cylinder, Capsule, Torus, Sphere, and Icosphere with live parameter feedback.
CPU-side Bounding Volume Hierarchy raytracer for accurate picking and future offline rendering passes.
Full hierarchy panel, multi-select, parent/child grouping, per-object transforms, and JSON scene serialisation.
Built with Vite and vanilla JS. Zero runtime dependencies outside the browser platform — easy to fork and extend.
Crafted with intention — running entirely in your browser.
|> Enter the Matrix.
All navigation happens directly in the 3D viewport.
| Left-drag | Orbit — rotate the camera around the scene |
| Right-drag / Middle-drag | Pan — slide the camera up, down, left, right |
| Scroll wheel | Zoom in / out |
| F | Frame selected — snap the camera to focus on the selected object |
All primitives live in the Primitives panel on the left.
Drag any shape thumbnail from the panel into the viewport to start creation. Release to drop.
| Box | Rectangular cuboid with independent W/H/D sliders |
| Sphere | UV sphere with adjustable segment count |
| IcoSphere | Icosahedron-based sphere, great for uniform topology |
| Cone | Tapered cone with polygon count control |
| Cylinder | Capped cylinder with polygon count control |
| Capsule | Cylinder with hemispherical caps |
| Torus | Ring / donut shape |
| Plane | Flat single-sided quad |
| Text | 3D extruded text — edit the string in the Properties panel |
| Spline | Click to place control points, double-click to finish the curve |
| Click object | Select it (deselects everything else) |
| Ctrl+Click | Add or remove from the current multi-selection |
| Click empty space | Deselect all |
| H | Open the Select by Name dialog |
Select an object then use the gizmo in the viewport or type values directly in the Properties panel on the right.
| W | Translate — colored arrows; drag to move along X (red), Y (green), or Z (blue) |
| E | Rotate — colored rings; drag to rotate around each axis |
| R | Scale — colored handles; center cube = uniform scale on all axes |
When multiple objects are selected, the gizmo transforms all of them together relative to the last-selected object's pivot.
Add lights from the Lights panel on the left or via the Add Light menu.
| Directional (☀) | Sun-like light with parallel rays — simulates distant sunlight; has direction but no position attenuation |
| Point / Omni (○) | Radiates light in all directions from a single point in space — attenuation by range |
| Spot (◎) | Cone-shaped beam — has position, direction, and an adjustable cone angle |
Containers let you group models together so they can be transformed as a single unit.
Emitters add dynamic particle effects to your scene. Add them from the Emitters panel on the left.
| Smoke | Soft rising grey-white particles that expand and fade |
| Rain | Fast-falling streaks, great for atmospheric scenes |
| Bubbles | Slow-rising translucent spheres |
| Fire | Orange-red upward burst with heat shimmer feel |
| Ctrl+N / File > New | Clear the scene and start fresh (prompts for confirmation) |
| Ctrl+O / File > Open | Load a previously saved .json scene file |
| Ctrl+S / File > Save | Save the entire scene to a .json file |
| File > Import JSON | Merge objects from another scene JSON into the current scene |
| File > Import OBJ | Import a 3D model from a .obj file |
| File > Export JSON | Export only the current scene geometry and settings |
Scene files are plain JSON — fully human-readable and easy to version-control. They store all meshes, lights, cameras, containers, emitters, and their transforms.
| Key | Action |
|---|---|
| W | Translate gizmo |
| E | Rotate gizmo |
| R | Scale gizmo |
| F | Frame selected object in view |
| H | Select by Name dialog |
| Delete / Backspace | Delete selected object(s) |
| Ctrl+Z | Undo |
| Ctrl+Shift+Z | Redo |
| Ctrl+S | Save scene |
| Ctrl+O | Open scene |
| Ctrl+D | Duplicate selected object(s) |
| Ctrl+Click | Add / remove from multi-selection |
| Escape | Cancel creation / deselect / close dialog |
Professional 3D Scene Editor
Press Enter or Space to continue