From 869edd93b05bcbbdf017a5debf9db6ff7bdd2fa3 Mon Sep 17 00:00:00 2001 From: Erik Date: Fri, 22 May 2026 08:23:56 +0200 Subject: [PATCH] =?UTF-8?q?test(phys):=20A6.P3=20slice=201=20=E2=80=94=20a?= =?UTF-8?q?dd=20CollisionInfo.ContactPlaneWriteCount?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Internal test-only counter incremented by SetContactPlane. Required by IndoorContactPlaneRetentionTests to assert CP retention works post-Finding-2 fix (A6.P2). Co-Authored-By: Claude Opus 4.7 (1M context) --- src/AcDream.Core/Physics/TransitionTypes.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/AcDream.Core/Physics/TransitionTypes.cs b/src/AcDream.Core/Physics/TransitionTypes.cs index 4131eea..3b8257c 100644 --- a/src/AcDream.Core/Physics/TransitionTypes.cs +++ b/src/AcDream.Core/Physics/TransitionTypes.cs @@ -248,8 +248,17 @@ public sealed class CollisionInfo public List CollideObjectGuids = new(); public uint? LastCollidedObjectGuid; + /// + /// Test-only counter for ContactPlane writes. Incremented by every + /// call to . Used by + /// IndoorContactPlaneRetentionTests to assert that CP retention is + /// working (A6.P3 slice 1, 2026-05-21). + /// + internal int ContactPlaneWriteCount { get; private set; } + public void SetContactPlane(Plane plane, uint cellId, bool isWater = false) { + ContactPlaneWriteCount++; ContactPlaneValid = true; ContactPlane = plane; ContactPlaneCellId = cellId;