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