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.
Loading...
Searching...
No Matches
donner::editor::LayerInspectorStatusReadback Struct Reference

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< EntitylastFlushCacheInvalidatedElements
 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::ActiveDragPreviewactiveDragPreview
 Active drag transform driving the presenter, if any.
std::optional< SelectTool::ActiveDragPreviewdisplayedDragPreview
 Drag transform represented by the displayed cached content, if any.
std::vector< Tiletiles
 Paint-order texture state currently visible to the presenter.
std::vector< RowThumbnailrowThumbnails
 Layers-panel row thumbnail bitmaps currently cached by the shell.
ThumbnailRefreshStats thumbnailRefreshStats
 Layers-panel thumbnail refresh diagnostics.

Detailed Description

Layer-inspector freshness status exposed to replay/readback harnesses.


Class Documentation

◆ donner::editor::LayerInspectorStatusReadback::Tile

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.

◆ donner::editor::LayerInspectorStatusReadback::RowThumbnail

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.

◆ donner::editor::LayerInspectorStatusReadback::ThumbnailRefreshStats

struct donner::editor::LayerInspectorStatusReadback::ThumbnailRefreshStats

Layers-panel thumbnail refresh diagnostics.

Class Members
uint64_t documentFrameVersion = 0 Document frame version observed during the refresh.
size_t renderedCount = 0 Number of row thumbnails rasterized through Donner during this refresh.
double renderMs = 0.0 Wall time spent in thumbnail rasterization work.
size_t reusedCount = 0 Number of cached row thumbnails reused during this refresh.
size_t rowCount = 0 Visible row count after refreshing the model.
size_t skippedForCanvasInvalidationCount = 0 Number of rows skipped because the canvas render tree had pending invalidation.

Member Data Documentation

◆ activeDragPreview

std::optional<SelectTool::ActiveDragPreview> donner::editor::LayerInspectorStatusReadback::activeDragPreview

Active drag transform driving the presenter, if any.

◆ canvasFreshness

CanvasFreshness donner::editor::LayerInspectorStatusReadback::canvasFreshness = CanvasFreshness::Current

Canvas freshness classification used by the layer inspector.

◆ compositorCanvas

Vector2i donner::editor::LayerInspectorStatusReadback::compositorCanvas = Vector2i::Zero()

Canvas size last rasterized by the compositor.

◆ displayedDocVersion

std::uint64_t donner::editor::LayerInspectorStatusReadback::displayedDocVersion = 0

Last document frame version published to the presentation.

◆ displayedDragPreview

std::optional<SelectTool::ActiveDragPreview> donner::editor::LayerInspectorStatusReadback::displayedDragPreview

Drag transform represented by the displayed cached content, if any.

◆ documentCanvas

Vector2i donner::editor::LayerInspectorStatusReadback::documentCanvas = Vector2i::Zero()

Canvas size committed to the document path used by the editor shell.

◆ documentFrameVersion

std::uint64_t donner::editor::LayerInspectorStatusReadback::documentFrameVersion = 0

Current live document frame version.

◆ duplicateLiveTextureCount

int donner::editor::LayerInspectorStatusReadback::duplicateLiveTextureCount = 0

Duplicate live texture handles found across different tile ids.

◆ frameCost

FrameCostBreakdown donner::editor::LayerInspectorStatusReadback::frameCost

Latest editor rendering cost counters.

◆ immediateOverlayDocumentVersion

std::optional<std::uint64_t> donner::editor::LayerInspectorStatusReadback::immediateOverlayDocumentVersion

Document version represented by the current immediate overlay snapshot, if any.

◆ lastFlushAppliedCommands

bool donner::editor::LayerInspectorStatusReadback::lastFlushAppliedCommands = false

Whether the last document flush applied commands.

◆ lastFlushCacheInvalidatedElements

std::vector<Entity> donner::editor::LayerInspectorStatusReadback::lastFlushCacheInvalidatedElements

Entities whose cached composited pixels were invalidated by the last flush.

◆ lastFlushRemovedElements

bool donner::editor::LayerInspectorStatusReadback::lastFlushRemovedElements = false

