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