test(3d): screenshot-baseline TDD suite for the 3D viewer OpenGL->WebGL port — 47 native goldens + red-state WebGL harness
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>
This commit is contained in:
parent
1a24c2894e
commit
ce1473c9ab
85 changed files with 6797 additions and 1 deletions
26
tests/3d-regression/native/config.h
Normal file
26
tests/3d-regression/native/config.h
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
// Minimal config.h for native GAL test
|
||||
// Based on KiCad's generated config
|
||||
#ifndef KICAD_CONFIG_H
|
||||
#define KICAD_CONFIG_H
|
||||
|
||||
// Version info
|
||||
#define KICAD_MAJOR_VERSION 8
|
||||
#define KICAD_MINOR_VERSION 0
|
||||
#define KICAD_PATCH_VERSION 0
|
||||
|
||||
// Enable OpenGL
|
||||
#define KICAD_USE_OCC 0
|
||||
#define KICAD_USE_EGL 0
|
||||
|
||||
// Platform detection
|
||||
#ifdef __APPLE__
|
||||
#define KICAD_MACOS 1
|
||||
#endif
|
||||
|
||||
// Math
|
||||
#define KICAD_USE_STDROUND 1
|
||||
|
||||
// Ensure types are properly sized
|
||||
#include <cstdint>
|
||||
|
||||
#endif // KICAD_CONFIG_H
|
||||
Loading…
Reference in a new issue