# 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)
