Commit Graph

4 Commits

Author SHA1 Message Date
Simon Klee c79845fa68 build: require preinstalled Node.js 26.3.0
Require callers and CI jobs to select the supported Node.js version
instead of downloading a private copy on demand.
2026-06-08 12:20:40 +02:00
Simon Klee e9f451edc2 core(ffi): update Node.js 26.3 compatibility
Node.js 26.3 expects FFI signatures to use the current argument and return
field names.
2026-06-08 12:20:40 +02:00
Simon Klee a70f18026a core: port test suite and runtime to Node.js
The test suite was tightly coupled to Bun-specific APIs (bun:test,
Bun.sleep) making it impossible to validate behavior on other
runtimes. A module hook now rewrites bun:test imports for Node's
test runner, and fake clocks replace wall-clock delays so tests
run deterministically everywhere.

Fix FFI type mismatches and boolean normalization that caused
silent failures on non-Bun runtimes. Correct bundled asset
resolution so published packages load without a TypeScript loader.

Reorganize the example menu with themed sections, two-panel focus
management, and proper tree-sitter cleanup to prevent worker leaks.
2026-06-08 12:20:40 +02:00
Simon Klee 7ccd0779d3 examples: add Node.js 26 runtime support
Allow examples to run under Node 26 with --experimental-ffi in addition to
Bun. Replace some Bun-specific APIs with standard Node equivalents, lazy-load
demos that still require Bun (WebGPU, sprites, shaders), and import Rapier via
its ESM subpath.
2026-06-08 12:20:40 +02:00