cf_atlas
One-paragraph description of what this module provides and who consumes it.
[name]
One-paragraph description of what this module provides and who consumes it.
Exports
M.exampleFn(arg) -> result— what it does and when to call it.M.exampleValue: type— what value it carries.
Usage
local M = require("@<youridentity>::modules.[name]")
M.exampleFn("foo")
Notes
- Anything callers need to know about THIS module: required runtime ordering, state ownership, side effects.
Interface
What this asset declares: the schema it conforms to, what it exposes, and the rendered structured payload.
conforms to
zero/source-extract/v2Every texture COINFALL wears, hand-painted at 128px in the sodium orange / CRT cyan / black palette. Three 4x4 atlases -- the hall, the cabinets, the pusher field -- so the whole game runs on three textures, the way a disc-budgeted 1998 title had to.
uv(cx: number, cy: number) → void
UV rect for atlas cell (cx, cy). The one function every model calls to address a patch of paint.
| arg | type | description |
|---|---|---|
| cx | number | |
| cy | number |
uvTiled(cx: number, cy: number, tu: number, tv: number) → void
UV rect for cell (cx, cy) repeated `tu` x `tv` times -- long walls and floors tile one cell instead of stretching it.
| arg | type | description |
|---|---|---|
| cx | number | |
| cy | number | |
| tu | number | |
| tv | number |
px(cx: number, cy: number) → void
| arg | type | description |
|---|---|---|
| cx | number | |
| cy | number |
carpet(c: ?, x: ?, y: ?, rng: ?, wear: number) → void
A worn carpet tile: the diamond-pattern arcade carpet, sun-bleached in the lanes people walked and black where nobody did.
| arg | type | description |
|---|---|---|
| c | ? | |
| x | ? | |
| y | ? | |
| rng | ? | |
| wear | number |
wall(c: ?, x: ?, y: ?, rng: ?, damage: number) → void
Painted breeze block: horizontal courses, water damage, a sodium wash from the lamps that still work.
| arg | type | description |
|---|---|---|
| c | ? | |
| x | ? | |
| y | ? | |
| rng | ? | |
| damage | number |
ceiling(c: ?, x: ?, y: ?, rng: ?) → void
Suspended acoustic ceiling tile, stained brown where the roof leaks.
| arg | type | description |
|---|---|---|
| c | ? | |
| x | ? | |
| y | ? | |
| rng | ? |
sideArt(c: ?, x: ?, y: ?, rng: ?, hot: ?, cold: ?) → void
Cabinet side art: the arcade's house colours, screenprinted and scuffed.
| arg | type | description |
|---|---|---|
| c | ? | |
| x | ? | |
| y | ? | |
| rng | ? | |
| hot | ? | |
| cold | ? |
liveScreen(c: ?, x: ?, y: ?, rng: ?) → void
A live CRT face: cyan raster, scan gaps, a hot centre.
| arg | type | description |
|---|---|---|
| c | ? | |
| x | ? | |
| y | ? | |
| rng | ? |
deadScreen(c: ?, x: ?, y: ?, rng: ?) → void
A dead CRT face: black glass with one weak reflection of the hall lamps.
| arg | type | description |
|---|---|---|
| c | ? | |
| x | ? | |
| y | ? | |
| rng | ? |
steelPlate(c: ?, x: ?, y: ?, rng: ?, base: ?, scored: boolean) → void
A milled steel plate: the shelf, the arm face, the coin door.
| arg | type | description |
|---|---|---|
| c | ? | |
| x | ? | |
| y | ? | |
| rng | ? | |
| base | ? | |
| scored | boolean |
coinFace(c: ?, x: ?, y: ?, rng: ?) → void
A struck coin: milled rim, a blank sun in relief, worn to nothing on top.
| arg | type | description |
|---|---|---|
| c | ? | |
| x | ? | |
| y | ? | |
| rng | ? |
relicFace(c: ?, x: ?, y: ?, rng: ?) → void
A relic token: cyan sigil on cold metal, unmistakably not a coin.
| arg | type | description |
|---|---|---|
| c | ? | |
| x | ? | |
| y | ? | |
| rng | ? |
ledPanel(c: ?, x: ?, y: ?, rng: ?) → void
A segmented LED readout, the only clean thing in the building.
| arg | type | description |
|---|---|---|
| c | ? | |
| x | ? | |
| y | ? | |
| rng | ? |
buildHall( ) → void
buildCab( ) → void
Every machine, cabinet and the change booth reads from this ONE sheet. A mesh wears exactly one material, so a model that needed a cell from two atlases could not be drawn -- the layout below is chosen so no model ever has to.
buildField( ) → void
at(cell: ?) → void
UV rect from a named cell in one of the tables above.
| arg | type | description |
|---|---|---|
| cell | ? |
tile(cell: ?, tu: number, tv: number) → void
UV rect from a named cell, tiled `tu` x `tv` across the surface.
| arg | type | description |
|---|---|---|
| cell | ? | |
| tu | number | |
| tv | number |
specs( ) → void
Paint all three atlases and return them as name -> raw-pixel payload. The caller mints the `.texture` assets; this module only paints.
Sub-parts
Everything contained inside this part. Assets are composite children (clickable cards). Files are leaf payloads. Expand any row to view its source.
Problems
Everything affecting this asset right now: its own problems, anything wrong inside it, and problems on its direct dependencies.
Inside
1 problem across 1 itemagent_score is exposed.+ quality × 0.35
+ performance × 0.25
± compat factor
Usability ratings
Did the part work as advertised when consumers tried to drop it in. Separate from upvotes: those are taste; this is "did it function".
Scoped to this part · feeds back into the world's score.