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>
15 lines
354 B
C
15 lines
354 B
C
/**
|
|
* Include shim for the native 3D-renderer test build.
|
|
* kiglad.h must precede wx/glcanvas.h so GL symbols come from the vendored
|
|
* glad loader instead of the (deprecated) Apple GL headers.
|
|
*/
|
|
|
|
#ifndef KICAD_STUBS_3D_H
|
|
#define KICAD_STUBS_3D_H
|
|
|
|
#include <kicad_gl/kiglad.h>
|
|
|
|
#include <wx/wx.h>
|
|
#include <wx/glcanvas.h>
|
|
|
|
#endif // KICAD_STUBS_3D_H
|