A small Editor-side definition for wall rake geometry. It defines an immutable ArchWallRake value type that holds numeric parameters for a rake segment, and an interface IArchWallRakes that declares a method to compute a list of such rakes for a given wall, room, building, plan and kit.
using System.Collections.Generic;
namespace Sunless.Architecture;
public readonly record struct ArchWallRake(
float From,
float To,
float LiftFrom,
float LiftTo,
float Rise,
float Ceiling );
public interface IArchWallRakes
{
IReadOnlyList<ArchWallRake> Along(
ArchWall wall,
ArchRoom room,
ArchBuilding building,
ArchPlan plan,
ArchKit kit,
float half,
float wallHeight );
}