2.4 KiB
2.4 KiB
E6.M2 — ConsentAndRiskUxSignals
Summary
| Field | Value |
|---|---|
| Module ID | E6.M2 |
| Epic | Epic 6 — PvP Security |
| Stage target | Prototype |
| Status | Planned (see dependency register) |
Purpose
Entry warnings, in-zone risk UI, and clear PvP state communication using eligibility from E6.M1 and camera/readability context from E1.M2.
E1.M2 camera adjacency (NEO-18)
When implementing zone-risk HUD and related client presentation, treat E1.M2 as the framing source:
- May read the follow rig’s
camera_statesnapshot (client/scripts/camera_state.gd) — field meanings and refresh cadence: Consumer contract. - Not duplicated in
CameraStatetoday: occlusion on/off, bound zoom/occlusion resources,presentation_yaw_deg,pitch_elevation_deg— readIsometricFollowCameraexports (client/scripts/isometric_follow_camera.gd) when needed. - If
CameraState.yawbecomes non-zero (orbit enabled mid-project per E1.M2 rotation policy), screen-space layouts that assumed a fixed diagonal may need a compass / telegraph pass; keep gameplay-adjacent semantics world-anchored where possible. - Authority: Client vs server — E1.M2 — the server must not use client-reported camera pose for gameplay checks (targeting, LOS, zone rules).
Responsibilities
- Show
RiskPrompton low-sec entry; driveZoneRiskState/PvPIndicatorStatein 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— Epic 6. - Module dependency register