Editor/Floor/ArchWellEdges.cs

Defines an interface IArchWellEdges with one method-producing delegate Trimmed, and a static helper ArchWellEdges that forwards to a role-resolved implementation via ArchRoles.One<T>().Trimmed. It returns a Func<Vector2,bool> that tests whether a 2D point is trimmed given building, kit, wells and height.

namespace Sunless.Architecture;

public interface IArchWellEdges
{
	Func<Vector2, bool> Trimmed( ArchBuilding building, ArchKit kit, IReadOnlyList<ArchFloorCutout> wells, float height );
}

public static class ArchWellEdges
{
	public static Func<Vector2, bool> Trimmed( ArchBuilding building, ArchKit kit, IReadOnlyList<ArchFloorCutout> wells, float height )
	{
		return ArchRoles.One<IArchWellEdges>()?.Trimmed( building, kit, wells, height );
	}
}