open-standards/wai/wai-vector/Cargo.toml
Transaction Science 10ba6e9bcc wai-vector: the text layer and section 5, text and accessibility (D7-7)
graphics-vector.md section 5 (Draft): what a sink exposes to assistive
technology and to a text consumer, and how. Each text block's active set (the
effective windows of the items that draw it, merged), the projection at a
frame and the transcript as exact JSON, the text record and its digest, ruby,
purposes, writing modes and the cluster rule.

- wai-vector: src/text.rs (no_std, no dependency), the a11y and text commands,
  and vectors verify recomputing every text record.
- The corpus: a new a11y group, each payload with its text record
  (<name>.a11y.jsonl) and its digest in the expected file; canonical and
  refusal vectors for TEXT. No existing expected file changes.
- tests/text_layer.rs: each rule of section 5, with expected JSON written by
  hand from the text, each falsified once.

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

49 lines
1.7 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, the text layer of §5 (the projection and
# the transcript), 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", "author"]
[features]
default = ["author"]
std = []
# Authoring: the `WSF1` stroke source and its expansion into a `WOS1` (Annex A), the
# in-house sets' drawings, and the corpus generator that needs them. A sink has no
# stroker (§3.14), so a sink's build turns this off (`default-features = false`) and
# keeps the parsers, the raster and the recomputation of every vector.
author = []
# 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