threejs-worldgen
    Preparing search index...

    Interface CityOptions

    Every setting of a City. All plain data.

    interface CityOptions {
        architecture: ArchitectureName | "auto";
        architectures: Record<ArchitectureName, Architecture>;
        blocks: BlockOptions;
        buildBudget: number;
        buildings: BuildingOptions;
        center: [number, number];
        climate: Climate | null;
        districts: DistrictOptions;
        facade: FacadeOptions;
        farm: FarmOptions;
        field: TensorFieldOptions;
        landmarks: LandmarkOptions;
        lod: LodOptions;
        lotJitter: number;
        progressive: boolean;
        radius: number;
        roadLook: RoadLookOptions;
        roads: RoadOptions;
        roadside: RoadsideOptions;
        seed: string | number;
        siteResolution: number;
        size: SettlementSize;
        sizes: Record<SettlementSize, SizeClass>;
        style: RoadStyle | "auto";
        terrain: TerrainOptions;
        weather: WeatherOptions;
    }
    Index
    architecture: ArchitectureName | "auto"

    Regional building tradition; 'auto' picks one from the climate at the centre.

    architectures: Record<ArchitectureName, Architecture>

    The architectures (materials, roofs, stilts, balconies, …).

    blocks: BlockOptions

    Block extraction.

    buildBudget: number

    Milliseconds per update() spent generating when progressive.

    buildings: BuildingOptions

    Building rules.

    center: [number, number]

    Centre, frame-local [x, z] metres.

    climate: Climate | null

    Climate override for 'auto' architecture (null = read from the world at the centre).

    districts: DistrictOptions

    District layout and per-district rules.

    Facades and roofs.

    Farmsteads (size: 'farmstead'): yard, buildings, driveway, fields and crops.

    Street direction field.

    landmarks: LandmarkOptions

    Churches, town halls and water towers (how many each size class gets is in sizes).

    Level of detail.

    lotJitter: number

    Lot split jitter: 0 = regular halves, 1 = very uneven.

    progressive: boolean

    Spread generation over several frames (see buildBudget) instead of finishing in create.

    radius: number

    Radius, metres (0 = the middle of the size class's range).

    roadLook: RoadLookOptions

    Road surfaces.

    Road network rules.

    roadside: RoadsideOptions

    Lots along roads through open ground (outside blocks).

    seed: string | number

    Seed: same seed, options and world give the same settlement.

    siteResolution: number

    Terrain sampling resolution, metres (0 = automatic from the radius).

    Size class (sets radius, height limit, layout style and district shares).

    sizes: Record<SettlementSize, SizeClass>

    Size classes.

    style: RoadStyle | "auto"

    Street layout; 'auto' takes the size class's.

    Terrain shaping.

    Weather and wear per material group (hooks for a weather system).