The ignifx editor
Editor docs
The ignifx editor is a desktop editor for ignifx games: it opens an ordinary ignifx project, lets you place and tune entities in a scene view with gizmos and an inspector, plays the game beside it, builds it for the web and the desktop, and serves the whole thing to coding agents over MCP. You still write gameplay in TypeScript in your own code editor; the editor never edits code.
Preview. The editor is not released and has no download yet. These pages describe it as it stands on its main branch (November 2026), so you know what is coming and how it will work. Items marked not yet are planned and not in the editor today.
Status#
| What | Version and state |
|---|---|
| The editor | Preview (0.1, unreleased). Runs on macOS; Windows and Linux are not verified yet |
| Engine it builds against | ignifx 0.14.0 (@ignifx/core, @ignifx/editor-host, @ignifx/cli) |
| MCP shim for agent clients | @ignifx/editor-mcp 0.1.1, on npm |
| Built games | Plain ignifx projects: nothing in a built game depends on the editor being installed |
How the editor relates to your project#
A project the editor opens is the same project npx @ignifx/cli@latest creates: a Vite app with
@ignifx/* in its package.json, scenes as .scene.json files, scripts under src/scripts/,
assets under assets/. The editor adds no project format of its own, and you can keep working on
the project from a terminal and a code editor with the editor closed.
The engine lives in the project, not in the editor. The editor does not bundle ignifx. Your
project gets one extra development dependency, @ignifx/editor-host, published from the engine
repository on the engine's own version line. The host owns everything that touches the engine and
Babylon Lite: the editor camera, gizmos, grid, picking, screenshots, and applying your edits to the
live world. Because it runs inside your project's own dependency graph, there is exactly one copy
of the engine per world, and two projects on different engine versions open in the same editor.
The editor runs your dev server. When you open a project the editor runs its dev script on
127.0.0.1 and a port it picks, restarts it when vite.config.* changes, and stops it when you
close the project. Two views load from it:
- the scene view, a page the host adds at
/__ignifx_editor__/, served fromhttp://127.0.0.1:<port>, where the world runs in edit mode (scripts do not run, rendering does); - the play view, your project's own
index.html, served fromhttp://localhost:<port>, unmodified, so what you play is what ships.
Each view is a cross-origin frame in its own process, so a crash in a view does not take the editor down. The editor talks to both over a versioned protocol.
The editor brings its own toolchain. It runs pnpm install, Vite, TypeScript and
electron-builder on its own bundled runtime, so Node and pnpm do not have to be installed. When a
project opens, the editor installs its dependencies if node_modules is missing or out of date,
then starts the dev server.
The trust gate. Opening a project runs its scripts: its install scripts, its Vite config and its game code. So the first time you open a folder, the editor asks "This folder's scripts will run when it opens: trust it?" with Trust and Open and Don't Open (trusting is never the default). A yes is remembered for that folder in the editor's own data, never in the project. A no opens nothing: nothing is installed, started or written.
In this section#
- Getting started: create or open a project, and the panels.
- Editing scenes: the scene document, undo, prefabs, saving.
- Play mode: Play, Pause, Step and the detached game window.
- Building and publishing: web, desktop, installers and publish targets.
- Agents and MCP: connecting a coding agent, the confirmation gate, the audit log.
- Troubleshooting: crash reports, the
.ignifx/folder, a refused MCP server.