# E1.M3 — InteractionAndTargetingLayer ## Summary | Field | Value | |--------|--------| | **Module ID** | E1.M3 | | **Epic** | [Epic 1 — Core Player Runtime](../epics/epic_01_core_player_runtime.md) | | **Stage target** | Prototype | | **Status** | Planned (see [dependency register](module_dependency_register.md)) | ## Purpose World object selection, target lock, focus swap rules, and hover/highlight feedback. Bridges movement/position ([E1.M1](E1_M1_InputAndMovementRuntime.md)) into combat, gathering, and ability activation ([E1.M4](E1_M4_AbilityInputScaffold.md), [E5.M1](E5_M1_CombatRulesEngine.md)). ## Responsibilities - Resolve `TargetState` for tab-target and interaction flows. - Describe interactables via `InteractableDescriptor` and emit `SelectionEvent` for UI and systems. ## Key contracts | Contract | Role | |----------|------| | `TargetState` | Current locked target, validity, and swap rules. | | `InteractableDescriptor` | What can be selected or used in range. | | `SelectionEvent` | Selection changes for feedback and downstream consumers. | ## Module dependencies - **E1.M1** — InputAndMovementRuntime: range and position source of truth. ## Dependents (by design) - **E1.M4** — AbilityInputScaffold. - **E3.M1** — ResourceNodeAndGatherLoop. - **E5.M1** — CombatRulesEngine. - **E8.M1** — PartyAndMatchAssembly (player/party context hooks per epic). ## Related implementation slices Epic 1 **Slice 3** — interaction, targeting, and ability input wiring with [E5.M1](E5_M1_CombatRulesEngine.md). ## Source anchors - Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 1. - [Module dependency register](module_dependency_register.md)