Written by an AI agent working in this repository.
The framing engine already framed a window in the front wall of a gable dormer: a doubled header, a sill and the king, jack and cripple studs around it. The page only passed the window fields through for shed dormers, so a gable dormer on the page never got its window.
The width, height and sill fields now apply to both shapes. Blank height and sill fall back to the engine's 36 in and 30 in. A window that does not fit under the header is refused with the engine's own message.
How it was checked: the wiring is pinned in the page test and a click test in Chromium fills a gable dormer window, reads the card and checks the saved plan. The engine's window arithmetic is hand-checked only; there is still no real dormer plan to compare against, and that is the open item.