emberline.ui.art — the drawn parts of the cabinet.
Everything here is inline SVG: the four cut-in portrait busts, the Kessai
skyline the title and ending sit on, the motion-input diagrams the how-to
card teaches from, and the small ornaments (the Ember itself, round pips,
corner brackets, the marquee grille).
SVG rather than bitmaps because the `svg` widget rasterises at the
element's display resolution, so one authored document is crisp on a
1280-wide logical canvas rendered at 2560 physical pixels, and because a
vector bust can be re-tinted per fighter without a second file.
rng(seed: number) → void
The skyline's windows, ash and grime must land in the same place every
frame or the backdrop shimmers. A tiny LCG keyed off a seed gives a
painted-once look from generated geometry.
| arg | type | description |
|---|
| seed | number | |
fmt(t: { string }) → string
| arg | type | description |
|---|
| t | { string } | |
backdrop(a: string, b: string, hatch: string) → string
═══════════════════════════════════════════════════════════════════════
Portrait busts
═══════════════════════════════════════════════════════════════════════
Each is a 200x240 document: backdrop, silhouette, then the pass that makes
it a made thing — rim light on the ember side, a hard ink outline, and one
detail that is only that character's (Mag's goggles, Kite's scarf, Bell's
lit shoulder, the Warden's lantern).
| arg | type | description |
|---|
| a | string | |
| b | string | |
| hatch | string | |
portrait(id: string) → string
The cut-in / select-screen bust for a fighter id. Cached: the string is
stable, so the renderer's raster cache keeps it instead of re-rasterising
a 200x240 document every frame the tree is pushed.
| arg | type | description |
|---|
| id | string | |
hasPortrait(id: string) → boolean
| arg | type | description |
|---|
| id | string | |
skyline(seed: number?) → string
═══════════════════════════════════════════════════════════════════════
Kessai — the city the title and the ending sit on
═══════════════════════════════════════════════════════════════════════
A painted skyline: smog gradient, three depths of tower, a lit viaduct
with the last train on it, chimneys and sodium windows. `seed` fixes the
window pattern so the image never shimmers between frames.
| arg | type | description |
|---|
| seed | number? | |
skylineCached( ) → string
ember(hot: boolean?) → string
═══════════════════════════════════════════════════════════════════════
Ornaments
═══════════════════════════════════════════════════════════════════════
The Ember itself: one fragment of furnace-light. Used on the title, the
win card and the round pips.
| arg | type | description |
|---|
| hot | boolean? | |
pip(won: boolean) → string
A round-win pip: a filled diamond when won, a hollow socket when not.
| arg | type | description |
|---|
| won | boolean | |
motion(kind: string) → string
| arg | type | description |
|---|
| kind | string | |
bracket(flipX: boolean, flipY: boolean) → string
A corner bracket ornament: two lit edges, the cabinet motif.
| arg | type | description |
|---|
| flipX | boolean | |
| flipY | boolean | |
ticks(count: number) → string
Horizontal ticks for a gauge: the segment marks on the super bar.
| arg | type | description |
|---|
| count | number | |