|
|
Donner 0.5.1
Embeddable browser-grade SVG2 engine
|
CommandQueue is the per-frame EditorCommand queue described in the "AsyncSVGDocument: single-threaded command queue" section of docs/design_docs/editor.md. It accumulates editor-initiated DOM mutations on the UI thread and coalesces them at flush time. More...
Classes | |
| class | donner::editor::CommandQueue |
| struct | donner::editor::CommandQueue::FlushResult |
Namespaces | |
| namespace | donner |
| Top-level Donner namespace, which is split into different sub-namespaces such as donner::svg and donner::css. | |
CommandQueue is the per-frame EditorCommand queue described in the "AsyncSVGDocument: single-threaded command queue" section of docs/design_docs/editor.md. It accumulates editor-initiated DOM mutations on the UI thread and coalesces them at flush time.
Coalescing rules (applied in flush()):
The queue is single-threaded — it must only be touched from the UI thread. The render thread reads document state via the snapshot hand-off in AsyncSVGDocument, never via the queue directly.
| struct donner::editor::CommandQueue::FlushResult |
| Class Members | ||
|---|---|---|
| vector< EditorCommand > | effectiveCommands | |
| bool | hadReplaceDocument = false | True when any ReplaceDocument was drained from the raw pending batch. |
| bool | preserveUndoOnReparse = false | True only when the drained batch contained at least one ReplaceDocument and every drained ReplaceDocument carried the preserve-undo marker. |