|
|
Donner 0.5.1
Embeddable browser-grade SVG2 engine
|
EditorCommand is the discriminated union of every UI-thread→DOM mutation in the M2 scope of the editor. New tools (path, node-edit, etc.) extend this variant in their own follow-up milestones — 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 every editor-initiated DOM mutation in the M2 scope. Coalescing rules in CommandQueue are keyed off kind plus the command's payload. 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 M2 scope of the editor. New tools (path, node-edit, etc.) extend this variant in their own follow-up milestones — one new case per logical operation, NOT one per ECS write.
All editor-side DOM writes flow through EditorApp::applyMutation() which builds an EditorCommand and pushes it onto the per-frame CommandQueue. The queue drains and coalesces at frame boundaries; see CommandQueue.h and the "AsyncSVGDocument: single-threaded command queue" section of docs/design_docs/editor.md.