open-standards/aac/aac-rs/tools/pagesets/phrases/sources/themes.yaml
Transaction Science 7c29c52054 feat(aac pagesets): four phrase page sets, built from readable sources, in English and ten languages
Our own page sets for the reference app and any Open Board Format app:

- Adult conversation (41 boards): an always-row (Back, Yes, No, I don't
  know, Wait), a 0-10 scale, pain, comfort and feelings scales, repairs,
  word finding, six scripts as one-press-per-line sequences, cards that
  explain aphasia, ALS/MND, PPA, brain injury and Parkinson's in the
  person's own voice, care, positioning and breathing requests that
  claim nothing is sent, life-story and people templates for the
  person's photos, a page for banked messages, and a staged plan for PPA
  written for partners.
- Intent first in 12, 20 and 40 cells: start pages by purpose, predictable
  branches, operational commands in one place on every page, popups that
  close after a choice, and page numbers for a printed partner book.
- Themed phrases: nine 6x3 pages of starters, words and messages.
- First switches and messages: one-message pages, sequences, press for
  fun, two and four choices, and learn-to-scan pages.

tools/pagesets/phrases/build.py validates the YAML sources (layout,
links, symbol concepts, proprietary names, medical-claim wording) and
writes the packages, a catalogue and the licence into --out DIR,
reproducibly; --check fails on a non-reproducible build or stale reports.
Packages are generated by the site build, not committed.

Every text was drafted, back-translated by a reader who never saw the
English, and judged, in up to three rounds: 10,748 of 10,750 agreed
(es fr de pt it zh ja ar hi ru), recorded per text as "agreed by two model
readers; native review pending"; the two others stay in English, marked.

A new aac-core test runs the generator, then imports every package with
the app's importer and an independent OBF validator, and checks structure,
links, symbol references, that no language moves a cell, that each cell is
in one language and says so, and that translated cells import as the
person's own words with their chosen symbols.

The design notes propose (not implemented) a sequence extension, popups,
speak-only pages, links that say words and one-target scanning, with SPEC
text, and how the chooser should offer each set.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-05 12:18:45 -04:00

191 lines
11 KiB
YAML

