neon-sprawl/docs/decomposition/modules/E8_M1_PartyAndMatchAssembly.md

46 lines
1.4 KiB
Markdown

# E8.M1 — PartyAndMatchAssembly
## Summary
| Field | Value |
|--------|--------|
| **Module ID** | E8.M1 |
| **Epic** | [Epic 8 — Social / Guild](../epics/epic_08_social_guild.md) |
| **Stage target** | Pre-production |
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
## Purpose
Party creation, invites, ready-state, and party-scoped hooks for cooperative activities, anchored on player identity/selection from [E1.M3](E1_M3_InteractionAndTargetingLayer.md).
## Responsibilities
- Server-authoritative `PartyState`; `InviteEvent` lifecycle; optional `RolePreference` for matchmaking.
## Key contracts
| Contract | Role |
|----------|------|
| `PartyState` | Members, leader, ready flags. |
| `InviteEvent` | Invite, accept, decline, timeout. |
| `RolePreference` | Role or build hints for assembly. |
## Module dependencies
- **E1.M3** — InteractionAndTargetingLayer.
## Dependents (by design)
- **E5.M4** — GroupCombatScaling.
- **E8.M2** — GuildCorpProgressionState.
- **E7.M1** — [QuestStateMachine](E7_M1_QuestStateMachine.md) when `QuestDef` uses party credit or leader-only turn-in ([quest scope](quest_scope_and_party.md)).
## Related implementation slices
Epic 8 **Slice 1**`party_formed`, `party_disbanded`, invite failures.
## Source anchors
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 8.
- [Module dependency register](module_dependency_register.md)