open-standards/wai/.gitignore
Transaction Science 9094d6f73d wai-quantum WebGPU member in a browser: wai-web bundle, page, check, CI
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]>
2026-10-11 05:50:30 -04:00

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*/