Blockbuster 767
README.md
art
The drawn things on BLOCKBUSTER 767's screens, as inline SVG. Every function
returns a document string for an svg widget's svg prop.
local Art = require("game.ui.art")
{ type = "svg", props = { svg = Art.toyPlane(-13) }, style = { width = 300, height = 300 } }
toyPlane(tilt) | The hero mark: the toy 767 from above — moulded fuselage, swept wings, two underslung engines with fan faces, tailplane, fin, livery stripe, window rows and the wind-up key on the tail. |
windKey(wound) | The key alone, gold when wound and dulled when spent. The planes-left pips and the Kid's name tag use it. |
skyline(flattened) | A strip of the wooden city. Towers past the flattened share are drawn lying on their sides, so the end card's strip reads as the damage done. |
star(earned) | One rating star, filled or an empty outline. |
part(name, intact) | An airframe part — leftWing, rightWing, leftEngine, rightEngine, tail — struck through in crayon when it has snapped off. |
trimDial(heading, range) | The wind-up phase's heading dial. |
boostMark(on) / diveMark(on) | The two throttle marks. |
chainMark() | The flame on the multiplier chip. |
caret() | The mark beside the lit menu row. |
toppleMark() / shoveMark() / fallingBlock() | The three marks on the wreck tally's rows. |
Nothing here reads game state: a caller passes what it wants drawn and gets markup back, so one glyph serves a card, the HUD and a hint line at whatever size the box gives it.
Two things worth knowing before editing one:
- A document is assembled as a table of LINES joined with newlines. A Luau interpolated string is one line only, so a multi-line document written as a single backtick literal does not parse.
- An
svgwidget letterboxes its document inside its box. A wide document in a tall box leaves air on both sides, so a caller that wants the drawing to fill the box gives the box the document's own proportion.