Edit the inputs for a live quote, change CONFIG to reprice, run the self-test to prove correctness against 20 vectors captured from the live API.
Dimensions
Openings
Motors
Estimated total range
—
Cost breakdown
Edit prices/tiers here and click Apply. The math mechanics never change — only these values. This is the same object documented in the build spec.
These 20 vectors are exact responses captured from the live engine. With the original prices loaded they must all PASS. (If you changed CONFIG, they will fail — that’s expected, since you changed the prices.)
The model
Total = sum of independent line items. Two depend on geometry; the rest are flat rates or per-unit prices.
The three things that are easy to get wrong
1. Structure rate is tiered on total area and applied to the whole area (not marginal). Because a lower rate hits the entire area, price drops as area crosses 50 m² and 200 m² — real “cliffs”.
2. Subtotal = round(sum of UNROUNDED lines), not the sum of the rounded line items. With fractional areas the displayed lines may not visibly add up.
3. Wall insulation bills on wall surface area = 2×(W+L)×eaveHeight, not floor area. Roof insulation bills on floor area.
Engine does no validation (zero/negative/huge inputs just compute); quantities are integer-parsed; the motor≤doors cap is UI-only. Warranty / timeframe / intended-use never affect price.