game.club.venue — The Banana Split: a cartoon burlesque club ("LIVE PEEL
SHOW") in the gap the district leaves in the right-hand block of the Peel
Kabuki street (x 9..29, z 69..83; see game.club.layout).
OWNED BY THE CLUB SLICE. Placed once by scenes/main.scene/build.luau under
`mount_city`, beside the district.
Static geometry is batched per material key and written as one mesh per
key, the same way game.city.district does it. What moves (the dancers, the
mirror ball, the stage spots) is spawned under `life` with unique `club_*`
names and driven by the game.club.ClubShow component on the club root.
rgba(c: { number }, k: number?) → void
| arg | type | description |
|---|
| c | { number } | |
| k | number? | |
grey(v: number) → void
| arg | type | description |
|---|
| v | number | |
pbr(props: any, textures: any?, render: any?) → any
| arg | type | description |
|---|
| props | any | |
| textures | any? | |
| render | any? | |
T(n: string) → string return
| arg | type | description |
|---|
| n | string | |
newGeo( ) → any return
small geometry helpers
vtx(g: any, p: { number }, n: { number }, u: number, v: number) → number
| arg | type | description |
|---|
| g | any | |
| p | { number } | |
| n | { number } | |
| u | number | |
| v | number | |
norm3(v: { number }) → void
| arg | type | description |
|---|
| v | { number } | |
quad(g: any, a: { number }, b: { number }, c: { number }, d: { number }, na: { number }, nb: { number }?, nc: { number }?, nd: { number }?, uv: { number }?) → void
A quad a,b,c,d (in ring order) with per-corner normals; wound so its front
faces the normals whichever way the corners were listed.
| arg | type | description |
|---|
| g | any | |
| a | { number } | |
| b | { number } | |
| c | { number } | |
| d | { number } | |
| na | { number } | |
| nb | { number }? | |
| nc | { number }? | |
| nd | { number }? | |
| uv | { number }? | |
puck(x: number, z: number, y0: number, y1: number, r: number, cols: number?) → any
Closed puck (a cushion, a table top): a lathe with caps, soft edges.
| arg | type | description |
|---|
| x | number | |
| z | number | |
| y0 | number | |
| y1 | number | |
| r | number | |
| cols | number? | |
ellipsePlatform(cx: number, cz: number, rx: number, rz: number, a0: number, a1: number, n: number, y0: number, y1: number) → void
A platform whose plan is an elliptical arc (angles a0..a1 about cx,cz),
walls standing from y0 to y1. Returns top, wall, led band and gold trim.
| arg | type | description |
|---|
| cx | number | |
| cz | number | |
| rx | number | |
| rz | number | |
| a0 | number | |
| a1 | number | |
| n | number | |
| y0 | number | |
| y1 | number | |
at(a: number, off: number, y: number) → void
| arg | type | description |
|---|
| a | number | |
| off | number | |
| y | number | |
nrm(a: number) → void
| arg | type | description |
|---|
| a | number | |
pleats(xb: number, s: number, z0: number, z1: number, y0: number, y1: number, depth: number, period: number) → any
A pleated curtain on the plane x = xb, facing `s` (+1 = +x, -1 = -x),
from z0 to z1 and y0 to y1, folds `depth` deep every `period` metres.
| arg | type | description |
|---|
| xb | number | |
| s | number | |
| z0 | number | |
| z1 | number | |
| y0 | number | |
| y1 | number | |
| depth | number | |
| period | number | |
arcWall(cx: number, cz: number, r0: number, r1: number, y0: number, y1: number, aMid: number, span: number, n: number) → any
Wall of a tub chair: an arc of ring between radii r0..r1 around `aMid`.
| arg | type | description |
|---|
| cx | number | |
| cz | number | |
| r0 | number | |
| r1 | number | |
| y0 | number | |
| y1 | number | |
| aMid | number | |
| span | number | |
| n | number | |
P(r: number, c: number, s: number, y: number) → void
| arg | type | description |
|---|
| r | number | |
| c | number | |
| s | number | |
| y | number | |
facetBall(r: number, rows: number, cols: number) → any
Faceted mirror ball, flat facet normals.
| arg | type | description |
|---|
| r | number | |
| rows | number | |
| cols | number | |
P(p: number, t: number) → void
| arg | type | description |
|---|
| p | number | |
| t | number | |
bottle(x: number, y: number, z: number, h: number) → any
A bottle standing at its base.
| arg | type | description |
|---|
| x | number | |
| y | number | |
| z | number | |
| h | number | |
rr(a: number, b: number) → number return a
| arg | type | description |
|---|
| a | number | |
| b | number | |
getMat(key: string) → any
| arg | type | description |
|---|
| key | string | |
add(key: string, g: any) → void
| arg | type | description |
|---|
| key | string | |
| g | any | |
box(key: string, x0: number, y0: number, z0: number, x1: number, y1: number, z1: number, tu: number?, tv: number?, skip: any?) → void
| arg | type | description |
|---|
| key | string | |
| x0 | number | |
| y0 | number | |
| z0 | number | |
| x1 | number | |
| y1 | number | |
| z1 | number | |
| tu | number? | |
| tv | number? | |
| skip | any? | |
collider(x0: number, y0: number, z0: number, x1: number, y1: number, z1: number) → void
| arg | type | description |
|---|
| x0 | number | |
| y0 | number | |
| z0 | number | |
| x1 | number | |
| y1 | number | |
| z1 | number | |
light(name: string, x: number, y: number, z: number, c: { number }, intensity: number, radius: number) → void
| arg | type | description |
|---|
| name | string | |
| x | number | |
| y | number | |
| z | number | |
| c | { number } | |
| intensity | number | |
| radius | number | |
spans(w: any, ya: number) → void
| arg | type | description |
|---|
| w | any | |
| ya | number | |
band(w: any, ya: number, yb: number, key: string, tu: number, tv: number) → void
| arg | type | description |
|---|
| w | any | |
| ya | number | |
| yb | number | |
| key | string | |
| tu | number | |
| tv | number | |
ledge(w: any, ya: number, yb: number, d0: number, d1: number, key: string) → void
| arg | type | description |
|---|
| w | any | |
| ya | number | |
| yb | number | |
| d0 | number | |
| d1 | number | |
| key | string | |
table_(x: number, z: number) → void
| arg | type | description |
|---|
| x | number | |
| z | number | |
tubChair(x: number, z: number, faceX: number, faceZ: number) → void
| arg | type | description |
|---|
| x | number | |
| z | number | |
| faceX | number | |
| faceZ | number | |