Donner SVG main
0.8.0 ยท 382bd0190.8.0 main
SVG editor and embeddable C⁠+⁠+⁠20 engine.
Loading...
Searching...
No Matches
donner::editor::repro::ReproMetadata Struct Reference

Session-level metadata captured at recording start. More...

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

Public Attributes

std::string svgPath
 Path to the SVG being edited when recording started. Relative or absolute; replayers use this as the fallback when no embedded source snapshot is available.
std::string svgBasename
 Basename of the originally opened SVG path. Informational and useful when the embedded source has been detached from the path.
std::string svgContentHash
 Stable hash of svgSource when embedded. Prefix identifies the hash algorithm, e.g. fnv1a64:0123456789abcdef.
std::optional< std::string > svgSource
 Optional embedded SVG source snapshot. Replayers prefer this when no explicit SVG path override is provided, so repros can remain deterministic even if the original file changes later.
int formatVersion = kReproFileVersion
 File format version read from the metadata line, or the current version for new files. The writer preserves it, so a rewritten older recording keeps replaying the way it was recorded.
int windowWidth = 0
 Logical window size at start. Replayer sets this on its mock window.
int windowHeight = 0
 Logical window height at start, before DPI scaling.
double displayScale = 1.0
 HiDPI display scale at start (io.DisplayFramebufferScale.x).
bool experimentalMode = false
 Legacy composited-mode metadata kept for old .rnr compatibility.
std::string startedAtIso8601
 Absolute wall-clock timestamp when recording started, ISO-8601. Informational only; not used by the player.
std::optional< ReproExpectation > expect
 Optional expected frame/crop metadata for curated regression fixtures.

Detailed Description

Session-level metadata captured at recording start.

Member Data Documentation

◆ displayScale

double donner::editor::repro::ReproMetadata::displayScale = 1.0

HiDPI display scale at start (io.DisplayFramebufferScale.x).

◆ expect

std::optional<ReproExpectation> donner::editor::repro::ReproMetadata::expect

Optional expected frame/crop metadata for curated regression fixtures.

◆ experimentalMode

bool donner::editor::repro::ReproMetadata::experimentalMode = false

Legacy composited-mode metadata kept for old .rnr compatibility.

◆ formatVersion

int donner::editor::repro::ReproMetadata::formatVersion = kReproFileVersion

File format version read from the metadata line, or the current version for new files. The writer preserves it, so a rewritten older recording keeps replaying the way it was recorded.

◆ startedAtIso8601

std::string donner::editor::repro::ReproMetadata::startedAtIso8601

Absolute wall-clock timestamp when recording started, ISO-8601. Informational only; not used by the player.

◆ svgBasename

std::string donner::editor::repro::ReproMetadata::svgBasename

Basename of the originally opened SVG path. Informational and useful when the embedded source has been detached from the path.

◆ svgContentHash

std::string donner::editor::repro::ReproMetadata::svgContentHash

Stable hash of svgSource when embedded. Prefix identifies the hash algorithm, e.g. fnv1a64:0123456789abcdef.

◆ svgPath

std::string donner::editor::repro::ReproMetadata::svgPath

Path to the SVG being edited when recording started. Relative or absolute; replayers use this as the fallback when no embedded source snapshot is available.

◆ svgSource

std::optional<std::string> donner::editor::repro::ReproMetadata::svgSource

Optional embedded SVG source snapshot. Replayers prefer this when no explicit SVG path override is provided, so repros can remain deterministic even if the original file changes later.

◆ windowHeight

int donner::editor::repro::ReproMetadata::windowHeight = 0

Logical window height at start, before DPI scaling.

◆ windowWidth

int donner::editor::repro::ReproMetadata::windowWidth = 0

Logical window size at start. Replayer sets this on its mock window.


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