open-standards/aac/aac-rs/tools/speech
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science 9e97fc422b feat(aac-web): a symbol in every cell; OBF with licences and languages; 45-language spoken forms
Symbols (grid_cell.rs, symbol_settings.rs): every cell draws its concept's
symbol above the label (aac_core:🔣:lookup_for_cell), from the set the
person picks in Settings — Mulberry (default), OpenMoji, Blissymbolics or
off — with the label still the accessible name. "Symbols and licences" gives
each set's attribution and CC BY-SA 4.0 link, and says the symbols are free
and will never be charged for. The prerender draws the default set; a saved
choice is restored after hydration. Navigation arrows mirror on right-to-left
boards (Blissymbols never do: a mirrored Bliss character is another one);
Bliss lines stay visible on dark cells and in forced colours. Both service
workers precache every sprite the first page draws and LICENSES.md, and
serve anything under symbols/ before the app-shell rule.

The grid now fills its board area: it was sized by its content (cells about
30 px tall on desktop, and any content change moved every cell). Cells are
now about 120 px on desktop, and identical with symbols on, off or any set.

Right-to-left boards: board_area.rs passed a full locale ("ar-SA") to
language_by_code, so Arabic, Hebrew, Persian and Urdu boards never turned
right to left. Fixed, together with eye-gaze hit-testing (gaze_to_cell),
which now mirrors columns on those boards so gaze lands on the cell it looks at.

OBF (obf.rs, import_export.rs): export carries the person's locale, per-button
translations, licence objects (each symbol set's), images for each symbol
(inline SVG in the browser export, so the file is portable), and
ext_aurasense_locked / word_class / provenance / spoken; import round-trips
them. Other apps' pictures are not stored yet (a warning says so); re-importing
a board asks whether to replace it.

Spoken forms: speech_lexicon.json covers all 45 languages (empty where the
board glosses need none), checked against macOS voices with Whisper
(tools/speech/results.json); tools/speech/review.json lists gloss problems
for native speakers (Hebrew ה, Amharic ው and Zulu i glossed as "the";
Japanese nouns in kana; bound suffixes glossed as words).

tools/symbols/bbox: a small usvg tool reporting symbols' stroke bounding boxes.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 01:47:08 -04:00
..
.gitignore feat(aac-web): a symbol in every cell; OBF with licences and languages; 45-language spoken forms 2026-09-30 01:47:08 -04:00
check_pronunciation.py feat(aac-web): a symbol in every cell; OBF with licences and languages; 45-language spoken forms 2026-09-30 01:47:08 -04:00
results.json feat(aac-web): a symbol in every cell; OBF with licences and languages; 45-language spoken forms 2026-09-30 01:47:08 -04:00
review.json feat(aac-web): a symbol in every cell; OBF with licences and languages; 45-language spoken forms 2026-09-30 01:47:08 -04:00