Epic: UI Event Subscription System #298
Labels
No labels
Blocked
Duplicate
MoSCoW/Could Have
MoSCoW/Must Have
MoSCoW/Should Have
Points/1
Points/13
Points/2
Points/21
Points/3
Points/5
Points/8
Priority/Backlog
Priority/Critical
Priority/High
Priority/Low
Priority/Medium
State/Completed
State/In progress
State/In review
State/Paused
State/Unverified
State/Verified
State/Wont Do
Type/Bug
Type/Epic
Type/Feature
Type/Legendary
Type/Task
Type/Testing
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Reference: aethyr/Aethyr#298
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Background and Context
The Terminal UI Framework (#112) requires a robust event subscription system to connect domain-level game events to the UI rendering layer. Currently, there is no structured way for a player's UI to receive and react to game events (room changes, combat updates, chat messages, etc.). The UI Event Subscription System provides per-player event subscribers that attach to relevant domain objects via the Wisper pub/sub library, automatically manage subscription lifecycles as game state changes, and decouple event production from rendering via a thread-safe queue.
Expected Behavior
Each connected player gets a
UIEventSubscriberthat listens to Wisper events from relevant domain objects. Subscriptions are automatically managed — when a player moves rooms, the subscriber detaches from the old room/area and attaches to the new one. Events flow into a thread-safe render queue, allowing the game logic thread and render thread to operate independently.Acceptance Criteria
UIEventSubscriberattaches to relevant domain objects via Wisper.Child Issues
All child issues for this epic are tracked as individual issues with dependency links.
Definition of Done
This issue is complete when all child issues are merged to
masterand the UI Event Subscription System is operational.