open-standards/wai/wai-web/demo
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science fa1b60fa2d
Some checks failed
no-vanity-metrics / Scan committed Markdown for vanity metrics (pull_request) Successful in 4s
no-vanity-metrics / WAI public text names no comparison (pull_request) Successful in 3s
no-vanity-metrics / WAI public text names no company or product (pull_request) Successful in 3s
standards workspaces build + test / eoc-rs (pull_request) Successful in 1m53s
standards workspaces build + test / jouleclaw-rs (pull_request) Successful in 3m31s
standards workspaces build + test / jcp-rs (pull_request) Successful in 1m26s
standards workspaces build + test / proof-rs (pull_request) Successful in 1m12s
standards workspaces build + test / aac-rs (pull_request) Successful in 1m38s
standards workspaces build + test / sandbox-rs (pull_request) Successful in 2m12s
standards workspaces build + test / joule-code-rs (pull_request) Successful in 1m52s
standards workspaces build + test / joulecontract-rs (pull_request) Successful in 2m11s
standards workspaces build + test / map-rs (pull_request) Successful in 1m8s
standards workspaces build + test / smart-byte-rs (pull_request) Successful in 3m41s
wai cross-architecture byte-equality / linux-x86_64 (pull_request) Successful in 26s
standards workspaces build + test / mesh-rs (pull_request) Successful in 47s
standards workspaces build + test / openpay (pull_request) Successful in 3m34s
wai cross-architecture byte-equality / linux-aarch64 (pull_request) Successful in 44s
WAI conformance / cargo-class corpora · linux (pull_request) Successful in 4m29s
WAI conformance / v2 vocabulary · manifests validate as stated (pull_request) Successful in 13s
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Successful in 2m16s
WAI conformance / cross-arch byte-equality · linux (pull_request) Successful in 23s
WAI conformance / C2PA manifest emission · signed, read back, validated (pull_request) Successful in 45s
WAI energy receipts / energy receipts · linux (pull_request) Successful in 1m6s
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Successful in 6m28s
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Successful in 40s
WAI energy receipts / energy receipts · linux-arm64 (pull_request) Successful in 1m41s
wai formal verification (integer core) / kani (pull_request) Successful in 5m5s
WAI JPEG-AI whole decode (pinned inputs, required) / fetch pinned JPEG-AI inputs → whole decode + pixel hash, required (pull_request) Successful in 58s
WAI neural sink gates / model-free refusals of the neural sink (pull_request) Successful in 1m2s
WAI section references / cited sections exist (pull_request) Successful in 10s
WAI mbt2018_mean integer decode (regenerated vectors) / regenerate mbt2018_mean integer vectors → Rust decode, required (pull_request) Successful in 3m54s
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Successful in 1m45s
standards workspaces build + test / arl-rs (pull_request) Has been cancelled
standards workspaces build + test / joule-ui-rs (pull_request) Has been cancelled
standards workspaces build + test / jouledesk-rs (pull_request) Has been cancelled
standards workspaces build + test / joulehook-rs (pull_request) Has been cancelled
standards workspaces build + test / sense-rs (pull_request) Has been cancelled
standards workspaces build + test / macOS energy backends (pull_request) Has been cancelled
wai cross-architecture byte-equality / macos-arm64 (reference) (pull_request) Has been cancelled
WAI conformance / cargo-class corpora · macos (pull_request) Has been cancelled
WAI conformance / cross-arch byte-equality · macos (pull_request) Has been cancelled
WAI energy receipts / energy receipts · macos (pull_request) Has been cancelled
wai: verify_pack.mjs names its failure for both rules
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-04 22:39:27 -04:00
..
audio wai: interactive + temporal cargo classes, provenance, telepresence 2026-06-13 23:16:42 -04:00
int_synth wai-web: integer-exact neural decode in the browser, no ML runtime 2026-06-21 05:53:41 -04:00
vectors wai: interactive + temporal cargo classes, provenance, telepresence 2026-06-13 23:16:42 -04:00
audio.html wai: interactive + temporal cargo classes, provenance, telepresence 2026-06-13 23:16:42 -04:00
audio.js wai: interactive + temporal cargo classes, provenance, telepresence 2026-06-13 23:16:42 -04:00
int_hyper.html wai: the integer-payload pin, as SPEC §8 now permits it, and what is final 2026-10-01 19:47:27 -04:00
int_hyper.js wai: the headline decode tests fail on a missing input, and CI supplies their inputs 2026-09-28 18:40:59 -04:00
int_synth.html wai: one registry table, candidate capabilities, public-text checks 2026-09-30 22:38:09 -04:00
int_synth.js wai-web: integer-exact neural decode in the browser, no ML runtime 2026-06-21 05:53:41 -04:00
README.md wai: one registry table, candidate capabilities, public-text checks 2026-09-30 22:38:09 -04:00
verify_int_hyper.sh wai: one registry table, candidate capabilities, public-text checks 2026-09-30 22:38:09 -04:00
verify_int_hyper_wasm.mjs wai: one registry table, candidate capabilities, public-text checks 2026-09-30 22:38:09 -04:00
verify_int_payload_wasm.mjs wai: integer decodes do only the work their streams back 2026-10-01 19:08:03 -04:00
verify_int_synth.sh wai: one registry table, candidate capabilities, public-text checks 2026-09-30 22:38:09 -04:00
verify_int_synth_wasm.mjs wai: one registry table, candidate capabilities, public-text checks 2026-09-30 22:38:09 -04:00
verify_menu.mjs wai: one registry table, candidate capabilities, public-text checks 2026-09-30 22:38:09 -04:00
verify_pack.mjs wai: verify_pack.mjs names its failure for both rules 2026-10-04 22:39:27 -04:00
world.html wai: interactive + temporal cargo classes, provenance, telepresence 2026-06-13 23:16:42 -04:00
world.js wai: key discovery, signing authority and module revocation 2026-10-01 07:12:20 -04:00

