#DOM, Serialisation, and Property Editing

The editor uses a document object model backed by MemoryPack serialisation. Property inspectors are generated automatically from component fields, with 28 specialised editors for different data types.

#Editor General

The main editor shell is built with Avalonia UI and Dock.Avalonia, providing a dockable panel layout with viewport, scene hierarchy, asset browser, and properties panel.

#Level Editor

The level editor provides a focused environment for building individual levels. It supports object placement with snapping, prefab instantiation, and real-time preview.

#Material Graph

Node-based visual shader authoring compiled to HLSL. The GraphCompilerService validates and topologically sorts the graph before generating shader code. Each node gets a 128x128 preview rendered in an isolated ECS world.

#Tracy Integration

CPU and GPU profiling zones are instrumented throughout the engine via Tracy bindings, with per-frame memory tracking.

#RenderDoc Integration

Frame capture and GPU debugging through RenderDoc, accessible directly from the editor viewport.

#Script Editor

Integrated Luau script editing with live reload. Scripts attach to entities via the ScriptAttachedEntity relationship.

#Game-centric Editors

Games can easily define editors for their custom file formats, powered via the DOM system.