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::repro::GlRnrReplayFrameDiagnostics Struct Reference

Per-frame diagnostics captured during GL replay. More...

#include "donner/editor/repro/GlRnrReplay.h"

Classes

struct  RowThumbnail
 One Layers-panel row thumbnail exposed to replay diagnostics. More...
struct  ThumbnailRefreshStats
 Layers-panel thumbnail refresh diagnostics. More...

Public Attributes

std::uint64_t frameIndex = 0
 Repro frame index.
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 present.
std::optional< std::string > selectedComputedFill
 Selected element's existing computed fill, if present.
std::optional< std::string > selectedRenderingInstanceFill
 Selected element's renderer-instance resolved fill, if present.
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 (must stay zero; the canvas pane never window-scrolls).
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.
GlRnrReplayWorkerScheduling replayWorkerScheduling = GlRnrReplayWorkerScheduling::Realtime
 Replay worker scheduling mode used for this frame.
int replayWorkerRenderDelayMsForTesting = 0
 Replay-only worker render delay in milliseconds.
int replayHoldFramesBehind = 0
 Configured number of frame polls to hold each completed worker result.
std::uint64_t replayResultHoldPollsThisFrame = 0
 Number of completed worker results intentionally withheld during this frame.
bool replayResultWithheld = false
 True when replay scheduling intentionally withheld a completed worker result this frame.
std::vector< GlRnrReplayTileDiagnosticstiles
 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

Per-frame diagnostics captured during GL replay.


Class Documentation

◆ donner::editor::repro::GlRnrReplayFrameDiagnostics::RowThumbnail

struct donner::editor::repro::GlRnrReplayFrameDiagnostics::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::repro::GlRnrReplayFrameDiagnostics::ThumbnailRefreshStats

struct donner::editor::repro::GlRnrReplayFrameDiagnostics::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::repro::GlRnrReplayFrameDiagnostics::activeDragPreview

Active drag transform driving the presenter, if any.

◆ canvasFreshness

CanvasFreshness donner::editor::repro::GlRnrReplayFrameDiagnostics::canvasFreshness = CanvasFreshness::Current

Canvas freshness classification used by the layer inspector.

◆ compositorCanvas

Vector2i donner::editor::repro::GlRnrReplayFrameDiagnostics::compositorCanvas = Vector2i::Zero()

Canvas size last rasterized by the compositor.

◆ displayedDocVersion

std::uint64_t donner::editor::repro::GlRnrReplayFrameDiagnostics::displayedDocVersion = 0

Last document frame version published to the presentation.

◆ displayedDragPreview

std::optional<SelectTool::ActiveDragPreview> donner::editor::repro::GlRnrReplayFrameDiagnostics::displayedDragPreview

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

◆ documentCanvas

Vector2i donner::editor::repro::GlRnrReplayFrameDiagnostics::documentCanvas = Vector2i::Zero()

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

◆ documentFrameVersion

std::uint64_t donner::editor::repro::GlRnrReplayFrameDiagnostics::documentFrameVersion = 0

Current live document frame version.

◆ duplicateLiveTextureCount

int donner::editor::repro::GlRnrReplayFrameDiagnostics::duplicateLiveTextureCount = 0

Duplicate live texture handles found across different tile ids.

◆ frameCost

FrameCostBreakdown donner::editor::repro::GlRnrReplayFrameDiagnostics::frameCost

Latest editor rendering cost counters.

◆ frameIndex

std::uint64_t donner::editor::repro::GlRnrReplayFrameDiagnostics::frameIndex = 0

Repro frame index.

◆ immediateOverlayDocumentVersion

std::optional<std::uint64_t> donner::editor::repro::GlRnrReplayFrameDiagnostics::immediateOverlayDocumentVersion

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

◆ lastFlushAppliedCommands

bool donner::editor::repro::GlRnrReplayFrameDiagnostics::lastFlushAppliedCommands = false

Whether the last document flush applied commands.

◆ lastFlushCacheInvalidatedElements

std::vector<Entity> donner::editor::repro::GlRnrReplayFrameDiagnostics::lastFlushCacheInvalidatedElements

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

◆ lastFlushRemovedElements

bool donner::editor::repro::GlRnrReplayFrameDiagnostics::lastFlushRemovedElements = false

Whether the last document flush removed any element.

◆ lastFlushReplacedDocument

bool donner::editor::repro::GlRnrReplayFrameDiagnostics::lastFlushReplacedDocument = false

Whether the last document flush replaced the document.

◆ metadataOnlyMissCount

int donner::editor::repro::GlRnrReplayFrameDiagnostics::metadataOnlyMissCount = 0

Metadata-only composited tiles skipped during the last upload.

◆ overviewTileCount

