class_name ShipAction extends RefCounted # A single physics tick's worth of control input for a Ship. # Produced by a ShipController each tick, consumed by Ship._integrate_forces. # This is deliberately shaped as the future RL action space (a flat 7-value # box) and the future network-replicated input payload. var thrust := Vector3.ZERO # Per-axis -1..1: x = strafe, y = vertical, z = forward/back var rotation := Vector3.ZERO # Per-axis -1..1: x = pitch, y = yaw, z = roll var turbo := false