Epic: Event Projection System #302
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#302
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) needs a translation layer between domain events (game logic) and render operations (UI display). Raw domain events like "entity entered room" or "health changed" must be transformed into concrete rendering instructions. The Event Projection System provides this translation layer through declarative mappings from domain events to RenderOps, a RenderOp data model, and a comprehensive set of projections covering all core game events.
Expected Behavior
Domain events flow through registered EventProjection subclasses that declaratively map each event type to one or more RenderOps. A RenderOp is a value object describing a specific rendering action (append text, update a bar, refresh the map, etc.). The ProjectionRegistry manages projection lookup by event type.
Acceptance Criteria
EventProjectionbase class supports declarative event-to-RenderOp mapping.RenderOpdata model defines 7 core operation types.ProjectionRegistryfor lookup.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 Event Projection System is operational.