pcbjam/scripts
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Istvan Matejcsok 68c711e633 feat: ✨ enable the 3D viewer in the WASM port (WIP)
Builds KiCad's 3D viewer for the browser (opt in with BUILD_3D_VIEWER=ON) and
wires up the legacy-GL emulation it needs.

- build-kicad-target.sh / docker/build.sh: BUILD_3D_VIEWER →
  -DKICAD_BUILD_3D_VIEWER_WASM=ON + -sLEGACY_GL_EMULATION + the GL js-library.
- wasm/shims/gl_immediate_shim.js: display-list emulation (record/replay board
  layers), fixed-function + GLU stubs, throw-guards for unsupported pnames, and
  per-context GLImmediate init for the viewer's SECOND WebGL context.
- tests/kicad/3d-viewer.spec.ts + utils/pcbnew-ready.ts: open View → 3D Viewer.
- bumps the kicad submodule (EMSCRIPTEN-guarded GL changes).

WIP: the viewer window + UI render and geometry draws (glError=0x0), but the
board is not yet visibly rendered — GLImmediate's FFP shader program isn't
linked on the viewer's 2nd WebGL context. Full status + next steps in
features/feat/add-3d-view/notes.md.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 09:13:41 +02:00
..
bench bench: wasm-opt benchmark harness — Hetzner config sweeps + local QEMU VM 2026-06-11 07:48:46 +02:00
common ci: 🎡 -o1 & test workers 2026-06-16 14:46:18 +02:00
config Add autom4te wrapper to keep submodules clean 2025-12-27 09:21:31 +01:00
deps Remove .git from meson subprojects to keep IDE clean 2025-12-27 09:37:20 +01:00
git-workflow chore(skills): include pcbjam-shared in the git-feature workflow 2026-06-12 14:05:40 +02:00
kicad feat: ✨ enable the 3D viewer in the WASM port (WIP) 2026-06-19 09:13:41 +02:00
build-gal-native-test.sh feat(webgl): Add GAL native test harness for visual regression testing 2026-01-07 09:42:31 +01:00
build-gal-webgl-test.sh fix(wasm): Fix asyncify rewind with asyncify-aware dynCall shims 2026-03-13 12:26:48 +01:00
build-monitor.sh chore: 🤖 add build monitor 2026-06-01 17:37:00 +02:00
build-wasm-test.sh refactor: collapse dual-mode plumbing — the DOM port is the only WASM build 2026-06-12 20:19:48 +02:00
build-wx-wasm.sh feat(wasm-dom): tests for context menus + scrollbars; fix clean wx build 2026-06-13 23:15:49 +02:00
compare-screenshots.sh refactor: collapse dual-mode plumbing — the DOM port is the only WASM build 2026-06-12 20:19:48 +02:00
create-feature-patches.sh feat(schematic): eeschema WASM build + e2e harness 2026-05-29 16:01:17 +02:00
kicad-diff-stats.sh Reduce KiCad fork divergence with CMake cleanup 2026-01-05 14:03:03 +01:00
setup-emsdk.sh fix(wasm): Fix asyncify rewind with asyncify-aware dynCall shims 2026-03-13 12:26:48 +01:00
setup-worktree.sh chore: 🤖 add new worktree setup script 2026-06-16 14:46:18 +02:00
test-gal-regression.sh refactor(webgl): Move WebGL GAL from test harness to KiCad source tree 2026-01-10 13:15:58 +01:00
test-gal-webgl.sh refactor(webgl): Move WebGL GAL from test harness to KiCad source tree 2026-01-10 13:15:58 +01:00
update-baseline-screenshots.sh refactor: collapse dual-mode plumbing — the DOM port is the only WASM build 2026-06-12 20:19:48 +02:00