tests/3d-regression mirrors the gal-regression pattern at renderer scale: shared C++ scenarios call real KiCad 3D-viewer code (opengl_utils, display lists + DrawCulled stencil subtraction, MODEL_3D VBOs, private generators via a rob-template accessor, and full reload()+Redraw() composites over a synthetic BOARD_ADAPTER). A native macOS harness renders them on real OpenGL into 47 committed goldens (bit-deterministic, FBO capture); the wasm harness compiles the same TUs against wasm/stubs/gl_ffp_stub.c no-ops so every scenario renders blank — the TDD red state (parity meter: 47/47 changed). Comparisons use the CI pixelmatch engine via the new generic compare-dirs.ts (floors.json levels; manifest.json cmp-guards registry drift). Documents an upstream bug: appendPostMachiningGeometry's countersink path adds middle quads without normals, silently erasing the walls of any display list it is batched into (3d-post-machining.png keeps the lists separate to record it). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
53 lines
1.1 KiB
JSON
53 lines
1.1 KiB
JSON
{
|
|
"width": 800,
|
|
"height": 600,
|
|
"scenarios": [
|
|
"bg-gradient",
|
|
"bg-gradient-alpha",
|
|
"bounding-box",
|
|
"half-open-cylinder",
|
|
"segment-single",
|
|
"segments-star",
|
|
"round-arrow",
|
|
"round-arrows-axes",
|
|
"material-copper",
|
|
"material-diffuse-only",
|
|
"material-transparent",
|
|
"light-front",
|
|
"light-top",
|
|
"light-bottom",
|
|
"tdl-draw-top",
|
|
"tdl-draw-bot",
|
|
"tdl-draw-middle",
|
|
"tdl-draw-all",
|
|
"tdl-seg-ends-texture",
|
|
"tdl-culled-stencil",
|
|
"tdl-zscale",
|
|
"tdl-transparent",
|
|
"model3d-opaque",
|
|
"model3d-transparent",
|
|
"model3d-material-modes",
|
|
"model3d-bbox",
|
|
"spheres-gizmo",
|
|
"camera-persp",
|
|
"camera-ortho",
|
|
"camera-preset-views",
|
|
"gen-cylinder",
|
|
"gen-invcone",
|
|
"gen-disk",
|
|
"gen-dimple",
|
|
"addobj-all-shapes",
|
|
"post-machining",
|
|
"via-composite",
|
|
"grid-1mm",
|
|
"grid-2p5mm",
|
|
"grid-5mm",
|
|
"grid-10mm",
|
|
"layer-materials",
|
|
"arrow-material",
|
|
"create-board",
|
|
"redraw-empty",
|
|
"redraw-mini-board",
|
|
"redraw-mini-board-navigator"
|
|
]
|
|
}
|