Build the atom KIT "medieval-town" for a late-medieval northern European walled town (5,000 people): the parts that make houses differ by WEALTH and TRADE, plus two pieces of square furniture. Reference: sheet.jpg here (pen drawings from the video "How medieval towns actually looked": A patrician house, B tower house, C dormers, D chimney stacks and a roof louvre, E shop signs, F craftsmen houses and cottages, G stone pillory, H well, I half-timber detail). Follow the drawings' shapes and proportions; render them in the existing medieval kit look, not as line art. Your dir: /root/fal-author/medieval-town-v1/ on gex44 (here: ~/forge-build/forge-assets/jobs/medieval-town-v1/). The houses themselves are assembled by code (stone ground storey + generated half-timber upper storeys + tile roof laid from tile strips). You make add-on atoms; the code places them. Atom frames: same conventions as the medieval kit (~/forge-build/forge-assets/browse/kits/medieval/kit.json and jobs/medieval-atom-kit-v1/build_kit.py, read-only): +Y up, metres, facade atoms face +Z out of the wall, wall outer plane at Z=0. Atoms (name: size W x H x D in metres, origin rule). FROZEN: code is being written against these names right now. - dormer_gabled: 1.3 x 1.8 x 1.9, small gabled dormer with a leaded window (sheet C right). Origin: centre of the dormer's front sill line where its front wall meets the roof surface; +Z points down-slope / out toward the street; the body runs back into a 55 degree roof (its cheeks and roof must bury into the slope, no gaps when placed on a 55 degree plane passing through the origin along X). - dormer_hipped: 1.3 x 2.6 x 1.9, same frame, steep hipped/conical roof with a finial spike (sheet C left). - dormer_wall: 1.6 x 2.4 x 1.2, a stepped or pointed wall-gable dormer standing on the wall plane (sheet C middle): origin bottom centre of its front face at the eaves line, front face on Z=0. - louvre_ridge: 1.2 x 0.7 x 1.0, a small ventilation louvre sitting on a ridge (sheet D bottom right). Origin: centre on the ridge line, ridge along X. - chimney_cluster: 1.6 x 3.4 x 1.0, grouped stacks of a rich house (sheet D, brick or dressed stone, ornate tops). Origin bottom centre, same frame as chimney_stone (it is placed with its base 0.55 m below the ridge). - chimney_twin: 1.2 x 2.8 x 0.8, two plainer stacks (sheet D middle). Same frame. - sign_boot, sign_pig, sign_key, sign_pretzel: hanging trade signs on a wrought iron bracket (sheet E). Same frame as sign_smith in medieval-trades: wall bracket fixing point at [0,0,0], board/object hangs below, body +Z; about 0.9 wide, 1.0 down, 0.6 out. - oriel: 1.6 x 2.2 x 0.6, a timber box bay window on an upper storey with leaded glazing and a small tile roof (sheet B). Origin: bottom centre of its back face on the wall plane (Z=0) at the storey floor line; corbels below. - door_arched_stone: 1.3 x 2.6 x 0.3, round-arched plank door in a dressed stone surround (sheet A right door). Same frame as door_plank (bottom centre of the clear opening, exterior plane Z=0; clear opening 1.1 x 2.3). - door_cellar: 1.0 x 2.0 x 0.3, low arched plank door in rubble for an undercroft (used on slopes, where the ground falls away behind a house). Same frame as door_plank, clear opening 0.9 x 1.8. - window_cellar: 0.6 x 0.5 x 0.25, small barred/oval opening of a stone ground floor (sheet A, the little openings beside the doors). Same frame as window_leaded. - window_shuttered: 0.8 x 1.1 x 0.3, unglazed opening with open plank shutters (most windows were not glazed). Same frame and clear opening as window_leaded (0.7 x 1.0) so code can swap it in. - finial: 0.25 x 1.0 x 0.25, a gable apex spike/cross (sheet A gables). Origin bottom centre. - thatch_panel: 1.0 x 0.30 x 1.0 (X along the eaves, Y thickness out of the roof, Z down the slope): a piece of thick reed thatch laid as a grid on a 50-55 degree roof plane. Origin: centre of its UPPER edge on the rafter plane; +Z runs down the slope (same frame as tile_strip_a). Neighbouring panels must join seamlessly in X and Z (tileable texture, overlapping edges), and the bottom (eaves) and side (verge) edges must read as cut, bundled thatch. - thatch_ridge: 1.0 x 0.45 x 0.9, a thatch ridge roll laid along X, origin centre on the ridge line (like ridge_tile_round). - pillory: 1.0 x 6.0 x 1.0, the stone gothic pillory column with iron rings and chains on a stepped base (sheet G). Origin ground centre. - well_wheel: 2.4 x 3.4 x 2.4, a covered well with a wooden roof and a big wheel winch (sheet H). Origin ground centre. Triangle budget (overrides the contract numbers): whole kit <= 45k; pillory <= 6k; well_wheel <= 6k; chimney_cluster <= 3k; dormers <= 2.5k each; thatch_panel <= 300 (it is instanced hundreds of times; detail goes in the texture/normal map); thatch_ridge <= 300; everything else <= 2k. The contract's roof-cover and eaves-system sections do NOT apply. DETAIL LEVEL and MATERIALS: match jobs/medieval-atom-kit-v1/ and jobs/medieval-trades-v1/ (read their kit_sheet.png, runtime_*.png, build_kit.py): reuse the shelf material NAMES (Rubble_stone, Oak_frame, Plaster_ochre/white, Clay_tile, Dressed_limestone, Wrought_iron, Leaded_glass, Door_paint, Sign_paint); new ones only when needed (Thatch_reed, Brick_old, Shutter_wood). Trim that sits on a wall (stone door surround, corbels) stands at least 15 mm proud of Z=0 so it never z-fights the code's wall. test_house.png: assemble one rich house corner (a plain box house with a 55 degree tile roof stand-in, two dormer_gabled, one chimney_cluster, door_arched_stone, window_cellar, oriel, sign_boot) and one thatched cottage (a 3 x 2 grid of thatch_panel each side + thatch_ridge, window_shuttered, louvre_ridge) and render them, plus the pillory and well_wheel side by side.