# Epic 4 - World Topology and Zone Infrastructure
## Source Anchors
- Master epic reference: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Core Epic Map, System Modules Epic 4
- Related modules: E4.M1, E4.M2, E4.M3, E4.M4
## Ownership and success (Level 1)
- **Ownership focus:** Online/Backend Engineering + World Design
- **Success criteria:** Mostly seamless open world runs reliably with predictable transitions and low-disruption handoffs.
## Objective
Represent the world as a zone graph with travel rules, security-tier signaling for PvP policy, and later spawn ecology and seamless handoffs so content scales from one district to regional scope without rewiring fundamentals.
## Module Breakdown
### E4.M1 - ZoneGraphAndTravelRules
- Responsibility: Regional zone graph, transition links, movement and travel constraints.
- Key contracts: `ZoneDef`, `ZoneEdge`, `TravelRule`
- Dependencies: None
- Stage target: Prototype
### E4.M2 - SpawnEcologyController
- Responsibility: Resource and NPC spawn profiles per zone, respawn pacing, depletion recovery.
- Key contracts: `SpawnProfile`, `RespawnRule`, `ZoneEcologyState`
- Dependencies: E4.M1, E3.M1, E5.M2
- Stage target: Pre-production
### E4.M3 - SeamlessHandoffAndRegionState
- Responsibility: Cross-region handoff behavior and region authority ownership boundaries.
- Key contracts: `RegionHandoffEvent`, `RegionAuthority`, `TransferState`
- Dependencies: E4.M1, backend world services
- Stage target: Pre-production
### E4.M4 - SecurityTierZoneFlags
- Responsibility: High/contested/low-security tagging and client/server zone risk signaling.
- Key contracts: `SecurityTier`, `ZonePolicyState`, `ZoneEntryWarning`
- Dependencies: E4.M1
- Stage target: Prototype
## Implementation Slices (Backlog-Ready)
### Slice 1 - Prototype district zone graph
- Scope: E4.M1 defining hub, PvE pocket, and edge zones with valid transitions.
- Dependencies: None
- Acceptance criteria:
- Server and client agree on current zone id for every player.
- Travel rules prevent illegal shortcuts.
- Telemetry hooks: `zone_enter`, `zone_exit`, invalid transition attempts.
### Slice 2 - Security tier tagging and UI hooks
- Scope: E4.M4 on E4.M1: per-zone `SecurityTier`, `ZonePolicyState`, and entry-warning payloads. E6.M1 subscribes to this data for PvP eligibility (implemented in Epic 6; no circular module dependency).
- Dependencies: E4.M1
- Acceptance criteria:
- Server-authoritative tier matches client display for each zone transition; entry-warning contract is stable for E6.M2 to consume.
- Telemetry hooks: `security_zone_enter`, `security_zone_exit` (aligned with PvP events).
### Slice 3 - Spawn ecology (pre-production)
- Scope: E4.M2 driving node and NPC densities per zone from data.
- Dependencies: E4.M1, E3.M1, E5.M2
- Acceptance criteria:
- No zone starvation or infinite respawn exploits in test scenarios.
- Telemetry hooks: `spawn_wave`, ecology depletion/recovery markers.
### Slice 4 - Seamless handoff spike (pre-production)
- Scope: E4.M3 minimal viable handoff between two regions with authority transfer.
- Dependencies: backend world services
- Acceptance criteria:
- Handoff completes without duplicate entities; rollback path documented.
- Telemetry hooks: `region_handoff_start`, `region_handoff_complete`, failures.
## Risks and Mitigations
- Risk: Zone/security inconsistencies between client and server.
- Mitigation: Server is source of truth; client prediction only for display.
- Risk: Premature seamless complexity for solo dev.
- Mitigation: Prototype stays single region; handoff is gated pre-production slice.
## Definition of Done
- Prototype zone and security signaling validated with Epic 6.
- Pre-production spawns and handoffs meet stage gates in master plan.