California gets roads, traffic, and a car to follow
This commit is contained in:
@@ -255,6 +255,37 @@ export interface Pin {
|
||||
blurb?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* A small, map-scale building drawn in place of a pin.
|
||||
*
|
||||
* This is deliberately a glyph rather than an architectural model. A city is
|
||||
* normally viewed from kilometres away, so loading a façade kit with one mesh
|
||||
* per window buys triangles nobody can see and gives up the one-draw-call city
|
||||
* that `blocks.ts` works hard to preserve. The glyph keeps the useful grammar
|
||||
* — a ground floor, repeated bays, a roof line and a deterministic silhouette
|
||||
* — and expresses it in a handful of procedural meshes.
|
||||
*
|
||||
* Metres are used here because these values describe a real building even
|
||||
* though the city scene does not: `World` converts horizontal metres with
|
||||
* `metresPerUnit` and vertical metres with the city's exaggeration.
|
||||
*/
|
||||
export interface BuildingGlyph {
|
||||
kind: "building";
|
||||
width: number;
|
||||
depth: number;
|
||||
height: number;
|
||||
/** Approximate occupied floors; used to choose the façade rhythm. */
|
||||
storeys: number;
|
||||
/** Compass bearing of local −Z, degrees clockwise from true north. */
|
||||
heading: number;
|
||||
/** The silhouette family, not a tenant or product category. */
|
||||
profile: "tower" | "hangar" | "courtyard" | "block";
|
||||
/** Stable variation for bay widths and lit panes. */
|
||||
seed?: number;
|
||||
/** Neutral shell colour. The marker palette still supplies the door/accent. */
|
||||
bodyColor?: number;
|
||||
}
|
||||
|
||||
/** A `Pin` placed on a city, in degrees. */
|
||||
export interface Marker extends Pin {
|
||||
lat: number;
|
||||
@@ -265,6 +296,8 @@ export interface Marker extends Pin {
|
||||
* is that it is real is worse than admitting the gap.
|
||||
*/
|
||||
located?: boolean;
|
||||
/** Optional map-scale representation. Omit it for the ordinary pin. */
|
||||
glyph?: BuildingGlyph;
|
||||
}
|
||||
|
||||
/** Caller-supplied `colorKey` -> colour. */
|
||||
|
||||
Reference in New Issue
Block a user