From f31f01d32163eb496eacca959dc858a04a34bf94 Mon Sep 17 00:00:00 2001 From: meelstorm Date: Fri, 17 Jul 2026 16:42:26 +0000 Subject: [PATCH] feat(gamecli): add ShipState record struct --- GameCli/Ship.cs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 GameCli/Ship.cs diff --git a/GameCli/Ship.cs b/GameCli/Ship.cs new file mode 100644 index 0000000..690574a --- /dev/null +++ b/GameCli/Ship.cs @@ -0,0 +1,18 @@ +namespace GameCli; + +/// +/// Immutable ship pose + velocity in world coordinates. +/// World is [0,1] × [0,1]. Y increases downward (screen-native). +/// Angle=0 means "ship pointing up" (main engine points down). +/// Positive angle rotates clockwise. +/// +public readonly record struct ShipState( + float X, + float Y, + float VX, + float VY, + float Angle, + float AngularVelocity) +{ + public static ShipState AtCenter() => new(0.5f, 0.5f, 0f, 0f, 0f, 0f); +}