cards
The five full-screen cards of HOLLOWBELL: the title, the how-to-play handbill, the pause card, and the two endings.
cards
The five full-screen cards of HOLLOWBELL: the title, the how-to-play handbill, the pause card, and the two endings.
A card is a pure function of three things — the metrics, the focused row and the
device in the player's hand — so the same three always draw the same picture.
Every row it draws carries onClick, which is what a mouse click and a finger
tap fire; the focus ring says which row a pad's Confirm would fire.
local Cards = require("presentation.cards")
local ctx = { m = T.metrics(touch), focus = Focus.id(), surface = "gamepad", pad = padLabel, anim = true }
ui.updateScreen("hollow.card", Cards.title(ctx))
| Call | Rows | Notes |
|---|---|---|
title(ctx) | play, howto | The bell hangs over the wordmark and sways on its own clock. |
howto(ctx) | back | Names each control for the device in hand — ctx.surface picks the column, and ctx.pad resolves a pad button to the glyph that pad prints. |
pause(ctx) | resume, restart, quit | Carries the run so far. |
death(ctx) / victory(ctx) | restart, quit | Each shows the written form of the line spoken over it, so the line survives a muted player or a failed generation. |
ctx.anim is true on the build a card OPENS with and false on every rebuild
after it: re-declaring a keyframe animation on a node restarts it, so the
entrance rides the opening build alone and the rows settle where they land.
Scoped to this part · feeds back into the world's score.