Resolve content before playing it
The resolver tries explicit mapping INIs before pack files keyed by EditorID, hexadecimal FormID or normalised title. The mapping key combines FormID with plugin identity; plugin matching is case-insensitive. Language-specific folders precede flat fallbacks, and WAV is probed before XWM.
Use the existing game audio path
The plugin bootstraps through SKSE and plays through Skyrim audio-manager and sound-handle facilities. Book-read events initiate narration. Book-menu closing and loading-menu events provide implemented stop paths, keeping playback attached to observable game lifecycle.
Configuration is not automatically behaviour
The prototype creates and loads its INI and can automatically select a voice pack when exactly one exists. Some design settings are only parsed: the documented playback-delay setting is not yet applied. A configuration field therefore cannot be advertised as a working feature merely because it appears in the file.
The remaining work is visible
The messaging surface covers ready, playback-started/stopped, play, stop and reload operations. The MCM/Papyrus bridge, broader stop triggers, dedicated audio-worker design and release tooling remain incomplete.