whiskers-engine
Everything a shell needs behind one object: the cat (touch, set_phase, tick), the conversation (greet, hear, reflect, all blocking), the voice allowance, and the parents' view (digest, summarize, facts, forget). Engine::new builds the real adapters; with_parts takes fakes. It is Send + Sync so a shell can share it between its draw loop and a worker thread.