neon-sprawl/client/scripts/camera_state.gd

23 lines
932 B
GDScript
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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** the rigs fixed
## presentation compass (`presentation_yaw_deg` on `isometric_follow_camera.gd`).
## This is **not** total camera compass—only the optional orbit delta.
## Prototype UX keeps this at **0** (`allow_yaw` false).
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