Current v1.0.0 plan (2026-07-24)
Starts after: #94. Blocks: #114.
The v1.0.0 decision is to retain the viewer as a bounded archival capability because it preserves an advertised historical feature and gives the repository-owned hero image reproducible provenance.
Restore the viewer only as an opt-in CGAL/Qt capability using the versioned #94 fixture/result contract. The normal build and verification oracle remain headless and free of Qt/Eigen.
The deliverable is a reproducible artifact workflow with recorded provenance and a noninteractive smoke check, not a visualization-architecture redesign.
Native GitHub dependency metadata is the source of truth for ordering.
Summary
Restore cdt-viewer as the supported CGAL/Qt renderer for CDT++ and make the README hero image reproducible from a clean checkout.
Scope
- Enable the CGAL
qt feature and required Qt/Eigen dependencies through an explicit vcpkg feature or supported equivalent.
- Add an opt-in CMake option and preset for
cdt-viewer without affecting ordinary configure, build, test, or oracle workflows.
- Restore the viewer target against the selected CGAL 6.2 integration.
- Define a repository-owned, versioned triangulation fixture for the README hero image and record its scientific parameters, seed or provenance, and expected topology counts.
- Define a rendering manifest containing camera, projection, viewport dimensions, colors, line/point settings, background, output format, and canonical renderer/toolchain versions.
- Provide one documented command that regenerates
docs/images/S3-7-27528-I1-R1.png from the fixture and manifest.
- Prefer automated offscreen export on the canonical supported platform. If portable pixel identity is unavailable, document the canonical environment and use a structural or perceptual check elsewhere.
- Add noninteractive smoke coverage that loads and validates the fixture, initializes the renderer, and produces a nonempty image.
- Inventory other active repository-owned visuals and either give them reproducible provenance or classify them as historical.
Non-goals
- Do not add Qt or Eigen to the default headless build.
- Do not make a display server a prerequisite for ordinary CI or scientific comparison.
- Do not replace the CGAL/Qt renderer with a Python-only implementation.
- Do not redesign the simulation or visualization architecture.
- Do not require cross-platform pixel-identical output when the rendering stack cannot guarantee it.
Acceptance criteria
- The default headless configure/build remains free of Qt and direct Eigen dependencies.
- A clean checkout can install the explicit viewer dependencies and build
cdt-viewer on the documented platform.
- The viewer loads and validates the tracked hero triangulation fixture.
- One documented command regenerates the committed hero image from repository-owned inputs without manual camera or style reconstruction.
- The canonical environment produces the declared artifact; other supported environments have an explicit comparison tolerance or documented limitation.
- Automated smoke coverage verifies a nonempty render artifact without blocking for interactive input.
- Every active repository-owned visual has reproducible provenance or is explicitly historical.
- The v1.0.0 archival documentation records the viewer support boundary and artifact-regeneration workflow.
Current v1.0.0 plan (2026-07-24)
Starts after: #94. Blocks: #114.
The v1.0.0 decision is to retain the viewer as a bounded archival capability because it preserves an advertised historical feature and gives the repository-owned hero image reproducible provenance.
Restore the viewer only as an opt-in CGAL/Qt capability using the versioned #94 fixture/result contract. The normal build and verification oracle remain headless and free of Qt/Eigen.
The deliverable is a reproducible artifact workflow with recorded provenance and a noninteractive smoke check, not a visualization-architecture redesign.
Summary
Restore
cdt-vieweras the supported CGAL/Qt renderer for CDT++ and make the README hero image reproducible from a clean checkout.Scope
qtfeature and required Qt/Eigen dependencies through an explicit vcpkg feature or supported equivalent.cdt-viewerwithout affecting ordinary configure, build, test, or oracle workflows.docs/images/S3-7-27528-I1-R1.pngfrom the fixture and manifest.Non-goals
Acceptance criteria
cdt-vieweron the documented platform.