Location: tests/tools/ (scad_dump.cpp, scad_to_stl.cpp, stl_diff.cpp — methodology and build/run steps documented in tests/tools/README.md).
The corpus-validation tooling (diffing ChiselCAD's output against a live, installed OpenSCAD binary on OpenSCAD's own test corpus, both for echo() output and — via scad_to_stl/stl_diff — for tessellation-agnostic mesh volume comparison) has so far only been run against the corpus's 3D/features subdirectory. The 2D, bugs, bugs2D, misc, and issues subdirectories are still unexamined.
Every prior pass against 3D/features found real, previously-unknown correctness bugs this way (see closed issues #79-#91, #105) — there's good reason to expect the same from the remaining subdirectories.
Good first issue for a new contributor: the tooling and methodology already exist and are documented end-to-end in tests/tools/README.md. This is mostly running the existing tools against a new corpus subdirectory, triaging any mismatches (bisecting a failing file down to the specific construct, as prior passes did), and filing new issues for confirmed bugs — not multi-day engine-architecture work.
Originally noted as a deferred gap in docs/roadmap.md (now trimmed); filing as a tracked issue instead.
Location:
tests/tools/(scad_dump.cpp,scad_to_stl.cpp,stl_diff.cpp— methodology and build/run steps documented intests/tools/README.md).The corpus-validation tooling (diffing ChiselCAD's output against a live, installed OpenSCAD binary on OpenSCAD's own test corpus, both for
echo()output and — viascad_to_stl/stl_diff— for tessellation-agnostic mesh volume comparison) has so far only been run against the corpus's3D/featuressubdirectory. The2D,bugs,bugs2D,misc, andissuessubdirectories are still unexamined.Every prior pass against
3D/featuresfound real, previously-unknown correctness bugs this way (see closed issues #79-#91, #105) — there's good reason to expect the same from the remaining subdirectories.Good first issue for a new contributor: the tooling and methodology already exist and are documented end-to-end in
tests/tools/README.md. This is mostly running the existing tools against a new corpus subdirectory, triaging any mismatches (bisecting a failing file down to the specific construct, as prior passes did), and filing new issues for confirmed bugs — not multi-day engine-architecture work.Originally noted as a deferred gap in
docs/roadmap.md(now trimmed); filing as a tracked issue instead.