Prerelease. First release under the new name @mjayb/sonicweb (formerly @mjayb/sonicpijs). The project is now Sonic Web, live at sonicweb.cc. Bundles all work merged since beta.3. Install: npm install @mjayb/sonicweb.
Rebrand
- Sonic Pi Web → Sonic Web. npm
@mjayb/sonicpijs → @mjayb/sonicweb, repoSonicPiWeb → SonicWeb, domainsonicpi.cc → sonicweb.cc(308 redirect, old paths preserved). Upstream Sonic Pi attribution and the audio-criticalsonic-pi-*synthdef/OSC identifiers are unchanged. (#610, #611, #614)
Engine
- Self-sufficient by default (#604) — the engine auto-loads SuperSonic (the GPL scsynth WASM core, from CDN), the tree-sitter transpiler, and its PRNG table itself. A bare consumer needs zero runtime wiring.
Hash#length/#size/#counttranspile correctly via a runtime__spSizehelper (#603) — fixes loops over Hash literals silently dropping layers.spread(hits, total)matches Desktop Sonic Pi'sredistributeplacement byte-for-byte for all(hits, total)(#597, #598).- Parity fixes: dynamic / non-literal
use_synth, inline-loop RNG continuity, cross-loopget/settime-frame alignment, and bang-only mixer/volume linting (#585, #586, #588–#593, #595, #596).
Docs & tooling
- Parity dashboards and every docs code snippet are now playable (Run/Stop) with an "open in sonicweb.cc" link; dashboards published to Vercel + Cloudflare R2.
- Fixed the "Engine not ready" race when Run is pressed during engine init.
- CI:
actions/checkout/actions/setup-nodebumped to v6/v7 (#607).