|
|
Donner SVG Editor & Engine
SVG-native editor and embeddable SVG2 + CSS3 engine in C++20, with GPU (WebGPU) and compact CPU renderers, built for correctness, security, and performance.
|
Layer-inspector freshness status exposed to replay/readback harnesses. More...
#include "donner/editor/EditorShell.h"
Classes | |
| struct | Tile |
| One paint-order composited tile exposed to replay diagnostics. More... | |
| struct | RowThumbnail |
| One Layers-panel row thumbnail exposed to replay diagnostics. More... | |
| struct | ThumbnailRefreshStats |
| Layers-panel thumbnail refresh diagnostics. More... | |
Public Attributes | |
| CanvasFreshness | canvasFreshness = CanvasFreshness::Current |
| Canvas freshness classification used by the layer inspector. | |
| std::string | statusSuffix |
| Status suffix rendered beside document canvas diagnostics. | |
| Vector2i | viewportDesiredCanvas = Vector2i::Zero() |
| Canvas size implied by the current viewport. | |
| Vector2i | documentCanvas = Vector2i::Zero() |
| Canvas size committed to the document path used by the editor shell. | |
| Vector2i | compositorCanvas = Vector2i::Zero() |
| Canvas size last rasterized by the compositor. | |
| int | metadataOnlyMissCount = 0 |
| Metadata-only composited tiles skipped during the last upload. | |
| int | duplicateLiveTextureCount = 0 |
| Duplicate live texture handles found across different tile ids. | |
| std::uint64_t | documentFrameVersion = 0 |
| Current live document frame version. | |
| std::uint64_t | displayedDocVersion = 0 |
| Last document frame version published to the presentation. | |
| std::optional< std::uint64_t > | immediateOverlayDocumentVersion |
| Document version represented by the current immediate overlay snapshot, if any. | |
| Entity | selectedCompositedEntity = entt::null |
| Selected entity eligible for composited presentation, or entt::null. | |
| bool | lastFlushAppliedCommands = false |
| Whether the last document flush applied commands. | |
| bool | lastFlushReplacedDocument = false |
| Whether the last document flush replaced the document. | |
| bool | lastFlushRemovedElements = false |
| Whether the last document flush removed any element. | |
| std::vector< Entity > | lastFlushCacheInvalidatedElements |
| Entities whose cached composited pixels were invalidated by the last flush. | |
| bool | requestRenderAtEndOfFrame = false |
| True when the shell is carrying a render request into a later frame. | |
| Entity | pendingSelectedLayerRasterizationEntity = entt::null |
| Selected entity whose promoted pixels are known stale, or entt::null. | |
| std::uint64_t | pendingSelectedLayerRasterizationVersion = 0 |
| Document version at which the selected-layer rasterization was requested. | |
| std::optional< std::string > | selectedStyleAttribute |
| Selected element's raw style attribute, if present. | |
| std::optional< std::string > | selectedLocalStyleFill |
| Selected element's parsed local style fill, if the StyleComponent exists. | |
| std::optional< std::string > | selectedComputedFill |
| Selected element's existing computed fill, if a ComputedStyleComponent exists. | |
| std::optional< std::string > | selectedRenderingInstanceFill |
| Selected element's renderer-instance resolved fill, if a RenderingInstanceComponent exists. | |
| std::optional< std::string > | selectedPathDataAttribute |
| Selected element's raw d attribute, if present. | |
| std::optional< std::string > | selectedTextContent |
| Selected element's text content, if it is a <text> element. | |
| PresentationResourceStats | presentationResources |
| Presentation-cache resource counters captured after the frame. | |
| PresentationCoverageDiagnostics | presentationCoverage |
| Presentation coverage (bounded raster + overview infill) after the frame. | |
| std::size_t | overviewTileCount = 0 |
| Number of retained overview tiles available as zoom/pan infill. | |
| float | renderPaneScrollY = 0.0f |
| Render-pane ImGui window scroll state. The canvas pane must never window-scroll (that would move the overlay chrome instead of the document), so a non-zero max is a layout bug. | |
| float | renderPaneScrollMaxY = 0.0f |
| FrameCostBreakdown | frameCost |
| Latest editor rendering cost counters. | |
| std::optional< SelectTool::ActiveDragPreview > | activeDragPreview |
| Active drag transform driving the presenter, if any. | |
| std::optional< SelectTool::ActiveDragPreview > | displayedDragPreview |
| Drag transform represented by the displayed cached content, if any. | |
| std::vector< Tile > | tiles |
| Paint-order texture state currently visible to the presenter. | |
| std::vector< RowThumbnail > | rowThumbnails |
| Layers-panel row thumbnail bitmaps currently cached by the shell. | |
| ThumbnailRefreshStats | thumbnailRefreshStats |
| Layers-panel thumbnail refresh diagnostics. | |
Layer-inspector freshness status exposed to replay/readback harnesses.
| struct donner::editor::LayerInspectorStatusReadback::Tile |
One paint-order composited tile exposed to replay diagnostics.
| Class Members | ||
|---|---|---|
| Vector2d | bitmapDimsDoc = Vector2d::Zero() | Tile dimensions in document/canvas units. |
| Vector2i | bitmapDimsPx = Vector2i::Zero() | Texture dimensions in pixels. |
| Vector2d | canvasOffsetDoc = Vector2d::Zero() | Tile origin in document/canvas coordinates. |
| Transform2d | documentFromCachedDocument = Transform2d() | Affine transform represented by the presented tile. |
| Vector2d | dragTranslationDoc = Vector2d::Zero() | Drag translation represented by the presented tile. |
| uint64_t | generation = 0 | Raster payload generation. |
| string | id | Stable texture-cache tile id. |
| bool | isDragTarget = false | True when this tile represents the active drag target. |
| Kind | kind = RenderResult::CompositedTile::Kind::Segment | Segment/layer tile kind. |
| bool | metadataOnly = false | True when the tile reused an existing texture with metadata-only geometry. |
| Transform2d | presentedDocumentFromCachedDocument = Transform2d() | Effective affine transform used by the render-pane presenter this frame. |
| Vector2d | presentedDragTranslationDoc = Vector2d::Zero() | Effective drag translation used by the render-pane presenter this frame. |
| Vector2i | rasterCanvasSize = Vector2i::Zero() | Raster canvas size that produced the texture payload. |
| uint64_t | textureHandle = 0 | Backend texture/view handle, represented as an integer for diagnostics. |
| shared_ptr< const RendererTextureSnapshot > | textureSnapshot | Renderer-owned texture snapshot retained by the presentation cache, if any. |
| struct donner::editor::LayerInspectorStatusReadback::RowThumbnail |
One Layers-panel row thumbnail exposed to replay diagnostics.
| Class Members | ||
|---|---|---|
| Vector2i | bitmapDimsPx = Vector2i::Zero() | Cached thumbnail bitmap dimensions, or zero when the row has no raster thumbnail. |
| string | displayName | Visible row label. |
| uint64_t | stableId = 0 | Stable row id used for thumbnail texture cache keys. |
| struct donner::editor::LayerInspectorStatusReadback::ThumbnailRefreshStats |
Layers-panel thumbnail refresh diagnostics.
| std::optional<SelectTool::ActiveDragPreview> donner::editor::LayerInspectorStatusReadback::activeDragPreview |
Active drag transform driving the presenter, if any.
| CanvasFreshness donner::editor::LayerInspectorStatusReadback::canvasFreshness = CanvasFreshness::Current |
Canvas freshness classification used by the layer inspector.
| Vector2i donner::editor::LayerInspectorStatusReadback::compositorCanvas = Vector2i::Zero() |
Canvas size last rasterized by the compositor.
| std::uint64_t donner::editor::LayerInspectorStatusReadback::displayedDocVersion = 0 |
Last document frame version published to the presentation.
| std::optional<SelectTool::ActiveDragPreview> donner::editor::LayerInspectorStatusReadback::displayedDragPreview |
Drag transform represented by the displayed cached content, if any.
| Vector2i donner::editor::LayerInspectorStatusReadback::documentCanvas = Vector2i::Zero() |
Canvas size committed to the document path used by the editor shell.
| std::uint64_t donner::editor::LayerInspectorStatusReadback::documentFrameVersion = 0 |
Current live document frame version.
| int donner::editor::LayerInspectorStatusReadback::duplicateLiveTextureCount = 0 |
Duplicate live texture handles found across different tile ids.
| FrameCostBreakdown donner::editor::LayerInspectorStatusReadback::frameCost |
Latest editor rendering cost counters.
| std::optional<std::uint64_t> donner::editor::LayerInspectorStatusReadback::immediateOverlayDocumentVersion |
Document version represented by the current immediate overlay snapshot, if any.
| bool donner::editor::LayerInspectorStatusReadback::lastFlushAppliedCommands = false |
Whether the last document flush applied commands.
| std::vector<Entity> donner::editor::LayerInspectorStatusReadback::lastFlushCacheInvalidatedElements |
Entities whose cached composited pixels were invalidated by the last flush.
| bool donner::editor::LayerInspectorStatusReadback::lastFlushRemovedElements = false |
Whether the last document flush removed any element.
| bool donner::editor::LayerInspectorStatusReadback::lastFlushReplacedDocument = false |
Whether the last document flush replaced the document.
| int donner::editor::LayerInspectorStatusReadback::metadataOnlyMissCount = 0 |
Metadata-only composited tiles skipped during the last upload.
| std::size_t donner::editor::LayerInspectorStatusReadback::overviewTileCount = 0 |
Number of retained overview tiles available as zoom/pan infill.
| Entity donner::editor::LayerInspectorStatusReadback::pendingSelectedLayerRasterizationEntity = entt::null |
Selected entity whose promoted pixels are known stale, or entt::null.
| std::uint64_t donner::editor::LayerInspectorStatusReadback::pendingSelectedLayerRasterizationVersion = 0 |
Document version at which the selected-layer rasterization was requested.
| PresentationCoverageDiagnostics donner::editor::LayerInspectorStatusReadback::presentationCoverage |
Presentation coverage (bounded raster + overview infill) after the frame.
| PresentationResourceStats donner::editor::LayerInspectorStatusReadback::presentationResources |
Presentation-cache resource counters captured after the frame.
| float donner::editor::LayerInspectorStatusReadback::renderPaneScrollMaxY = 0.0f |
| float donner::editor::LayerInspectorStatusReadback::renderPaneScrollY = 0.0f |
Render-pane ImGui window scroll state. The canvas pane must never window-scroll (that would move the overlay chrome instead of the document), so a non-zero max is a layout bug.
| bool donner::editor::LayerInspectorStatusReadback::requestRenderAtEndOfFrame = false |
True when the shell is carrying a render request into a later frame.
| std::vector<RowThumbnail> donner::editor::LayerInspectorStatusReadback::rowThumbnails |
Layers-panel row thumbnail bitmaps currently cached by the shell.
| Entity donner::editor::LayerInspectorStatusReadback::selectedCompositedEntity = entt::null |
Selected entity eligible for composited presentation, or entt::null.
| std::optional<std::string> donner::editor::LayerInspectorStatusReadback::selectedComputedFill |
Selected element's existing computed fill, if a ComputedStyleComponent exists.
| std::optional<std::string> donner::editor::LayerInspectorStatusReadback::selectedLocalStyleFill |
Selected element's parsed local style fill, if the StyleComponent exists.
| std::optional<std::string> donner::editor::LayerInspectorStatusReadback::selectedPathDataAttribute |
Selected element's raw d attribute, if present.
| std::optional<std::string> donner::editor::LayerInspectorStatusReadback::selectedRenderingInstanceFill |
Selected element's renderer-instance resolved fill, if a RenderingInstanceComponent exists.
| std::optional<std::string> donner::editor::LayerInspectorStatusReadback::selectedStyleAttribute |
Selected element's raw style attribute, if present.
| std::optional<std::string> donner::editor::LayerInspectorStatusReadback::selectedTextContent |
Selected element's text content, if it is a <text> element.
| std::string donner::editor::LayerInspectorStatusReadback::statusSuffix |
Status suffix rendered beside document canvas diagnostics.
| ThumbnailRefreshStats donner::editor::LayerInspectorStatusReadback::thumbnailRefreshStats |
Layers-panel thumbnail refresh diagnostics.
| std::vector<Tile> donner::editor::LayerInspectorStatusReadback::tiles |
Paint-order texture state currently visible to the presenter.
| Vector2i donner::editor::LayerInspectorStatusReadback::viewportDesiredCanvas = Vector2i::Zero() |
Canvas size implied by the current viewport.