From 78f1eb189612bf0303ee54b41dbe813648aa3af0 Mon Sep 17 00:00:00 2001 From: Erik Date: Sun, 2 Aug 2026 10:21:05 +0200 Subject: [PATCH] docs(physics): record cutover slice C3b completion MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit C3b landed at 0934a121 with dual review PASS. The plan records the remote-entry mechanism and its verified retail anchors; the float-gates doc gains the port note pinning the NaN dispositions (friction's sanctioned skip; elasticity and translucency routed exactly as the binary; ACE's elasticity NaN divergence recorded). Every dormant C3 prerequisite is now complete — C3c, the host flip with the connected gates, is the sole remaining piece of C3. Co-Authored-By: Claude Fable 5 --- docs/plans/2026-08-02-placement-cutover.md | 14 +++++++++++--- .../2026-08-02-set-description-float-gates.md | 10 ++++++++++ 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/docs/plans/2026-08-02-placement-cutover.md b/docs/plans/2026-08-02-placement-cutover.md index 6e17aefb..b992bb71 100644 --- a/docs/plans/2026-08-02-placement-cutover.md +++ b/docs/plans/2026-08-02-placement-cutover.md @@ -151,9 +151,17 @@ same commit) → docs/handoff commit. No workarounds; no fused slices. activation commit onward (abandonment leaves it to ordinary entity teardown — retail has no entry-flow rollback); EvaluateActivation's post-commit DeferredCell overload is encapsulated behind Advance. - - **C3b — remote body construction at Create (dormant):** - retail-anchored body construction from the wire PhysicsSpawnData per - `set_description` order for residence-route remote/creature Creates. + - **C3b — remote body construction at Create — COMPLETE at `0934a121` + (2026-08-02, dual reviews PASS).** `RuntimeRemoteBodyDescription` + + `RuntimeRemoteFirstEntryState`: the full `set_description` order with + the byte-certain gates (friction [0,1] inclusive, NaN sanctioned-skip; + elasticity clamp with retail's unordered-to-zero; translucency + != 0.0f), the movement-branch discriminator on retail's + `movement_buffer != 0` (empty-buffer → placement branch, no autonomy), + motion-table zero-id pass, ctor-defaults for absent wire fields, and + never-clobber coexistence with the build-at-first-motion production + path. The acknowledge discriminator is one shared body + (`RuntimeFirstEntryAcknowledgement`) for both conductors. Dormant. - **C3c — the host flips (production):** both hosts onto the complete machinery; seal the Controller setter; presentation-only rebucketing; the connected lifecycle/reconnect + nine-stop gates diff --git a/docs/research/2026-08-02-set-description-float-gates.md b/docs/research/2026-08-02-set-description-float-gates.md index 3fa4c8a5..fe9c56f6 100644 --- a/docs/research/2026-08-02-set-description-float-gates.md +++ b/docs/research/2026-08-02-set-description-float-gates.md @@ -219,3 +219,13 @@ false"), which is a documented quirk of this exact MSVC x87 codegen pattern and not something the retail struct's `float` fields would ever hit in practice (friction/translucency are authored data, never NaN). + +## Port note (C3b, `RuntimeRemoteBodyDescription.cs`) + +acdream's friction port uses `f >= 0.0f && f <= 1.0f`, which deliberately +SKIPS NaN rather than reproducing the unordered-goes-to-apply codegen quirk +tabled above — the sanctioned modern-boundary deviation this doc +pre-declared. Elasticity's setter port (`!(e >= 0f)` first arm) and +translucency's `!= 0.0f` gate both route NaN exactly as the binary does +(0f and apply respectively); ACE's `set_elasticity` sends NaN to 0.1f and +is divergent from the binary on that edge.