hud
The two flank columns of ANVIL CROWN. There is no wide bar anywhere: the tall frame is the game, so the readouts run down the sides of the shaft and leave the fight in the middle of the screen alone.
hud — the column HUD
The two flank columns of ANVIL CROWN. There is no wide bar anywhere: the tall frame is the game, so the readouts run down the sides of the shaft and leave the fight in the middle of the screen alone.
local Hud = require("game.interface.hud")
Hud.tree(Ink.metrics()) -- the widget tree for this frame
deck calls Hud.tree about thirty times a second and hands the result to
ui.updateScreen.
Left flank — the climb
- The altitude plate. The one number read most, struck in the display numeral face and widened past the column so it stays legible on a narrow flank. Under it, the whole 3000 m climb as one hairline.
- The tape. A rung per 100 m with the hundreds called out, the band boundaries marked in the warning yellow, the Crown's ceiling in amber, and a lit cursor at the runner's altitude with a wedge biting in from the shaft side. The storm scrolls it.
- The air. Climb rate with an arrow that flips and changes colour on a downdraught, and the crosswind vane — the whole lesson of the wind in one needle.
- The band chip. SHELF / CORE / ANVIL.
Once the fight at the ceiling starts, the tape gives way to the Crown's integrity column: the climb is over, so the flank reads the thing being killed, with the phase boundaries cut across it.
Right flank — the airframe
- Heat. The cannon's bar in a tube, drawn against the red lockout line at the top and the release line it has to fall back to. Locked, the plate goes red and strobes and the word under it reads LOCKED instead of READY.
- Hull. Ten plate segments that burn off from the top down, colour going bright → warning yellow → alarm, with the whole plate glowing when the hull is critical.
- Score and kills, and the pause control at the top of the column.
Notes
Hud.crownFight() is the one gate that decides whether the left flank shows
the tape or the Crown: it wants the CROWN phase, not merely a living Crown —
crownAlive still reads true after the kill, and the tape is what the player
needs everywhere else.
Scoped to this part · feeds back into the world's score.