Donner 0.8.0-pre
Embeddable browser-grade SVG2 engine
Loading...
Searching...
No Matches
donner::editor::RenderResult Struct Reference

Presentation payload plus the document version it was rendered from. More...

#include "donner/editor/AsyncRenderer.h"

Collaboration diagram for donner::editor::RenderResult:
[legend]

Classes

struct  WorkerTimingBreakdown
 Internal timing split for one async worker iteration. More...
struct  CompositedTile
 One composite tile from the worker's CompositorController:: snapshotCompositorTiles() snapshot (design doc 0033 §M2C). The editor uploads one GL texture per tile (keyed on id) and blits each tile at its canvas offset. Immediate tiles intentionally use transient ids and always carry a fresh payload. Geometry fields are doc-unit quantities so the editor can scale them by the current pixelsPerDocUnit during canvas-resize debouncing. More...
struct  CompositedPreview

Public Attributes

svg::RendererBitmap bitmap
std::optional< CompositedPreviewcompositedPreview
EditorRasterViewport rasterViewport
 Raster viewport used to produce this result.
bool overviewInfillOnly = false
 True when this result should update only retained overview infill.
std::uint64_t version = 0
double workerMs = 0.0
 Wall-clock milliseconds spent in the worker iteration after a request is dequeued, including CompositorController::renderFrame, final snapshot/readback work, and diagnostic snapshots that gate presentation. Reported so the editor can plot worker latency alongside ImGui frame time on the frame graph. Zero means no worker timing was recorded.
WorkerTimingBreakdown workerTiming

Detailed Description

Presentation payload plus the document version it was rendered from.


Class Documentation

◆ donner::editor::RenderResult::WorkerTimingBreakdown

struct donner::editor::RenderResult::WorkerTimingBreakdown

Internal timing split for one async worker iteration.

Class Members
double buildPreviewMs = 0.0 Time spent building composited-preview tile metadata/payloads.
double diagnosticsMs = 0.0 Time spent copying compositor diagnostics for editor panels.
double finalSnapshotMs = 0.0 Time spent taking the final fallback canvas snapshot, when needed.
double renderFrameMs = 0.0 Time spent in CompositorController::renderFrame.
double setupMs = 0.0 Time before CompositorController::renderFrame, including compositor selection setup.

Member Data Documentation

◆ bitmap

svg::RendererBitmap donner::editor::RenderResult::bitmap

◆ compositedPreview

std::optional<CompositedPreview> donner::editor::RenderResult::compositedPreview

◆ overviewInfillOnly

bool donner::editor::RenderResult::overviewInfillOnly = false

True when this result should update only retained overview infill.

◆ rasterViewport

EditorRasterViewport donner::editor::RenderResult::rasterViewport

Raster viewport used to produce this result.

◆ version

std::uint64_t donner::editor::RenderResult::version = 0

◆ workerMs

double donner::editor::RenderResult::workerMs = 0.0

Wall-clock milliseconds spent in the worker iteration after a request is dequeued, including CompositorController::renderFrame, final snapshot/readback work, and diagnostic snapshots that gate presentation. Reported so the editor can plot worker latency alongside ImGui frame time on the frame graph. Zero means no worker timing was recorded.

◆ workerTiming

WorkerTimingBreakdown donner::editor::RenderResult::workerTiming

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