From 9d9a8ed031f19e2f6a67e6ffc10ffe3a7347a400 Mon Sep 17 00:00:00 2001 From: soul Date: Thu, 22 Oct 2026 02:27:08 +0200 Subject: [PATCH] Command seam: the applier is the only writer from PilotCommand; the pilot reads back its own pending decisions (Soul finding only-reader-comment-false) Co-Authored-By: Claude Opus 5.5 --- Assets/Scripts/ServerShared/Pilot.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Assets/Scripts/ServerShared/Pilot.cs b/Assets/Scripts/ServerShared/Pilot.cs index 95b78348b..ba42a12f1 100644 --- a/Assets/Scripts/ServerShared/Pilot.cs +++ b/Assets/Scripts/ServerShared/Pilot.cs @@ -28,7 +28,8 @@ public readonly struct TurnCommand // The one input an entity's pilot gives it (its agent, the player, a scripted pilot): only own-ship vectors and handles the // pilot was given (ruling observation-sensors-only). Commands are per entity, never per Flight or side: a side may be one -// ship (ruling brain-one-per-side-r2). PilotApplier.Apply is its only reader. +// ship (ruling brain-one-per-side-r2). PilotApplier.Apply is the only writer of the entity's fields from it; the pilot +// also reads back its own pending decisions this step (Designated, Pulls), because the entity still holds last step's. // Held fields persist until the pilot replaces them, so a pilot deciding below the sim rate keeps flying (ruling // lower-game-sim-rate); null leaves the field to whoever wrote it last. One-shots apply once, in order, and are cleared. public sealed class PilotCommand