Creates a new TextViewModel instance and registers event listeners.
The Redux store for state management
Service for managing text formatting and updates
Service for handling notification messages
Service for managing autoplay functionality
Audio service for playing warning tones
Disposes the view model and resets text state.
Toggles the text display feature on or off.
Updates the displayed text with formatted content. Each dispatch increments a revision counter in the Redux state, so the View always receives a new state — even when the text is identical. This allows the View to force a screen-reader re-announcement by re-mounting the alert element with a new React key, without relying on invisible Unicode characters.
The text or plot state to display
Displays a notification message to the user.
The message to display
Sets whether text should be announced by screen readers.
Whether to enable text announcements
Warns the user if text mode is off by announcing a message and playing a warning tone.
True if text mode is off and the warning was issued, false otherwise
ViewModel for managing text display, announcements, and notifications.