Viktor Vaczi
3f09a46ff5
jspi: migration phases 0-7 — build knob, scheduler shim, test successor suite
Toolchain: emsdk 6.0.6 (versions.sh; cache-hash keys on it). Build knob
PCBJAM_ASYNC_BACKEND=jspi|asyncify: build-kicad-target.sh links editors with
-sJSPI + -sJSPI_EXPORTS=@scripts/common/jspi-exports.txt + --pre-js
jspi-scheduler.js (no DYNCALLS, no post-link asyncify pipeline); wx build
stamps the backend and forces clean on flip or unknown provenance;
docker/build.sh passes the knob, seeds the emscripten ports cache from the
volume every launch, jspi postprocess = patch-env-shim only.
scripts/common/shims/jspi-scheduler.js: the JSPI successor scheduler —
token-wait registry, resume turnstile (one armed resume between engine
re-entries, SP swaps only at microtask boundaries), green-region spill
stacks (16-aligned tops), S1 embind mutator FIFO lane + parker wraps, S6
shutdown, libctx integration hooks (suspend/end/quarantine + g_current
arm/clear), SuspendError attributor, lost-wake + stuck-window watchdogs,
__wxWaitDump observability.
Embind: PARKER registrations get emscripten::async() under PCBJAM_JSPI
(wasm/bindings/pcbjam_async_policy.h). nanosleep yields route via the shim.
Tests: tests/asyncify -> tests/jspi successor suite (jspi-stack red/green
shadow-stack battery, jspi-coroutine MiniCoro harness, suspend-races
semantic scenarios + __wxWaitDump books coherence); projects jspi-firefox/
jspi-chrome (asyncify-webkit retired — no JSPI in WebKit); unconditional
Firefox JSPI pref; guard-beacons -> wait-beacons (+wxScheduler/libctxJspi
families); Makefile.wasm links test apps against JSPI with the shim as a
tracked link prerequisite.
Web: WasmTool setRo await + __wxWaitDump forensics, open-flow contained
promise, scheduler-shim.test.ts retargeted (8 green).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NDeBaKKhQztd8KiVtHuyXr
|
2026-08-13 07:06:24 +02:00 |
| .. |
|
async-preload
|
feat(wasm-eh): migrate the WASM build to native wasm exceptions (+ 3D viewer default-on)
|
2026-06-30 09:40:26 +02:00 |
|
asyncify-races
|
jspi: migration phases 0-7 — build knob, scheduler shim, test successor suite
|
2026-08-13 07:06:24 +02:00 |
|
aui
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
auinotebook
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
bitmapbuttons
|
Clean up test infrastructure and fix test assertions
|
2026-01-01 20:18:19 +01:00 |
|
bitmask
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
calendar
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
clipboard
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
collapse-relayout
|
test: 💍 regression test for the notebook layer-list collapse
|
2026-07-06 09:17:10 +02:00 |
|
collapsible
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
contextmenu
|
feat(wasm-dom): tests for context menus + scrollbars; fix clean wx build
|
2026-06-13 23:15:49 +02:00 |
|
coroutine
|
wip: nested-asyncify fix, wxAuiToolBar registration, tests, research docs
|
2026-04-21 13:58:16 +02:00 |
|
coroutine-nested
|
wip: nested-asyncify fix, wxAuiToolBar registration, tests, research docs
|
2026-04-21 13:58:16 +02:00 |
|
coroutine-pthread
|
diagnostics: configurable --diag logging flags + asyncify setupUIConditions fix
|
2026-05-27 16:14:03 +02:00 |
|
dataview
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
dataviewvirtual
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
dialog
|
feat: 🎸 wxWidgets dialog/frame header/drag/resize
|
2026-06-30 15:46:52 +02:00 |
|
dnd
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
earlysize
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
filedialog
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
fontenum
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
grid
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
gridedit
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
gridrenderers
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
htmlwin
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
infobar
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
jspi-coroutine
|
jspi: migration phases 0-7 — build knob, scheduler shim, test successor suite
|
2026-08-13 07:06:24 +02:00 |
|
jspi-stack
|
jspi: migration phases 0-7 — build knob, scheduler shim, test successor suite
|
2026-08-13 07:06:24 +02:00 |
|
layout
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
listctrl
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
logerror
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
maximize
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
menu
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
notebook
|
test: 💍 add tab switch fix test
|
2026-06-16 11:22:18 +02:00 |
|
ownerdrawn
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
pickers
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
popup
|
fix: 🐛 wxWdigets popup position
|
2026-06-23 14:32:38 +02:00 |
|
print
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
printpreview
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
propgrid
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
pthread-ondemand
|
feat(wasm-eh): migrate the WASM build to native wasm exceptions (+ 3D viewer default-on)
|
2026-06-30 09:40:26 +02:00 |
|
radiogroups
|
fix(wasm): radio groups no longer merge into one
|
2026-06-29 12:54:35 +02:00 |
|
raytrace-modal
|
feat(wasm-eh): migrate the WASM build to native wasm exceptions (+ 3D viewer default-on)
|
2026-06-30 09:40:26 +02:00 |
|
raytrace-threads
|
test: 💍 deadlock test + readme update
|
2026-06-19 09:22:58 +02:00 |
|
regions
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
retinascale
|
wasm: validate kicad hi-dpi scaling
|
2026-03-22 12:48:05 +01:00 |
|
sched-context
|
star-flip: harness scenarios for star-mode transfers (doc 22 Phase B)
|
2026-08-10 10:14:17 +02:00 |
|
scrollbar
|
feat(wasm-dom): tests for context menus + scrollbars; fix clean wx build
|
2026-06-13 23:15:49 +02:00 |
|
secondary-frame-chrome
|
feat: 🎸 wxWidgets dialog/frame header/drag/resize
|
2026-06-30 15:46:52 +02:00 |
|
secondary-glcanvas
|
test: 💍 wxWidgets secondary canvas
|
2026-06-19 09:22:58 +02:00 |
|
selectheight
|
test: 💍 select height wxWidget
|
2026-06-15 18:41:18 +02:00 |
|
specialized
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
stattext-ellipsize
|
fix: 🐛 wxWidgets text ellipsis
|
2026-06-17 14:26:03 +02:00 |
|
stc
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
textctrl-reentry
|
test(wasm-dom): repros + fixes for the text-ctrl reentry and tooltip UAF bugs
|
2026-06-13 17:39:34 +02:00 |
|
textdecor
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
threadpool
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
threadpool-real
|
feat(wasm-eh): migrate the WASM build to native wasm exceptions (+ 3D viewer default-on)
|
2026-06-30 09:40:26 +02:00 |
|
timer
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
toolbar
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
tooltip-lifetime
|
test(wasm-dom): repros + fixes for the text-ctrl reentry and tooltip UAF bugs
|
2026-06-13 17:39:34 +02:00 |
|
tooltip-toolbar
|
fix: 🐛 tooltip + test cases
|
2026-06-19 14:32:09 +02:00 |
|
tree
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
uipolish
|
test: uipolish regression app + spec for the wasm-ui-polish fixes
|
2026-07-28 18:00:35 +02:00 |
|
validators
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
warp-pointer
|
fix: 🐛 press m & move w/ arrows
|
2026-06-16 15:46:43 +02:00 |
|
wasmedge
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
wizard
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |
|
wxstring-mt
|
fix(wx): thread-safe wxString for the AsyncLoad fan-out — CvPcb-open trap solved
|
2026-07-20 11:56:20 +02:00 |
|
xml
|
Reorganize project structure for clarity
|
2025-12-27 14:06:23 +01:00 |