# Module Dependency Register Tracks cross-epic dependencies and contract readiness. Every **Depends On** module ID in this table has its own row (closed graph). **Contract** means a stable boundary with a defined artifact (Protobuf wire message, JSON Schema content file, telemetry catalog entry, or server-internal type until promoted). See **[What a contract is](contracts.md)** for kinds, repo layout, and versioning. **Authority** (who owns `PositionState`, camera, combat outcomes): **[Client vs server authority](client_server_authority.md)**. **PvP × combat:** **[PvP and the combat engine](pvp_combat_integration.md)**. 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, 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 | ### 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 | ### Cross-cutting: combat and PvP eligibility When hostile actions can target **players**, [E5.M1 — CombatRulesEngine](E5_M1_CombatRulesEngine.md) **must** consult [E6.M1 — PvPEligibilityAndFlagState](E6_M1_PvPEligibilityAndFlagState.md) in the same server handling path before applying effects. **PvE-only** milestones may use a **stub** that denies all player-target hostility until PvP is enabled. Shape and deny reasons: **[PvP and the combat engine](pvp_combat_integration.md)**. ### 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 | Module ID | Document | |-----------|----------| | 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 - Planned: identified but not implemented - In Progress: currently being implemented - Ready: contract stable and usable by dependents - Blocked: dependency missing or unstable