|
|
Donner SVG Editor & Engine
SVG-native editor and embeddable SVG2 + CSS3 engine in C++20, with GPU (WebGPU) and compact CPU renderers, built for correctness, security, and performance.
|
Status: Implemented — the in-tree editor landed as //donner/editor (M1–M8, #529).
This design brought jwmcglynn/donner-editor in-tree as //donner/editor — a supervised rewrite rather than a code drop — establishing the editor as Donner's interactive-mutation proving ground (mutate the DOM at 60 fps while a user drags handles). It set the load-bearing architecture the editor still uses: the single-funnel mutation seam (EditorApp::applyMutation → AsyncSVGDocument + CommandQueue), a background render worker, and an ImGui + GLFW shell.
The editor has since grown well beyond this doc's original M1–M6 scope. Its current architecture — frame loop, mutation seam, async rendering and threading, compositor presentation, panes/tools, persistence, and the trust boundary — is documented in Editor Architecture. Related developer docs: Structured Source Editing, Deterministic Replay Testing, Editor Source Focus, and Editor Visual Debugging.
Ongoing and adjacent editor work is tracked in its own design docs — composited rendering (0025), design-tool responsiveness (0033-2), fluid canvas rendering (0044-2), Geode chrome migration (0045), group layers (0046), and the v0.8 showcase (0047).
The original full design (goals, the layered architecture, the AsyncSVGDocument command-queue decision note, the mutation-seam rationale, and the per-milestone plan) is recoverable from git history.