Docs

The ignifx editor

EditorPreview

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#

WhatVersion and state
The editorPreview (0.1, unreleased). Runs on macOS; Windows and Linux are not verified yet
Engine it builds againstignifx 0.14.0 (@ignifx/core, @ignifx/editor-host, @ignifx/cli)
MCP shim for agent clients@ignifx/editor-mcp 0.1.1, on npm
Built gamesPlain 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 from http://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 from http://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#