pcbjam/docs
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Viktor Vaczi da299ed6f9 bench: JSPI vs asyncify A/B — harness + results
Adds pcbnew-large-perf.spec.ts (PERF_LARGE-gated: repeated cold loads,
vme-wren/jetson opens, rAF + distinct-glcanvas-frame FPS under throttle,
wasm/JS heap checkpoints), fetchIntoMemfs + openAndWait/sampleMemory/
measureFpsDetailed perf-utils, dual 9.99+10.0 config seeding in pcbnew.html
so foreign-branch builds boot wizard-free, and the full benchmark report +
raw data under docs/features/async/migration-evidence/.

Headlines: wasm 94 vs 113 MB raw (18.6 vs 36.7 MB gzip), post-link tail
1.6 s/49 MB vs 63 s/6.1 GB per build, cold load −40 %, 27.7 MB board open
−45 %, real redraws +68 % at 4× throttle, boot heap −31 %.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016X9eh1s5sTx1o9Em9KBuwR
2026-08-14 11:53:06 +02:00
..
asyncify-allocator-suspend jspi cleanup: remove the asyncify-era residue — dead code, conditionals, pipeline scaffolding, stale prose 2026-08-14 09:25:32 +02:00
debugging jspi cleanup: remove the asyncify-era residue — dead code, conditionals, pipeline scaffolding, stale prose 2026-08-14 09:25:32 +02:00
features bench: JSPI vs asyncify A/B — harness + results 2026-08-14 11:53:06 +02:00
research docs: ✏️ cleanup and organize docs 2026-06-05 12:16:13 +02:00
build.md jspi cleanup: remove the asyncify-era residue — dead code, conditionals, pipeline scaffolding, stale prose 2026-08-14 09:25:32 +02:00
ci-build-slowness-findings.md docs: CI build perf findings + parked wasm-exceptions experiment 2026-06-11 07:50:57 +02:00
README.md jspi cleanup: remove the asyncify-era residue — dead code, conditionals, pipeline scaffolding, stale prose 2026-08-14 09:25:32 +02:00
wasm-exceptions-experiment.md feat(wasm-eh): migrate the WASM build to native wasm exceptions (+ 3D viewer default-on) 2026-06-30 09:40:26 +02:00

Documentation Map

A central index of the documentation in this repo. The goal of the project is to build KiCad with WASM and run it in a browser.

Note: per-area README.md files stay next to the code they describe (they're linked below). Cross-cutting guides live under docs/. Per-feature design notes live under features/.

Start here

  • Project README — overview, prerequisites, quick start, project structure
  • CLAUDE.md — project/agent context and contribution conventions

Build

  • docs/build.md — Docker-based KiCad WASM build system (single-phase build, outputs, memory)
  • docker/README.md — Docker build environment, branch-specific containers, troubleshooting
  • wasm/README.md — WASM compatibility layer (overrides/shims without patching KiCad)

Debugging & WASM runtime

Architecture

  • wasm/README.md — WASM compatibility layer structure
  • web/README.md — web app (create/open KiCad projects), tech stack, URL routing, WASM artifact serving

Testing

Feature design docs

Per-feature design notes and porting records live under features/:

Archived / historical

features/archive/ holds docs whose work is done or superseded (each carries a status banner):

  • webgl — WebGL-GAL strategy/plan (since implemented in kicad/common/gal/webgl/)
  • ipc-api — IPC-API guard cleanup TODO (revert not yet actioned)