lwscreens
The authored screens of *First Light: Luteway*, as trees. `local S = require("luteway.screens.lwscreens")`.
lwscreens
The authored screens of First Light: Luteway, as trees.
local S = require("luteway.screens.lwscreens").
Every function takes the view model Screens.component builds and returns a
widget tree. Nothing here registers a screen, reads a control or touches the
world: this file is the picture, the component is the projector.
The screens
| Call | What it is |
|---|---|
S.title(m) | the title card: the rockhopper mark, FIRST LIGHT / LUTEWAY, the premise, Climb and How to Play |
S.howto(m) | the field page: the lute scale, the three figures, and the control table for the family in the player's hands |
S.pause(m) | the pause card: height, time, hops and lute, then Resume / How to Play / Start Over / Title Card |
S.endCard(m) | first light, or the sea — chosen from m.phase |
S.hud(m) | the heads-up display |
S.card(m) | dispatches on m.card |
S.familyName(device), S.menuHint(device), S.clock(seconds) and
S.metres(y) are the small readings the component and the cards share.
The view model
{ card, phase, device, padLabels, items, focusId, height, top, time, hops, sticky, tideY, lightY }. items is the card's lines
({ id, label, hint, danger?, big? }) and focusId is the one carrying the
ring.
Shape
The cards are one centred column, because the game films at 1080x1440 and
a tall frame has no room for two — except the how-to page, which folds into two
columns when lwui.portrait() is false, so it never runs off the bottom of a
laptop.
The HUD is two vertical rails down the LEFT edge with the readout above them and the pause pip opposite:
- the height and the dawn clock, top left, on their own dark ground;
- the lute gauge — a vertical capsule filling with ochre as the feet cake, ruled across at the stickiness where ice starts holding and at the stickiness where the wall does, with a foot glyph above it showing the same value;
- the cliff rail — the whole run at a glance: the sea rising from the bottom, the first light coming down from the crest, and a crest diamond where the penguin is;
- the pause pip, top right, a real tap target;
- the sea warning, low and centred, once the tide is within a few units of the feet.
Nothing spans the frame, and nothing sits in the band on the right where the engine draws the touch controls.
Scoped to this part · feeds back into the world's score.