Completes the TS-3 stub (the deferred 'full physics port'): - ValidateTransition: the fsf increment/reset ladder + the fsf>=3 upward-contact-plane manufacture (retail validate_transition 0x0050aa70 pc:272625-656; ACE Transition.cs: 1029-1061). Runs after acdream's fused contact block (structural adaptation preserving the L.2.3c/L.2.4/A6.P3 contact-retention divergences), deriving retail's _redo as cleanAdvance || OnWalkable — a grounded wall-slide is not a stuck-fall. - The sweep-loop fsf early-out (retail find_valid_position pc:273745 / ACE :587): stop as soon as fsf != 0, so a later advancing sub-step can't reset it in the same frame (load-bearing — without it the counter never escalates across frames). - ObjectInfo.MoverHasGravity gate (pc:272625). - PhysicsEngine: seed ci.fsf from the body's Stationary* bits AFTER InitPath (retail transition() pc:280940-947); writeback publishes body.FramesStationaryFall + encodes the Stationary* bits (co-located with the fsf compute so the round-trip is self-contained in Core; retail encodes in handle_all_collisions — register note). Tests: FramesStationaryFallTests — an airborne jump wedged under an overhead creature escalates fsf 0->1->2->3 and at fsf 3 manufactures the UP plane (grounded 'glide onto the crowd top'); a grounded wall-slide never accumulates fsf. Core 2609/0. Behaviour dormant in ordinary locomotion (fsf stays 0 unless a gravity mover is blocked). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| AcDream.App.Tests | ||
| AcDream.Bake.Tests | ||
| AcDream.Content.Tests | ||
| AcDream.Core.Net.Tests | ||
| AcDream.Core.Tests | ||
| AcDream.Core.Tests.Fixtures.HelloPlugin | ||
| AcDream.UI.Abstractions.Tests | ||