Skip to content

Assets, edit ops & panels

Beyond the viewport and inspector, the editor has the panels and operations you use to build a project.

Reference: the editor renders the live scene through the engine pipeline
The panels below act on the live scene the viewport renders.

The asset browser (packages/editor/src/components/AssetBrowser.tsx) is a folder tree of project assets with a name search and thumbnails (each asset’s kind — model / image / audio / material — drives its icon). Drag assets into the viewport or hierarchy to instantiate them. An online asset browser can pull from Polyhaven / AmbientCG.

Autosave writes back through the active adapter’s own truth — a three root’s TSX/R3F source — via the storage-backend seam (HTTP dev server / OPFS / File System Access), with saves debounced by the store. Save → reload is idempotent.

From the editor shell store (editor-shell-store.ts): undo/redo (gesture-coalesced), copy / cut / paste, duplicate, delete, and select-all. Gizmo drags push a single undo step on release. Undo/Redo (Ctrl+Z/Ctrl+Shift+Z/Ctrl+Y) dispatch through an editor-global undo timeline that orders operations across whichever surface is active — the scene, an ingest session, or the UI editor — each of which still keeps its own 50-deep stack underneath.

Ctrl+K opens the command palette (CommandPalette.tsx) — a searchable list of editor actions (focus, save, play, view presets, …).

The bottom panel hosts the console (ConsolePanel.tsx) — engine logs with level filtering — and the build/export panel (BuildPanel.tsx), which runs build:web (HTML5 / itch.io → vgai-web.zip) via the editor server’s /__editor/export endpoint. Desktop packaging lives in the package / package:editor electron-builder scripts, outside the panel, and is not yet proven end-to-end.

The navmesh handler (navmesh-handler.ts) bakes a recast navmesh from meshes tagged with walkable / obstacle roles. Trigger the bake from Debug → Bake NavMesh (Debug → Clear NavMesh removes it); the bake uses recast’s own defaults (see Navigation).