All kits

KIT

vandahl_timber

townStyle

DOMAIN

townStyle

PATH

data/content/town_styles.json

PARTS

5

NOTE

The Vale's House Vandahl frontier look — weathered timber-frame + daub, the default. kit:'model' + SIZE POOLS (2026-07-01, the first style migrated): `sizes` declares the architecture's building STOCK by size (small/medium/large/xl), and each ROLE draws from its preferred tiers per KitSet.ROLE_SIZES (house→small, house_rich→medium (2-storey residences + high-tier player homes, split in TownPlan), shop→medium/small, guild→large/medium, inn→medium/large, governor→xl/large) — first stocked tier gets full weight, each later tier half the previous, split across that tier's models, picked deterministically off each building's shell_seed. So guilds are USUALLY one of the two large manors but sometimes the medium; shops occasionally read as a small storefront; every town of the style varies instead of repeating one model per role. Add variety = drop more .glb's into a pool; add grandeur = stock `xl` and governors take it automatically. An explicit `models` role map still WINS over the pools (highbridge/imperial keep theirs); a role with no stock anywhere falls back to the palette/archetype VillageKit below (house_rich falls back to house first — KitSet.ROLE_FALLBACK). All four models re-ingested at higher res 2026-07-01 (Meshy regens, ~12-16k tris each via optimize_models.py).

vandahl_timber

Metadata

domaintownStyle
pathdata/content/town_styles.json
parts5
_noteThe Vale's House Vandahl frontier look — weathered timber-frame + daub, the default. kit:'model' + SIZE POOLS (2026-07-01, the first style migrated): `sizes` declares the architecture's building STOCK by size (small/medium/large/xl), and each ROLE draws from its preferred tiers per KitSet.ROLE_SIZES (house→small, house_rich→medium (2-storey residences + high-tier player homes, split in TownPlan), shop→medium/small, guild→large/medium, inn→medium/large, governor→xl/large) — first stocked tier gets full weight, each later tier half the previous, split across that tier's models, picked deterministically off each building's shell_seed. So guilds are USUALLY one of the two large manors but sometimes the medium; shops occasionally read as a small storefront; every town of the style varies instead of repeating one model per role. Add variety = drop more .glb's into a pool; add grandeur = stock `xl` and governors take it automatically. An explicit `models` role map still WINS over the pools (highbridge/imperial keep theirs); a role with no stock anywhere falls back to the palette/archetype VillageKit below (house_rich falls back to house first — KitSet.ROLE_FALLBACK). All four models re-ingested at higher res 2026-07-01 (Meshy regens, ~12-16k tris each via optimize_models.py).
kitmodel
model_scale1.5
propswoodpile, drying_rack
accentfaction
interior_setinterior_base

Parts (5)

no static preview
housecode:villagestructure_house (catalog default)procedural — built by code, no static mesh file (check the matching Bench)
no static preview
shopcode:villagestructure_shop (catalog default)procedural — built by code, no static mesh file (check the matching Bench)
no static preview
guildcode:villagestructure_guild (catalog default)procedural — built by code, no static mesh file (check the matching Bench)
no static preview
governorcode:villagestructure_governor (catalog default)procedural — built by code, no static mesh file (check the matching Bench)
no static preview
inncode:villagestructure_inn (catalog default)procedural — built by code, no static mesh file (check the matching Bench)

Relations (1)

Preview harness

  • bench · TownBenchTownBenchassetnpm run town -- vallenfield
The Lower Worlds I: Valenfeld