feat(3d): gl1 shim M4+M6+M7 — GLU quadrics, production link, stub retired; 47/47 parity
- gl1_glu: gluCylinder/gluDisk/gluSphere per the SGI GLU reference tessellation (sin/cos phase, strip emission order, pole fans — Apple's GLU derives from the same source, so vertices match the goldens); emission goes through the public glBegin/glVertex entry points so quadrics record into display lists - glLineWidth>1 one-time warning (browsers clamp to 1; affected coverage stays under the parity floor — zero floors.json overrides needed) - production link site: build-kicad-target.sh now compiles wasm/gl1 from sources.txt and applies wrapped_symbols.txt --wrap flags (same manifests as the test harness); kicad_editor's RENDER_3D_OPENGL links against the real emulation layer instead of no-ops - wasm/stubs/gl_ffp_stub.c deleted (role fully superseded; history in git) - docs: 3d-regression README port-status section (floor-blind small geometry + line-width caveats), harness comments de-red-stated Parity: 47/47 under the 0.02 floor, zero overrides. Native golden path byte-identical to bb0e238 (whose gate ran green) — scenarios/, native/, baseline/, manifest, floors, spec all untouched by the port. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
3fe4f6fb00
commit
27992f4f18
8 changed files with 240 additions and 157 deletions
|
|
@ -1,8 +1,8 @@
|
|||
/**
|
||||
* 3D-renderer WebGL test harness (WASM) — runs the shared scenarios
|
||||
* (tests/3d-regression/scenarios/) in the browser. Today the legacy GL
|
||||
* surface is wasm/stubs/gl_ffp_stub.c no-ops, so every scenario renders a
|
||||
* black canvas: the TDD red state the WebGL port turns green.
|
||||
* (tests/3d-regression/scenarios/) in the browser. The legacy GL surface is
|
||||
* implemented by the wasm/gl1 GL1->WebGL2 emulation layer; the parity level
|
||||
* (npm run 3d:check:parity) compares these renders against the native goldens.
|
||||
*
|
||||
* Unlike the GAL harness this needs no wx window: the renderer draws into
|
||||
* whatever context is current, so a direct emscripten WebGL2 context on
|
||||
|
|
|
|||
Loading…
Reference in a new issue