Whether the last document flush removed any element.

◆ lastFlushReplacedDocument

bool donner::editor::LayerInspectorStatusReadback::lastFlushReplacedDocument = false

Whether the last document flush replaced the document.

◆ metadataOnlyMissCount

int donner::editor::LayerInspectorStatusReadback::metadataOnlyMissCount = 0

Metadata-only composited tiles skipped during the last upload.

◆ overviewTileCount

std::size_t donner::editor::LayerInspectorStatusReadback::overviewTileCount = 0

Number of retained overview tiles available as zoom/pan infill.

◆ pendingSelectedLayerRasterizationEntity

Entity donner::editor::LayerInspectorStatusReadback::pendingSelectedLayerRasterizationEntity = entt::null

Selected entity whose promoted pixels are known stale, or entt::null.

◆ pendingSelectedLayerRasterizationVersion

std::uint64_t donner::editor::LayerInspectorStatusReadback::pendingSelectedLayerRasterizationVersion = 0

Document version at which the selected-layer rasterization was requested.

◆ presentationCoverage

PresentationCoverageDiagnostics donner::editor::LayerInspectorStatusReadback::presentationCoverage

Presentation coverage (bounded raster + overview infill) after the frame.

◆ presentationResources

PresentationResourceStats donner::editor::LayerInspectorStatusReadback::presentationResources

Presentation-cache resource counters captured after the frame.

◆ renderPaneScrollMaxY

float donner::editor::LayerInspectorStatusReadback::renderPaneScrollMaxY = 0.0f

◆ renderPaneScrollY

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.

◆ requestRenderAtEndOfFrame

bool donner::editor::LayerInspectorStatusReadback::requestRenderAtEndOfFrame = false

True when the shell is carrying a render request into a later frame.

◆ rowThumbnails

std::vector<RowThumbnail> donner::editor::LayerInspectorStatusReadback::rowThumbnails

Layers-panel row thumbnail bitmaps currently cached by the shell.

◆ selectedCompositedEntity

Entity donner::editor::LayerInspectorStatusReadback::selectedCompositedEntity = entt::null

Selected entity eligible for composited presentation, or entt::null.

◆ selectedComputedFill

std::optional<std::string> donner::editor::LayerInspectorStatusReadback::selectedComputedFill

Selected element's existing computed fill, if a ComputedStyleComponent exists.

◆ selectedLocalStyleFill

std::optional<std::string> donner::editor::LayerInspectorStatusReadback::selectedLocalStyleFill

Selected element's parsed local style fill, if the StyleComponent exists.

◆ selectedPathDataAttribute

std::optional<std::string> donner::editor::LayerInspectorStatusReadback::selectedPathDataAttribute

Selected element's raw d attribute, if present.

◆ selectedRenderingInstanceFill

std::optional<std::string> donner::editor::LayerInspectorStatusReadback::selectedRenderingInstanceFill

Selected element's renderer-instance resolved fill, if a RenderingInstanceComponent exists.

◆ selectedStyleAttribute

std::optional<std::string> donner::editor::LayerInspectorStatusReadback::selectedStyleAttribute

Selected element's raw style attribute, if present.

◆ selectedTextContent

std::optional<std::string> donner::editor::LayerInspectorStatusReadback::selectedTextContent

Selected element's text content, if it is a <text> element.

◆ statusSuffix

std::string donner::editor::LayerInspectorStatusReadback::statusSuffix

Status suffix rendered beside document canvas diagnostics.

◆ thumbnailRefreshStats

ThumbnailRefreshStats donner::editor::LayerInspectorStatusReadback::thumbnailRefreshStats

Layers-panel thumbnail refresh diagnostics.

◆ tiles

std::vector<Tile> donner::editor::LayerInspectorStatusReadback::tiles

Paint-order texture state currently visible to the presenter.

◆ viewportDesiredCanvas

Vector2i donner::editor::LayerInspectorStatusReadback::viewportDesiredCanvas = Vector2i::Zero()

Canvas size implied by the current viewport.


The documentation for this struct was generated from the following file: