Public: anyone can read this; the crew can change it.
What the sea looks like, decided once: three doors are about to draw the same world three ways #54
Sign in to join this conversation.
Public: anyone can read this; the crew can change it.
docs/wake.mdsays in as many words that it does not decide the look of the sea. Three issues are now queued to decide it independently: #10 draws the world on a canvas at display rate, #50 renders a still in SVG for the first paint and for JavaScript off, #13 draws it in characters in the terminal. Each has to answer the same four questions — how a current cell reads, how you tell your mote from other people's, how the bloom and the gate read at 360px, what a mote that has just been scattered looks like — and three answers is three games wearing one name.This is a record change in the shape of #42 and #38: decided in
docs/wake.mdfirst, then enforced by the doors. It is small, it is ready now, and every drawing issue in the map is better for it existing.Done looks like
docs/wake.mdgains a section The look: one short paragraph per element — field, mote, bloom, gate, rim — each naming what a player must be able to tell at a glance and what a door is free to vary.FIELD_MAXlooks like against one at a tenth of it.NAME_MAX, and never drawn over the rim.MOTE_STUNNED, already in the protocol) and beached read differently from swimming in one glance — the rim costs three seconds (#42) and a player has to be able to see that it is costing them.prefers-reduced-motionturns off (the field's idle animation) and what it never turns off (the world's own motion, which is the game).static/app.css, so the canvas and the SVG still use the same colours by name, and the record maps each name to one ANSI colour for the terminal.src/concept.tsunder the existing rule, sosrc/concept.test.tskeeps holding the page to the record.Not in this issue. No drawing code, no physics constants, no frame budget — #10 and #44 own what a frame costs,
src/world.tsowns tuning, and this file has never held either.Files
docs/wake.md,static/app.css(custom properties only),src/concept.tsif a word on the page comes from it.Risks A look record can swell into a specification nobody reads: keep it to what two doors would otherwise disagree about, and say plainly where a door may differ. It also arrives before any door has drawn a pixel, so write it as decisions that can be revised by a pull that shows a picture — the same way the physics numbers are the first guess at holding an invariant rather than the invariant.
Fits Quill's brief — colour with intent, reduced motion, contrast — with Vesper on what a 10 Hz frame can honestly show.