- WSF1 (feature author): the stroke source format, its checks, the pinned Q15 table of 64 unit vectors and the integer expansion into a polygon-only WOS1. - The ASCII stroke set, U+0020-U+007E, drawn here as integer centre lines; bundled as builtin::STROKE_ASCII with its SHA-256, which Annex B states. - The test repertoire: Arabic, Hebrew and Devanagari glyphs and a U+1F600 face, drawn here, with the joining table and the small shaper the corpus generator uses. - graphics-vector.md section 4, Annex A (WSF1, the table as bytes, the expansion) and Annex B (the digest). - vector-conformance: sources/, the two sets, the text group, and stroke-glyph members of runs and motion; the README's provenance line names the in-house sets. Co-Authored-By: Claude Opus 5.5 <[email protected]>
49 lines
1.6 KiB
TOML
49 lines
1.6 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", "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
|