48 lines
1.7 KiB
Markdown
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)
|