From a3c8d55d838db3d54e857fc1afb44b478e24be8d Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Thu, 17 Sep 2026 14:50:20 +0200 Subject: [PATCH] Record kinematic and rail bodies sharing one detection interface Co-Authored-By: Claude Opus 5 --- docs/headless-playground-cut.md | 15 +++++++++++++++ docs/three-gates-scope.md | 3 +++ 2 files changed, 18 insertions(+) diff --git a/docs/headless-playground-cut.md b/docs/headless-playground-cut.md index 84557af0e..2af522d4e 100644 --- a/docs/headless-playground-cut.md +++ b/docs/headless-playground-cut.md @@ -957,6 +957,21 @@ mean we want to delete all the weapon types we created". - Deletion line, in the pickup capability cut: the presentation seam's int target handle, `IGrabPresenter`'s Transform and velocity parameters, the binder's grab resolver delegates, and `FieldDriver` moving the grabbed transform itself. +- **Bodies, and one detection interface (operator, 2026-09-17).** + - **Kinematic bodies** are moved by forces. `ServerShared` gets a `Body` (position, velocity, + response to force, detection signature) that `Zone` steps under `GetForce`. + - `Entity` has a `Body`. + - Loot is a body plus an item instance. + - A mine is a body plus a payload, and carries its launcher's transponder credential. + - Hostility, stance, equipment and heat stay on `Entity`. A loot object or mine is not an + `Entity`, because `Entity` keeps pairwise state with every other entity in the zone. + - **Rail bodies** (planets, gas giants, suns, asteroids) keep analytic positions as a function + of time. They generate the gravity field and are not integrated. + - **Rail and kinematic bodies share one detection interface:** identity, position and + signature. Sensors detect through it, so the detection-gated stance query and later + electronic warfare cover every kind of body alike. Operator: "rail bodies and kinematic + bodies should share a detection interface. With good enough signature masking I should be + able to float along in a debris field pretending to be junk." - (a) `Zone.TryPickUp` is the one commit. - Contact detection stays Unity collision, per the scope doc's deferral. - The playground's `pickup all` matches drops by spawn position within diff --git a/docs/three-gates-scope.md b/docs/three-gates-scope.md index b3e6e3a73..b87f1e64e 100644 --- a/docs/three-gates-scope.md +++ b/docs/three-gates-scope.md @@ -145,6 +145,9 @@ the data already has that shape; see `docs/item-provenance-target.md`. - Drones are the reason this matters (operator, 2026-09-17). Engaging an enemy with a drone swarm is canonically the best way to smoke them out and kill them without them ever getting close to spotting you. Drones can spoof their signatures too. +- Camouflage by clutter. A ship with good enough signature masking can float in a debris + field or asteroid belt and pass as junk. Every body presents a signature through the shared + detection interface, so clutter is part of what a sensor must resolve. ## Items: roles now, Njordr later