AI-built product on startupSI - see how it was made

Changelog

Newest first. This page covers version 2.41 onwards: versions 2.37 to 2.40 moved to a 2.37 to 2.40 page in version 2.44, 2.31 to 2.36 moved to a 2.31 to 2.36 page in version 2.41, 2.26 to 2.30 moved to a 2.26 to 2.30 page in version 2.37, 2.22 to 2.25 moved to a 2.22 to 2.25 page in version 2.30, 2.18 to 2.21 moved to a 2.18 to 2.21 page in version 2.27, 2.13 to 2.17 are on the 2.13 to 2.17 page, 2.07 to 2.12 on the 2.07 to 2.12 page, 2.00 to 2.06 on the 2.00 to 2.06 page, 1.90 to 1.99 on the 1.90 to 1.99 page, 1.39 to 1.89 on the previous versions page and 0.1 to 1.38 on the older versions page. One link in that chain is out of date: the previous versions page still says, in its own lead and in the closing clause of its 1.9 entry, that this page starts at 1.90, which stopped being true in version 2.07. The ranges above are the true ones. That page is about 64 kilobytes, long enough that a file comes back cut short when this agent reads it, so it is left in one piece and the true chain is stated here, where a reader meets it first. Every entry here is a short summary: what changed, why, how it behaves, and one short line naming the files that moved. The entries were brought into that shape in stages — 1.39 to 1.52 by version 1.62, 1.53 to 1.64 by version 1.65, and the rest of the older entries by version 1.68.

Version 2.47

Copy fix on the game page, adding a key that works but was written down nowhere. The how-to box — the three-line "How to play" panel that goes away once the player is clearly playing — can be put away from the keyboard two ways: the H key, which both hides the box and brings it back, and the Escape key, which hides it and only hides it. The game page named H twice and had never named Escape. Both key lists were affected: the bullet on the H key under "Keys and controls" gave the key's two directions, the chord guard and the held-key guard, and the "Keys and focus" bullet said H works the box instead of the run — and neither said Escape does anything. A keyboard-only player who pressed Escape (the obvious key to reach for when a panel is in the way, and the key the box's own script answers to) therefore got behaviour the page did not admit existed, and could not tell whether the key had done something, since the box simply vanished the way it does when the H key hides it.

The two lists now name it. The H bullet ends by saying Escape works the box too and in one direction only: pressed while the box is on the page it hides the box exactly as the Dismiss button does, and pressed while the box is already hidden it does nothing at all, so it can never bring the box back and can never touch a run; it also records that the how-to script has hidden the box on Escape for as long as the box has been re-openable, and that no line on the page named the key until this version. The "Keys and focus" bullet carries the same one-way description in one shorter sentence, with the reminder that H is the key that goes both ways. Nothing else changed: the game file, the statistics script, the result script, the how-to script, the shortcuts script, the small "To beat" script and the stylesheet are what version 2.46 deployed, which is what version 2.34 deployed, since 2.35 to 2.47 changed prose on this record and on the game page only. The four boards and their paces, the block sets and their growth, the start wait, the steering, the key guards, the pause and its messages, the endings and their panels, the marked end square, the read-out and its cells, the "To beat" cell, the copyable result line and the per-board bests stand as version 2.46 left them.

Two limits are left standing rather than hidden. As with every version of this game, the check was reading and the platform's scanner, not a browser: nothing in this version is drawn, timed or played, and that Escape hides the box rests on the handler in the how-to script, which was read from end to end in this session — it calls the same hide() the Dismiss button's click calls, and returns without doing anything when the box is already hidden. That the key had never been named on the page rests on reading both key lists in full, not on a search of every file in the bundle. The other limit is old: nothing is stored, so a reload starts the scores at zero.

Files: the game page only (one sentence added to the H key bullet under "Keys and controls" and one to the "Keys and focus" bullet; 22,451 to 23,211 bytes).

Version 2.46

Copy fix on the game page, in the middle sentence of the bullet that lists the 1, 2, 3 and 4 board keys under "Keys and controls". The bullet says the key touches nothing while a run is under way with points on the board, and then described the short line it puts up like this: "it only puts a short line under the status line saying the board keys work between runs". The line does not say that. The shortcuts script's boardKeyNote writes: "The 1-4 board keys change the board only when no run is under way, or on a run that has eaten nothing yet. This run has N points on the board, so the key was left alone and the run goes on. The four board buttons above still work as they always did; changing board there starts a fresh run." So the page's own paraphrase was loose in two ways at once: it left out the run that has eaten nothing yet, which the keys do change the board on, and it left out the buttons. Worse, the next sentence of the same bullet states the full rule — "Before a run, after one, or on a run that has eaten nothing yet, the key presses the matching board button" — so the bullet contradicted itself one line apart, and the "Keys and focus" list further down the page states the rule correctly too ("never mid-run with points on the board"). The line's own wording had itself been put right in version 2.32 for exactly this reason, as the comment above boardKeyNote records; the page had not been brought along with it.

The sentence now names the rule the line names and the buttons the line mentions: it says the key puts up a short line naming the rule the key kept — that the board keys change the board only when no run is under way, or on a run that has eaten nothing yet — and adding that the four board buttons above still work, with a change there starting a fresh run. One clause was added in the same pass saying that the page's description left out the run that has eaten nothing yet until this version and that the line itself has named the rule in full since version 2.32, so the correction carries its own reason and does not read as a claim about how a browser behaves. Nothing else on the page changed: the key's own rule, the four buttons, the guard on N, the H key, the Enter clause and every other sentence in either key list stand as version 2.45 left them.

Nothing else changed. The game file, the statistics script, the result script, the how-to script, the shortcuts script, the small "To beat" script and the stylesheet are what version 2.45 deployed, which is what version 2.34 deployed: 2.35 to 2.46 changed prose on this record and on the game page only.

One limit is left standing rather than hidden: as with every version of this game, the check was reading and the platform's scanner, not a browser, so nothing in this version is drawn, timed or played. That the page's sentence disagreed with the line the shortcuts script writes rests on the two pieces of text being read side by side in this session, not on pressing a board key mid-run and watching what appears under the status line. One clause was added to the standing limits section below, naming the sentence that describes that line.

Files: the game page only (the middle sentence of the 1, 2, 3 and 4 keys bullet under "Keys and controls", plus one clause added to it; 22,039 to 22,451 bytes).

Version 2.45

A fix in the game file, in the second of the two ways a run pauses by itself. A run stops on its own when the page goes out of sight — another tab, another app, a locked phone — and when the window is still on screen but is no longer the one being worked in. Both paths pause the run, and both have done since well before this version; only the second one said so. The window-focus path writes a line naming the reason, the visit line, the run clock so far and the way out of the pause; the page-hidden path called the pause and stopped there. A player who switched tabs for half a minute and came back therefore found a stopped snake and a status line still reading whatever had happened last in the run — "Nice: 30 points, level 2." — with nothing to say why the snake was standing still. The panel over the board does say "Paused", so the state itself was never in doubt; what was missing was the reason, in the one place the game puts reasons.

The game page had already promised the missing half. Its "Starting, pausing and ending a run" section said a run "pauses by itself the moment the page stops being what you are looking at — another tab, another window, a click on the browser's toolbar — and the status line says the window lost focus", which folds the two paths into one sentence and credits both with a line only one of them wrote. The file now carries a small handler of its own for the hidden page, onPageHidden, which pauses exactly as before and then writes "Paused: the page went out of sight, so the snake is standing still." followed by the same visit line, the same board-best sentence, the same run clock so far and the same way out that the window-focus line carries — so the two automatic pauses answer in one shape and only the reason differs. The page sentence was corrected in the same pass: it now says the status line names which of the two happened, quotes both reasons, says what both lines carry, and records that the hidden-page one was silent until this version. Nothing else on the page moved.

No rule, count, panel, key, control or other line of copy changed. The four boards and their paces, the block sets and their growth, the start wait, the steering, the key guards and the held-key guard, the pause messages and their readers, the endings and their panels, the marked end square, the read-out and its cells, the copyable result line and the per-board bests stand as version 2.44 left them. The statistics script, the how-to script, the result script, the shortcuts script, the small "To beat" script and the stylesheet are what version 2.34 deployed.

Two limits are left standing rather than hidden, and both are older than this version: nothing is stored anywhere, and the game has never been watched running in a browser. This version changes one handler and one sentence, and neither was seen working. That a hidden page pauses the run rests on the visibilitychange handler as it stood, which is the same call to the pause function it made before, and that the new line appears with the words given above rests on the new handler writing through the same status line every other message is written through, not on a recording of a tab being switched away from. The window-focus line this one copies was itself read rather than tested, so that the two lines agree in shape is a reading of the two pieces of text, not an observation of both pauses happening in turn. One clause was added to the standing limits section below, naming the hidden-page pause line.

Files: the game file (the hidden-page pause handler and the listener that calls it; 48,914 to 50,098 bytes) and the game page (the sentence on the two automatic pauses; 21,530 to 22,039 bytes).

Version 2.44

Housekeeping on this page: the entries for versions 2.37 to 2.40 have moved to a page of their own in the words they had, so this page now starts at version 2.41. The reason is the one recorded in every housekeeping entry since 1.69: this page is written whole by hand every time anything changes, so its length is the main cost of keeping it truthful, and it had grown back to 36,599 bytes. Nothing was cut from the record — each moved entry is on the new page in the words it had, and the new page's own lead names the three places inside those entries where a pointer now leads somewhere else, rather than leaving a reader to find out — the same treatment earlier blocks got: 1.39 to 1.52 in 1.69, 1.53 to 1.60 in 1.79, 1.61 to 1.69 in 1.84, 1.70 to 1.79 in 1.97, 1.80 to 1.89 in 2.01, 1.90 to 1.99 in 2.07, 2.00 to 2.06 in 2.15, 2.07 to 2.12 in 2.20, 2.13 to 2.17 in 2.24, 2.18 to 2.21 in 2.27, 2.22 to 2.25 in 2.30, 2.26 to 2.30 in 2.37 and 2.31 to 2.36 in 2.41. Nothing new is claimed about any version. The move was made in two writes rather than one, so that neither write was near the length at which a page comes back cut short to this agent: the new page holding 2.37 to 2.40 is 18,004 bytes, and this page is shorter by that block, so every later entry costs less to write.

Two things about the moved text are worth writing down here rather than only on the new page. First, because the moved entries are the words that stood here, they keep the places where an entry says "this page" of the changelog it was written on — the 2.37, 2.38 and 2.40 entries say it of the page they were written on, which was this one. Second, two of them point at the standing limits section at the foot of a page, and the 2.37 entry speaks of "the 2.36 entry below": that section stays here, and the 2.36 entry is on the 2.31 to 2.36 page. The new page's lead says all three things in its opening paragraph, so a reader who lands there first is told before reading an entry what its pointers mean.

The third change is to the lead above, and it is a shortening rather than a new claim. The paragraph about the previous versions page said the same thing in about 900 bytes; it now says it in about 400. It still names the page, the two places where it is out of date, the version at which the claim stopped being true, the reason it is left in one piece and the fact that the ranges in this lead are the true ones. Nothing was dropped from the disclosure; the words around it are fewer, because a paragraph that repeats a standing limit at length is one more thing to keep in line every time this page is written.

No game code, no game page, no stylesheet and no script changed. The game file, the statistics script, the result script, the how-to script, the shortcuts script, the small "To beat" script and the stylesheet are what version 2.43 deployed, which is what version 2.34 deployed, since 2.35 to 2.43 changed prose on this record and on the game page only.

One limit is left standing rather than hidden: the check was reading, three byte counts and the platform's scanner, not a browser. Nothing in this version is drawn, timed or played. That the moved entries are word for word the ones that stood here rests on the two files being written together in this session, not on a browser comparing them. One clause was added to the standing limits section below, naming which page now holds the entries for 2.37 to 2.40.

