Tasks

Add universal "Speaker" and "?" buttons for independent learning of entity meanings and pronunciations, including voiceover of text explanations with synchronous highlighting.

Implement the blog as a separate presentation of existing concepts via the type system, without introducing a new technical entity.

Eliminate duplication of VoiceScenario execution logic between synthesizeScenario and ScenarioVisualizer.