# E6.M2 — ConsentAndRiskUxSignals ## Summary | Field | Value | |--------|--------| | **Module ID** | E6.M2 | | **Epic** | [Epic 6 — PvP Security](../epics/epic_06_pvp_security.md) | | **Stage target** | Prototype | | **Status** | Planned (see [dependency register](module_dependency_register.md)) | ## Purpose Entry warnings, in-zone risk UI, and clear PvP state communication using eligibility from [E6.M1](E6_M1_PvPEligibilityAndFlagState.md) and camera/readability context from [E1.M2](E1_M2_IsometricCameraController.md). ## Responsibilities - Show `RiskPrompt` on low-sec entry; drive `ZoneRiskState` / `PvPIndicatorState` in HUD. ## Key contracts | Contract | Role | |----------|------| | `RiskPrompt` | Consent dialog payload and outcomes. | | `ZoneRiskState` | Display model for current zone risk. | | `PvPIndicatorState` | Persistent indicator semantics. | ## Module dependencies - **E6.M1** — PvPEligibilityAndFlagState. - **E1.M2** — IsometricCameraController. ## Dependents (by design) - Client UX only; server remains authoritative via E6.M1 / E4.M4. ## Related implementation slices Epic 6 **Slice 2** — `risk_prompt_shown`, accepted/declined. ## Source anchors - Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 6. - [Module dependency register](module_dependency_register.md)