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]>
9 lines
208 B
JSON
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"
|
|
}
|
|
}
|