Donner SVG 0.8.0-pre
SVG editor and embeddable C⁠+⁠+⁠20 engine.
Loading...
Searching...
No Matches
EditorCommand.h File Reference

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"
Include dependency graph for EditorCommand.h:
This graph shows which files directly or indirectly include this file:

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.

Detailed Description

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.