Build the atom KIT "medieval-trades" for a late-medieval northern European village: the smithy, the bakery and the
market. Reference: sheet.jpg here (a line-up of village buildings: look at the smith, baker, merchant, tavern). Your dir:
/root/fal-author/medieval-trades-v1/ on gex44 (here: ~/forge-build/forge-assets/jobs/medieval-trades-v1/).
The houses themselves are assembled by code (stone ground storey + generated half-timber upper storeys + tile roof); you
make the parts that make a house READ as a forge, a bakery or a market: forge_shed (the open workshop with the glowing
hearth: put an emissive Ember material in the hearth), chimney_forge, door_workshop, sign_smith, bread_oven,
window_bakery, sign_baker, hall_post, stall_a/b/c, well_roofed, cart_hand, crate_stack, basket_produce, firewood_stack,
hay_bale, anvil, grindstone (sizes and origins: SETTLEMENT.md section 1, medieval-trades table).
Triangle budget for THIS kit (overrides the contract numbers): whole kit <= 60k, forge_shed <= 9k, stalls <= 3k each,
others <= 3.5k. The contract's roof-cover and eaves-system sections do NOT apply (no roof units, no gutters here):
roofs of forge_shed / bread_oven / well are modelled in the atom with real tiles.
test_house.png: instead of a house, assemble a little smithy (a stone box wall + forge_shed against it + chimney_forge)
and a market corner (3 hall_posts + 2 stalls + the well) and render them.
DETAIL LEVEL: match ~/forge-build/forge-assets/jobs/medieval-atom-kit-v1/ (read its kit_sheet.png, runtime_*.png and
build_kit.py, read-only): same shelf material NAMES where they apply (Rubble_stone, Rubble_stone_dark, Oak_frame,
Oak_frame_grey, Plaster_ochre/white/pink, Clay_tile, Clay_tile_dark, Dressed_limestone, Wrought_iron, Leaded_glass,
Door_paint, Sign_paint) so one village shares one look; add new materials only when needed (names in CamelCase_words).
The interface (atom names, sizes, origins) is FROZEN in ~/forge-build/forge-assets/omg/kit/building/SETTLEMENT.md
section 1: read it; code is being written against it right now, in parallel. Put every atom's real bounding box and any
sockets (attach points) in kit.json. Low-poly where it does not show, real shapes where it does (arches, mouldings,
tracery read as geometry at 10-30 m). Phone budget matters: no subdivided flat walls; one material per surface type.