# Themed phrase grids: one 6 x 3 grid per theme, mixing sentence starters
# (added to the message without speaking, then finished with a word),
# single words, and whole messages (spoken at once). See
# tools/pagesets/DESIGN-themes.md.
#
# Layout of every theme page (columns 0-5, rows 0-2):
# (0,0) "All themes" -- back to the theme index, always here
# row 0 four sentence starters, then the first word
# row 1 the other words that finish the starters, then messages
# row 2 six whole messages
# Starters are darker, words lighter, messages white, in the theme's colour,
# so the three kinds can be told apart at a glance.
set:
name: Themed phrases
description: >-
One page of 18 for each part of the day -- chat, home, school, work,
meals, going out, health, feelings, free time -- each with sentence
starters, the words to finish them, and whole messages.
version: 2026-10-05
license:
type: CC-BY-SA-4.0
copyright_notice_url: https://creativecommons.org/licenses/by-sa/4.0/
author_name: AuraSense Tech Corporation and the open-standards AAC contributors
source_url: https://aac.aurasense.ai/
symbols: [mulberry, openmoji]
root: index
grid: [3, 6]
palette:
nav: "#CFD8DC"
quick: "#FFF9C4"
chat-s: "#AED581"
chat-w: "#DCEDC8"
home-s: "#90CAF9"
home-w: "#E3F2FD"
school-s: "#FFB74D"
school-w: "#FFF3E0"
work-s: "#B0BEC5"
work-w: "#ECEFF1"
meals-s: "#FF8A65"
meals-w: "#FBE9E7"
out-s: "#4DD0E1"
out-w: "#E0F7FA"
health-s: "#E57373"
health-w: "#FFEBEE"
feel-s: "#F06292"
feel-w: "#FCE4EC"
play-s: "#BA68C8"
play-w: "#F3E5F5"
msg: "#FFFFFF"
cells:
themes: {label: "All themes", go: index, symbol: "nav:back", color: nav}
boards:
index:
name: Themes
description: Choose a theme. Each theme page has sentence starters, words to finish them, and whole messages.
rows:
- [{label: "Hello and chat", go: chat, symbol: "hi", color: chat-s},
{label: "At home", go: home, symbol: "house", color: home-s},
{label: "At school", go: school, symbol: "school", color: school-s},
{label: "At work", go: work, symbol: "work", color: work-s},
{label: "Meals", go: meals, symbol: "food", color: meals-s},
{label: "Going out", go: out, symbol: "outside", color: out-s}]
- [{label: "Health", go: health, symbol: "medical", color: health-s},
{label: "Feelings", go: feelings, symbol: "happy", color: feel-s},
{label: "Free time", go: play, symbol: "game", color: play-s},
{say: "Yes", symbol: "yes", color: quick}, {say: "No", symbol: "no", color: quick},
{say: "Please.", color: quick}]
- [{say: "Thank you.", color: quick}, {say: "Help me, please.", symbol: "help", color: quick},
{say: "Wait, please.", symbol: "wait", color: quick}, {say: "I don't know", symbol: "i don't know", color: quick},
{say: "Stop.", symbol: "stop", color: quick}, {say: "Hello.", symbol: "hi", color: quick}]
chat:
name: Hello and chat
rows:
- [$themes, {add: "How was your", color: chat-s}, {add: "Tell me about", color: chat-s},
{add: "Did you see", color: chat-s}, {add: "I really like", color: chat-s},
{say: "day", symbol: "day", color: chat-w}]
- [{say: "weekend", color: chat-w}, {say: "the game", symbol: "game", color: chat-w},
{say: "the news", color: chat-w}, {say: "your family", color: chat-w},
{say: "Hi! How are you?", symbol: "hi", color: msg}, {say: "I'm good, thanks. And you?", color: msg}]
- [{say: "Nice to see you!", color: msg}, {say: "What's new?", color: msg}, {say: "That's great!", color: msg},
{say: "Oh no!", color: msg}, {say: "Me too!", color: msg}, {say: "See you soon!", color: msg}]
home:
name: At home
rows:
- [$themes, {add: "Can you", color: home-s}, {add: "I want to", symbol: "want", color: home-s},
{add: "Where is", symbol: "where", color: home-s}, {add: "Let's", color: home-s},
{say: "watch TV", symbol: "tv", color: home-w}]
- [{say: "go to bed", symbol: "bed", color: home-w}, {say: "take a shower", symbol: "shower", color: home-w},
{say: "help me", symbol: "help", color: home-w}, {say: "my phone", symbol: "phone", color: home-w},
{say: "Good morning!", symbol: "morning", color: msg}, {say: "Good night!", symbol: "night", color: msg}]
- [{say: "I'm home!", symbol: "home", color: msg}, {say: "What's for dinner?", symbol: "dinner", color: msg},
{say: "It's too cold in here.", symbol: "cold", color: msg}, {say: "It's too hot in here.", symbol: "hot", color: msg},
{say: "Can you turn the light on?", color: msg}, {say: "Can you help me with this?", symbol: "help", color: msg}]
school:
name: At school
rows:
- [$themes, {add: "Can I have", color: school-s}, {add: "I need", color: school-s},
{add: "Where is", symbol: "where", color: school-s}, {add: "I finished", symbol: "finish", color: school-s},
{say: "my book", symbol: "book", color: school-w}]
- [{say: "a pencil", symbol: "pencil", color: school-w}, {say: "the bathroom", symbol: "bathroom", color: school-w},
{say: "a break", color: school-w}, {say: "my work", symbol: "work", color: school-w},
{say: "Good morning, everyone!", symbol: "morning", color: msg}, {say: "I know the answer!", color: msg}]
- [{say: "I don't understand.", color: msg}, {say: "Can you show me again?", symbol: "show", color: msg},
{say: "This is fun!", symbol: "funny", color: msg}, {say: "This is hard.", symbol: "hard", color: msg},
{say: "What do we do next?", color: msg}, {say: "I'm done!", symbol: "all done", color: msg}]
work:
name: At work
rows:
- [$themes, {add: "Can we have", color: work-s}, {add: "I need", color: work-s},
{add: "I'm working on", symbol: "work", color: work-s}, {add: "When is", symbol: "when", color: work-s},
{say: "the meeting", color: work-w}]
- [{say: "a break", color: work-w}, {say: "lunch", symbol: "lunch", color: work-w},
{say: "more time", symbol: "time", color: work-w}, {say: "the report", color: work-w},
{say: "Good morning!", symbol: "morning", color: msg}, {say: "Can we talk later?", color: msg}]
- [{say: "I'll get back to you.", color: msg}, {say: "Please send me an email.", symbol: "computer", color: msg},
{say: "I agree.", color: msg}, {say: "I have an idea.", color: msg},
{say: "Let me think about it.", symbol: "think", color: msg}, {say: "See you tomorrow!", symbol: "tomorrow", color: msg}]
meals:
name: Meals
rows:
- [$themes, {add: "Can I have", color: meals-s}, {add: "I'd like", color: meals-s},
{add: "I don't like", color: meals-s}, {add: "Please pass", color: meals-s},
{say: "water", symbol: "water", color: meals-w}]
- [{say: "bread", symbol: "bread", color: meals-w}, {say: "more", symbol: "more", color: meals-w},
{say: "the salt", color: meals-w}, {say: "a napkin", color: meals-w},
{say: "It's delicious!", symbol: "delicious", color: msg}, {say: "I'm hungry.", symbol: "hungry", color: msg}]
- [{say: "I'm full.", symbol: "full", color: msg}, {say: "I'm thirsty.", symbol: "thirsty", color: msg},
{say: "Not too much, please.", color: msg}, {say: "Can you cut this for me?", symbol: "cut", color: msg},
{say: "I'm finished, thank you.", symbol: "all done", color: msg}, {say: "What's for dessert?", color: msg}]
out:
name: Going out
rows:
- [$themes, {add: "Let's go to", symbol: "go", color: out-s}, {add: "Can we go to", color: out-s},
{add: "Where is", symbol: "where", color: out-s}, {add: "I'm looking for", color: out-s},
{say: "the park", symbol: "park", color: out-w}]
- [{say: "the store", symbol: "store", color: out-w}, {say: "a café", color: out-w},
{say: "the car", symbol: "car", color: out-w}, {say: "the bathroom", symbol: "bathroom", color: out-w},
{say: "Let's go!", symbol: "go", color: msg}, {say: "Wait for me, please.", symbol: "wait", color: msg}]
- [{say: "How much is it?", symbol: "money", color: msg}, {say: "Can I pay by card?", color: msg},
{say: "I'm tired. Let's go home.", symbol: "tired", color: msg}, {say: "Can we go slower?", symbol: "slow", color: msg},
{say: "Excuse me.", color: msg}, {say: "Thank you for your help.", color: msg}]
health:
name: Health
description: Spoken aloud only. Nothing is sent to anyone.
rows:
- [$themes, {add: "My", color: health-s}, {add: "It hurts when I", symbol: "hurting", color: health-s},
{add: "I need", color: health-s}, {add: "I can't", color: health-s},
{say: "head", symbol: "head", color: health-w}]
- [{say: "stomach", symbol: "stomach", color: health-w}, {say: "hurts", symbol: "hurting", color: health-w},
{say: "move", symbol: "move", color: health-w}, {say: "my medicine", symbol: "medicine", color: health-w},
{say: "I don't feel well.", symbol: "sick", color: msg}, {say: "I feel better.", color: msg}]
- [{say: "I'm in pain.", symbol: "pain", color: msg}, {say: "I feel dizzy.", symbol: "dizzy", color: msg},
{say: "I feel sick.", symbol: "nauseous", color: msg}, {say: "Please call the doctor.", symbol: "doctor", color: msg},
{say: "I need to lie down.", symbol: "bed", color: msg}, {say: "I need help now!", symbol: "emergency", color: msg}]
feelings:
name: Feelings
rows:
- [$themes, {add: "I feel", color: feel-s}, {add: "I'm feeling", color: feel-s},
{add: "That makes me", color: feel-s}, {say: "happy", symbol: "happy", color: feel-w},
{say: "sad", symbol: "sad", color: feel-w}]
- [{say: "angry", symbol: "angry", color: feel-w}, {say: "worried", symbol: "worried", color: feel-w},
{say: "tired", symbol: "tired", color: feel-w}, {say: "excited", symbol: "excited", color: feel-w},
{say: "I'm OK.", symbol: "ok", color: msg}, {say: "I need a hug.", symbol: "hug", color: msg}]
- [{say: "I need some time alone.", color: msg}, {say: "Please listen to me.", symbol: "listen", color: msg},
{say: "I'm proud of myself!", color: msg}, {say: "Thank you for helping.", symbol: "help", color: msg},
{say: "I love you.", symbol: "i love you", color: msg}, {say: "How do you feel?", color: msg}]
play:
name: Free time
rows:
- [$themes, {add: "Let's play", symbol: "play", color: play-s}, {add: "I want to watch", symbol: "watch", color: play-s},
{add: "Can we go", color: play-s}, {add: "I like", color: play-s},
{say: "a game", symbol: "game", color: play-w}]
- [{say: "cards", color: play-w}, {say: "music", symbol: "music", color: play-w},
{say: "a movie", symbol: "movie", color: play-w}, {say: "outside", symbol: "outside", color: play-w},
{say: "Your turn!", color: msg}, {say: "My turn!", color: msg}]
- [{say: "I win!", color: msg}, {say: "Good game!", symbol: "good", color: msg},
{say: "Again!", color: msg}, {say: "That was fun!", symbol: "funny", color: msg},
{say: "Let's do something else.", color: msg}, {say: "Turn it up, please.", symbol: "loud", color: msg}]