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>
99 lines
2.3 KiB
Text
99 lines
2.3 KiB
Text
# Build directories
|
||
build/
|
||
build-*/
|
||
cmake-build-*/
|
||
|
||
# IDE
|
||
.idea/
|
||
.vscode/
|
||
*.swp
|
||
*.swo
|
||
*~
|
||
|
||
# Compiled objects
|
||
*.o
|
||
*.obj
|
||
*.a
|
||
*.so
|
||
*.dylib
|
||
*.dll
|
||
|
||
# WebAssembly output (but not Makefiles that end in .wasm)
|
||
*.wasm
|
||
!Makefile.wasm
|
||
*.js.map
|
||
*.wasm.map
|
||
|
||
# macOS
|
||
.DS_Store
|
||
|
||
# Emscripten cache
|
||
.emscripten_cache/
|
||
|
||
# Local emsdk installation (managed by scripts/setup-emsdk.sh)
|
||
/tools/emsdk/
|
||
|
||
# Clean clone for reproducible builds (generated by build-wxwidgets-wasm-clean.sh)
|
||
wxwidgets-clean/
|
||
|
||
# Test artifacts
|
||
/tests/node_modules/
|
||
/tests/playwright-report/
|
||
/tests/test-results/
|
||
/tests/pw-artifacts/
|
||
/tests/.test-port
|
||
/test-results/
|
||
/tests/apps/*.js
|
||
/tests/apps/*.html
|
||
/tests/apps/minimal_test.wasm
|
||
/tests/apps/standalone/*/*.js
|
||
/tests/apps/standalone/*/*.html
|
||
/tests/apps/standalone/*/*.wasm
|
||
/tests/apps/kicad/*.js
|
||
/tests/apps/kicad/*.wasm
|
||
# Demo board for the gerbview print test — provisioned at setup from
|
||
# site/public/gerber-demo/board (see tests/scripts/setup-kicad-wasm.sh), not committed.
|
||
/tests/apps/kicad/board/
|
||
|
||
# DOM-port test bundles (mirrored + built by scripts/build-wasm-test.sh --dom)
|
||
|
||
# Worktree-local canvas reference snapshot for regression gating (see
|
||
# features/wx-dom-port docs); derived from a local run, not a project asset
|
||
/tests/phase0-canvas-reference/
|
||
/tests/phase0-timestamp-noisy.txt
|
||
/tests/apps/kicad/*.tar.gz
|
||
!tests/apps/kicad/pcbnew.html
|
||
/tests/apps/gal-webgl/*.js
|
||
/tests/apps/gal-webgl/*.wasm
|
||
/tests/apps/3d-webgl/*.js
|
||
/tests/apps/3d-webgl/*.wasm
|
||
/temp/
|
||
*.log
|
||
*.tmp
|
||
output/
|
||
*.d
|
||
/tests/.test-port-coroutine
|
||
.playwright-mcp
|
||
.claude/worktrees/
|
||
|
||
# Feature patch scratch (generated by scripts/create-feature-patches.sh).
|
||
# Curated design docs live under docs/features/ and ARE committed.
|
||
/features/
|
||
|
||
# wasm-opt benchmark local artifacts. The harness scripts under scripts/bench/
|
||
# ARE committed; the fixtures/results (/bench) and the QEMU VM image
|
||
# (scripts/bench/vm) are local-only.
|
||
/bench/
|
||
/scripts/bench/vm/
|
||
|
||
# Temporary/disposable prebuilt WASM sets (native-EH + JS-EH × eeschema + pcbnew
|
||
# O1 builds) + the standalone perf harness, used to reproduce the runtime-perf
|
||
# comparison on demand. Large (~1 GB), never committed.
|
||
/benchmark-builds/
|
||
|
||
/tests/.test-port-asyncify
|
||
/memory/
|
||
|
||
# Wrangler (Cloudflare CLI) local state/cache — created when running R2 deploys.
|
||
.wrangler/
|
||
tests/.scratch/
|