lab(text: string, style: any, id: string?) → any
| arg | type | description |
|---|
| text | string | |
| style | any | |
| id | string? | |
wrapLab(text: string, style: any) → any
| arg | type | description |
|---|
| text | string | |
| style | any | |
vbox(style: any, children: { any }, id: string?) → any
| arg | type | description |
|---|
| style | any | |
| children | { any } | |
| id | string? | |
hbox(style: any, children: { any }, id: string?) → any
| arg | type | description |
|---|
| style | any | |
| children | { any } | |
| id | string? | |
merge(a: any, b: any?) → any
| arg | type | description |
|---|
| a | any | |
| b | any? | |
btn(id: string, text: string, cb: string, w: number, h: number, style: any?) → any
| arg | type | description |
|---|
| id | string | |
| text | string | |
| cb | string | |
| w | number | |
| h | number | |
| style | any? | |
ghostBtn(id: string, text: string, cb: string, w: number, h: number) → any
| arg | type | description |
|---|
| id | string | |
| text | string | |
| cb | string | |
| w | number | |
| h | number | |
entrance(dur: number, delay: number, from: any) → any
An entrance holds its FIRST keyframe until the delay elapses (fill = "both"),
and edit mode does not advance animation time — so a keyframe at opacity 0
makes the node permanently invisible whenever the engine is not playing.
Everything here animates transform, and never fades from nothing.
| arg | type | description |
|---|
| dur | number | |
| delay | number | |
| from | any | |
titleTree( ) → any
═══════════════════════════════════════════════════════════════════════════
TITLE — the arcade logo slammed over the lane at dusk.
═══════════════════════════════════════════════════════════════════════════
menuRow(left: string, right: string, i: number) → any
| arg | type | description |
|---|
| left | string | |
| right | string | |
| i | number | |
subTree( ) → any
═══════════════════════════════════════════════════════════════════════════
SUBTITLE — every spoken line, printed. A line survives a failed generation,
a muted player and a noisy room only if it is on the glass as well.
═══════════════════════════════════════════════════════════════════════════
bannerTree( ) → any
═══════════════════════════════════════════════════════════════════════════
BANNER — the arcade mission title, slammed on.
═══════════════════════════════════════════════════════════════════════════
phoneShell(w: number, h: number) → any
| arg | type | description |
|---|
| w | number | |
| h | number | |
pauseTree( ) → any
═══════════════════════════════════════════════════════════════════════════
PAUSE
═══════════════════════════════════════════════════════════════════════════
endTree( ) → any
═══════════════════════════════════════════════════════════════════════════
END CARDS
═══════════════════════════════════════════════════════════════════════════
photoTree( ) → any
═══════════════════════════════════════════════════════════════════════════
PHOTO MODE — the HUD steps out of the way and the frame gets its brackets.
═══════════════════════════════════════════════════════════════════════════
bracket(x: number, y: number, dx: number, dy: number) → void
| arg | type | description |
|---|
| x | number | |
| y | number | |
| dx | number | |
| dy | number | |
show(name: string) → void
═══════════════════════════════════════════════════════════════════════════
Screen traffic
═══════════════════════════════════════════════════════════════════════════
| arg | type | description |
|---|
| name | string | |
hide(name: string) → void
| arg | type | description |
|---|
| name | string | |
applyVisibility( ) → void
setObjective(text: string, x: number?, z: number?) → void
═══════════════════════════════════════════════════════════════════════════
Public surface for the other slices
═══════════════════════════════════════════════════════════════════════════
| arg | type | description |
|---|
| text | string | |
| x | number? | |
| z | number? | |
setTimer(seconds: number?) → void
| arg | type | description |
|---|
| seconds | number? | |
say(who: string?, text: string, seconds: number?) → void
| arg | type | description |
|---|
| who | string? | |
| text | string | |
| seconds | number? | |
banner(title: string, sub: string?, kicker: string?, tone: string?) → void
| arg | type | description |
|---|
| title | string | |
| sub | string? | |
| kicker | string? | |
| tone | string? | |
setPhoneEntries(list: any) → void
| arg | type | description |
|---|
| list | any | |
showEnd(kind: string) → void
| arg | type | description |
|---|
| kind | string | |
setPhone(on: boolean) → void
| arg | type | description |
|---|
| on | boolean | |
setPhoto(on: boolean) → void
| arg | type | description |
|---|
| on | boolean | |
setPaused(on: boolean) → void
| arg | type | description |
|---|
| on | boolean | |
setPage(page: string) → void
| arg | type | description |
|---|
| page | string | |
beginGame( ) → void
═══════════════════════════════════════════════════════════════════════════
Callbacks — a module is not a persistent callback owner on its own, so each
screen gets its own environment pointing back here.
═══════════════════════════════════════════════════════════════════════════
onCallback(id: string, _data: any) → void
| arg | type | description |
|---|
| id | string | |
| _data | any | |
resolvePlayer( ) → any
═══════════════════════════════════════════════════════════════════════════
Reading the world without reaching into another slice
═══════════════════════════════════════════════════════════════════════════
subscribe( ) → void
═══════════════════════════════════════════════════════════════════════════
build / update
═══════════════════════════════════════════════════════════════════════════
update(dt: number) → void
| arg | type | description |
|---|
| dt | number | |