neon-sprawl/client/scripts/camera_state.gd

21 lines
833 B
GDScript

extends RefCounted
## Client-local camera snapshot for consumers (risk UX, UI, debug). Refreshed each frame by
## `isometric_follow_camera.gd`. No `class_name` — see repo Godot headless / CI notes.
## Orbit yaw (rad) around the follow target **vertical axis**, relative to [member presentation_yaw_deg]
## on the rig. Prototype UX keeps this at **0** (`allow_yaw` false). Mid-project orbit would drive this.
var yaw: float = 0.0
## Scene path to the follow anchor (typically `CharacterBody3D` / `Node3D`).
var follow_target_path: NodePath = NodePath()
## Single-band follow distance until NEON-26 zoom bands (meters).
var distance: float = 0.0
## Placeholder for discrete zoom steps (NEON-26).
var zoom_band_index: int = 0
## World-space point the rig used as look-at focus last tick.
var focus_world: Vector3 = Vector3.ZERO