threejs-worldgen
    Preparing search index...

    Interface CityProps

    Props of <City>: every CityInput setting plus the objects below.

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

    Hierarchy (View Summary)

    Index
    architecture?: ArchitectureName | "auto"

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

    architectures?: DeepPartial<Record<ArchitectureName, Architecture>>

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

    Block extraction.

    buildBudget?: number

    Milliseconds per update() spent generating when progressive.

    Building rules.

    camera?: Camera

    LOD camera; defaults to the R3F camera.

    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).

    District layout and per-district rules.

    Facades and roofs.

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

    Street direction field.

    frame?: LocalFrame

    Layout frame (world.frame by default). Changing it rebuilds the city.

    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).

    ref?: Ref<City | null>

    Receives the underlying City (for graph, data(), buildingAt, stats, …).

    Road surfaces.

    Road network rules.

    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).

    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).

    world: World

    The world to build on.