makepad/platform/script/audio_aot/examples
2026-10-23 15:18:28 +02:00
..
bench.rs script: Splash VM heaps, isolates and lazy system modules 2026-10-13 12:26:21 +02:00
wasm_v8.mjs script (audio_aot, compute): audio programs compile to wasm, bit-exact -- the wasm backend's scalar form now compiles audio I/O (in/out channels clamped into 0..n exactly as the interpreter does; audio never fuses), with the kernels' entry type run(ctx, state, shared, io, n, frame): one voice's or the effect's state as today, io = four addresses (in0, in1, out0, out1, n frames each, outputs added into), one call per voice per block; the only import is env.memory (shared in the threaded build). audio_aot::wasm builds one module for a set of shaders (run<k> = shader k), keeps a per-thread link(key, slot) registry (a table slot belongs to the thread's instance) and records compiled shaders for a build tool (record_compiled / take_recorded); AudioShader::program_key and shared_table; on wasm32 run() calls the linked slot when this thread has one, else the interpreter. The golden test had silently skipped the 11 library shaders since they moved to apps/commercial/engine/score_player/shaders; its path is fixed. Checked: cargo test --release -p makepad-script-audio-aot (24 + 1; new: wasm_renders_match_the_golden_hashes on stitch, all 18 golden hashes; wasm_host_slicing_matches_the_interpreter); examples/wasm_v8 in node, slices 128 and 1,7,128,33,64,3: all 18 bit-identical (fm2_svf 20.7 ns/frame, native 20.7, interpreter 496); -p makepad-script-compute --test wasm; wasm_diff 300 rounds both tiers. 2026-10-01 13:10:08 +02:00
wasm_v8.rs work: Relax JIT campaign batch 2026-10-23 (owner/PGO hang fix, JIT memory + run monitor fix, rustc suite 99.70%, Flow OSS app, skins OSS, Stage logs, Rogier + makepad PR syncs) 2026-10-23 15:18:28 +02:00