assets/ui/art.module — SCREENS slice: the drawn material of the interface.
Everything the UI is made of that is not layout: the palette translated out
of Game.PALETTE into CSS strings, the three type faces, and the SVG art the
screens are built on (the Ironspine silhouette, the reticle, the hold ring,
key caps, the mouse diagram, gauge arcs, wind vane, beacon ring).
Owned by the SCREENS agent. Nothing here reads or writes game state — it is
pure drawing, so a screen can call it while paused, in edit, or mid-fall.
b255(v: number) → number
| arg | type | description |
|---|
| v | number | |
rgba(c: ?, a: number) → void
| arg | type | description |
|---|
| c | ? | |
| a | number | |
mix(a: ?, b: ?, t: number) → void
| arg | type | description |
|---|
| a | ? | |
| b | ? | |
| t | number | |
grip(fraction: number) → string
Grip colour for a stamina fraction — the same ramp the suit and the world
use, so the HUD can never disagree with the fiction.
| arg | type | description |
|---|
| fraction | number | |
abs(l: ?, t: ?, w: ?, h: ?, extra: ?) → void
| arg | type | description |
|---|
| l | ? | |
| t | ? | |
| w | ? | |
| h | ? | |
| extra | ? | |
label(text: ?, style: ?) → void
| arg | type | description |
|---|
| text | ? | |
| style | ? | |
para(text: ?, style: ?, width: ?) → void
Paragraph text. A wrapping label must NOT carry its own width — the engine
collapses one that does to a glyph per line — so the measure goes on a
wrapper box and the label only carries type.
| arg | type | description |
|---|
| text | ? | |
| style | ? | |
| width | ? | |
svg(markup: ?, style: ?) → void
| arg | type | description |
|---|
| markup | ? | |
| style | ? | |
enter(fromStyle: ?, duration: number, delay: number) → void
One-shot entrance: hold the first frame through `delay`, then arrive.
| arg | type | description |
|---|
| fromStyle | ? | |
| duration | number | |
| delay | number | |
loop(frames: ?, duration: number, easing: string?, delay: number?) → void
| arg | type | description |
|---|
| frames | ? | |
| duration | number | |
| easing | string? | |
| delay | number? | |
rule(width: ?, colour: ?) → void
A hairline rule: the single most useful piece of chrome in the whole UI.
| arg | type | description |
|---|
| width | ? | |
| colour | ? | |
rng(seed: number) → void
═══════════════════════════════════════════════════════════════════════
SVG art
═══════════════════════════════════════════════════════════════════════
| arg | type | description |
|---|
| seed | number | |
buildTower( ) → string
The Ironspine itself, as a silhouette: a tapering stack of vertebrae with
ribs, discs, torn cabling and the dark Crown Beacon ring at the top. Drawn
once at load and cached — it is a fixed picture, not a live one.
add(s: string) → void
| arg | type | description |
|---|
| s | string | |
half(t: number) → number
half-width of the column at a height fraction: a hard taper with two
swells in it, so the silhouette is a spine and not a cone.
| arg | type | description |
|---|
| t | number | |
centre(t: number) → number
| arg | type | description |
|---|
| t | number | |
rib(sign: number, len: number, drop: number) → void
transverse processes: short, blunt, and not on every joint
| arg | type | description |
|---|
| sign | number | |
| len | number | |
| drop | number | |
keyCap(glyph: string, wide: boolean?) → void
A key cap is a styled box, not an SVG: the SVG rasterizer resolves its own
font list and does not see the faces registered with the engine, so glyphs
drawn inside SVG markup come out blank.
| arg | type | description |
|---|
| glyph | string | |
| wide | boolean? | |
mouseSVG(side: string?) → string
side = "left" | "right" | nil — lights the button being described.
| arg | type | description |
|---|
| side | string? | |
arcSVG(frac: number, colour: string, track: string) → string
A 240° arc gauge. Used for the beacon ignition charge.
| arg | type | description |
|---|
| frac | number | |
| colour | string | |
| track | string | |
pt(deg: number) → void
| arg | type | description |
|---|
| deg | number | |
windSVG(deg: number, strength: number) → string
A wind vane: an arrow rotated to a bearing, with a strength barb count.
| arg | type | description |
|---|
| deg | number | |
| strength | number | |
handSVG(closed: boolean) → string
A hand glyph, open or closed, for the grip plates.
| arg | type | description |
|---|
| closed | boolean | |