Two-page synced system:
index.html: webcam AR voxel builder (auto-start, no side HUD)panel.html: synced control panel with preset builds and live status
- Right thumb + index pinch: add voxel.
- Right thumb + middle pinch: erase voxel.
- Move hand in/out: place into deeper/nearer depth layers with hysteresis smoothing.
- Left-hand fist + move: rotate (arcball feel).
- Left hand missing: auto-spin mode.
- Mouse/touch drag on canvas: fallback rotation.
- Arrow keys: fallback rotation nudges.
C: clear all voxels.Ctrl+Z/Ctrl+Shift+Z(orCtrl+Y): undo and redo. One pinch stroke, a clear or a preset load is one step.H: toggle debug overlay.
- Rotation state machine:
idle,candidate_grab,grabbing,release_inertia,auto_spin. - Grab hysteresis + smoothing to reduce jumpy rotation.
- Instanced voxel renderer for lower memory pressure.
- Adaptive quality manager:
- Slow (>22ms for 3s): quality steps down.
- Fast (<14ms for 5s): quality steps up.
- Sync payload now includes:
protocolVersionstateHashqualityModerotationSource
- Panel commands (
load preset,append preset,clear) control builder in real-time. - Builder publishes block state + quality/rotation status back to panel.
- Last build persists to local storage and restores on refresh.
cd /path/to/vortex-builder
npm install
python -m http.server 4173Open:
- Builder:
http://localhost:4173/index.html - Panel:
http://localhost:4173/panel.html
cd /path/to/vortex-builder
npm test