wai-web gains the feature `quantum_webgpu` (wai/quantum_fabric, wai/quantum_fabric_webgpu and wasm-bindgen-futures 0.4.77), which compiles src/quantum_webgpu.rs on wasm32: quantum_webgpu_discover() opens the page's adapter as a fabric member and probes its arithmetic; QuantumWebGpu reports the member and returns promises for certify (random-v1 or fabric-v1, as certificate JSON) and statevector_hash_hex (rejections read `<stage> (<class>): <reason>`). The default build is unchanged: its bundle has the same size, and differs only in the five panic-location line numbers of src/lib.rs that the new module declaration shifts. wai-web/Cargo.lock only adds entries (web-sys resolves to 0.3.104 beside js-sys 0.3.104 and wasm-bindgen 0.2.127); indexmap's hashbrown entry is relabelled with its version. demo/quantum_webgpu.html runs demo/quantum_webgpu_worker.js, which certifies both gatesets on random-v1 and fabric-v1, runs every quantum vector, offers every reject file and a circuit one qubit wider than the member holds; a second worker repeats the width check with the adapter offering the WebGPU default buffer limits, where the member holds 25 qubits and refuses 26 as too-wide. The bundle builds into demo/pkg-webgpu (ignored, as demo/pkg is). quantum-conformance/browser_webgpu.mjs drives the page headless and holds every result to the committed corpus and to fabric/expected.json (the four pinned digests and the implementation id). On macOS a headless page is offered a hardware adapter only with --use-angle=metal, which the script passes. CI: the checks job builds the bundle; a new browser job on macos checks that fabric/expected.json's pins are the crate's, builds the bundle with the wasm-bindgen CLI 0.2.127, installs Playwright 1.60.0 and its headless browser into the job's temp directory, and requires a GPU member certified bit-exact 4 of 4. Co-Authored-By: Claude Opus 5.5 <[email protected]>
66 lines
1.9 KiB
Text
66 lines
1.9 KiB
Text
# Test corpora: too large to commit. Never commit.
|
|
# Fetch scripts belong in-repo; the data does not.
|
|
/corpus/
|
|
|
|
# Rust build output (any crate)
|
|
target/
|
|
**/target/
|
|
/wai-rs/target/
|
|
/wai-web/target/
|
|
/byte-exact-conformance/target/
|
|
/wai-relay/target/
|
|
/wai-spz-gen/target/
|
|
|
|
# Vendored reference software — cloned out-of-band, not WAI source (~935 MB).
|
|
/jpeg-ai-ref/
|
|
|
|
# Large exported model / fixture assets — sink-supplied, archived out-of-band (~360 MB).
|
|
/jpegai-vm-assets/
|
|
|
|
# Neural model bundles for the browser demo. These are large (~120 MB
|
|
# per model) and regenerable: run `python3 tools/wai_encodec_export_onnx.py`
|
|
# against a local EnCodec checkpoint to produce them. See
|
|
# wai-web/demo/models/README.md.
|
|
/wai-web/demo/models/**/*.onnx
|
|
/wai-web/demo/models/**/*.bin
|
|
|
|
# Python
|
|
__pycache__/
|
|
*.pyc
|
|
*.pyo
|
|
.venv/
|
|
venv/
|
|
|
|
# Local codec output / scratch artifacts (regenerable)
|
|
*_out.png
|
|
/wai/i_out.png
|
|
/wai-neural/*.png
|
|
/wai-neural/err.log
|
|
|
|
# OS noise
|
|
.DS_Store
|
|
|
|
# Raw design transcripts — kept on disk for reference, not part of the
|
|
# repo's public surface (the coherent narrative is README.md + SPEC.md).
|
|
/notes-1.md
|
|
/notes-2.md
|
|
|
|
# Keep: SPEC.md, README.md, LICENSE, wai/, wai-rs/ (src + tests/fixtures),
|
|
# wai-neural/ source, the small *.wai sample bundles.
|
|
wai-web/demo/scpkg/
|
|
# wasm-pack build outputs (rebuilt by wasm-pack / demo/verify_int_synth.sh).
|
|
wai-web/demo/pkg/
|
|
wai-web/demo/pkg-node/
|
|
# The WebGPU member's bundle (demo/quantum_webgpu.html; built with --features quantum_webgpu).
|
|
wai-web/demo/pkg-webgpu/
|
|
# int_hyper conditional-codec demo artifacts (PTQ model + bitstream, large —
|
|
# regenerated by tools/wai_sota_int_synth_export.py into demo/int_hyper/).
|
|
wai-web/demo/int_hyper/
|
|
|
|
# Reference codec tools built by tools/build_reference_decoders.sh (sink decoders, fetched out-of-band).
|
|
/.reference-tools/
|
|
# The reach build's pinned tools and its output (wai-web/reach/build.sh).
|
|
wai-web/reach/.tools/
|
|
wai-web/reach/dist/
|
|
wai-web/reach/ci-dist*/
|
|
wai-web/reach/ci-modern*/
|