wai-web demo — interactive-worlds browser sink

world.html is a conformant wai.world.replay sink running in a tab: the WWLD payload (a tick-0 world + signed op log, ~1.3 KB for the truss vector) is re-derived frame by frame in WebGPU by the same wai crate native sinks run, compiled to wasm32 with the codec chain off (--no-default-features --features world). At the sealed final tick the sink recomputes the BLAKE3 state hash and compares it to the publisher's Ed25519-signed seal — replay-equivalence, demonstrated: the hash the browser computes is byte-identical to world-conformance/expected_hashes.json.

Run

# from wai-web/: rebuild the wasm pkg after engine changes
wasm-pack build --target web --out-dir demo/pkg

# vectors come from the conformance corpus
cp ../world-conformance/vectors/{truss_fracture,ballistic_bounce,basic_kinematics}.wwld demo/vectors/

# serve (any static server; WASM needs http, not file://)
python3 -m http.server 8741
# → http://localhost:8741/demo/world.html

Needs a browser with WebGPU enabled. No build steps beyond wasm-pack; no JS dependencies.

int_synth.html — integer-exact neural image sink (no ML runtime)

int_synth.html decodes a wai.neural.int_synth payload to RGB with the same pure-i64 Rust that decodes natively, compiled to wasm32 — no onnxruntime-web, no WebGPU, no float. Because the decode is integer all the way down (the integer-entropy contract, SPEC §6), the reconstruction is byte-identical on every machine, so the page re-checks its BLAKE3 against the hash the native reference froze into neural-conformance/expected_hashes.json. The four staged vectors (demo/int_synth/, copied from the corpus) include the real trained photo model (128×128, 21.6 dB PSNR).

# from wai-web/: build the web pkg, then serve
wasm-pack build --release --target web --out-dir demo/pkg --out-name wai_web
python3 -m http.server 8741   # → http://localhost:8741/demo/int_synth.html

Reproducible CLI proof that the wasm decode equals the native corpus (builds the nodejs-target pkg and checks all four vectors' hashes):

./demo/verify_int_synth.sh