using System.Numerics;
namespace AcDream.App.Rendering;
///
/// Sweeps a small sphere from the camera pivot (player head) toward the
/// desired eye and returns the stopped (non-penetrating) eye. The seam that
/// lets collide its eye without depending on
/// the physics engine directly (and stay unit-testable with a fake).
///
public interface ICameraCollisionProbe
{
///
/// Roll a collision sphere from to
/// ; return the position it reaches without
/// penetrating geometry. Returns unchanged
/// when nothing blocks the path or when is 0.
///
Vector3 SweepEye(Vector3 pivot, Vector3 desiredEye, uint cellId, uint selfEntityId);
}