sayd-core 0.1.0

Engine for the sayd speech daemon: queue, chunking, text cleanup, config
Documentation
# sayd-core

The engine behind [sayd](https://crates.io/crates/sayd): utterance queue,
sentence chunking, "write for the ear" text cleanup, configuration, and the
state machine that drives them.

Deliberately depends on neither an inference stack nor an audio backend nor
D-Bus. Synthesis reaches it through the `Synthesizer` trait and audio through
`AudioSink`, which is what lets the whole engine be driven in a unit test with
no model, no audio device and no display.

- `engine` — commands in, immutable snapshots out; `tick()` does one unit of
  work and returns
- `handle` — runs the engine on its own thread
- `queue` — four submission policies with per-source defaults
- `chunk` — two-phase: split to a character target, then re-split whatever
  overruns the model's phoneme-token budget once phonemised
- `cleanup` — URLs, markdown, code fences, acronyms
- `config` — TOML under XDG paths, atomic writes

## Licence

MIT.