Two research dossiers under docs/features:
- async/: Asyncify currData contention — the clipboard crash and post-idle
tool hang as one disease (single global suspension slot, three producers),
asyncify internals walkthroughs, prior art, arbiter designs A/B.
- wasm-exceptions/: -fexceptions vs -fwasm-exceptions — measured invoke-driven
share of the asyncify tax on pcbnew (59% raw / 64% gzip; download 64.5->36 MB
if migrated), KiCad dialog-in-catch audit (85 direct / 93 review of 636,
catch_audit.py included), binaryen toolchain status (partial EH support since
v125; TryTable unsupported), and a catch-arm-hoisting pre-pass design that
would obsolete the KiCad-side refactor. Cross-linked with the parked
KICAD_WASM_EH end-to-end experiment (docs/wasm-exceptions-experiment.md).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- ci-build-slowness-findings.md: the full investigation log — measured
phase breakdowns of the 4h05m baseline, the v121 lock convoy, the
badly-built official Binaryen Linux tarballs (4-13x slow asyncify),
allocator/THP/arm64 dead ends, and the validated 1h14m41s result.
- wasm-exceptions-experiment.md: -fwasm-exceptions would shrink the
asyncify set at the root (pcbnew 338 MB -> 92 MB raw) but is blocked
by an LLVM br_table codegen bug in emscripten 4.0.2; full resume
recipe + plumbing patch included.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Rename docs/ to features/ with per-feature folders. Add script to generate
patches for root repo and submodules.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Documents:
- Current LEGACY_GL_EMULATION implementation
- GLU tesselator status (solved with earcut)
- Where KiCad uses legacy GL (OPENGL_GAL + 3D Viewer)
- The GAL API abstraction (~40 clean methods)
- Strategy options: keep emulation vs create WEBGL_GAL
- Recommendation for short/medium term approach
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fix empty clip region bug in wx.js clipRect function
- Add dropdown mouse interaction tests
- Add *.log to gitignore
- Make build script clean by default (use --no-clean to skip)
- Add wxGLCanvas canvas element fix documentation
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Update build script with bakefile_gen Docker instructions and PCRE fix
- Add wxWidgets submodule with OpenGL/WebGL support for WASM
- Document comprehensive WASM test plan and wxGLCanvas implementation
- Document legacy GL emulation strategy for KiCad (423+ legacy GL calls)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>