std::size_t donner::editor::repro::GlRnrReplayFrameDiagnostics::overviewTileCount = 0

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

◆ pendingSelectedLayerRasterizationEntity

Entity donner::editor::repro::GlRnrReplayFrameDiagnostics::pendingSelectedLayerRasterizationEntity = entt::null

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

◆ pendingSelectedLayerRasterizationVersion

std::uint64_t donner::editor::repro::GlRnrReplayFrameDiagnostics::pendingSelectedLayerRasterizationVersion = 0

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

◆ presentationCoverage

PresentationCoverageDiagnostics donner::editor::repro::GlRnrReplayFrameDiagnostics::presentationCoverage

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

◆ presentationResources

PresentationResourceStats donner::editor::repro::GlRnrReplayFrameDiagnostics::presentationResources

Presentation-cache resource counters captured after the frame.

◆ renderPaneScrollMaxY

float donner::editor::repro::GlRnrReplayFrameDiagnostics::renderPaneScrollMaxY = 0.0f

◆ renderPaneScrollY

float donner::editor::repro::GlRnrReplayFrameDiagnostics::renderPaneScrollY = 0.0f

Render-pane ImGui window scroll state (must stay zero; the canvas pane never window-scrolls).

◆ replayHoldFramesBehind

int donner::editor::repro::GlRnrReplayFrameDiagnostics::replayHoldFramesBehind = 0

Configured number of frame polls to hold each completed worker result.

◆ replayResultHoldPollsThisFrame

std::uint64_t donner::editor::repro::GlRnrReplayFrameDiagnostics::replayResultHoldPollsThisFrame = 0

Number of completed worker results intentionally withheld during this frame.

◆ replayResultWithheld

bool donner::editor::repro::GlRnrReplayFrameDiagnostics::replayResultWithheld = false

True when replay scheduling intentionally withheld a completed worker result this frame.

◆ replayWorkerRenderDelayMsForTesting

int donner::editor::repro::GlRnrReplayFrameDiagnostics::replayWorkerRenderDelayMsForTesting = 0

Replay-only worker render delay in milliseconds.

◆ replayWorkerScheduling

GlRnrReplayWorkerScheduling donner::editor::repro::GlRnrReplayFrameDiagnostics::replayWorkerScheduling = GlRnrReplayWorkerScheduling::Realtime

Replay worker scheduling mode used for this frame.

◆ requestRenderAtEndOfFrame

bool donner::editor::repro::GlRnrReplayFrameDiagnostics::requestRenderAtEndOfFrame = false

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

◆ rowThumbnails

std::vector<RowThumbnail> donner::editor::repro::GlRnrReplayFrameDiagnostics::rowThumbnails

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

◆ selectedCompositedEntity

Entity donner::editor::repro::GlRnrReplayFrameDiagnostics::selectedCompositedEntity = entt::null

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

◆ selectedComputedFill

std::optional<std::string> donner::editor::repro::GlRnrReplayFrameDiagnostics::selectedComputedFill

Selected element's existing computed fill, if present.

◆ selectedLocalStyleFill

std::optional<std::string> donner::editor::repro::GlRnrReplayFrameDiagnostics::selectedLocalStyleFill

Selected element's parsed local style fill, if present.

◆ selectedPathDataAttribute

std::optional<std::string> donner::editor::repro::GlRnrReplayFrameDiagnostics::selectedPathDataAttribute

Selected element's raw d attribute, if present.

◆ selectedRenderingInstanceFill

std::optional<std::string> donner::editor::repro::GlRnrReplayFrameDiagnostics::selectedRenderingInstanceFill

Selected element's renderer-instance resolved fill, if present.

◆ selectedStyleAttribute

std::optional<std::string> donner::editor::repro::GlRnrReplayFrameDiagnostics::selectedStyleAttribute

Selected element's raw style attribute, if present.

◆ selectedTextContent

std::optional<std::string> donner::editor::repro::GlRnrReplayFrameDiagnostics::selectedTextContent

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

◆ statusSuffix

std::string donner::editor::repro::GlRnrReplayFrameDiagnostics::statusSuffix

Status suffix rendered beside document canvas diagnostics.

◆ thumbnailRefreshStats

ThumbnailRefreshStats donner::editor::repro::GlRnrReplayFrameDiagnostics::thumbnailRefreshStats

Layers-panel thumbnail refresh diagnostics.

◆ tiles

std::vector<GlRnrReplayTileDiagnostics> donner::editor::repro::GlRnrReplayFrameDiagnostics::tiles

Paint-order texture state currently visible to the presenter.

◆ viewportDesiredCanvas

Vector2i donner::editor::repro::GlRnrReplayFrameDiagnostics::viewportDesiredCanvas = Vector2i::Zero()

Canvas size implied by the current viewport.


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