Skip to content

five-on-it / packages/catalogue/src/level-spec / LevelSpec

Variable: LevelSpec ​

const LevelSpec: ZodDiscriminatedUnion<[ZodObject<{ avenues: ZodDefault<ZodObject<{ x: ZodDefault<ZodArray<ZodNumber>>; z: ZodDefault<ZodArray<ZodNumber>>; }, $strict>>; blocks: ZodTuple<[ZodNumber, ZodNumber], null>; blockSize: ZodDefault<ZodNumber>; climate: ZodOptional<ZodEnum<{ alpine: "alpine"; autumn: "autumn"; coast: "coast"; desert: "desert"; farmland: "farmland"; forest: "forest"; meadow: "meadow"; none: "none"; steppe: "steppe"; temperate: "temperate"; }>>; clock: ZodOptional<ZodObject<{ pace: ZodDefault<ZodNumber>; start: ZodDefault<ZodString>; }, $strict>>; compounds: ZodDefault<ZodArray<ZodObject<{ block: ZodTuple<[ZodNumber, ZodNumber], null>; delivery: ZodOptional<ZodEnum<{ east: ...; north: ...; south: ...; west: ...; }>>; gap: ZodOptional<ZodEnum<{ east: ...; north: ...; south: ...; west: ...; }>>; gate: ZodEnum<{ east: "east"; north: "north"; south: "south"; west: "west"; }>; name: ZodString; roof: ZodDefault<ZodBoolean>; security: ZodDefault<ZodEnum<{ high: ...; low: ...; medium: ...; }>>; theme: ZodOptional<ZodEnum<{[key: ...]: ...; }>>; title: ZodOptional<ZodString>; }, $strict>>>; districts: ZodDefault<ZodArray<ZodPipe<ZodObject<{ blocks: ZodDefault<ZodArray<...>>; density: ZodOptional<ZodObject<..., ...>>; landmarks: ZodOptional<ZodArray<...>>; landuse: ZodOptional<ZodEnum<...>>; mix: ZodOptional<ZodRecord<..., ...>>; name: ZodString; theme: ZodOptional<ZodEnum<...>>; title: ZodOptional<ZodString>; }, $strict>, ZodTransform<object & object, { blocks: [..., ...][]; density?: { built?: ...; height?: ...; setback?: ...; }; landmarks?: ...[]; landuse?: "residential" | "farm" | "industrial" | "leisure" | "civic" | "commercial" | "retail"; mix?: Record<..., ...>; name: string; theme?: string; title?: string; }>>>>; dressing: ZodDefault<ZodEnum<{ lived-in: "lived-in"; none: "none"; }>>; name: ZodString; parks: ZodDefault<ZodArray<ZodTuple<[ZodNumber, ZodNumber], null>>>; props: ZodDefault<ZodObject<{ hydrants: ZodDefault<ZodBoolean>; lamps: ZodDefault<ZodBoolean>; trafficLights: ZodDefault<ZodBoolean>; trees: ZodDefault<ZodBoolean>; }, $strict>>; seed: ZodDefault<ZodNumber>; streetWidth: ZodDefault<ZodNumber>; template: ZodLiteral<"grid-town">; }, $strict>, ZodObject<{ base: ZodDefault<ZodNumber>; biome: ZodDefault<ZodEnum<{ alpine: "alpine"; autumn: "autumn"; coast: "coast"; desert: "desert"; farmland: "farmland"; forest: "forest"; meadow: "meadow"; steppe: "steppe"; }>>; climate: ZodOptional<ZodEnum<{ alpine: "alpine"; autumn: "autumn"; coast: "coast"; desert: "desert"; farmland: "farmland"; forest: "forest"; meadow: "meadow"; none: "none"; steppe: "steppe"; temperate: "temperate"; }>>; clock: ZodOptional<ZodObject<{ pace: ZodDefault<ZodNumber>; start: ZodDefault<ZodString>; }, $strict>>; details: ZodDefault<ZodEnum<{ plain: "plain"; rich: "rich"; }>>; features: ZodDefault<ZodArray<ZodDiscriminatedUnion<[ZodObject<{ at: ZodTuple<..., ...>; kind: ZodLiteral<...>; level: ZodNumber; lighthouse: ZodOptional<...>; name: ZodOptional<...>; radius: ZodOptional<...>; steep: ZodOptional<...>; }, $strict>, ZodObject<{ at: ZodTuple<..., ...>; kind: ZodLiteral<...>; level: ZodNumber; name: ZodOptional<...>; radius: ZodOptional<...>; }, $strict>, ZodObject<{ at: ZodTuple<..., ...>; kind: ZodLiteral<...>; level: ZodNumber; name: ZodOptional<...>; size: ZodTuple<..., ...>; }, $strict>], "kind">>>; landuse: ZodDefault<ZodArray<ZodObject<{ at: ZodTuple<[ZodNumber, ZodNumber], null>; kind: ZodEnum<{ allotments: "allotments"; campsite: "campsite"; cemetery: "cemetery"; farmland: "farmland"; forest: "forest"; heath: "heath"; meadow: "meadow"; orchard: "orchard"; park: "park"; quarry: "quarry"; vineyard: "vineyard"; wetland: "wetland"; }>; name: ZodOptional<ZodString>; size: ZodTuple<[ZodNumber, ZodNumber], null>; }, $strict>>>; name: ZodString; props: ZodDefault<ZodObject<{ rocks: ZodDefault<ZodBoolean>; trees: ZodDefault<ZodBoolean>; }, $strict>>; roads: ZodDefault<ZodArray<ZodObject<{ class: ZodEnum<{ avenue: "avenue"; country: "country"; highway: "highway"; lane: "lane"; street: "street"; track: "track"; }>; from: ZodUnion<readonly [ZodEnum<...>, ZodTuple<..., ...>, ZodString]>; name: ZodOptional<ZodString>; to: ZodUnion<readonly [ZodEnum<...>, ZodTuple<..., ...>, ZodString]>; tunnels: ZodOptional<ZodEnum<{ auto: ...; never: ...; }>>; via: ZodOptional<ZodArray<ZodTuple<..., ...>>>; }, $strict>>>; seed: ZodDefault<ZodNumber>; size: ZodTuple<[ZodNumber, ZodNumber], null>; start: ZodOptional<ZodString>; template: ZodLiteral<"region">; towns: ZodDefault<ZodArray<ZodObject<{ at: ZodTuple<[ZodNumber, ZodNumber], null>; avenues: ZodDefault<ZodObject<{ x: ...; z: ...; }, $strict>>; blocks: ZodTuple<[ZodNumber, ZodNumber], null>; blockTiles: ZodDefault<ZodUnion<readonly [..., ...]>>; districts: ZodDefault<ZodArray<ZodPipe<..., ...>>>; dressing: ZodDefault<ZodEnum<{ lived-in: ...; none: ...; }>>; name: ZodString; parks: ZodDefault<ZodArray<ZodTuple<..., ...>>>; props: ZodDefault<ZodObject<{ hydrants: ...; lamps: ...; trafficLights: ...; trees: ...; }, $strict>>; streetWidth: ZodDefault<ZodNumber>; }, $strict>>>; }, $strict>, ZodObject<{ climate: ZodOptional<ZodEnum<{ alpine: "alpine"; autumn: "autumn"; coast: "coast"; desert: "desert"; farmland: "farmland"; forest: "forest"; meadow: "meadow"; none: "none"; steppe: "steppe"; temperate: "temperate"; }>>; clock: ZodOptional<ZodObject<{ pace: ZodDefault<ZodNumber>; start: ZodDefault<ZodString>; }, $strict>>; districts: ZodArray<ZodObject<{ area: ZodOptional<ZodUnion<readonly [ZodUnion<...>, ZodArray<...>]>>; at: ZodOptional<ZodUnion<readonly [ZodTuple<..., ...>, ZodObject<..., ...>, ZodObject<..., ...>, ZodObject<..., ...>, ZodObject<..., ...>]>>; landmarks: ZodOptional<ZodArray<ZodString>>; name: ZodString; style: ZodEnum<{ civic: "civic"; docks: "docks"; financial: "financial"; garden-suburb: "garden-suburb"; high-street: "high-street"; hillside: "hillside"; midtown: "midtown"; old-town: "old-town"; parkland: "parkland"; suburb: "suburb"; townhouses: "townhouses"; waterfront: "waterfront"; works: "works"; }>; title: ZodOptional<ZodString>; }, $strict>>; grids: ZodDefault<ZodArray<ZodObject<{ bearing: ZodDefault<ZodNumber>; class: ZodDefault<ZodEnum<{ avenue: ...; boulevard: ...; lane: ...; one-way: ...; parkway: ...; street: ...; }>>; name: ZodString; origin: ZodUnion<readonly [ZodTuple<..., ...>, ZodObject<..., ...>, ZodObject<..., ...>, ZodObject<..., ...>, ZodObject<..., ...>]>; u: ZodDefault<ZodArray<ZodUnion<...>>>; v: ZodDefault<ZodArray<ZodUnion<...>>>; }, $strict>>>; hills: ZodDefault<ZodArray<ZodObject<{ at: ZodUnion<readonly [ZodTuple<..., ...>, ZodObject<..., ...>, ZodObject<..., ...>, ZodObject<..., ...>, ZodObject<..., ...>]>; height: ZodNumber; name: ZodString; reach: ZodNumber; }, $strict>>>; name: ZodString; parks: ZodDefault<ZodArray<ZodObject<{ area: ZodUnion<readonly [ZodObject<..., ...>, ZodObject<..., ...>, ZodObject<..., ...>, ZodObject<..., ...>]>; kind: ZodDefault<ZodEnum<{ green: ...; park: ...; square: ...; }>>; name: ZodString; }, $strict>>>; places: ZodDefault<ZodArray<ZodObject<{ at: ZodUnion<readonly [ZodTuple<..., ...>, ZodObject<..., ...>, ZodObject<..., ...>, ZodObject<..., ...>, ZodObject<..., ...>]>; name: ZodString; }, $strict>>>; roads: ZodDefault<ZodArray<ZodObject<{ arriving: ZodOptional<ZodNumber>; boundary: ZodDefault<ZodBoolean>; class: ZodEnum<{ avenue: "avenue"; boulevard: "boulevard"; lane: "lane"; one-way: "one-way"; parkway: "parkway"; street: "street"; }>; closed: ZodDefault<ZodBoolean>; cycle: ZodDefault<ZodBoolean>; from: ZodOptional<ZodUnion<readonly [..., ..., ..., ..., ..., ...]>>; leaving: ZodOptional<ZodNumber>; line: ZodDefault<ZodEnum<{ eased: ...; rounded: ...; spline: ...; straight: ...; }>>; name: ZodString; radius: ZodOptional<ZodUnion<readonly [..., ...]>>; step: ZodOptional<ZodNumber>; through: ZodDefault<ZodArray<ZodUnion<...>>>; to: ZodOptional<ZodUnion<readonly [..., ..., ..., ..., ..., ...]>>; turningCircle: ZodDefault<ZodBoolean>; }, $strict>>>; roundabouts: ZodDefault<ZodArray<ZodObject<{ arms: ZodArray<ZodUnion<readonly [..., ...]>>; at: ZodUnion<readonly [ZodTuple<..., ...>, ZodObject<..., ...>, ZodObject<..., ...>, ZodObject<..., ...>, ZodObject<..., ...>]>; island: ZodDefault<ZodEnum<{ green: ...; market: ...; plain: ...; }>>; lanes: ZodDefault<ZodUnion<readonly [..., ...]>>; name: ZodString; radius: ZodDefault<ZodNumber>; }, $strict>>>; seed: ZodDefault<ZodNumber>; size: ZodDefault<ZodNumber>; spawn: ZodObject<{ near: ZodOptional<ZodUnion<readonly [ZodTuple<[..., ...], null>, ZodObject<{ at: ...; grid: ...; }, $strict>, ZodObject<{ arm: ...; roundabout: ...; }, $strict>, ZodObject<{ at: ...; road: ...; }, $strict>, ZodObject<{ hill: ...; }, $strict>]>>; road: ZodString; }, $strict>; template: ZodLiteral<"city">; water: ZodDefault<ZodArray<ZodObject<{ name: ZodDefault<ZodString>; through: ZodArray<ZodUnion<readonly [..., ..., ..., ..., ...]>>; widen: ZodOptional<ZodObject<{ from: ...; to: ...; width: ...; }, $strict>>; width: ZodDefault<ZodNumber>; }, $strict>>>; }, $strict>], "template">

Defined in: packages/catalogue/src/level-spec.ts:246

A level spec: a union on template (grid-town, region, city).