open-standards/wai/wai-vector/wasm/Cargo.toml
Transaction Science 5189e5f50b wai-vector: the wasm exports and the three-engine browser leg (D7-8)
- wai/wai-vector/wasm: the sink's exports (wv_alloc, wv_free, wv_open,
  wv_close, wv_render, wv_out_ptr, wv_out_len, wv_sha256, wv_cost,
  wv_transcript, wv_projection), no_std with its own allocator, built for
  wasm32v1-none so the module is WebAssembly 1.0 only; check-mvp.mjs refuses
  any post-1.0 feature, and fails on the wasm32-unknown-unknown build.
- build-pkg.sh: the package a page serves.
- browser/: a harness that renders every listed frame of every vector in
  Chromium, WebKit and Firefox, hashes it in the page twice, re-hashes sampled
  frames in Node, recomputes the arithmetic vectors and authoring forms, and
  compares each a11y payload's transcript and projections with its text record.
  A missing engine fails the run.
- wai-vector.yml: the browser job, in a Playwright container pinned by digest,
  on the linux runner.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 02:44:44 -04:00

35 lines
1.1 KiB
TOML

# The sink of `wai-vector`, and the recomputation of its vectors, as a WebAssembly
# module for a browser's engine, with a C ABI and no bindings generator.
#
# Two builds come from it. With the default feature, for `wasm32-unknown-unknown`: the
# module `verify.mjs` recomputes every vector file with, under Node with no
# dependency. Without it, for `wasm32v1-none`: the package a site serves, the sink's
# exports alone, which `build-pkg.sh` builds and `check-mvp.mjs` holds to
# WebAssembly 1.0.
#
# `no_std` with `alloc`, and no dependency but `wai-vector`: it builds only for a
# wasm32 target.
[package]
name = "wai-vector-wasm"
version = "0.1.0"
edition = "2024"
rust-version = "1.97"
license = "Apache-2.0"
publish = false
[lib]
crate-type = ["cdylib"]
path = "src/lib.rs"
[features]
default = ["recompute"]
# The exports `wv_recompute` and `wv_form`: a vector's expected file and a payload's
# authoring form. A sink needs neither, and the package is built without them.
recompute = []
[dependencies]
# Neither build needs authoring code: a sink's build, with no stroker.
wai-vector = { path = "..", default-features = false }
[profile.release]
debug = false