open-standards/aac/aac-rs/tools/symbols/package.json
Transaction Science 8256782fed feat(aac-core): a licensed symbol library, keyed by concept
Three sets, all CC BY-SA 4.0 and verified at the source on 2026-09-29:
Mulberry 3.6.1 (default; "you must not charge for the symbols themselves"),
OpenMoji 17.0.0 (brand logos excluded) and Blissymbolics BCI-AV 2026-07-25.
No ARASAAC, Sclera or other NC/ND set.

tools/symbols/build.py rebuilds everything reproducibly from pinned,
SHA-256-checked sources: one self-contained sprite per set
(<set>.<sha256-12>.svg; no scripts, styles, classes or external refs),
crates/aac-core/src/symbols/index.json, and LICENSES.md. Concepts are every
default-board label plus the core vocabulary (502); each set's own index gives
candidates, and overrides.toml (about 175 entries, each with a reason) fixes
what the contact sheets showed was wrong — Mulberry's "I" is the letter,
its "pants" UK underpants, OpenMoji's "apple" the brand, Bliss's "fast" means
not eating. A concept stays unmapped rather than get a misleading picture.

aac_core::symbols gives lookup / lookup_for_cell (action-aware, so the Back
navigation cell does not get the body part) with a preferred set and a
fallback flag, set_info for attribution, and normalize_concept, kept in parity
with the builder by a 533-case fixture. crates/aac-web/tests/symbol_coverage.rs
checks every label of every default layout resolves (221/237) or is on a short
allowlist with reasons, and that each sprite holds every slug and nothing
unsafe.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-29 10:50:19 -04:00

9 lines
208 B
JSON

{
"name": "aac-symbols-build",
"private": true,
"description": "Pinned svgo for tools/symbols/build.py. Install with `npm ci`.",
"license": "Apache-2.0",
"dependencies": {
"svgo": "4.1.0"
}
}