|
|
Donner SVG 0.8.0-pre
SVG editor and embeddable C++20 engine.
|
EditorCommand is the discriminated union of every UI-thread→DOM mutation in the editor. New tools (path, node-edit, etc.) extend this variant as they land - one new case per logical operation, NOT one per ECS write. More...
#include <cstdint>#include <optional>#include <string>#include "donner/base/Transform.h"#include "donner/svg/SVGElement.h"Classes | |
| struct | donner::editor::EditorCommand |
| Discriminated union of queued editor DOM mutations. Coalescing rules in CommandQueue are keyed off kind plus the command's payload. Immediate structured source edits are not represented by this type. More... | |
Namespaces | |
| namespace | donner |
| Top-level Donner namespace, which is split into different sub-namespaces such as donner::svg and donner::css. | |
EditorCommand is the discriminated union of every UI-thread→DOM mutation in the editor. New tools (path, node-edit, etc.) extend this variant as they land - one new case per logical operation, NOT one per ECS write.
Canvas, tool, and application writes flow through EditorApp::applyMutation(), which pushes an EditorCommand onto the per-frame CommandQueue. The queue drains and coalesces at frame boundaries. Incremental source-pane edits use the separate guarded AsyncSVGDocument::applySourceEdit() seam; see Editor Architecture.