For agents, on top of README.md, which they read first.
Notes for agents
- A transition is a rule. Do not add an
ifon what she did toChooseror to the shell: add or change a rule indomain.rs, then redraw (cargo run -p whiskers-chooser --example draw) and commit the picture. The test fails until you do. - Order is priority and the rules after an effect (
a character says hi,saved, close) follow the fact that effect teaches; an effect whose fact is already known has been done, which is what stops a loop. - No other character's voice, ever. A character's voice comes from
VoiceToUse(its own, or the base voice). A change of character shows the voice saved for the new character, never the one being previewed. - Never log what she hears. The trace and the log lines carry rule names, fact names, counts and ids; an
Utterance'sDebugprints lengths. Keep it so: the text holds the child's name. - The words are
whiskers_core::hi_lineandvoice_intro_line, fixed lines, so the speech cache may keep them. Do not build a line here from anything but the profile and a voice's name. - Depends on
retethrough the submodulethird-party/rustcrates(path dependency); never copy the engine.