neon-sprawl/docs/decomposition/modules/E1_M3_InteractionAndTargeti...

48 lines
1.7 KiB
Markdown

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