Epic: Core Domain Event Definitions #172

Open
opened 2026-03-15 23:08:43 +00:00 by freemo · 0 comments
Owner

Background and Context

The specification defines 30+ Wisper domain events that game systems should publish. Currently only 3 events exist. This Epic implements all specified events across room presence, communication, stat changes, calendar, session lifecycle, and object interactions. These events are the foundation that all subsequent legacy sunset Epics depend on.

Demonstrable Outcome

Game systems publish domain events for all major state changes. Subscribers can attach to any domain object and receive events. player.on(:entity_entered_room) { |e| ... } works.

Acceptance Criteria

  • Room-presence events published from movement
  • Communication events published from say/emote
  • Stat/lifecycle events published from damage/healing/death
  • Calendar events published from Calendar system
  • Session events published from Manager
  • Object interaction events published from get/drop/wear/wield/sit/stand
  • All events follow {publisher: source, ...payload} convention
  • All events use past-tense naming
## Background and Context The specification defines 30+ Wisper domain events that game systems should publish. Currently only 3 events exist. This Epic implements all specified events across room presence, communication, stat changes, calendar, session lifecycle, and object interactions. These events are the foundation that all subsequent legacy sunset Epics depend on. ## Demonstrable Outcome Game systems publish domain events for all major state changes. Subscribers can attach to any domain object and receive events. `player.on(:entity_entered_room) { |e| ... }` works. ## Acceptance Criteria - Room-presence events published from movement - Communication events published from say/emote - Stat/lifecycle events published from damage/healing/death - Calendar events published from Calendar system - Session events published from Manager - Object interaction events published from get/drop/wear/wield/sit/stand - All events follow `{publisher: source, ...payload}` convention - All events use past-tense naming
freemo added this to the v1.0.0 milestone 2026-03-15 23:19:43 +00:00
freemo self-assigned this 2026-03-16 01:26:57 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference: aethyr/Aethyr#172
No description provided.