dist(a: { number }, b: { number }) → number
| arg | type | description |
|---|
| a | { number } | |
| b | { number } | |
spline(pts: { { number } }, step: number, closed: boolean) → void
uniform Catmull-Rom through pts, resampled to an even spacing near `step`
| arg | type | description |
|---|
| pts | { { number } } | |
| step | number | |
| closed | boolean | |
P(i: number) → void
| arg | type | description |
|---|
| i | number | |
c(a: number, b: number, cc: number, d: number) → number
| arg | type | description |
|---|
| a | number | |
| b | number | |
| cc | number | |
| d | number | |
inBounds(p: { number }) → boolean
| arg | type | description |
|---|
| p | { number } | |
finish(r: any, path: { { number } }, clip: boolean, clipZ: number?) → Road
| arg | type | description |
|---|
| r | any | |
| path | { { number } } | |
| clip | boolean | |
| clipZ | number? | |
road(id: string, name: string, RH: number, walk: number, pts: { { number } }, walk2: number?) → any
| arg | type | description |
|---|
| id | string | |
| name | string | |
| RH | number | |
| walk | number | |
| pts | { { number } } | |
| walk2 | number? | |
ckey(cx: number, cz: number) → number return
| arg | type | description |
|---|
| cx | number | |
| cz | number | |
makeIndex(list: { Road }) → void
| arg | type | description |
|---|
| list | { Road } | |
scan(idx: { [number]: { any } }, x: number, z: number, fn: (Road, number, number, number, number, number, number) → void
every segment near (x, z): calls fn(road, d, along, side, i, tx, tz)
| arg | type | description |
|---|
| idx | { [number]: { any } } | |
| x | number | |
| z | number | |
| fn | (Road, number, number, number, number, number, number | |
nearestRoad(x: number, z: number, skip: Road?) → void
The nearest road to (x, z) (skipping `skip`): road, distance, distance along
it, side (+1 / -1; side +1's normal is (-tz, tx)), and its tangent there.
| arg | type | description |
|---|
| x | number | |
| z | number | |
| skip | Road? | |
inAsphalt(x: number, z: number, skip: Road?, margin: number?) → Road
The road whose asphalt (widened by margin) covers (x, z), or nil.
| arg | type | description |
|---|
| x | number | |
| z | number | |
| skip | Road? | |
| margin | number? | |
clearance(x: number, z: number) → number
How far (x, z) stands outside the nearest road corridor (asphalt plus that
side's sidewalk): negative inside one, large when no road is near.
| arg | type | description |
|---|
| x | number | |
| z | number | |
highwayClearance(x: number, z: number) → number
How far (x, z) stands from the highway deck's edge.
| arg | type | description |
|---|
| x | number | |
| z | number | |
roadPoint(r: Road, along: number) → void
A point on a road: position, tangent and side +1's normal at `along`.
| arg | type | description |
|---|
| r | Road | |
| along | number | |
inRect(r: { number }, x: number, z: number) → boolean
| arg | type | description |
|---|
| r | { number } | |
| x | number | |
| z | number | |
inPlace(p: Place, x: number, z: number, grow: number) → boolean
| arg | type | description |
|---|
| p | Place | |
| x | number | |
| z | number | |
| grow | number | |
placeAt(x: number, z: number) → Place
The place standing at (x, z), or nil.
| arg | type | description |
|---|
| x | number | |
| z | number | |
buildable(x: number, z: number) → boolean
Whether the city may put a building at (x, z): not on a road, an alley, the
district, an open place, the promenade, the water, under the highway or
past the edge.
| arg | type | description |
|---|
| x | number | |
| z | number | |
insideCrescent(x: number, z: number) → boolean
Inside the Crescent's sweep (the old town and its two flanks).
| arg | type | description |
|---|
| x | number | |
| z | number | |
styleAt(x: number, z: number) → string
The building style for a lot at (x, z): "gold" around Gold Row, "edge" at
the city's rim, "low" in the docklands and the industrial south, "tall"
along the cliff and outside the Crescent, "mixed" in the old town.
| arg | type | description |
|---|
| x | number | |
| z | number | |
streetAt(x: number, z: number) → string
The name of the street or alley at (x, z), or nil.
| arg | type | description |
|---|
| x | number | |
| z | number | |