docs: expand module register to full epic catalog (37 modules)
- Split dependency table by epic; every Depends On ID is a register row - Add InteractionRequest to E1.M1 contract column per epic 1 - Footnote E4.M3 backend world services; E4.M3 register deps E4.M1 only - Add 28 new module markdown files (E1.M3–E9.M4 gaps) - Link per-module docs index to all 37 files - Cross-link existing module docs; remove obsolete E1.M3 register note from E5.M1 - Update decomposition README modules blurb Made-with: Cursorpull/6/head
parent
93eb1fc936
commit
293b8a4c79
|
|
@ -9,7 +9,7 @@ This workspace contains detailed planning artifacts derived from the finalized m
|
|||
## Folder Layout
|
||||
|
||||
- `epics/` - One file per epic with implementation slices.
|
||||
- `modules/` - Cross-epic contracts, [dependency register](modules/module_dependency_register.md), one [module doc per registered module](modules/module_dependency_register.md#per-module-documentation), and interface notes.
|
||||
- `modules/` - Cross-epic contracts, [full module dependency register](modules/module_dependency_register.md) (all epic modules), [per-module docs](modules/module_dependency_register.md#per-module-documentation), and interface notes.
|
||||
- `milestones/` - Phase-gated implementation tracks and pass/fail checklists.
|
||||
|
||||
## Working Rules
|
||||
|
|
|
|||
|
|
@ -35,8 +35,8 @@ Contract readiness is tracked in the [module dependency register](module_depende
|
|||
|
||||
## Dependents (by design)
|
||||
|
||||
- **E1.M2** — Isometric camera follows the player; needs stable player anchor / position.
|
||||
- **E1.M3** — Interaction and targeting builds on movement and position.
|
||||
- **E1.M2** — [IsometricCameraController](E1_M2_IsometricCameraController.md): stable player anchor / position.
|
||||
- **E1.M3** — [InteractionAndTargetingLayer](E1_M3_InteractionAndTargetingLayer.md): interaction and targeting on movement/position.
|
||||
- **Downstream epics** — Gathering (E3.M1), zone transitions (E4.M1), and others consume position implicitly via higher layers.
|
||||
|
||||
## Related implementation slices
|
||||
|
|
|
|||
|
|
@ -0,0 +1,47 @@
|
|||
# E1.M3 — InteractionAndTargetingLayer
|
||||
|
||||
## Summary
|
||||
|
||||
| Field | Value |
|
||||
|--------|--------|
|
||||
| **Module ID** | E1.M3 |
|
||||
| **Epic** | [Epic 1 — Core Player Runtime](../epics/epic_01_core_player_runtime.md) |
|
||||
| **Stage target** | Prototype |
|
||||
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
|
||||
|
||||
## Purpose
|
||||
|
||||
World object selection, target lock, focus swap rules, and hover/highlight feedback. Bridges movement/position ([E1.M1](E1_M1_InputAndMovementRuntime.md)) into combat, gathering, and ability activation ([E1.M4](E1_M4_AbilityInputScaffold.md), [E5.M1](E5_M1_CombatRulesEngine.md)).
|
||||
|
||||
## Responsibilities
|
||||
|
||||
- Resolve `TargetState` for tab-target and interaction flows.
|
||||
- Describe interactables via `InteractableDescriptor` and emit `SelectionEvent` for UI and systems.
|
||||
|
||||
## Key contracts
|
||||
|
||||
| Contract | Role |
|
||||
|----------|------|
|
||||
| `TargetState` | Current locked target, validity, and swap rules. |
|
||||
| `InteractableDescriptor` | What can be selected or used in range. |
|
||||
| `SelectionEvent` | Selection changes for feedback and downstream consumers. |
|
||||
|
||||
## Module dependencies
|
||||
|
||||
- **E1.M1** — InputAndMovementRuntime: range and position source of truth.
|
||||
|
||||
## Dependents (by design)
|
||||
|
||||
- **E1.M4** — AbilityInputScaffold.
|
||||
- **E3.M1** — ResourceNodeAndGatherLoop.
|
||||
- **E5.M1** — CombatRulesEngine.
|
||||
- **E8.M1** — PartyAndMatchAssembly (player/party context hooks per epic).
|
||||
|
||||
## Related implementation slices
|
||||
|
||||
Epic 1 **Slice 3** — interaction, targeting, and ability input wiring with [E5.M1](E5_M1_CombatRulesEngine.md).
|
||||
|
||||
## Source anchors
|
||||
|
||||
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 1.
|
||||
- [Module dependency register](module_dependency_register.md)
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
# E1.M4 — AbilityInputScaffold
|
||||
|
||||
## Summary
|
||||
|
||||
| Field | Value |
|
||||
|--------|--------|
|
||||
| **Module ID** | E1.M4 |
|
||||
| **Epic** | [Epic 1 — Core Player Runtime](../epics/epic_01_core_player_runtime.md) |
|
||||
| **Stage target** | Prototype |
|
||||
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
|
||||
|
||||
## Purpose
|
||||
|
||||
Hotbar bindings, cooldown slot UI hooks, and the client/input path that issues `AbilityCastRequest` into [E5.M1 — CombatRulesEngine](E5_M1_CombatRulesEngine.md), using targeting from [E1.M3](E1_M3_InteractionAndTargetingLayer.md).
|
||||
|
||||
## Responsibilities
|
||||
|
||||
- Map hotbar slots to abilities and emit `AbilityCastRequest` with validation hints.
|
||||
- Surface `HotbarLoadout` and `CooldownSnapshot` for UI sync.
|
||||
|
||||
## Key contracts
|
||||
|
||||
| Contract | Role |
|
||||
|----------|------|
|
||||
| `AbilityCastRequest` | Intent sent to combat resolution. |
|
||||
| `HotbarLoadout` | Bound abilities per slot. |
|
||||
| `CooldownSnapshot` | Client/server-visible cooldown state for UI. |
|
||||
|
||||
## Module dependencies
|
||||
|
||||
- **E1.M3** — InteractionAndTargetingLayer: target lock and cast validity.
|
||||
- **E5.M1** — CombatRulesEngine: authoritative accept/deny of casts.
|
||||
|
||||
## Dependents (by design)
|
||||
|
||||
- Consumed by UX and telemetry; combat engine remains the authority.
|
||||
|
||||
## Related implementation slices
|
||||
|
||||
Epic 1 **Slice 3** — `ability_cast_requested`, `ability_cast_denied` with reason codes.
|
||||
|
||||
## Source anchors
|
||||
|
||||
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 1.
|
||||
- [Module dependency register](module_dependency_register.md)
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
# E2.M1 — SkillDefinitionRegistry
|
||||
|
||||
## Summary
|
||||
|
||||
| Field | Value |
|
||||
|--------|--------|
|
||||
| **Module ID** | E2.M1 |
|
||||
| **Epic** | [Epic 2 — Classless Progression](../epics/epic_02_classless_progression.md) |
|
||||
| **Stage target** | Prototype |
|
||||
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
|
||||
|
||||
## Purpose
|
||||
|
||||
Central catalog for skill metadata, category tags, and unlock prerequisites. All prototype activities reference skills by stable IDs validated against this registry.
|
||||
|
||||
## Responsibilities
|
||||
|
||||
- Load and validate `SkillDef` from data; expose `SkillCategory` and `UnlockRequirement` for gating.
|
||||
|
||||
## Key contracts
|
||||
|
||||
| Contract | Role |
|
||||
|----------|------|
|
||||
| `SkillDef` | Per-skill metadata and references. |
|
||||
| `SkillCategory` | Grouping for UX and balance. |
|
||||
| `UnlockRequirement` | Prerequisites before XP or use counts apply. |
|
||||
|
||||
## Module dependencies
|
||||
|
||||
- **None**
|
||||
|
||||
## Dependents (by design)
|
||||
|
||||
- **E2.M2** — XpAwardAndLevelEngine (primary).
|
||||
|
||||
## Related implementation slices
|
||||
|
||||
Epic 2 **Slice 1** — skill registry and prototype skills; invalid references fail at load or in CI.
|
||||
|
||||
## Source anchors
|
||||
|
||||
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 2.
|
||||
- [Module dependency register](module_dependency_register.md)
|
||||
|
|
@ -15,7 +15,7 @@ Central server-authoritative engine for classless skill progression: applying XP
|
|||
|
||||
## Responsibilities
|
||||
|
||||
- Apply `XpGrantEvent` (or equivalent) per skill with validated skill references from E2.M1.
|
||||
- Apply `XpGrantEvent` (or equivalent) per skill with validated skill references from [E2.M1](E2_M1_SkillDefinitionRegistry.md).
|
||||
- Resolve experience against `LevelCurve` / threshold tables.
|
||||
- Emit `LevelUpEvent` when thresholds are crossed.
|
||||
- Support data-driven curves and reload policy agreed for prototype.
|
||||
|
|
@ -30,7 +30,7 @@ Central server-authoritative engine for classless skill progression: applying XP
|
|||
|
||||
## Module dependencies
|
||||
|
||||
- **E2.M1** — SkillDefinitionRegistry: `SkillDef`, categories, and validation of skill IDs.
|
||||
- **E2.M1** — [SkillDefinitionRegistry](E2_M1_SkillDefinitionRegistry.md): `SkillDef`, categories, and validation of skill IDs.
|
||||
|
||||
## Dependents (by design)
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,43 @@
|
|||
# E2.M3 — MasteryAndPerkUnlocks
|
||||
|
||||
## Summary
|
||||
|
||||
| Field | Value |
|
||||
|--------|--------|
|
||||
| **Module ID** | E2.M3 |
|
||||
| **Epic** | [Epic 2 — Classless Progression](../epics/epic_02_classless_progression.md) |
|
||||
| **Stage target** | Pre-production |
|
||||
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
|
||||
|
||||
## Purpose
|
||||
|
||||
Mastery tracks and perk unlock state so classless builds have expressive identity beyond raw level curves.
|
||||
|
||||
## Responsibilities
|
||||
|
||||
- Progress `MasteryTrack` data; emit `PerkUnlockEvent` and persist `PerkState`.
|
||||
|
||||
## Key contracts
|
||||
|
||||
| Contract | Role |
|
||||
|----------|------|
|
||||
| `MasteryTrack` | Branch progress per design. |
|
||||
| `PerkUnlockEvent` | Unlocks for UI and combat/craft hooks. |
|
||||
| `PerkState` | Current unlocked perks per character. |
|
||||
|
||||
## Module dependencies
|
||||
|
||||
- **E2.M2** — XpAwardAndLevelEngine.
|
||||
|
||||
## Dependents (by design)
|
||||
|
||||
- Gameplay systems that gate abilities or recipes on perks (integration per content).
|
||||
|
||||
## Related implementation slices
|
||||
|
||||
Epic 2 **Slice 4** — at least one mastery path unlocks a perk without blocking other skills.
|
||||
|
||||
## Source anchors
|
||||
|
||||
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 2.
|
||||
- [Module dependency register](module_dependency_register.md)
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
# E2.M4 — ProgressionPacingControls
|
||||
|
||||
## Summary
|
||||
|
||||
| Field | Value |
|
||||
|--------|--------|
|
||||
| **Module ID** | E2.M4 |
|
||||
| **Epic** | [Epic 2 — Classless Progression](../epics/epic_02_classless_progression.md) |
|
||||
| **Stage target** | Pre-production |
|
||||
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
|
||||
|
||||
## Purpose
|
||||
|
||||
Tuning knobs for progression velocity and catch-up policy, informed by KPIs from [E9.M2](E9_M2_KpiDashboardsAndAlerting.md).
|
||||
|
||||
## Responsibilities
|
||||
|
||||
- Apply `XpModifierProfile`, `CatchUpRule`, and `PacingPolicy` without breaking skill-ID integrity from [E2.M1](E2_M1_SkillDefinitionRegistry.md) / [E2.M2](E2_M2_XpAwardAndLevelEngine.md).
|
||||
|
||||
## Key contracts
|
||||
|
||||
| Contract | Role |
|
||||
|----------|------|
|
||||
| `XpModifierProfile` | Multipliers or bands per cohort. |
|
||||
| `CatchUpRule` | Acceleration for lapsed or new players. |
|
||||
| `PacingPolicy` | Named policy bundles for ops toggles. |
|
||||
|
||||
## Module dependencies
|
||||
|
||||
- **E2.M2** — XpAwardAndLevelEngine.
|
||||
- **E9.M2** — KpiDashboardsAndAlerting.
|
||||
|
||||
## Dependents (by design)
|
||||
|
||||
- **E9.M3** — LiveBalanceControlPlane (remote tuning).
|
||||
|
||||
## Related implementation slices
|
||||
|
||||
Epic 2 **Slice 4** — pacing policy toggles for test cohorts where possible without full redeploy.
|
||||
|
||||
## Source anchors
|
||||
|
||||
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 2.
|
||||
- [Module dependency register](module_dependency_register.md)
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
# E3.M1 — ResourceNodeAndGatherLoop
|
||||
|
||||
## Summary
|
||||
|
||||
| Field | Value |
|
||||
|--------|--------|
|
||||
| **Module ID** | E3.M1 |
|
||||
| **Epic** | [Epic 3 — Crafting Economy](../epics/epic_03_crafting_economy.md) |
|
||||
| **Stage target** | Prototype |
|
||||
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
|
||||
|
||||
## Purpose
|
||||
|
||||
World resource nodes, gather interactions, and yield outputs feeding inventory ([E3.M3](E3_M3_ItemizationAndInventorySchema.md)) and XP ([E2.M2](E2_M2_XpAwardAndLevelEngine.md)).
|
||||
|
||||
## Responsibilities
|
||||
|
||||
- Spawn/manage nodes per `ResourceNodeDef`; resolve `GatherResult` via `ResourceYieldTable`; integrate interaction range via [E1.M3](E1_M3_InteractionAndTargetingLayer.md).
|
||||
|
||||
## Key contracts
|
||||
|
||||
| Contract | Role |
|
||||
|----------|------|
|
||||
| `ResourceNodeDef` | Node type, capacity, regen. |
|
||||
| `GatherResult` | Items and depletion state. |
|
||||
| `ResourceYieldTable` | Probabilities or fixed yields. |
|
||||
|
||||
## Module dependencies
|
||||
|
||||
- **E1.M3** — InteractionAndTargetingLayer.
|
||||
- **E2.M2** — XpAwardAndLevelEngine.
|
||||
|
||||
## Dependents (by design)
|
||||
|
||||
- **E3.M2** — RefinementAndRecipeExecution (inputs).
|
||||
- **E4.M2** — SpawnEcologyController.
|
||||
|
||||
## Related implementation slices
|
||||
|
||||
Epic 3 **Slice 2** — 4–6 node types; `resource_gathered`, `gather_node_depleted`.
|
||||
|
||||
## Source anchors
|
||||
|
||||
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 3.
|
||||
- [Module dependency register](module_dependency_register.md)
|
||||
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
## Purpose
|
||||
|
||||
Implements the processing and crafting pipeline: raw-to-refined flows and recipe execution with server-authoritative inventory mutations. Bridges gathered materials (E3.M1) and item definitions (E3.M3) into usable outputs for combat, quests, and economy loops.
|
||||
Implements the processing and crafting pipeline: raw-to-refined flows and recipe execution with server-authoritative inventory mutations. Bridges gathered materials ([E3.M1](E3_M1_ResourceNodeAndGatherLoop.md)) and item definitions ([E3.M3](E3_M3_ItemizationAndInventorySchema.md)) into usable outputs for combat, quests, and economy loops.
|
||||
|
||||
## Responsibilities
|
||||
|
||||
|
|
@ -29,13 +29,13 @@ Implements the processing and crafting pipeline: raw-to-refined flows and recipe
|
|||
|
||||
## Module dependencies
|
||||
|
||||
- **E3.M1** — ResourceNodeAndGatherLoop: refined materials flow from gather outputs into crafting inputs.
|
||||
- **E3.M3** — ItemizationAndInventorySchema: `ItemDef`, `ItemInstance`, inventory slots for costs and outputs.
|
||||
- **E3.M1** — [ResourceNodeAndGatherLoop](E3_M1_ResourceNodeAndGatherLoop.md): refined materials from gather outputs into crafting inputs.
|
||||
- **E3.M3** — [ItemizationAndInventorySchema](E3_M3_ItemizationAndInventorySchema.md): `ItemDef`, `ItemInstance`, inventory slots for costs and outputs.
|
||||
|
||||
## Dependents (by design)
|
||||
|
||||
- **E7.M1** — QuestStateMachine: quest steps may require crafted items or craft completion.
|
||||
- **E6.M4** — RewardParityEnforcer: maps PvP rewards to PvE/crafting equivalents involving craft outputs.
|
||||
- **E7.M1** — [QuestStateMachine](E7_M1_QuestStateMachine.md): quest steps may require crafted items or craft completion.
|
||||
- **E6.M4** — [RewardParityEnforcer](E6_M4_RewardParityEnforcer.md): PvP ↔ PvE/crafting equivalents involving craft outputs.
|
||||
- **Epic 2 integration** — Callers award crafting XP via [E2.M2](E2_M2_XpAwardAndLevelEngine.md) at activity sites.
|
||||
|
||||
## Related implementation slices
|
||||
|
|
|
|||
|
|
@ -0,0 +1,43 @@
|
|||
# E3.M3 — ItemizationAndInventorySchema
|
||||
|
||||
## Summary
|
||||
|
||||
| Field | Value |
|
||||
|--------|--------|
|
||||
| **Module ID** | E3.M3 |
|
||||
| **Epic** | [Epic 3 — Crafting Economy](../epics/epic_03_crafting_economy.md) |
|
||||
| **Stage target** | Prototype |
|
||||
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
|
||||
|
||||
## Purpose
|
||||
|
||||
Item definitions, rarity/quality, stackability, and equipment metadata plus `InventorySlot` representation. Foundation for craft outputs, quest rewards, combat loot, and trade.
|
||||
|
||||
## Responsibilities
|
||||
|
||||
- Version `ItemDef` / `ItemInstance` schema; enforce stack and slot rules server-side.
|
||||
|
||||
## Key contracts
|
||||
|
||||
| Contract | Role |
|
||||
|----------|------|
|
||||
| `ItemDef` | Static template data. |
|
||||
| `ItemInstance` | Per-item state (stack, durability hook, binds). |
|
||||
| `InventorySlot` | Container model for players and exchanges. |
|
||||
|
||||
## Module dependencies
|
||||
|
||||
- **None**
|
||||
|
||||
## Dependents (by design)
|
||||
|
||||
- **E3.M2**, **E3.M4**, **E5.M3**, **E7.M2**, **E8.M3**, and any system moving items.
|
||||
|
||||
## Related implementation slices
|
||||
|
||||
Epic 3 **Slice 1** — MVP inventory; `item_created`, transfer failures.
|
||||
|
||||
## Source anchors
|
||||
|
||||
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 3.
|
||||
- [Module dependency register](module_dependency_register.md)
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
# E3.M4 — SinkAndDurabilityLifecycle
|
||||
|
||||
## Summary
|
||||
|
||||
| Field | Value |
|
||||
|--------|--------|
|
||||
| **Module ID** | E3.M4 |
|
||||
| **Epic** | [Epic 3 — Crafting Economy](../epics/epic_03_crafting_economy.md) |
|
||||
| **Stage target** | Pre-production |
|
||||
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
|
||||
|
||||
## Purpose
|
||||
|
||||
Item decay, consumption, repair, and other sinks that sustain demand; may integrate with market/trade flows from [E8.M3](E8_M3_PlayerTradeAndMarketplace.md).
|
||||
|
||||
## Responsibilities
|
||||
|
||||
- Track `DurabilityState`; emit `ItemSinkEvent`; apply `RepairCostRule` server-authoritatively.
|
||||
|
||||
## Key contracts
|
||||
|
||||
| Contract | Role |
|
||||
|----------|------|
|
||||
| `DurabilityState` | Wear and breakage. |
|
||||
| `ItemSinkEvent` | Destruction/consumption audit trail. |
|
||||
| `RepairCostRule` | Currency and material costs. |
|
||||
|
||||
## Module dependencies
|
||||
|
||||
- **E3.M3** — ItemizationAndInventorySchema.
|
||||
- **E8.M3** — PlayerTradeAndMarketplace (epic dependency for settlement-related sinks).
|
||||
|
||||
## Dependents (by design)
|
||||
|
||||
- **E3.M5** — EconomyBalancePolicy.
|
||||
|
||||
## Related implementation slices
|
||||
|
||||
Epic 3 **Slice 4** — `item_sink`, `repair_performed`.
|
||||
|
||||
## Source anchors
|
||||
|
||||
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 3.
|
||||
- [Module dependency register](module_dependency_register.md)
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
# E3.M5 — EconomyBalancePolicy
|
||||
|
||||
## Summary
|
||||
|
||||
| Field | Value |
|
||||
|--------|--------|
|
||||
| **Module ID** | E3.M5 |
|
||||
| **Epic** | [Epic 3 — Crafting Economy](../epics/epic_03_crafting_economy.md) |
|
||||
| **Stage target** | Pre-production |
|
||||
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
|
||||
|
||||
## Purpose
|
||||
|
||||
Faucet/sink parameter sets and guardrails for inflation/deflation; feeds alerts via [E9.M2](E9_M2_KpiDashboardsAndAlerting.md).
|
||||
|
||||
## Responsibilities
|
||||
|
||||
- Encode `EconomyPolicy`, `PriceBandRule`, `FaucetSinkRatio` thresholds; integrate with [E3.M4](E3_M4_SinkAndDurabilityLifecycle.md) sinks.
|
||||
|
||||
## Key contracts
|
||||
|
||||
| Contract | Role |
|
||||
|----------|------|
|
||||
| `EconomyPolicy` | Named tunable bundles. |
|
||||
| `PriceBandRule` | Listing/fee bands for [E8.M3](E8_M3_PlayerTradeAndMarketplace.md). |
|
||||
| `FaucetSinkRatio` | KPI targets and breach signals. |
|
||||
|
||||
## Module dependencies
|
||||
|
||||
- **E3.M4** — SinkAndDurabilityLifecycle.
|
||||
- **E9.M2** — KpiDashboardsAndAlerting.
|
||||
|
||||
## Dependents (by design)
|
||||
|
||||
- **E8.M3** — marketplace fees and validation.
|
||||
- **E9.M3** — LiveBalanceControlPlane.
|
||||
|
||||
## Related implementation slices
|
||||
|
||||
Epic 3 **Slice 4** — policy alerts on ratio breaches.
|
||||
|
||||
## Source anchors
|
||||
|
||||
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 3.
|
||||
- [Module dependency register](module_dependency_register.md)
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
# E4.M1 — ZoneGraphAndTravelRules
|
||||
|
||||
## Summary
|
||||
|
||||
| Field | Value |
|
||||
|--------|--------|
|
||||
| **Module ID** | E4.M1 |
|
||||
| **Epic** | [Epic 4 — World Topology](../epics/epic_04_world_topology.md) |
|
||||
| **Stage target** | Prototype |
|
||||
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
|
||||
|
||||
## Purpose
|
||||
|
||||
Regional zone graph, transition links, and travel constraints. Server and client agree on current zone id; illegal shortcuts are blocked.
|
||||
|
||||
## Responsibilities
|
||||
|
||||
- Author `ZoneDef` and `ZoneEdge`; evaluate `TravelRule` on transitions.
|
||||
|
||||
## Key contracts
|
||||
|
||||
| Contract | Role |
|
||||
|----------|------|
|
||||
| `ZoneDef` | Identity, bounds or graph membership. |
|
||||
| `ZoneEdge` | Valid transitions. |
|
||||
| `TravelRule` | Gating (level, quest, faction). |
|
||||
|
||||
## Module dependencies
|
||||
|
||||
- **None**
|
||||
|
||||
## Dependents (by design)
|
||||
|
||||
- **E4.M2**, **E4.M3**, **E4.M4** — SecurityTierZoneFlags and world layers.
|
||||
- **E7.M4** — ContractMissionGenerator.
|
||||
|
||||
## Related implementation slices
|
||||
|
||||
Epic 4 **Slice 1** — `zone_enter`, `zone_exit`, invalid transition attempts.
|
||||
|
||||
## Source anchors
|
||||
|
||||
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 4.
|
||||
- [Module dependency register](module_dependency_register.md)
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
# E4.M2 — SpawnEcologyController
|
||||
|
||||
## Summary
|
||||
|
||||
| Field | Value |
|
||||
|--------|--------|
|
||||
| **Module ID** | E4.M2 |
|
||||
| **Epic** | [Epic 4 — World Topology](../epics/epic_04_world_topology.md) |
|
||||
| **Stage target** | Pre-production |
|
||||
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
|
||||
|
||||
## Purpose
|
||||
|
||||
Resource and NPC spawn profiles per zone, respawn pacing, and depletion/recovery so densities stay within design bounds.
|
||||
|
||||
## Responsibilities
|
||||
|
||||
- Drive `SpawnProfile` / `RespawnRule`; maintain `ZoneEcologyState`; coordinate with [E3.M1](E3_M1_ResourceNodeAndGatherLoop.md) and [E5.M2](E5_M2_NpcAiAndBehaviorProfiles.md).
|
||||
|
||||
## Key contracts
|
||||
|
||||
| Contract | Role |
|
||||
|----------|------|
|
||||
| `SpawnProfile` | What spawns where and how often. |
|
||||
| `RespawnRule` | Timers and caps. |
|
||||
| `ZoneEcologyState` | Current density/depletion snapshot. |
|
||||
|
||||
## Module dependencies
|
||||
|
||||
- **E4.M1** — ZoneGraphAndTravelRules.
|
||||
- **E3.M1** — ResourceNodeAndGatherLoop.
|
||||
- **E5.M2** — NpcAiAndBehaviorProfiles.
|
||||
|
||||
## Dependents (by design)
|
||||
|
||||
- Content and live ops tuning; telemetry for spawn waves and recovery.
|
||||
|
||||
## Related implementation slices
|
||||
|
||||
Epic 4 **Slice 3** — `spawn_wave`, depletion/recovery markers.
|
||||
|
||||
## Source anchors
|
||||
|
||||
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 4.
|
||||
- [Module dependency register](module_dependency_register.md)
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
# E4.M3 — SeamlessHandoffAndRegionState
|
||||
|
||||
## Summary
|
||||
|
||||
| Field | Value |
|
||||
|--------|--------|
|
||||
| **Module ID** | E4.M3 |
|
||||
| **Epic** | [Epic 4 — World Topology](../epics/epic_04_world_topology.md) |
|
||||
| **Stage target** | Pre-production |
|
||||
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
|
||||
|
||||
## Purpose
|
||||
|
||||
Cross-region handoff behavior and region authority boundaries. Minimal spike: two regions with authority transfer and no duplicate entities.
|
||||
|
||||
**Epic note:** Depends on **backend world services** in addition to E4.M1; those integrations are out-of-repo contracts until defined.
|
||||
|
||||
## Responsibilities
|
||||
|
||||
- Orchestrate `RegionHandoffEvent`; model `RegionAuthority` and `TransferState` during handoff.
|
||||
|
||||
## Key contracts
|
||||
|
||||
| Contract | Role |
|
||||
|----------|------|
|
||||
| `RegionHandoffEvent` | Start/complete/fail lifecycle. |
|
||||
| `RegionAuthority` | Which service owns simulation for an entity. |
|
||||
| `TransferState` | Serializable handoff payload. |
|
||||
|
||||
## Module dependencies
|
||||
|
||||
- **E4.M1** — ZoneGraphAndTravelRules.
|
||||
|
||||
## Dependents (by design)
|
||||
|
||||
- World/shard services (external); client runtime for loading/streaming.
|
||||
|
||||
## Related implementation slices
|
||||
|
||||
Epic 4 **Slice 4** — `region_handoff_start`, `region_handoff_complete`, rollback path documented.
|
||||
|
||||
## Source anchors
|
||||
|
||||
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 4.
|
||||
- [Module dependency register](module_dependency_register.md)
|
||||
|
|
@ -15,7 +15,7 @@ Layer on top of the zone graph that tags each zone with security tier (e.g. high
|
|||
|
||||
## Responsibilities
|
||||
|
||||
- Assign and persist `SecurityTier` per zone (from data on E4.M1).
|
||||
- Assign and persist `SecurityTier` per zone (from data on [E4.M1](E4_M1_ZoneGraphAndTravelRules.md)).
|
||||
- Publish `ZonePolicyState` for server and client display alignment.
|
||||
- Emit or serve `ZoneEntryWarning` when players transition into higher-risk zones.
|
||||
|
||||
|
|
@ -29,12 +29,12 @@ Layer on top of the zone graph that tags each zone with security tier (e.g. high
|
|||
|
||||
## Module dependencies
|
||||
|
||||
- **E4.M1** — ZoneGraphAndTravelRules: `ZoneDef`, edges, and travel context for tier attachment.
|
||||
- **E4.M1** — [ZoneGraphAndTravelRules](E4_M1_ZoneGraphAndTravelRules.md): `ZoneDef`, edges, and travel context for tier attachment.
|
||||
|
||||
## Dependents (by design)
|
||||
|
||||
- **E6.M1** — PvPEligibilityAndFlagState: primary consumer for who may engage in PvP where.
|
||||
- **E6.M2** — ConsentAndRiskUxSignals: displays risk using tier and warning contracts.
|
||||
- **E6.M1** — [PvPEligibilityAndFlagState](E6_M1_PvPEligibilityAndFlagState.md): who may engage in PvP where.
|
||||
- **E6.M2** — [ConsentAndRiskUxSignals](E6_M2_ConsentAndRiskUxSignals.md): risk UI from tier and warnings.
|
||||
|
||||
## Related implementation slices
|
||||
|
||||
|
|
|
|||
|
|
@ -30,10 +30,8 @@ Core tab-target combat resolution: valid actions against a locked target, hit re
|
|||
|
||||
## Module dependencies
|
||||
|
||||
- **E1.M3** — InteractionAndTargetingLayer: `TargetState`, selection, and ability request path alignment with **E1.M4** (AbilityInputScaffold; see [Epic 1](../epics/epic_01_core_player_runtime.md)) for `AbilityCastRequest` wiring to this engine.
|
||||
- **E2.M2** — XpAwardAndLevelEngine: combat XP grants.
|
||||
|
||||
> **Register note:** The [module dependency register](module_dependency_register.md) lists `E1.M3` for this module; E1.M3 is defined in [Epic 1](../epics/epic_01_core_player_runtime.md) but is not a separate row in the register table.
|
||||
- **E1.M3** — [InteractionAndTargetingLayer](E1_M3_InteractionAndTargetingLayer.md): `TargetState`, selection, and alignment with **E1.M4** ([AbilityInputScaffold](E1_M4_AbilityInputScaffold.md)) for `AbilityCastRequest` wiring.
|
||||
- **E2.M2** — [XpAwardAndLevelEngine](E2_M2_XpAwardAndLevelEngine.md): combat XP grants.
|
||||
|
||||
## Dependents (by design)
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,44 @@
|
|||
# E5.M2 — NpcAiAndBehaviorProfiles
|
||||
|
||||
## Summary
|
||||
|
||||
| Field | Value |
|
||||
|--------|--------|
|
||||
| **Module ID** | E5.M2 |
|
||||
| **Epic** | [Epic 5 — PvE Combat](../epics/epic_05_pve_combat.md) |
|
||||
| **Stage target** | Prototype |
|
||||
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
|
||||
|
||||
## Purpose
|
||||
|
||||
Enemy archetype behavior loops, aggro logic, and telegraph scheduling on top of [E5.M1 — CombatRulesEngine](E5_M1_CombatRulesEngine.md).
|
||||
|
||||
## Responsibilities
|
||||
|
||||
- Run `NpcBehaviorDef`; emit `TelegraphEvent`; apply `AggroRule` / threat integration with combat state.
|
||||
|
||||
## Key contracts
|
||||
|
||||
| Contract | Role |
|
||||
|----------|------|
|
||||
| `NpcBehaviorDef` | Archetype scripts or state machines. |
|
||||
| `TelegraphEvent` | Telegraph timing for UI and dodge windows. |
|
||||
| `AggroRule` | Target selection and leash behavior. |
|
||||
|
||||
## Module dependencies
|
||||
|
||||
- **E5.M1** — CombatRulesEngine.
|
||||
|
||||
## Dependents (by design)
|
||||
|
||||
- **E4.M2** — SpawnEcologyController.
|
||||
- **E5.M3** — EncounterAndRewardTables.
|
||||
|
||||
## Related implementation slices
|
||||
|
||||
Epic 5 **Slice 2** — three archetypes; `telegraph_fired`, `npc_state_transition`.
|
||||
|
||||
## Source anchors
|
||||
|
||||
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 5.
|
||||
- [Module dependency register](module_dependency_register.md)
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
# E5.M3 — EncounterAndRewardTables
|
||||
|
||||
## Summary
|
||||
|
||||
| Field | Value |
|
||||
|--------|--------|
|
||||
| **Module ID** | E5.M3 |
|
||||
| **Epic** | [Epic 5 — PvE Combat](../epics/epic_05_pve_combat.md) |
|
||||
| **Stage target** | Prototype |
|
||||
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
|
||||
|
||||
## Purpose
|
||||
|
||||
Encounter templates, completion criteria, and reward drop routing into items ([E3.M3](E3_M3_ItemizationAndInventorySchema.md)) and quest credit via [E7.M2 — RewardAndUnlockRouter](E7_M2_RewardAndUnlockRouter.md).
|
||||
|
||||
## Responsibilities
|
||||
|
||||
- Instantiate `EncounterDef`; roll `RewardTable`; emit `EncounterCompleteEvent` for downstream routers and parity checks.
|
||||
|
||||
## Key contracts
|
||||
|
||||
| Contract | Role |
|
||||
|----------|------|
|
||||
| `EncounterDef` | Spawns, objectives, completion rules. |
|
||||
| `RewardTable` | Loot and currency references validated against item schema. |
|
||||
| `EncounterCompleteEvent` | Completion signal for quests and telemetry. |
|
||||
|
||||
## Module dependencies
|
||||
|
||||
- **E5.M1** — CombatRulesEngine.
|
||||
- **E3.M3** — ItemizationAndInventorySchema.
|
||||
- **E7.M2** — RewardAndUnlockRouter.
|
||||
|
||||
## Dependents (by design)
|
||||
|
||||
- **E5.M4** — GroupCombatScaling.
|
||||
- **E6.M4** — RewardParityEnforcer.
|
||||
- **E7.M4** — ContractMissionGenerator.
|
||||
|
||||
## Related implementation slices
|
||||
|
||||
Epic 5 **Slice 3** — `encounter_complete`, reward attribution once.
|
||||
|
||||
## Source anchors
|
||||
|
||||
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 5.
|
||||
- [Module dependency register](module_dependency_register.md)
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
# E5.M4 — GroupCombatScaling
|
||||
|
||||
## Summary
|
||||
|
||||
| Field | Value |
|
||||
|--------|--------|
|
||||
| **Module ID** | E5.M4 |
|
||||
| **Epic** | [Epic 5 — PvE Combat](../epics/epic_05_pve_combat.md) |
|
||||
| **Stage target** | Pre-production |
|
||||
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
|
||||
|
||||
## Purpose
|
||||
|
||||
Duo/squad scaling and anti-trivialization hooks using party context from [E8.M1 — PartyAndMatchAssembly](E8_M1_PartyAndMatchAssembly.md).
|
||||
|
||||
## Responsibilities
|
||||
|
||||
- Apply `ScalingProfile`, `PartySizeModifier`, and `CombatDifficultyBand` when resolving encounters ([E5.M3](E5_M3_EncounterAndRewardTables.md)).
|
||||
|
||||
## Key contracts
|
||||
|
||||
| Contract | Role |
|
||||
|----------|------|
|
||||
| `ScalingProfile` | HP/damage modifiers per party size. |
|
||||
| `PartySizeModifier` | Discrete steps or curves. |
|
||||
| `CombatDifficultyBand` | Named difficulty for tuning. |
|
||||
|
||||
## Module dependencies
|
||||
|
||||
- **E5.M3** — EncounterAndRewardTables.
|
||||
- **E8.M1** — PartyAndMatchAssembly.
|
||||
|
||||
## Dependents (by design)
|
||||
|
||||
- Encounter runtime and telemetry `party_combat_scaling_applied`.
|
||||
|
||||
## Related implementation slices
|
||||
|
||||
Epic 5 **Slice 4** — duo fairness metrics.
|
||||
|
||||
## Source anchors
|
||||
|
||||
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 5.
|
||||
- [Module dependency register](module_dependency_register.md)
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
# E6.M2 — ConsentAndRiskUxSignals
|
||||
|
||||
## Summary
|
||||
|
||||
| Field | Value |
|
||||
|--------|--------|
|
||||
| **Module ID** | E6.M2 |
|
||||
| **Epic** | [Epic 6 — PvP Security](../epics/epic_06_pvp_security.md) |
|
||||
| **Stage target** | Prototype |
|
||||
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
|
||||
|
||||
## Purpose
|
||||
|
||||
Entry warnings, in-zone risk UI, and clear PvP state communication using eligibility from [E6.M1](E6_M1_PvPEligibilityAndFlagState.md) and camera/readability context from [E1.M2](E1_M2_IsometricCameraController.md).
|
||||
|
||||
## Responsibilities
|
||||
|
||||
- Show `RiskPrompt` on low-sec entry; drive `ZoneRiskState` / `PvPIndicatorState` in HUD.
|
||||
|
||||
## Key contracts
|
||||
|
||||
| Contract | Role |
|
||||
|----------|------|
|
||||
| `RiskPrompt` | Consent dialog payload and outcomes. |
|
||||
| `ZoneRiskState` | Display model for current zone risk. |
|
||||
| `PvPIndicatorState` | Persistent indicator semantics. |
|
||||
|
||||
## Module dependencies
|
||||
|
||||
- **E6.M1** — PvPEligibilityAndFlagState.
|
||||
- **E1.M2** — IsometricCameraController.
|
||||
|
||||
## Dependents (by design)
|
||||
|
||||
- Client UX only; server remains authoritative via E6.M1 / E4.M4.
|
||||
|
||||
## Related implementation slices
|
||||
|
||||
Epic 6 **Slice 2** — `risk_prompt_shown`, accepted/declined.
|
||||
|
||||
## Source anchors
|
||||
|
||||
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 6.
|
||||
- [Module dependency register](module_dependency_register.md)
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
# E6.M3 — LossPenaltyAndAntiGriefRules
|
||||
|
||||
## Summary
|
||||
|
||||
| Field | Value |
|
||||
|--------|--------|
|
||||
| **Module ID** | E6.M3 |
|
||||
| **Epic** | [Epic 6 — PvP Security](../epics/epic_06_pvp_security.md) |
|
||||
| **Stage target** | Pre-production |
|
||||
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
|
||||
|
||||
## Purpose
|
||||
|
||||
Death/loss rules in PvP contexts, spawn protection, and abuse mitigation with escalation hooks to [E9.M4 — IntegrityAndAbuseResponse](E9_M4_IntegrityAndAbuseResponse.md).
|
||||
|
||||
## Responsibilities
|
||||
|
||||
- Encode `PvPLossRule`; track `SpawnProtectionState`; raise `GriefingStrike` signals for ops review.
|
||||
|
||||
## Key contracts
|
||||
|
||||
| Contract | Role |
|
||||
|----------|------|
|
||||
| `PvPLossRule` | Drop, durability, or flag penalties. |
|
||||
| `SpawnProtectionState` | Timers and invuln windows. |
|
||||
| `GriefingStrike` | Escalation input to integrity pipeline. |
|
||||
|
||||
## Module dependencies
|
||||
|
||||
- **E6.M1** — PvPEligibilityAndFlagState.
|
||||
- **E9.M4** — IntegrityAndAbuseResponse.
|
||||
|
||||
## Dependents (by design)
|
||||
|
||||
- Combat resolution and spawn systems when in PvP context.
|
||||
|
||||
## Related implementation slices
|
||||
|
||||
Epic 6 **Slice 4** — `pvp_death`, `spawn_protection_applied`, `grief_flag_raised`.
|
||||
|
||||
## Source anchors
|
||||
|
||||
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 6.
|
||||
- [Module dependency register](module_dependency_register.md)
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
# E6.M4 — RewardParityEnforcer
|
||||
|
||||
## Summary
|
||||
|
||||
| Field | Value |
|
||||
|--------|--------|
|
||||
| **Module ID** | E6.M4 |
|
||||
| **Epic** | [Epic 6 — PvP Security](../epics/epic_06_pvp_security.md) |
|
||||
| **Stage target** | Prototype |
|
||||
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
|
||||
|
||||
## Purpose
|
||||
|
||||
Ensure functional equivalents for PvP rewards through PvE/crafting paths; blocks ship when mapping incomplete per policy.
|
||||
|
||||
## Responsibilities
|
||||
|
||||
- Maintain `RewardParityMap` and `EquivalentPowerBand`; emit `ParityViolationAlert` for CI or live checks across [E3.M2](E3_M2_RefinementAndRecipeExecution.md), [E5.M3](E5_M3_EncounterAndRewardTables.md), [E7.M2](E7_M2_RewardAndUnlockRouter.md).
|
||||
|
||||
## Key contracts
|
||||
|
||||
| Contract | Role |
|
||||
|----------|------|
|
||||
| `RewardParityMap` | PvP-only reward → equivalent path. |
|
||||
| `EquivalentPowerBand` | Acceptable power band comparison. |
|
||||
| `ParityViolationAlert` | Blocking or warning signal. |
|
||||
|
||||
## Module dependencies
|
||||
|
||||
- **E3.M2** — RefinementAndRecipeExecution.
|
||||
- **E5.M3** — EncounterAndRewardTables.
|
||||
- **E7.M2** — RewardAndUnlockRouter.
|
||||
|
||||
## Dependents (by design)
|
||||
|
||||
- Release/content gates; telemetry `parity_violation`, `parity_grant_path_completed`.
|
||||
|
||||
## Related implementation slices
|
||||
|
||||
Epic 6 **Slice 3** — prototype sidegrade example validated.
|
||||
|
||||
## Source anchors
|
||||
|
||||
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 6.
|
||||
- [Module dependency register](module_dependency_register.md)
|
||||
|
|
@ -34,10 +34,10 @@ Data-driven quest lifecycle: start, step progression, branching, failure/reset,
|
|||
|
||||
## Dependents (by design)
|
||||
|
||||
- **E7.M2** — RewardAndUnlockRouter: idempotent delivery after completion.
|
||||
- **E7.M3** — FactionReputationLedger: reputation-gated content (pre-production).
|
||||
- **E5.M3** — EncounterAndRewardTables: encounter completion and quest credit.
|
||||
- **E6.M4** — RewardParityEnforcer: quest/PvP reward alignment.
|
||||
- **E7.M2** — [RewardAndUnlockRouter](E7_M2_RewardAndUnlockRouter.md): idempotent delivery after completion.
|
||||
- **E7.M3** — [FactionReputationLedger](E7_M3_FactionReputationLedger.md): reputation-gated content (pre-production).
|
||||
- **E5.M3** — [EncounterAndRewardTables](E5_M3_EncounterAndRewardTables.md): encounter completion and quest credit.
|
||||
- **E6.M4** — [RewardParityEnforcer](E6_M4_RewardParityEnforcer.md): quest/PvP reward alignment.
|
||||
|
||||
## Related implementation slices
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,46 @@
|
|||
# E7.M2 — RewardAndUnlockRouter
|
||||
|
||||
## Summary
|
||||
|
||||
| Field | Value |
|
||||
|--------|--------|
|
||||
| **Module ID** | E7.M2 |
|
||||
| **Epic** | [Epic 7 — Quest / Faction](../epics/epic_07_quest_faction.md) |
|
||||
| **Stage target** | Prototype |
|
||||
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
|
||||
|
||||
## Purpose
|
||||
|
||||
Route quest and encounter outputs to XP, items, unlocks, and flags with **idempotent** delivery ([E7.M1](E7_M1_QuestStateMachine.md) completion, [E2.M2](E2_M2_XpAwardAndLevelEngine.md), [E3.M3](E3_M3_ItemizationAndInventorySchema.md)).
|
||||
|
||||
## Responsibilities
|
||||
|
||||
- Apply `QuestRewardBundle`; grant `UnlockGrant`; emit `RewardDeliveryEvent` for audit.
|
||||
|
||||
## Key contracts
|
||||
|
||||
| Contract | Role |
|
||||
|----------|------|
|
||||
| `QuestRewardBundle` | Composite rewards for a step or completion. |
|
||||
| `UnlockGrant` | Blueprints, gates, cosmetics. |
|
||||
| `RewardDeliveryEvent` | Idempotency key and outcome. |
|
||||
|
||||
## Module dependencies
|
||||
|
||||
- **E2.M2** — XpAwardAndLevelEngine.
|
||||
- **E3.M3** — ItemizationAndInventorySchema.
|
||||
- **E7.M1** — QuestStateMachine.
|
||||
|
||||
## Dependents (by design)
|
||||
|
||||
- **E5.M3** — EncounterAndRewardTables.
|
||||
- **E6.M4** — RewardParityEnforcer.
|
||||
|
||||
## Related implementation slices
|
||||
|
||||
Epic 7 **Slice 2** — `reward_delivery`, `unlock_granted`; no double-claim on replay.
|
||||
|
||||
## Source anchors
|
||||
|
||||
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 7.
|
||||
- [Module dependency register](module_dependency_register.md)
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
# E7.M3 — FactionReputationLedger
|
||||
|
||||
## Summary
|
||||
|
||||
| Field | Value |
|
||||
|--------|--------|
|
||||
| **Module ID** | E7.M3 |
|
||||
| **Epic** | [Epic 7 — Quest / Faction](../epics/epic_07_quest_faction.md) |
|
||||
| **Stage target** | Pre-production |
|
||||
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
|
||||
|
||||
## Purpose
|
||||
|
||||
Faction standing, reputation deltas, and `FactionGateRule` evaluation for content and contracts.
|
||||
|
||||
## Responsibilities
|
||||
|
||||
- Persist auditable `FactionStanding`; apply `ReputationDelta`; fail closed on tamper for gates.
|
||||
|
||||
## Key contracts
|
||||
|
||||
| Contract | Role |
|
||||
|----------|------|
|
||||
| `FactionStanding` | Current rep per faction. |
|
||||
| `ReputationDelta` | Change events with source attribution. |
|
||||
| `FactionGateRule` | Unlock conditions for content. |
|
||||
|
||||
## Module dependencies
|
||||
|
||||
- **E7.M1** — QuestStateMachine.
|
||||
|
||||
## Dependents (by design)
|
||||
|
||||
- **E7.M4** — ContractMissionGenerator.
|
||||
- **E8.M2** — GuildCorpProgressionState.
|
||||
|
||||
## Related implementation slices
|
||||
|
||||
Epic 7 **Slice 3** — `reputation_delta`, `faction_gate_blocked`.
|
||||
|
||||
## Source anchors
|
||||
|
||||
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 7.
|
||||
- [Module dependency register](module_dependency_register.md)
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
# E7.M4 — ContractMissionGenerator
|
||||
|
||||
## Summary
|
||||
|
||||
| Field | Value |
|
||||
|--------|--------|
|
||||
| **Module ID** | E7.M4 |
|
||||
| **Epic** | [Epic 7 — Quest / Faction](../epics/epic_07_quest_faction.md) |
|
||||
| **Stage target** | Pre-production |
|
||||
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
|
||||
|
||||
## Purpose
|
||||
|
||||
Semi-procedural repeatable contracts from templates, keyed by zone difficulty ([E4.M1](E4_M1_ZoneGraphAndTravelRules.md)), encounter templates ([E5.M3](E5_M3_EncounterAndRewardTables.md)), and faction state ([E7.M3](E7_M3_FactionReputationLedger.md)).
|
||||
|
||||
## Responsibilities
|
||||
|
||||
- Emit validated `ContractTemplate` instances from `ContractSeed`; record `ContractOutcome`.
|
||||
|
||||
## Key contracts
|
||||
|
||||
| Contract | Role |
|
||||
|----------|------|
|
||||
| `ContractTemplate` | Parameterized mission skeleton. |
|
||||
| `ContractSeed` | RNG or daily seed inputs. |
|
||||
| `ContractOutcome` | Completion and reward linkage. |
|
||||
|
||||
## Module dependencies
|
||||
|
||||
- **E4.M1** — ZoneGraphAndTravelRules.
|
||||
- **E5.M3** — EncounterAndRewardTables.
|
||||
- **E7.M3** — FactionReputationLedger.
|
||||
|
||||
## Dependents (by design)
|
||||
|
||||
- Live ops and content pipelines; validate against economy/parity rules per epic.
|
||||
|
||||
## Related implementation slices
|
||||
|
||||
Epic 7 **Slice 4** — `contract_issued`, `contract_complete`, reward anomalies.
|
||||
|
||||
## Source anchors
|
||||
|
||||
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 7.
|
||||
- [Module dependency register](module_dependency_register.md)
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
# 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.
|
||||
|
||||
## 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)
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
# E8.M2 — GuildCorpProgressionState
|
||||
|
||||
## Summary
|
||||
|
||||
| Field | Value |
|
||||
|--------|--------|
|
||||
| **Module ID** | E8.M2 |
|
||||
| **Epic** | [Epic 8 — Social / Guild](../epics/epic_08_social_guild.md) |
|
||||
| **Stage target** | Production |
|
||||
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
|
||||
|
||||
## Purpose
|
||||
|
||||
Guild/corp membership, rank permissions, and shared progression tied to faction/social goals via [E7.M3](E7_M3_FactionReputationLedger.md).
|
||||
|
||||
## Responsibilities
|
||||
|
||||
- Maintain `GuildState` and `GuildRolePolicy`; emit `GuildProgressionEvent`; prevent permission bypass griefing.
|
||||
|
||||
## Key contracts
|
||||
|
||||
| Contract | Role |
|
||||
|----------|------|
|
||||
| `GuildState` | Org roster, level, shared unlocks. |
|
||||
| `GuildRolePolicy` | Permission matrix. |
|
||||
| `GuildProgressionEvent` | Shared milestones. |
|
||||
|
||||
## Module dependencies
|
||||
|
||||
- **E8.M1** — PartyAndMatchAssembly.
|
||||
- **E7.M3** — FactionReputationLedger.
|
||||
|
||||
## Dependents (by design)
|
||||
|
||||
- Social UI, contracts, and telemetry `guild_progression_event`.
|
||||
|
||||
## Related implementation slices
|
||||
|
||||
Epic 8 **Slice 4** — corp progress not griefable by solo permission bypass.
|
||||
|
||||
## Source anchors
|
||||
|
||||
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 8.
|
||||
- [Module dependency register](module_dependency_register.md)
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
# E8.M3 — PlayerTradeAndMarketplace
|
||||
|
||||
## Summary
|
||||
|
||||
| Field | Value |
|
||||
|--------|--------|
|
||||
| **Module ID** | E8.M3 |
|
||||
| **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
|
||||
|
||||
Listings, direct trade, purchases, and **atomic server settlement** for player economy, grounded in [E3.M3](E3_M3_ItemizationAndInventorySchema.md) and policy from [E3.M5](E3_M5_EconomyBalancePolicy.md).
|
||||
|
||||
## Responsibilities
|
||||
|
||||
- `MarketListing` / `TradeOffer` validation; `SettlementEvent` with duplication and cancel-edge coverage.
|
||||
|
||||
## Key contracts
|
||||
|
||||
| Contract | Role |
|
||||
|----------|------|
|
||||
| `MarketListing` | Seller, item, price, fees. |
|
||||
| `TradeOffer` | Bilateral trade window state. |
|
||||
| `SettlementEvent` | Completed exchange audit. |
|
||||
|
||||
## Module dependencies
|
||||
|
||||
- **E3.M3** — ItemizationAndInventorySchema.
|
||||
- **E3.M5** — EconomyBalancePolicy.
|
||||
|
||||
## Dependents (by design)
|
||||
|
||||
- **E3.M4** — SinkAndDurabilityLifecycle (epic coupling).
|
||||
- Integrity and fraud telemetry.
|
||||
|
||||
## Related implementation slices
|
||||
|
||||
Epic 8 **Slice 2** — `trade_completed`, `listing_created`, `purchase_completed`, fraud flags.
|
||||
|
||||
## Source anchors
|
||||
|
||||
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 8.
|
||||
- [Module dependency register](module_dependency_register.md)
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
# E8.M4 — ChatModerationAndReporting
|
||||
|
||||
## Summary
|
||||
|
||||
| Field | Value |
|
||||
|--------|--------|
|
||||
| **Module ID** | E8.M4 |
|
||||
| **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
|
||||
|
||||
Channel chat with rate limits, player reports, and moderation action logs escalated to [E9.M4 — IntegrityAndAbuseResponse](E9_M4_IntegrityAndAbuseResponse.md).
|
||||
|
||||
## Responsibilities
|
||||
|
||||
- Emit `ChatMessageEvent` with stable ids; accept `PlayerReport`; record `ModerationAction` for audit export.
|
||||
|
||||
## Key contracts
|
||||
|
||||
| Contract | Role |
|
||||
|----------|------|
|
||||
| `ChatMessageEvent` | Message payload + channel + ids. |
|
||||
| `PlayerReport` | Reason codes and context. |
|
||||
| `ModerationAction` | Mute/ban/warn with actor and timestamp. |
|
||||
|
||||
## Module dependencies
|
||||
|
||||
- **E9.M4** — IntegrityAndAbuseResponse.
|
||||
|
||||
## Dependents (by design)
|
||||
|
||||
- Moderator tooling and compliance exports.
|
||||
|
||||
## Related implementation slices
|
||||
|
||||
Epic 8 **Slice 3** — trace message id to action history in test; `chat_message_sent`, `moderation_action`.
|
||||
|
||||
## Source anchors
|
||||
|
||||
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 8.
|
||||
- [Module dependency register](module_dependency_register.md)
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
# E9.M2 — KpiDashboardsAndAlerting
|
||||
|
||||
## Summary
|
||||
|
||||
| Field | Value |
|
||||
|--------|--------|
|
||||
| **Module ID** | E9.M2 |
|
||||
| **Epic** | [Epic 9 — LiveOps / Integrity](../epics/epic_09_liveops_integrity.md) |
|
||||
| **Stage target** | Pre-production |
|
||||
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
|
||||
|
||||
## Purpose
|
||||
|
||||
KPI aggregation, dashboards, trend alerts, and milestone gate signals built on [E9.M1 — TelemetryEventSchema](E9_M1_TelemetryEventSchema.md).
|
||||
|
||||
## Responsibilities
|
||||
|
||||
- Define `KpiDefinition` and `AlertThreshold`; emit `MilestoneGateSignal` for phase checklists.
|
||||
|
||||
## Key contracts
|
||||
|
||||
| Contract | Role |
|
||||
|----------|------|
|
||||
| `KpiDefinition` | Query + visualization binding. |
|
||||
| `AlertThreshold` | Breach conditions. |
|
||||
| `MilestoneGateSignal` | Pass/fail inputs for milestones. |
|
||||
|
||||
## Module dependencies
|
||||
|
||||
- **E9.M1** — TelemetryEventSchema.
|
||||
|
||||
## Dependents (by design)
|
||||
|
||||
- **E2.M4** — ProgressionPacingControls.
|
||||
- **E3.M5** — EconomyBalancePolicy.
|
||||
- **E9.M3** — LiveBalanceControlPlane.
|
||||
|
||||
## Related implementation slices
|
||||
|
||||
Epic 9 **Slice 2** — each prototype gate has at least one chart or query.
|
||||
|
||||
## Source anchors
|
||||
|
||||
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 9.
|
||||
- [Module dependency register](module_dependency_register.md)
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
# E9.M3 — LiveBalanceControlPlane
|
||||
|
||||
## Summary
|
||||
|
||||
| Field | Value |
|
||||
|--------|--------|
|
||||
| **Module ID** | E9.M3 |
|
||||
| **Epic** | [Epic 9 — LiveOps / Integrity](../epics/epic_09_liveops_integrity.md) |
|
||||
| **Stage target** | Production |
|
||||
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
|
||||
|
||||
## Purpose
|
||||
|
||||
Runtime-safe application of signed `BalancePatch` bundles to combat, progression, and economy knobs with `RolloutState` and rollback story.
|
||||
|
||||
## Responsibilities
|
||||
|
||||
- Version `ConfigVersion` per patch; stage `RolloutState`; integrate with [E9.M2](E9_M2_KpiDashboardsAndAlerting.md), [E5.M1](E5_M1_CombatRulesEngine.md), [E2.M4](E2_M4_ProgressionPacingControls.md), [E3.M5](E3_M5_EconomyBalancePolicy.md).
|
||||
|
||||
## Key contracts
|
||||
|
||||
| Contract | Role |
|
||||
|----------|------|
|
||||
| `BalancePatch` | Signed tunable diff bundle. |
|
||||
| `ConfigVersion` | Client/server hash visibility. |
|
||||
| `RolloutState` | Canary, full, rollback. |
|
||||
|
||||
## Module dependencies
|
||||
|
||||
- **E9.M2** — KpiDashboardsAndAlerting.
|
||||
- **E5.M1** — CombatRulesEngine.
|
||||
- **E2.M4** — ProgressionPacingControls.
|
||||
- **E3.M5** — EconomyBalancePolicy.
|
||||
|
||||
## Dependents (by design)
|
||||
|
||||
- Operations UI and automated rollback SLOs.
|
||||
|
||||
## Related implementation slices
|
||||
|
||||
Epic 9 **Slice 4** — `balance_patch_applied`, client config hash; rollback within agreed SLO.
|
||||
|
||||
## Source anchors
|
||||
|
||||
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 9.
|
||||
- [Module dependency register](module_dependency_register.md)
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
# E9.M4 — IntegrityAndAbuseResponse
|
||||
|
||||
## Summary
|
||||
|
||||
| Field | Value |
|
||||
|--------|--------|
|
||||
| **Module ID** | E9.M4 |
|
||||
| **Epic** | [Epic 9 — LiveOps / Integrity](../epics/epic_09_liveops_integrity.md) |
|
||||
| **Stage target** | Pre-production |
|
||||
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
|
||||
|
||||
## Purpose
|
||||
|
||||
Correlate exploit/bot signals from [E9.M1](E9_M1_TelemetryEventSchema.md) to `IncidentTicket` and `EnforcementAction` with audit trail.
|
||||
|
||||
## Responsibilities
|
||||
|
||||
- Ingest `IntegritySignal`; open/close incidents; log `EnforcementAction` for moderation and economy response.
|
||||
|
||||
## Key contracts
|
||||
|
||||
| Contract | Role |
|
||||
|----------|------|
|
||||
| `IntegritySignal` | Detection pipeline output. |
|
||||
| `IncidentTicket` | Triage record. |
|
||||
| `EnforcementAction` | Ban, rollback, warning with actor. |
|
||||
|
||||
## Module dependencies
|
||||
|
||||
- **E9.M1** — TelemetryEventSchema.
|
||||
|
||||
## Dependents (by design)
|
||||
|
||||
- **E6.M3** — LossPenaltyAndAntiGriefRules.
|
||||
- **E8.M4** — ChatModerationAndReporting.
|
||||
|
||||
## Related implementation slices
|
||||
|
||||
Epic 9 **Slice 3** — known exploit replay produces ticket + action log; `integrity_signal`, `incident_open`, `enforcement_action`.
|
||||
|
||||
## Source anchors
|
||||
|
||||
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 9.
|
||||
- [Module dependency register](module_dependency_register.md)
|
||||
|
|
@ -1,24 +1,94 @@
|
|||
# Module Dependency Register
|
||||
|
||||
Tracks cross-epic dependencies and contract readiness.
|
||||
Tracks cross-epic dependencies and contract readiness. Every **Depends On** module ID in this table has its own row (closed graph).
|
||||
|
||||
Fleshed-out scope, contracts, and integration notes for each row below live in **per-module documents** (see [Per-module documentation](#per-module-documentation)).
|
||||
Fleshed-out scope, contracts, and integration notes live in **per-module documents** (see [Per-module documentation](#per-module-documentation)).
|
||||
|
||||
## Dependency Table
|
||||
|
||||
### Epic 1 — Core Player Runtime
|
||||
|
||||
| Module ID | Module Name | Depends On | Contract Needed | Phase Required | Status |
|
||||
|---|---|---|---|---|---|
|
||||
| E1.M1 | InputAndMovementRuntime | None | MoveCommand, PositionState | Prototype | Planned |
|
||||
| E1.M2 | IsometricCameraController | E1.M1 | CameraState, ZoomBandConfig | Prototype | Planned |
|
||||
| E2.M2 | XpAwardAndLevelEngine | E2.M1 | XpGrantEvent, LevelUpEvent | Prototype | Planned |
|
||||
| E3.M2 | RefinementAndRecipeExecution | E3.M1, E3.M3 | CraftRequest, CraftResult | Prototype | Planned |
|
||||
| E5.M1 | CombatRulesEngine | E1.M3, E2.M2 | CombatAction, CombatResolution | Prototype | Planned |
|
||||
| E4.M4 | SecurityTierZoneFlags | E4.M1 | SecurityTier, ZonePolicyState, ZoneEntryWarning | Prototype | Planned |
|
||||
| E6.M1 | PvPEligibilityAndFlagState | E4.M4 | PvPFlagState, EligibilityRule | Prototype | Planned |
|
||||
| E7.M1 | QuestStateMachine | E3.M2, E5.M1 | QuestStateTransition | Prototype | Planned |
|
||||
| E9.M1 | TelemetryEventSchema | None | TelemetryEvent envelope | Prototype | Planned |
|
||||
| E1.M1 | InputAndMovementRuntime | None | MoveCommand, PositionState, InteractionRequest | Prototype | Planned |
|
||||
| E1.M2 | IsometricCameraController | E1.M1 | CameraState, ZoomBandConfig, OcclusionPolicy | Prototype | Planned |
|
||||
| E1.M3 | InteractionAndTargetingLayer | E1.M1 | TargetState, InteractableDescriptor, SelectionEvent | Prototype | Planned |
|
||||
| E1.M4 | AbilityInputScaffold | E1.M3, E5.M1 | AbilityCastRequest, HotbarLoadout, CooldownSnapshot | Prototype | Planned |
|
||||
|
||||
**Note:** E5.M1 depends on **E1.M3** (InteractionAndTargetingLayer; [Epic 1](../epics/epic_01_core_player_runtime.md)). E1.M3 is not listed as its own row in this register; document it when it is promoted to a tracked cross-epic contract.
|
||||
### Epic 2 — Classless Progression
|
||||
|
||||
| Module ID | Module Name | Depends On | Contract Needed | Phase Required | Status |
|
||||
|---|---|---|---|---|---|
|
||||
| E2.M1 | SkillDefinitionRegistry | None | SkillDef, SkillCategory, UnlockRequirement | Prototype | Planned |
|
||||
| E2.M2 | XpAwardAndLevelEngine | E2.M1 | XpGrantEvent, LevelCurve, LevelUpEvent | Prototype | Planned |
|
||||
| E2.M3 | MasteryAndPerkUnlocks | E2.M2 | MasteryTrack, PerkUnlockEvent, PerkState | Pre-production | Planned |
|
||||
| E2.M4 | ProgressionPacingControls | E2.M2, E9.M2 | XpModifierProfile, CatchUpRule, PacingPolicy | Pre-production | Planned |
|
||||
|
||||
### Epic 3 — Crafting Economy
|
||||
|
||||
| Module ID | Module Name | Depends On | Contract Needed | Phase Required | Status |
|
||||
|---|---|---|---|---|---|
|
||||
| E3.M1 | ResourceNodeAndGatherLoop | E1.M3, E2.M2 | ResourceNodeDef, GatherResult, ResourceYieldTable | Prototype | Planned |
|
||||
| E3.M2 | RefinementAndRecipeExecution | E3.M1, E3.M3 | RecipeDef, CraftRequest, CraftResult | Prototype | Planned |
|
||||
| E3.M3 | ItemizationAndInventorySchema | None | ItemDef, ItemInstance, InventorySlot | Prototype | Planned |
|
||||
| E3.M4 | SinkAndDurabilityLifecycle | E3.M3, E8.M3 | DurabilityState, ItemSinkEvent, RepairCostRule | Pre-production | Planned |
|
||||
| E3.M5 | EconomyBalancePolicy | E3.M4, E9.M2 | EconomyPolicy, PriceBandRule, FaucetSinkRatio | Pre-production | Planned |
|
||||
|
||||
### Epic 4 — World Topology
|
||||
|
||||
| Module ID | Module Name | Depends On | Contract Needed | Phase Required | Status |
|
||||
|---|---|---|---|---|---|
|
||||
| E4.M1 | ZoneGraphAndTravelRules | None | ZoneDef, ZoneEdge, TravelRule | Prototype | Planned |
|
||||
| E4.M2 | SpawnEcologyController | E4.M1, E3.M1, E5.M2 | SpawnProfile, RespawnRule, ZoneEcologyState | Pre-production | Planned |
|
||||
| E4.M3 | SeamlessHandoffAndRegionState | E4.M1 | RegionHandoffEvent, RegionAuthority, TransferState | Pre-production | Planned |
|
||||
| E4.M4 | SecurityTierZoneFlags | E4.M1 | SecurityTier, ZonePolicyState, ZoneEntryWarning | Prototype | Planned |
|
||||
|
||||
**E4.M3:** Epic also references backend world services for region authority; treat as external integration alongside E4.M1 contracts.
|
||||
|
||||
### Epic 5 — PvE Combat
|
||||
|
||||
| Module ID | Module Name | Depends On | Contract Needed | Phase Required | Status |
|
||||
|---|---|---|---|---|---|
|
||||
| E5.M1 | CombatRulesEngine | E1.M3, E2.M2 | CombatAction, CombatResolution, ThreatState | Prototype | Planned |
|
||||
| E5.M2 | NpcAiAndBehaviorProfiles | E5.M1 | NpcBehaviorDef, TelegraphEvent, AggroRule | Prototype | Planned |
|
||||
| E5.M3 | EncounterAndRewardTables | E5.M1, E3.M3, E7.M2 | EncounterDef, RewardTable, EncounterCompleteEvent | Prototype | Planned |
|
||||
| E5.M4 | GroupCombatScaling | E5.M3, E8.M1 | ScalingProfile, PartySizeModifier, CombatDifficultyBand | Pre-production | Planned |
|
||||
|
||||
### Epic 6 — PvP Security
|
||||
|
||||
| Module ID | Module Name | Depends On | Contract Needed | Phase Required | Status |
|
||||
|---|---|---|---|---|---|
|
||||
| E6.M1 | PvPEligibilityAndFlagState | E4.M4 | PvPFlagState, EligibilityRule, PvPStateChanged | Prototype | Planned |
|
||||
| E6.M2 | ConsentAndRiskUxSignals | E6.M1, E1.M2 | RiskPrompt, ZoneRiskState, PvPIndicatorState | Prototype | Planned |
|
||||
| E6.M3 | LossPenaltyAndAntiGriefRules | E6.M1, E9.M4 | PvPLossRule, SpawnProtectionState, GriefingStrike | Pre-production | Planned |
|
||||
| E6.M4 | RewardParityEnforcer | E3.M2, E5.M3, E7.M2 | RewardParityMap, EquivalentPowerBand, ParityViolationAlert | Prototype | Planned |
|
||||
|
||||
### Epic 7 — Quest / Faction
|
||||
|
||||
| Module ID | Module Name | Depends On | Contract Needed | Phase Required | Status |
|
||||
|---|---|---|---|---|---|
|
||||
| E7.M1 | QuestStateMachine | E3.M2, E5.M1 | QuestDef, QuestStepState, QuestStateTransition | Prototype | Planned |
|
||||
| E7.M2 | RewardAndUnlockRouter | E2.M2, E3.M3, E7.M1 | QuestRewardBundle, UnlockGrant, RewardDeliveryEvent | Prototype | Planned |
|
||||
| E7.M3 | FactionReputationLedger | E7.M1 | FactionStanding, ReputationDelta, FactionGateRule | Pre-production | Planned |
|
||||
| E7.M4 | ContractMissionGenerator | E4.M1, E5.M3, E7.M3 | ContractTemplate, ContractSeed, ContractOutcome | Pre-production | Planned |
|
||||
|
||||
### Epic 8 — Social / Guild
|
||||
|
||||
| Module ID | Module Name | Depends On | Contract Needed | Phase Required | Status |
|
||||
|---|---|---|---|---|---|
|
||||
| E8.M1 | PartyAndMatchAssembly | E1.M3 | PartyState, InviteEvent, RolePreference | Pre-production | Planned |
|
||||
| E8.M2 | GuildCorpProgressionState | E8.M1, E7.M3 | GuildState, GuildRolePolicy, GuildProgressionEvent | Production | Planned |
|
||||
| E8.M3 | PlayerTradeAndMarketplace | E3.M3, E3.M5 | MarketListing, TradeOffer, SettlementEvent | Pre-production | Planned |
|
||||
| E8.M4 | ChatModerationAndReporting | E9.M4 | ChatMessageEvent, PlayerReport, ModerationAction | Pre-production | Planned |
|
||||
|
||||
### Epic 9 — LiveOps / Integrity
|
||||
|
||||
| Module ID | Module Name | Depends On | Contract Needed | Phase Required | Status |
|
||||
|---|---|---|---|---|---|
|
||||
| E9.M1 | TelemetryEventSchema | None | TelemetryEvent, EventSchemaVersion, ClientEventEnvelope | Prototype | Planned |
|
||||
| E9.M2 | KpiDashboardsAndAlerting | E9.M1 | KpiDefinition, AlertThreshold, MilestoneGateSignal | Pre-production | Planned |
|
||||
| E9.M3 | LiveBalanceControlPlane | E9.M2, E5.M1, E2.M4, E3.M5 | BalancePatch, ConfigVersion, RolloutState | Production | Planned |
|
||||
| E9.M4 | IntegrityAndAbuseResponse | E9.M1 | IntegritySignal, IncidentTicket, EnforcementAction | Pre-production | Planned |
|
||||
|
||||
## Per-module documentation
|
||||
|
||||
|
|
@ -26,13 +96,41 @@ Fleshed-out scope, contracts, and integration notes for each row below live in *
|
|||
|-----------|----------|
|
||||
| E1.M1 | [E1_M1_InputAndMovementRuntime.md](E1_M1_InputAndMovementRuntime.md) |
|
||||
| E1.M2 | [E1_M2_IsometricCameraController.md](E1_M2_IsometricCameraController.md) |
|
||||
| E1.M3 | [E1_M3_InteractionAndTargetingLayer.md](E1_M3_InteractionAndTargetingLayer.md) |
|
||||
| E1.M4 | [E1_M4_AbilityInputScaffold.md](E1_M4_AbilityInputScaffold.md) |
|
||||
| E2.M1 | [E2_M1_SkillDefinitionRegistry.md](E2_M1_SkillDefinitionRegistry.md) |
|
||||
| E2.M2 | [E2_M2_XpAwardAndLevelEngine.md](E2_M2_XpAwardAndLevelEngine.md) |
|
||||
| E2.M3 | [E2_M3_MasteryAndPerkUnlocks.md](E2_M3_MasteryAndPerkUnlocks.md) |
|
||||
| E2.M4 | [E2_M4_ProgressionPacingControls.md](E2_M4_ProgressionPacingControls.md) |
|
||||
| E3.M1 | [E3_M1_ResourceNodeAndGatherLoop.md](E3_M1_ResourceNodeAndGatherLoop.md) |
|
||||
| E3.M2 | [E3_M2_RefinementAndRecipeExecution.md](E3_M2_RefinementAndRecipeExecution.md) |
|
||||
| E3.M3 | [E3_M3_ItemizationAndInventorySchema.md](E3_M3_ItemizationAndInventorySchema.md) |
|
||||
| E3.M4 | [E3_M4_SinkAndDurabilityLifecycle.md](E3_M4_SinkAndDurabilityLifecycle.md) |
|
||||
| E3.M5 | [E3_M5_EconomyBalancePolicy.md](E3_M5_EconomyBalancePolicy.md) |
|
||||
| E4.M1 | [E4_M1_ZoneGraphAndTravelRules.md](E4_M1_ZoneGraphAndTravelRules.md) |
|
||||
| E4.M2 | [E4_M2_SpawnEcologyController.md](E4_M2_SpawnEcologyController.md) |
|
||||
| E4.M3 | [E4_M3_SeamlessHandoffAndRegionState.md](E4_M3_SeamlessHandoffAndRegionState.md) |
|
||||
| E4.M4 | [E4_M4_SecurityTierZoneFlags.md](E4_M4_SecurityTierZoneFlags.md) |
|
||||
| E5.M1 | [E5_M1_CombatRulesEngine.md](E5_M1_CombatRulesEngine.md) |
|
||||
| E5.M2 | [E5_M2_NpcAiAndBehaviorProfiles.md](E5_M2_NpcAiAndBehaviorProfiles.md) |
|
||||
| E5.M3 | [E5_M3_EncounterAndRewardTables.md](E5_M3_EncounterAndRewardTables.md) |
|
||||
| E5.M4 | [E5_M4_GroupCombatScaling.md](E5_M4_GroupCombatScaling.md) |
|
||||
| E6.M1 | [E6_M1_PvPEligibilityAndFlagState.md](E6_M1_PvPEligibilityAndFlagState.md) |
|
||||
| E6.M2 | [E6_M2_ConsentAndRiskUxSignals.md](E6_M2_ConsentAndRiskUxSignals.md) |
|
||||
| E6.M3 | [E6_M3_LossPenaltyAndAntiGriefRules.md](E6_M3_LossPenaltyAndAntiGriefRules.md) |
|
||||
| E6.M4 | [E6_M4_RewardParityEnforcer.md](E6_M4_RewardParityEnforcer.md) |
|
||||
| E7.M1 | [E7_M1_QuestStateMachine.md](E7_M1_QuestStateMachine.md) |
|
||||
| E7.M2 | [E7_M2_RewardAndUnlockRouter.md](E7_M2_RewardAndUnlockRouter.md) |
|
||||
| E7.M3 | [E7_M3_FactionReputationLedger.md](E7_M3_FactionReputationLedger.md) |
|
||||
| E7.M4 | [E7_M4_ContractMissionGenerator.md](E7_M4_ContractMissionGenerator.md) |
|
||||
| E8.M1 | [E8_M1_PartyAndMatchAssembly.md](E8_M1_PartyAndMatchAssembly.md) |
|
||||
| E8.M2 | [E8_M2_GuildCorpProgressionState.md](E8_M2_GuildCorpProgressionState.md) |
|
||||
| E8.M3 | [E8_M3_PlayerTradeAndMarketplace.md](E8_M3_PlayerTradeAndMarketplace.md) |
|
||||
| E8.M4 | [E8_M4_ChatModerationAndReporting.md](E8_M4_ChatModerationAndReporting.md) |
|
||||
| E9.M1 | [E9_M1_TelemetryEventSchema.md](E9_M1_TelemetryEventSchema.md) |
|
||||
| E9.M2 | [E9_M2_KpiDashboardsAndAlerting.md](E9_M2_KpiDashboardsAndAlerting.md) |
|
||||
| E9.M3 | [E9_M3_LiveBalanceControlPlane.md](E9_M3_LiveBalanceControlPlane.md) |
|
||||
| E9.M4 | [E9_M4_IntegrityAndAbuseResponse.md](E9_M4_IntegrityAndAbuseResponse.md) |
|
||||
|
||||
## Status Legend
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue