You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Aug 12, 2026. It is now read-only.
Repository navigation
This repository was archived by the owner on Aug 12, 2026. It is now read-only.
Make simulations reproducible and persistence portable #93
Give every stochastic run an explicit, scientifically scoped reproducibility contract and make persisted
triangulations trustworthy across supported platforms.
Determinism applies to state CDT++ owns. It must not perturb the spherical input geometry, replace CGAL's existing
range-insertion behavior, or change foliation repair solely to force one tetrahedralization of degenerate
cospherical points.
Reproducibility contract
On the recorded supported toolchain:
A root seed and stable named streams reproduce the tested PCG sequences.
The initialization stream reproduces the ordered, pre-CGAL spherical point sequence.
Given an identical starting manifold, the transition stream reproduces the tested move/outcome trace, counters,
and resulting topology.
When a seed is omitted, CDT++ generates it once, prints it, and persists it with the output.
A fresh run with the same seed and configuration is not required to reproduce the same final CGAL topology,
post-repair vertex set, simplex counts, or payload bytes. Points on a spherical layer are cospherical, so CGAL may
select different valid tetrahedralizations; foliation repair may then remove different vertices. Output placement
and topology fingerprints make those differences visible without treating them as RNG failure.
Scope
Own one persistent random engine or explicit set of derived streams per simulation.
Route move selection, shuffling, probability draws, and initial point generation through recorded random state.
Define and test stream-consumption boundaries.
Record the seed, relevant parameters, version/toolchain, replay limits, state fingerprints, transition trace, and
integrity metadata with outputs.
Replace timestamps that produce invalid Windows filenames.
Summary
Give every stochastic run an explicit, scientifically scoped reproducibility contract and make persisted
triangulations trustworthy across supported platforms.
Determinism applies to state CDT++ owns. It must not perturb the spherical input geometry, replace CGAL's existing
range-insertion behavior, or change foliation repair solely to force one tetrahedralization of degenerate
cospherical points.
Reproducibility contract
On the recorded supported toolchain:
and resulting topology.
A fresh run with the same seed and configuration is not required to reproduce the same final CGAL topology,
post-repair vertex set, simplex counts, or payload bytes. Points on a spherical layer are cospherical, so CGAL may
select different valid tetrahedralizations; foliation repair may then remove different vertices. Output placement
and topology fingerprints make those differences visible without treating them as RNG failure.
Scope
integrity metadata with outputs.
interface is supported.
Acceptance criteria
supported toolchain.
counters, and output topology.
placement, counts, or serialized bytes.
diagnose a run.