- geom.rs, RS1: the levels and the closed forms in i64, and the 32-bit quotient-remainder identity behind cfg(test, kani) and the i32-forms feature; - cover.rs, RS2-RS6: the row split, the cell split walked left to right with the columns left of the canvas folded into one contribution per row piece, the delta buffer over the fill's canvas-clipped box, the scan, the quantisers and the run's glyph-wise sum; a debug build asserts D_r <= 256 p <= 2^22 - 256 before accumulating; - paint.rs, RS7-RS9: p' = div255(p o), then div255(p' alpha) and source-over; the group pop div255(m o_g) then div255(G k); RGBA8S; - frame.rs: R(P, S, z, r, g), with a run's outlines placed and flattened once per glyph ID; render_request's size_unlisted, rate_unlisted and frame_range. Vectors: flatten (levels and vertices), fills, runs (a set drawn here from formulas), composite (with RGBA8S), motion, clock and slicing, each frame's SHA-256 and each (size, rate)'s clip digest in its expected file and in sha256.json. Co-Authored-By: Claude Opus 5.5 <[email protected]>
43 lines
1.3 KiB
TOML
43 lines
1.3 KiB
TOML
# The reference implementation of `wai.graphics.vector`
|
|
# (`extensions/graphics-vector.md`): the `WOS1` and `WVG1` formats with their
|
|
# refusal order (§2), the arithmetic of §3, and the conformance vectors of
|
|
# `../vector-conformance/`.
|
|
#
|
|
# `no_std` with `alloc`, and no dependencies, so that a model checker can include
|
|
# its sources by `#[path]` the way `wai-verify` includes the other integer sources.
|
|
# SHA-256 is `wai-ops`'s, included by `#[path]` (`src/sha256.rs`), so the tree has
|
|
# one.
|
|
[package]
|
|
name = "wai-vector"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
rust-version = "1.97"
|
|
license = "Apache-2.0"
|
|
publish = false
|
|
description = "WAI vector graphics wai.graphics.vector: WOS1 and WVG1, the refusal order, the integer raster and conformance vectors"
|
|
|
|
[lib]
|
|
name = "wai_vector"
|
|
path = "src/lib.rs"
|
|
|
|
# The vector tool. It reads and writes files, so it is `std`; the library it drives
|
|
# is not.
|
|
[[bin]]
|
|
name = "wai-vector"
|
|
path = "src/bin/wai-vector.rs"
|
|
required-features = ["std"]
|
|
|
|
[features]
|
|
std = []
|
|
# The 32-bit identities of RS1 (§3.5), for a fabric without `i64` and for the model
|
|
# checker; the unit tests build them too.
|
|
i32-forms = []
|
|
|
|
[lints.rust]
|
|
unexpected_cfgs = { level = "warn", check-cfg = ["cfg(kani)"] }
|
|
|
|
[dependencies]
|
|
# none
|
|
|
|
[profile.release]
|
|
debug = false
|