Donner 0.5.1
Embeddable browser-grade SVG2 engine
Loading...
Searching...
No Matches
EditorCommand.h File Reference

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"
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 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.

Detailed Description

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.