diff --git a/src/AcDream.Core/Physics/ShadowObjectRegistry.cs b/src/AcDream.Core/Physics/ShadowObjectRegistry.cs index 8a4518a..e0425d8 100644 --- a/src/AcDream.Core/Physics/ShadowObjectRegistry.cs +++ b/src/AcDream.Core/Physics/ShadowObjectRegistry.cs @@ -431,4 +431,11 @@ public readonly record struct ShadowEntry( /// from PWD._bitfield at CreateObject time via /// . /// - EntityCollisionFlags Flags = EntityCollisionFlags.None); + EntityCollisionFlags Flags = EntityCollisionFlags.None, + // A6.P4 door fix (2026-05-24): local-to-entity transform for multi-part + // entities. ShadowObjectRegistry.UpdatePosition uses these to rebuild + // Position/Rotation when the entity moves. Single-shape callers leave + // these at default (zero offset, identity rotation) — equivalent to + // the shape sitting at the entity's origin. + Vector3 LocalPosition = default, + Quaternion LocalRotation = default);