The SafiEngine Editor

The editor is the same engine binary running with the debug UI on and a project loaded. There is no separate editor process: Edit mode pauses gameplay so you can author the world; Play mode runs it. A shipped game is that same binary with the debug UI off, loading a bootstrap.json instead of showing the Hub.

This section is the user-facing guide to the editor and grows as each milestone lands. For the API reference of individual modules see API ▸ Editor; for the long-range plan see the Editor roadmap.

Run it

# Build the editor binary
cmake --build build --target safi_editor

# Launch into the Hub (pick or create a project)
./build/editor/safi_editor

# …or open a project directly, skipping the Hub
./build/editor/safi_editor --project /path/to/MyGame

What's shipped

The status below mirrors the roadmap; each entry links to the guide page or API docs once it lands.

MilestoneStatusWhere
M0 — Editor Hub (project launcher)✅ shippedHub
M1 — Play / Pause / Stop✅ shippedEditor State, Toolbar
M2 — Scene file menu✅ shippedScenes & Editing
M3 — Asset browsersubstrateAssets
M4 — Viewport gizmos + fly-cam✅ shippedGizmo, Camera
M5 — Entity create / add componentsubstrateRegistry
M6 — Undo / redo✅ shippedEditor Shortcuts
M7 — Multi-select / prefabssubstrate
M8 — Build & shipplanned

"Substrate" means the engine APIs are in place and only the UI is pending.

See also