Skip to content

Architecture

Michael Kinney edited this page Nov 5, 2026 · 1 revision

Architecture

FireCraft is a Rust workspace with a shared document model and command engine behind desktop, browser, CLI, scripting, and MCP surfaces.

Dependency layers

Layer Crates Responsibility
L0 fwpng, geom, color, raster Format primitives, geometry, color, tile storage
L1 doc Editable document model
L2 vector, filters, text, ops Feature engines
L3 compose, gpu, engine Rendering and command orchestration
L4 io Import/export codecs
L5 app, app-cli, automation, firecraft-web User and automation shells
L6–L7 testkit, xtask Test support and verification tooling

The enforced source is xtask/src/layers.rs; see PLANNING.md for the complete architecture and decisions.

Editing model

Mutations flow through the engine command registry and journal. GUI, CLI, script, and bridge surfaces call the same commands, keeping undo, refusal behavior, and document changes consistent.

Rendering

The GPU shell presents the canvas; the deterministic CPU compositor is the reference path for golden-image checks. Document serialization remains independent of the UI shell.

Clone this wiki locally