Donner 0.8.0-pre
Embeddable browser-grade SVG2 engine
Loading...
Searching...
No Matches
GlRnrReplay.h File Reference
#include <cstdint>
#include <filesystem>
#include <optional>
#include <set>
#include <string>
#include <string_view>
#include <vector>
#include "donner/base/Vector2.h"
#include "donner/editor/AsyncRenderer.h"
#include "donner/editor/FrameCostBreakdown.h"
#include "donner/editor/GlTextureCache.h"
#include "donner/editor/LayerInspectorDiagnostics.h"
Include dependency graph for GlRnrReplay.h:

Classes

struct  donner::editor::repro::GlRnrReplayOptions
 Options for replaying an .rnr file through the real OpenGL editor shell. More...
struct  donner::editor::repro::GlRnrReplayCapture
 One PNG written by RunGlRnrReplay. More...
struct  donner::editor::repro::GlRnrReplayTileDiagnostics
 Per-frame texture tile diagnostics captured during GL replay. More...
struct  donner::editor::repro::GlRnrReplayFrameDiagnostics
 Per-frame diagnostics captured during GL replay. More...
struct  donner::editor::repro::GlRnrReplayResult
 Result of a GL replay run. More...

Namespaces

namespace  donner
 Top-level Donner namespace, which is split into different sub-namespaces such as donner::svg and donner::css.

Enumerations

enum class  donner::editor::repro::GlRnrReplayWorkerScheduling {
  Realtime ,
  DrainEachFrame ,
  HoldFramesBehind
}
 Worker scheduling mode for deterministic GL replay tests. More...
enum class  donner::editor::repro::GlRnrReplayCropMode {
  Full ,
  RenderPane ,
  DocumentCanvas
}
 Output crop mode for GL framebuffer replay captures. More...

Functions

std::optional< GlRnrReplayCropModedonner::editor::repro::ParseGlRnrReplayCropMode (std::string_view value)
 Parse a CLI/MCP crop-mode string.
std::string_view donner::editor::repro::GlRnrReplayCropModeSuffix (GlRnrReplayCropMode cropMode)
 File suffix for a crop mode.
bool donner::editor::repro::RunGlRnrReplay (const GlRnrReplayOptions &options, GlRnrReplayResult *result, std::string *error)
 Replay an .rnr recording through EditorShell, capture the OpenGL framebuffer, and write requested frames as PNGs.

Enumeration Type Documentation

◆ GlRnrReplayCropMode

Output crop mode for GL framebuffer replay captures.

Enumerator
Full 

Capture the entire editor framebuffer.

RenderPane 

Capture the render-pane rectangle.

DocumentCanvas 

Capture the visible document canvas clipped to the render pane.

◆ GlRnrReplayWorkerScheduling

Worker scheduling mode for deterministic GL replay tests.

Enumerator
Realtime 

Preserve normal wall-clock worker scheduling.

DrainEachFrame 

Wait for active worker renders before each frame poll.

HoldFramesBehind 

Hold completed results for a fixed number of frame polls.

Function Documentation

◆ GlRnrReplayCropModeSuffix()

std::string_view donner::editor::repro::GlRnrReplayCropModeSuffix ( GlRnrReplayCropMode cropMode)
nodiscard

File suffix for a crop mode.

Parameters
cropModeOutput crop mode.

◆ ParseGlRnrReplayCropMode()

std::optional< GlRnrReplayCropMode > donner::editor::repro::ParseGlRnrReplayCropMode ( std::string_view value)
nodiscard

Parse a CLI/MCP crop-mode string.

Parameters
valueString value such as full, render-pane, or document-canvas.

◆ RunGlRnrReplay()

bool donner::editor::repro::RunGlRnrReplay ( const GlRnrReplayOptions & options,
GlRnrReplayResult * result,
std::string * error )
nodiscard

Replay an .rnr recording through EditorShell, capture the OpenGL framebuffer, and write requested frames as PNGs.

Parameters
optionsReplay and capture options.
resultOutput capture list.
errorHuman-readable error on failure.