wai/wai-int-module is one WebAssembly module with the interface of waism §5 and nothing else: no import, one memory with a declared maximum, and every allocation trapping where memory cannot grow (R13). It decodes the integer payloads (WIV1, WIH1, WIA1, WIS1), int_synth, int_mlicpp, opus.dred.int and avatar.face through wai-rs's integer decoders, whose networks run on wai-ops/1; networks and weights arrive as each capability's set. - record/: the scalar and SIMD128 builds (7,099 vector instructions), named by SHA-256 in manifest.json, each held at the integer level by the Rust checker and check-module.mjs. build.sh builds both with the machine's paths remapped and checks both with both checkers. A build on another host has other bytes (the compiler's crate hashes take in each path dependency's absolute path and the host) and gives every case the same outcome. - corpus.json (corpus.py): every committed vector and refusal fixture of those capabilities, 120 cases, from the committed corpora. - host/ (wasmtime 50.0.1 Cranelift and Winch, Wasmi 2.0.0 with floats off), run-node.mjs and browser/run-browser.mjs run every case as a sink does and print one run digest; every run, on Linux x86_64, Linux arm64 and macOS arm64, gives the same. - plant.py plants a float or a relaxed vector instruction in a module, for the checkers. - waism §5, The set: one file as its bytes, several as their file sequence. avatars §6 names generator.wfg and identity.wfi; avatars §7.8, opus-dred §4.8 and determinism-tiers §5 state the module as a fabric. Co-Authored-By: Claude Opus 5.5 <[email protected]>
38 lines
1.8 KiB
TOML
38 lines
1.8 KiB
TOML
# The first module of record of WAISM's integer level (`extensions/waism.md`, `waism/1-int`):
|
|
# the operator-set module. One WebAssembly module, the ABI of waism §5 and nothing else,
|
|
# that decodes every integer capability `wai-rs` decodes through the integer operator set
|
|
# (`wai-ops/1`): the integer payloads (`WIV1`, `WIH1`, `WIA1`, `WIS1`), the integer
|
|
# synthesis, the multi-reference image codec, DRED decoded exactly, and faces from
|
|
# keypoints. The networks and their weights are not in the module: each arrives as the
|
|
# capability's parameter set, data the sink holds to its digest, so one checked module
|
|
# serves every one of these capabilities.
|
|
#
|
|
# Built for `wasm32-unknown-unknown` by `build.sh`, twice: scalar, and with SIMD128 (the
|
|
# same source, which the compiler lowers to WebAssembly's integer vector instructions where
|
|
# it can). Both checkers of the profile (`../wai-module-check`) must hold each at the
|
|
# integer level, and `record/` keeps the two modules of record.
|
|
[package]
|
|
name = "wai-int-module"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
license = "Apache-2.0"
|
|
publish = false
|
|
|
|
[lib]
|
|
crate-type = ["cdylib"]
|
|
path = "src/lib.rs"
|
|
|
|
[dependencies]
|
|
# The integer decoders and nothing else of the crate: no codec library, no ONNX runtime,
|
|
# no filesystem. `video_int`, `audio_int` and `splat_int` bring `neural_int` (the operator
|
|
# set, the payload formats, `int_synth` and `int_mlicpp`); `dred_exact` and `avatar_face`
|
|
# the two capabilities that decode through `wai-ops` graphs of their own lowerings.
|
|
wai = { path = "../wai-rs", default-features = false, features = ["video_int", "audio_int", "splat_int", "dred_exact", "avatar_face"] }
|
|
sha2 = "0.10"
|
|
|
|
[profile.release]
|
|
debug = false
|
|
# One codegen unit and fat LTO: the linker keeps only what the six exports reach.
|
|
codegen-units = 1
|
|
lto = "fat"
|
|
panic = "abort"
|