Editor/Output/ArchWallRakes.cs

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 );
}