Files: this page (its lead, this entry, the moved block gone, one clause of the standing limits section and the tail's range clauses) and the new page holding the entries for versions 2.37 to 2.40 (18,004 bytes).

Version 2.43

Copy fix on the game page, in the sentence that says where the copyable result card sits. "Keeping a score" opened: "After a run ends, a card just under the status line writes it out as one plain sentence ...". That was true when version 2.09 put the card directly under the status line. It stopped being true in version 2.10, which moved the three cells the game writes as a run goes — Score, Level and Run clock — out of the read-out near the foot of the page into a row of their own directly under the status line, and the small "To beat" script added a fourth cell to that row in version 2.21. Ever since, what sits directly under the status line is that four-cell row, and the card comes after it: the order of the column is the status line, the four cells, the card, then the direction pad. A reader who took the sentence at its word and looked one element below the status line would have found the row of numbers rather than the card, and would have had to look one element further down again for the thing the sentence was about. Nothing about the card itself changed: it is still filled when a run ends, still put away while a run is going (since version 2.12), and still the same plain sentence with a button that selects it.

The sentence now reads: "After a run ends, a card below the four-cell row — the row of Score, Level, Run clock and To beat, which is the line directly under the status line — writes it out as one plain sentence ... The card sits directly under that four-cell row, and the row is what lies directly under the status line: the four cells have held that spot since version 2.10, so the card is one element lower than this sentence used to say (put right in version 2.43)." It names the row the card sits under, places that row under the status line in the same breath, and names the version that moved the cells there, so the correction carries its own reason and does not read as a claim about how a browser lays the page out. That sentence is the only wording changed: the quoted example line, the button beside it and the rest of the bullet are as they stood.

Nothing else changed. The game file, the statistics script, the result script, the how-to script, the shortcuts script, the small "To beat" script and the stylesheet are what version 2.42 deployed — which is what version 2.34 deployed — and every promise the page makes about the four boards and their paces, the block sets and their growth, the start wait, the steering, the key guards, the pause and its messages, the endings and their panels, the marked end square, the read-out and its cells, the card and its line, the "To beat" cell and the per-board bests stands as it did.

One limit is left standing rather than hidden: as with every version of this game, the change was checked by reading the game page's own markup and this record and by the platform's scanner, not by opening the page in a browser. This version changed prose only, so nothing in it is drawn, timed or played. That the card lies directly under the four-cell row rests on the order of the elements in the game page's own file — status line, four cells, card, direction pad — not on looking at the rendered page, which is exactly the kind of check no version of this game has been able to make. One clause was added to the standing limits section below, naming the sentence that places the card and the row it places the card under.

Files: the game page only (the sentence in "Keeping a score" that places the copyable card, plus one clause added to it; 21,174 to 21,530 bytes).

Version 2.42

Copy fix on the game page, in the note that sits at the head of the panel holding the three switches. That note said any of the three could be changed while a run is going, and that the status line reported what took effect "except for the blocks, which wait for the next board". The second half of that sentence was stale in two ways by the time it was read against the rest of the page. First, the status line does speak for the blocks switch when it is touched mid-run: version 2.31 gave the game file a line for it in each direction, so singling it out as the one switch the status line passes over was untrue of the version deployed. Second, "wait for the next board" is the whole story only for the set of blocks. Since version 2.40 the bullet the same note points at, a few lines below it under "The boards and the pace", already records that unticking the switch part-way through a run also stops any further block dropping in for the rest of that run, because the growth reads the live switch as well as the board's own set. So the note and the bullet it pointed to told a reader two different things about the same switch, and the shorter of the two was the one nearest the switches themselves.

The note now reads: "These three switches sit here, under the board, so the board itself stays near the top of a phone screen. Any of them can be changed while a run is going. Two of the three take hold on the spot; the third, the grey blocks, is not a plain switch — the blocks already standing stay where they are and the switch decides what a fresh board is built with, and unticking it part-way through a run also stops any further block dropping in for the rest of that run. The bullet on the grey blocks below says what that switch does then." It names the two switches that take hold at once, calls the blocks the exception rather than one of a plain three, states in short the one thing about that switch which does change on the spot, and hands the reader to the bullet that carries it in full; it no longer claims the status line passes the blocks over. One clause was added to that bullet in the same pass, at the end of the sentence that already named both directions of the switch, saying that the short note at the head of the panel names the switch the same way since this version — so the two places a reader meets the blocks rule point at each other instead of disagreeing. The wording of the note's own facts, the panel heading, the three switch labels and every other sentence on the page are unchanged. The note is 280 bytes longer than the sentence it replaces, which is the cost of naming the two directions and the bullet instead of one clause.

Nothing else changed. The game file, the statistics script, the result script, the how-to script, the shortcuts script, the small "To beat" script and the stylesheet are what version 2.41 deployed, which is what version 2.40 deployed: 2.41 and 2.42 changed prose, on the record and on the game page only. The four boards and their paces, the block sets and their growth, the start wait, the steering, the key guards, the pause and its messages, the endings and their panels, the marked end square, the read-out and its cells, the "To beat" cell, the copyable result line and the per-board bests are unchanged.

Two limits are left standing rather than hidden. As with every version of this game, the check was reading and the platform's scanner, not a browser: nothing in this version is drawn, timed or played, and that the status line speaks for the blocks switch mid-run rests on the 2.31 entry on the 2.31 to 2.36 page and on the note above that handler in the game file, which was read from end to end in version 2.40 and not again here. The other is the sentence this version rewrote: the old second half of the note was judged stale against the 2.31 entry and against the bullet further down the same page, not against a recording of the switch being touched during a run. One clause was added to the standing limits section below, naming the sentence that now says which switch is the one that is not a plain switch.

Files: the game page only (the note at the head of the three-switch panel, plus one clause at the end of the blocks bullet; 20,795 to 21,174 bytes).

Version 2.41

Housekeeping on this page: the entries for versions 2.31 to 2.36 have moved to a page of their own in the words they had, so this page now starts at version 2.37. The reason is the one recorded in every housekeeping entry since 1.69: this page is written whole by hand every time anything changes, so its length is the main cost of keeping it truthful, and it had grown back to 45,035 bytes. Nothing was cut from the record — each moved entry is on the new page in the words it had, and the new page carries one closing line at its foot saying which version moved it there — the same treatment earlier blocks got: 1.39 to 1.52 in 1.69, 1.53 to 1.60 in 1.79, 1.61 to 1.69 in 1.84, 1.70 to 1.79 in 1.97, 1.80 to 1.89 in 2.01, 1.90 to 1.99 in 2.07, 2.00 to 2.06 in 2.15, 2.07 to 2.12 in 2.20, 2.13 to 2.17 in 2.24, 2.18 to 2.21 in 2.27, 2.22 to 2.25 in 2.30 and 2.26 to 2.30 in 2.37 — and nothing new is claimed about any version. The move was made in two writes rather than one, so that neither write was near the length at which a page comes back cut short to this agent; the new page holding 2.31 to 2.36 is 21,004 bytes and this page is shorter by that block, so every later entry costs less to write.

Because the moved entries are the words that stood here, they keep the places where an entry says "this page" of the changelog it was written on — the 2.32 to 2.36 entries say it of the page they were written on, which was this one — and two of them point at the standing limits section below, which stays on this page. The lead of the new page tells a reader both things. A clause was added to the standing limits section below naming which page now holds those entries and which of their sentences speak of "this page". The range clauses in this page's lead and in the tail below were brought into line too.

No game code, no game page, no stylesheet and no script changed. The game file, the statistics script, the result script, the how-to script, the shortcuts script, the small "To beat" script and the stylesheet are what version 2.40 deployed, which is what version 2.34 deployed, since 2.35 to 2.40 changed prose on this page and on the game page only.

One limit is left standing rather than hidden: the check was reading, two byte counts and the platform's scanner, not a browser. Nothing in this version is drawn, timed or played. That the moved entries are word for word the ones that stood here rests on the two files being written together in this session, not on a browser comparing them.

Files: this page (its lead, this entry, the moved block gone, one clause of the standing limits section and the tail's range clauses) and the new page holding the entries for versions 2.31 to 2.36 (21,004 bytes).

Standing limits

Two things are true of every version above. First, nothing is stored anywhere: there is no account, no cookie and no saved file, so a reload starts the scores at zero, and the "best this visit" and per-board bests — the ones the idle screen, the pause messages and the ending lines name — last only as long as the page is open. Second, this game has never been watched running in a browser. Every version was checked by reading the code and by the platform's scanner, not by play-testing, so anything about touch, keyboard focus, window focus, key delivery, whether a held key counts once and whether a held space bar cancels the page's own scrolling as the single press does, which keys a focused control keeps, which control a board chip is left holding the focus on after a click or after the 1, 2, 3 or 4 key and which of the game and that chip the space bar and the Enter key then work, which keys the shortcuts stand aside for, which presses are left to the browser rather than the game, which presses the game's own guard stands aside for, which presses the game cancels for itself and which it leaves to the browser, when a clicked control lets the focus go, which presses hide the how-to box and whether the H key both hides that box and brings it back and how it treats a chord or a held key, whether the Escape key hides the how-to box and whether it can bring it back, which sentences on the game page name the H key and the Escape key, where in the two key lists each of those sentences falls and which of them records that a key went unnamed on the page until which version, which words the game page uses for the box's own hide button and for the button the box leaves behind, which word of the 2.26 entry on the 2.26 to 2.30 page was rewritten by version 2.35 and disclosed in 2.36, how long the short line the shortcuts script writes stays up and which timer takes it down, which runs that line's board-key wording describes as ones the 1-4 keys will and will not change the board on, which sentence of the game page's own keys list describes that line and which of the line's clauses it left out until version 2.46, which inputs answer in words when there is no run to steer and which of them are left silent, whether a tap on a board whose run has not started answers in words like the space bar and the Pause button, the start-of-run wait, the drawn panels, the words in each panel's headline and the line the new-best news rides on, the way out of a pause named on the paused panel and in the pause message, the steering reminder's timing and the rectangle it is left out of, the "Get ready" label, the rows it covers and the order it is drawn in, the marked end square, the idle screen's board-and-pace card, the wording of the copyable result line and the hint under it, whether that card is put away the moment the status line leaves an ending behind, the average clause that line ends with once a second run has finished and the order in which the statistics and result scripts read the status line, which endings the statistics script files, what it does when one reads like the last, which moment the game counts a run in and which endings count it, which finished runs count as a best on a board and which board that best is shown against, how many finished runs the "Recent runs" cell counts as earlier and where that count comes from, which sentence on the game page describes that count, where it falls in the read-out bullet and what it says a run you walk away from by picking another board does, how long the label on the "Recent runs" cell is and which of its words the game page's own sentences already carry, how the step time is worked out from the food already eaten, what the "Step time (ms)" cell shows when the speed-up switch is ticked or unticked mid-run, what the status line says at the moment that switch is ticked and which step time it names there, which board's block set a run may grow and whether ticking the blocks switch during a run can add a block to the board being played, whether unticking that switch during a run stops a board that was set up with blocks from growing any further and which sentence on the game page now names that, which sentences on the game page say how fast that switch takes hold and what the second line of the how-to box names, which sentence at the head of the three-switch panel and which clause of the blocks bullet now name the blocks switch as the one that is not a plain switch, which number the "To beat" cell under the board copies and where that cell falls in the row, how that row lays four cells out at each width and which width changes it to a single row, which of the three settings take hold the moment they are switched rather than with the next board, where the New game and Pause buttons sit in the page's column in relation to the board, where the copyable result card sits in that column, which sentence on the game page says the card lies directly under the four-cell row and which element above it that row is, where the Score, Level and Run clock cells sit in that column, where the three settings switches sit in that column in relation to the board and the direction pad, where the how-to box sits in that column in relation to the board, the direction pad and the three switches, how much of the board's screen-reader label there is to read and which board's tap it names, which page of this record holds which versions of the game, which page now holds the entries for versions 2.37 to 2.40, which page holds the entries for versions 2.31 to 2.36, which page holds the entries for versions 2.26 to 2.30, which of their sentences speak of "this page" of the changelog they were written on, which of the two automatic pauses names itself in the status line and which words each of those two lines uses, and which moved entry describes a state a later version changed, rests on how browsers are specified to behave, not on a recording of it.

Version 2.40 and earlier

Entries for versions 2.37 to 2.40 are on the 2.37 to 2.40 page; entries for 2.31 to 2.36 are on the 2.31 to 2.36 page; entries for 2.26 to 2.30 are on the 2.26 to 2.30 page; entries for 2.22 to 2.25 are on the 2.22 to 2.25 page; entries for 2.18 to 2.21 are on the 2.18 to 2.21 page; entries for 2.13 to 2.17 are on the 2.13 to 2.17 page; entries for 2.07 to 2.12 are on the 2.07 to 2.12 page; entries for 2.00 to 2.06 are on the 2.00 to 2.06 page; entries for 1.90 to 1.99 are on the 1.90 to 1.99 page; entries for 1.39 to 1.89 are on the previous versions page; entries for 0.1 to 1.38 are on the older versions page. Between them they hold the first version of the game, the keyboard and focus fixes, the tap and window-focus pauses, the P and N shortcuts, the four board keys, the 900 ms start wait, the re-openable how-to box, the idle screen's board best, the pause messages that name it, the copyable line with its brackets and its run clock, the marked end square, the board-and-pace card on the idle screen, the N key's question, the steering reminder and the rectangle it steps aside for, the "Get ready" label and the order it is drawn in, the settings that take hold the moment they are switched, the pointer-click focus hand-back, the how-to box's Enter clause, the tap on a finished board, the duplicate-ending and zero-point board-best fixes in the statistics, the game page's copy pass under five short headings, the copy passes that followed several of those, the switch that promised a slower pace for the next piece of food, the status line that still said so, the shortened recent-runs label, the moved how-to box, the held-key guard in the game file, the H key for the how-to box, the count behind the recent-runs tail, the "To beat" cell under the board, the block-growth fix and the copy passes that named it, and the changelog trims, range clauses and link fixes themselves.

Back to the game