feat: Uses shared duct size container for both room and trunk duct sizing containers.

This commit is contained in:
2026-01-16 10:16:31 -05:00
parent 65fc8565b6
commit 59c1c9ec4a
4 changed files with 102 additions and 43 deletions

View File

@@ -77,13 +77,12 @@ extension ManualDClient {
coolingLoad: coolingLoad,
heatingCFM: heatingCFM,
coolingCFM: coolingCFM,
designCFM: designCFM,
roundSize: sizes.ductulatorSize,
finalSize: sizes.finalSize,
velocity: sizes.velocity,
flexSize: sizes.flexSize,
rectangularSize: rectangularSize,
rectangularWidth: rectangularWidth
ductSize: .init(
designCFM: designCFM,
sizes: sizes,
rectangularSize: rectangularSize,
width: rectangularWidth
)
)
)
}
@@ -127,10 +126,7 @@ extension ManualDClient {
trunk: trunk,
ductSize: .init(
designCFM: designCFM,
roundSize: sizes.ductulatorSize,
finalSize: sizes.finalSize,
velocity: sizes.velocity,
flexSize: sizes.flexSize,
sizes: sizes,
height: trunk.height,
width: width
)
@@ -143,6 +139,44 @@ extension ManualDClient {
}
extension DuctSizing.SizeContainer {
init(
designCFM: DuctSizing.DesignCFM,
sizes: ManualDClient.DuctSizeResponse,
height: Int?,
width: Int?
) {
self.init(
rectangularID: nil,
designCFM: designCFM,
roundSize: sizes.ductulatorSize,
finalSize: sizes.finalSize,
velocity: sizes.velocity,
flexSize: sizes.flexSize,
height: height,
width: width
)
}
init(
designCFM: DuctSizing.DesignCFM,
sizes: ManualDClient.DuctSizeResponse,
rectangularSize: DuctSizing.RectangularDuct?,
width: Int?
) {
self.init(
rectangularID: rectangularSize?.id,
designCFM: designCFM,
roundSize: sizes.ductulatorSize,
finalSize: sizes.finalSize,
velocity: sizes.velocity,
flexSize: sizes.flexSize,
height: rectangularSize?.height,
width: width
)
}
}
extension Room {
var heatingLoadPerRegister: Double {