|
|
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.
|
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< 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 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::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. | |
| 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< GlRnrReplayTileDiagnostics > | 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. | |
Per-frame diagnostics captured during GL replay.
| 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. |
| struct donner::editor::repro::GlRnrReplayFrameDiagnostics::ThumbnailRefreshStats |
Layers-panel thumbnail refresh diagnostics.
| std::optional<SelectTool::ActiveDragPreview> donner::editor::repro::GlRnrReplayFrameDiagnostics::activeDragPreview |
Active drag transform driving the presenter, if any.
| CanvasFreshness donner::editor::repro::GlRnrReplayFrameDiagnostics::canvasFreshness = CanvasFreshness::Current |
Canvas freshness classification used by the layer inspector.
| Vector2i donner::editor::repro::GlRnrReplayFrameDiagnostics::compositorCanvas = Vector2i::Zero() |
Canvas size last rasterized by the compositor.
| std::uint64_t donner::editor::repro::GlRnrReplayFrameDiagnostics::displayedDocVersion = 0 |
Last document frame version published to the presentation.
| std::optional<SelectTool::ActiveDragPreview> donner::editor::repro::GlRnrReplayFrameDiagnostics::displayedDragPreview |
Drag transform represented by the displayed cached content, if any.
| Vector2i donner::editor::repro::GlRnrReplayFrameDiagnostics::documentCanvas = Vector2i::Zero() |
Canvas size committed to the document path used by the editor shell.
| std::uint64_t donner::editor::repro::GlRnrReplayFrameDiagnostics::documentFrameVersion = 0 |
Current live document frame version.
| int donner::editor::repro::GlRnrReplayFrameDiagnostics::duplicateLiveTextureCount = 0 |
Duplicate live texture handles found across different tile ids.
| FrameCostBreakdown donner::editor::repro::GlRnrReplayFrameDiagnostics::frameCost |
Latest editor rendering cost counters.
| std::uint64_t donner::editor::repro::GlRnrReplayFrameDiagnostics::frameIndex = 0 |
Repro frame index.
| std::optional<std::uint64_t> donner::editor::repro::GlRnrReplayFrameDiagnostics::immediateOverlayDocumentVersion |
Document version represented by the current immediate overlay snapshot, if any.
| bool donner::editor::repro::GlRnrReplayFrameDiagnostics::lastFlushAppliedCommands = false |
Whether the last document flush applied commands.
| std::vector<Entity> donner::editor::repro::GlRnrReplayFrameDiagnostics::lastFlushCacheInvalidatedElements |
Entities whose cached composited pixels were invalidated by the last flush.
| bool donner::editor::repro::GlRnrReplayFrameDiagnostics::lastFlushRemovedElements = false |
Whether the last document flush removed any element.
| bool donner::editor::repro::GlRnrReplayFrameDiagnostics::lastFlushReplacedDocument = false |
Whether the last document flush replaced the document.
| int donner::editor::repro::GlRnrReplayFrameDiagnostics::metadataOnlyMissCount = 0 |
Metadata-only composited tiles skipped during the last upload.
| std::size_t donner::editor::repro::GlRnrReplayFrameDiagnostics::overviewTileCount = 0 |
Number of retained overview tiles available as zoom/pan infill.
| Entity donner::editor::repro::GlRnrReplayFrameDiagnostics::pendingSelectedLayerRasterizationEntity = entt::null |
Selected entity whose promoted pixels are known stale, or entt::null.
| std::uint64_t donner::editor::repro::GlRnrReplayFrameDiagnostics::pendingSelectedLayerRasterizationVersion = 0 |
Document version at which the selected-layer rasterization was requested.
| PresentationCoverageDiagnostics donner::editor::repro::GlRnrReplayFrameDiagnostics::presentationCoverage |
Presentation coverage (bounded raster + overview infill) after the frame.
| PresentationResourceStats donner::editor::repro::GlRnrReplayFrameDiagnostics::presentationResources |
Presentation-cache resource counters captured after the frame.
| float donner::editor::repro::GlRnrReplayFrameDiagnostics::renderPaneScrollMaxY = 0.0f |
| float donner::editor::repro::GlRnrReplayFrameDiagnostics::renderPaneScrollY = 0.0f |
Render-pane ImGui window scroll state (must stay zero; the canvas pane never window-scrolls).
| int donner::editor::repro::GlRnrReplayFrameDiagnostics::replayHoldFramesBehind = 0 |
Configured number of frame polls to hold each completed worker result.
| std::uint64_t donner::editor::repro::GlRnrReplayFrameDiagnostics::replayResultHoldPollsThisFrame = 0 |
Number of completed worker results intentionally withheld during this frame.
| bool donner::editor::repro::GlRnrReplayFrameDiagnostics::replayResultWithheld = false |
True when replay scheduling intentionally withheld a completed worker result this frame.
| int donner::editor::repro::GlRnrReplayFrameDiagnostics::replayWorkerRenderDelayMsForTesting = 0 |
Replay-only worker render delay in milliseconds.
| GlRnrReplayWorkerScheduling donner::editor::repro::GlRnrReplayFrameDiagnostics::replayWorkerScheduling = GlRnrReplayWorkerScheduling::Realtime |
Replay worker scheduling mode used for this frame.
| bool donner::editor::repro::GlRnrReplayFrameDiagnostics::requestRenderAtEndOfFrame = false |
True when the shell is carrying a render request into a later frame.
| std::vector<RowThumbnail> donner::editor::repro::GlRnrReplayFrameDiagnostics::rowThumbnails |
Layers-panel row thumbnail bitmaps currently cached by the shell.
| Entity donner::editor::repro::GlRnrReplayFrameDiagnostics::selectedCompositedEntity = entt::null |
Selected entity eligible for composited presentation, or entt::null.
| std::optional<std::string> donner::editor::repro::GlRnrReplayFrameDiagnostics::selectedComputedFill |
Selected element's existing computed fill, if present.
| std::optional<std::string> donner::editor::repro::GlRnrReplayFrameDiagnostics::selectedLocalStyleFill |
Selected element's parsed local style fill, if present.
| std::optional<std::string> donner::editor::repro::GlRnrReplayFrameDiagnostics::selectedPathDataAttribute |
Selected element's raw d attribute, if present.
| std::optional<std::string> donner::editor::repro::GlRnrReplayFrameDiagnostics::selectedRenderingInstanceFill |
Selected element's renderer-instance resolved fill, if present.
| std::optional<std::string> donner::editor::repro::GlRnrReplayFrameDiagnostics::selectedStyleAttribute |
Selected element's raw style attribute, if present.
| std::optional<std::string> donner::editor::repro::GlRnrReplayFrameDiagnostics::selectedTextContent |
Selected element's text content, if it is a <text> element.
| std::string donner::editor::repro::GlRnrReplayFrameDiagnostics::statusSuffix |
Status suffix rendered beside document canvas diagnostics.
| ThumbnailRefreshStats donner::editor::repro::GlRnrReplayFrameDiagnostics::thumbnailRefreshStats |
Layers-panel thumbnail refresh diagnostics.
| std::vector<GlRnrReplayTileDiagnostics> donner::editor::repro::GlRnrReplayFrameDiagnostics::tiles |
Paint-order texture state currently visible to the presenter.
| Vector2i donner::editor::repro::GlRnrReplayFrameDiagnostics::viewportDesiredCanvas = Vector2i::Zero() |
Canvas size implied by the current viewport.