feat(mosstank): add VTank-style automation PoC

This commit is contained in:
Erik 2026-08-27 18:57:21 +02:00
parent f6fe0f2a4f
commit 4e6e9bc9d9
212 changed files with 49462 additions and 416 deletions

View file

@ -2383,7 +2383,11 @@ public sealed class PhysicsEngine
body is not null ? PhysicsResolveCapture.Snapshot(body) : null);
}
return resolveResult;
return resolveResult with
{
LastCollidedObjectId = ci.LastCollidedObjectGuid ?? 0u,
CollidedWithEnvironment = ci.CollidedWithEnvironment,
};
}
finally
{

View file

@ -58,4 +58,16 @@ public readonly record struct ResolveResult(
/// <summary>Full cell that owns <see cref="ContactPlane"/>.</summary>
uint ContactPlaneCellId = 0,
/// <summary>Whether the accepted contact plane is water.</summary>
bool ContactPlaneIsWater = false);
bool ContactPlaneIsWater = false)
{
/// <summary>
/// Last live object touched by this transition, or zero for environment-
/// only/no collision. This is detached collision evidence, not an impact
/// side effect; projectile-awareness callers use it to distinguish the
/// designated target from an intervening creature or prop.
/// </summary>
public uint LastCollidedObjectId { get; init; }
/// <summary>Whether resident environment geometry blocked the sweep.</summary>
public bool CollidedWithEnvironment { get; init; }
}