|
|
Donner 0.8.0-pre
Embeddable browser-grade SVG2 engine
|
Immutable command stream captured from a prepared SVG document. More...
#include "donner/svg/renderer/RenderSnapshot.h"
Public Member Functions | |
| RenderSnapshot () | |
| Create an empty render snapshot. | |
| ~RenderSnapshot () | |
| Destructor. | |
| RenderSnapshot (RenderSnapshot &&other) noexcept | |
| Move constructor. | |
| RenderSnapshot & | operator= (RenderSnapshot &&other) noexcept |
| Move assignment. | |
| RenderSnapshot (const RenderSnapshot &other)=delete | |
| RenderSnapshot & | operator= (const RenderSnapshot &other)=delete |
| std::uint64_t | sourceRevision () const |
| Source document revision observed when this snapshot was captured. | |
| std::size_t | commandCount () const |
| Number of renderer commands stored in this snapshot. | |
| std::size_t | estimatedCommandStorageBytes () const |
| Estimated bytes used by the snapshot command stream. | |
| std::size_t | liveRegistryReferenceCountForTesting (const Registry ®istry) const |
Count snapshot-owned command references that still point at registry. | |
| void | replay (RendererInterface &renderer) const |
Replay the captured command stream into renderer. | |
Friends | |
| class | RenderSnapshotRecorder |
| class | RendererDriver |
Immutable command stream captured from a prepared SVG document.
Snapshot capture may inspect the live ECS registry, but replay emits only the recorded renderer commands. Resource references embedded in those commands point at snapshot-owned storage so backend replay does not dereference the live document registry.
|
nodiscard |
Estimated bytes used by the snapshot command stream.
This counts the command vector allocation and snapshot implementation object. It intentionally does not include nested allocations owned by command payloads, such as paths, text spans, filter graphs, or paint-server resource components.
|
nodiscard |
Count snapshot-owned command references that still point at registry.
This is a test-only invariant helper: a captured snapshot should not retain any EntityHandle into the live document registry.
| registry | Registry that must not be referenced by replay payloads. |
| void donner::svg::RenderSnapshot::replay | ( | RendererInterface & | renderer | ) | const |
Replay the captured command stream into renderer.
| renderer | Backend receiving the recorded commands. |