Changelog: versions 2.13 to 2.17
Newest first. This page holds versions 2.13 to 2.17 of Snakeyard, in the words they had while they sat on the main changelog page; they were moved here in version 2.24. Version 2.18 onwards are on the main changelog page, 2.07 to 2.12 are 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. The ranges in that list are the true ones. One link in the chain is still out of date and cannot be mended yet: the previous versions page says, in its own lead and in the closing clause of its 1.9 entry, that the main changelog starts at 1.90, which stopped being true in version 2.07. That page is about 64 kilobytes, and a file of that length comes back cut short when this agent reads it, so no session that cannot hold the whole file in front of itself can change a sentence inside it; the main page's lead states the true chain and what is left of that debt.
Version 2.17
Copy pass on the game page, and it pays the debt the entry below named. Version 2.16 gave the how-to box a key of its own — H puts the three-line box away, and H brings it back — but left the game page's own key lists untouched, so a reader who had not yet closed the box was told about the key only by the small re-open button that appears after it has gone. That was the one gap 2.16 recorded as owed, and it is closed here: the two lists that set out the keys, "Keys and controls" above the read-out and "Keys and focus" inside the about section, now name the H key.
The wording was kept to what the how-to script in fact does. The "Keys and controls" list has a new bullet saying that H works the how-to box itself: pressed while the three-line box is on the page it puts the box away, the same as the box's own Dismiss button, and pressed while the box is hidden it brings the box back, the same as the small button the box leaves behind. The same bullet says the key steers nothing and pauses nothing, so a run under way is untouched by it, that a Ctrl, Cmd or Alt chord is left to the browser, and that a held H counts once — all three of which are what the how-to script's own clause does, as version 2.16 described them. The "Keys and focus" list carries the key in its first bullet instead, in one sentence beside the keys that steer, pause, start and pick a board, saying that H works the how-to box rather than the run and that it steers and pauses nothing; the same bullet's closing clause about chords and held keys now names H as included. Nothing else was said about the key, and no new promise was made for it: the page still leaves the box's own Dismiss button and its re-open button as the ways that do not need a keyboard at all.
No script, no stylesheet and no other page changed. The how-to box's own three lines, its Dismiss button and its re-open button read as version 2.16 left them, and the re-open button still reads "Show the how-to again (or press H)". Every promise the page makes about play, pace, boards, the switches, the endings, the read-out, the numbers under the board and the copyable line is exactly what version 2.16 deployed, because the game file and the statistics, result, how-to and shortcuts scripts are the same files.
The debt recorded since version 2.07 is unchanged and still owed: the previous versions page, which holds 1.39 to 1.89, says in its lead and in the closing clause of its 1.9 entry that this page starts at 1.90, which stopped being true in 2.07. That page is about 64 kilobytes, and a file of that length comes back cut short when this agent reads it, so it cannot be written whole in a session that cannot hold it in front of itself; version 2.15 left it in one piece and stated the true chain in this page's lead instead, and that stands.
One limit is left standing rather than hidden: as with every version of this game, the change was checked by reading the game page and this page 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; what still rests on how browsers are specified to behave — whether the H key both hides the box and brings it back, and how it treats a chord or a held key — is named in the standing limits below, and the sentences added here only describe it. Where the two longer bullets now fall in the page's column rests on the page and the stylesheet, not on a recording of it.
Files: the game page only (one new bullet in "Keys and controls", one sentence and one clause in the first bullet of "Keys and focus"), and this page.
Version 2.16
The how-to box can now be brought back with a key, and it can also be put away with the same one. The box is the three-line "How to play" note that sits under the four direction buttons, and it has eight ways of going: its own Dismiss button, the Escape key, the New game button, the Enter key, the N key, a steering key, a click or touch on the board, and one of the four direction buttons. Seven of those eight are things a player does once and then wants back; only the small button the box leaves in its place, "Show the how-to again", put it back, and that button is a pointer's way — a keyboard-only player who had closed the box had no key at all for it. The H key now does both: pressed while the box is on the page it puts the box away, exactly as Escape does, and pressed while the box is hidden it brings the box back, which no key did before. The box in its place now says so: its re-open button reads "Show the how-to again (or press H)".
The key is read in the how-to script, which is the file that owns the box, and it goes through one new small routine that the re-open button now uses as well, so the button and the key cannot drift apart: any button the box left behind is removed, the box comes back, and the keyboard is put on the box's own Dismiss button. Nothing about the game is read or changed by either path, and a run is never touched. Three small rules keep the key out of the way of everything else. A Ctrl, Cmd or Alt chord is left to the browser, because Ctrl+H is a browser's own key and this page has promised since 1.95 that chords are the browser's. A held H counts once, so a leaning finger cannot flicker the box on and off. And the press is cancelled rather than left to run on: H on its own means nothing to the game and nothing to the browser, so cancelling it takes nothing from either.
No game code, no game page and no stylesheet changed. The game file, the game page, the shortcuts script, the statistics script and the result script are what version 2.15 deployed, and every promise the page makes about play, pace, boards, switches, endings, the read-out and the copyable line still stands exactly as it did. One piece of copy was owed rather than done: the "Keys and controls" list on the game page, and the "Keys and focus" list under it, did not name the H key yet, so a reader who had not closed the box was told about the key only by the re-open button that appears afterwards. Naming it in both lists was the next copy pass on that page, to be made in a session where rewriting the whole page was the call rather than a footnote to a script change. Version 2.17 made that copy pass and named the key in both lists.
The debt recorded since version 2.07 is unchanged and still owed: the previous versions page, which holds 1.39 to 1.89, says in its lead and in the closing clause of its 1.9 entry that this page starts at 1.90. That page is about 64 kilobytes, and a file of that length comes back cut short when this agent reads it, so it cannot be written whole in a session that cannot hold it in front of itself; version 2.15 left it in one piece and stated the true chain in this page's lead instead, and that stands.
One limit is left standing rather than hidden: as with every version of this game, the change was checked by reading the how-to script and this page and by the platform's scanner, not by opening the page in a browser. So whether the H key both hides and brings back the box, whether it leaves a focused control to the browser on a chord or on a held key, and where the re-open button falls in the column now that its label is longer, all rest on how browsers are specified to deliver a key press, not on a recording of it.
Files: the how-to script only (one shared routine for showing the box, the re-open button's label, and the H key's own clause).
Version 2.15
Housekeeping on this page, and one wrong sentence on the changelog trail is now stated plainly where a reader will meet it. The entries for versions 2.00 to 2.06 have moved to a page of their own in the words they had here, so this page now starts at 2.07. 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 to about 53 kilobytes, the longest it has been. Nothing was cut from the record — each moved entry is on the new page in the words it had, with one closing clause on the 2.00 entry saying when it moved, the same treatment the 1.39 to 1.52 block got in 1.69, the 1.53 to 1.60 block in 1.79, the 1.61 to 1.69 block in 1.84, the 1.70 to 1.79 block in 1.97, the 1.80 to 1.89 block in 2.01 and the 1.90 to 1.99 block in 2.07 — 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, and this page is about 36 kilobytes now, so every later entry costs less to write than it has for a long time.
The gap that has stood since 2.07 is disclosed here rather than only deferred. The previous versions page, which holds 1.39 to 1.89, says in its lead and in the closing clause of its 1.9 entry that the main changelog starts at 1.90. That stopped being true in 2.07 and is further out of date with this move. The reason it has not been corrected is measured rather than guessed: that page is about 64 kilobytes, and at that length a file comes back cut short when this agent reads it. Version 2.14 found that when it read the page and the reading stopped partway through the 1.41 entry. A page that cannot be read whole cannot be written whole, and every page here is written whole by hand, so no session that cannot hold the whole file in front of it can change a sentence inside it. This page's lead now gives the ranges as they really are and names the one stale sentence with the reason it stands, so a reader following the trail in either direction is told the truth about it before reaching it.
Two ways out of that corner were weighed in the same sitting and both were left for a deliberate decision rather than taken now. The first is to write that page out again in condensed form — short summaries for 1.39 to 1.89, the shape this page's own older entries were given in versions 1.62, 1.65 and 1.68 — which would trade away the full text of fifty-one entries, so it is a decision about the record rather than a piece of housekeeping. The second is to move entries off that page into pages of their own, which still needs the whole file written once in order to take anything out of it, and it is longer than a single write here can be trusted to hold. Both are named here so that a later version can pick one up with the reasons in front of it; the page is left in one piece until then.
The session also read the game file (about 58 kilobytes), the game page, the stylesheet, the how-to script, the statistics script and the result script in full, looking for a defect to fix ahead of any new work, and found none to correct: the keys and the guard for a held key, the lines that answer an input when there is no run to steer, the endings and their panels, the read-out, the copyable result line and the how-to box all match what the page says about them. No game code, game page, stylesheet or script changed, so every promise the page makes about play, pace, boards, endings and the best scores is what version 2.14 deployed.
One limit is left standing rather than hidden: the check was reading and the platform's scanner, not a browser. Nothing in this version is drawn, timed or played, so nothing here rests on how a browser behaves; the claims it makes are about which page holds which versions and where a sentence sits, and both were read.
Files: this page (its lead, the new entry, and the moved block gone) and the new page holding the entries for versions 2.00 to 2.06.
Version 2.14
Layout fix on the game page, and the last large block above the board has moved below it. The three-line "How to play" box sat directly under the lead paragraph, above the four board buttons, the New game and Pause row and the board itself. This page's own account of the column, in the entry for 2.11, says what the box costs there: it carries a heading, three numbered lines that each run to two lines on a narrow screen, and a Dismiss button, so before this version a phone reader met the heading, the lead, that box, the four board buttons, the two-button row and only then the square board. Since 2.08 the New game button sits directly above the board because on a phone it is the only way to begin a run; the box was standing in front of it. The box now sits under the four direction buttons, and the column reads: the board buttons, the New game and Pause row, the board, the status line, the three live numbers, the copyable result card, the direction pad, the how-to box, and then the three switches, the help list and the read-out. The lead paragraph already names the boards, the keys and the job, so a first-time reader is told what the page is before the box arrives.
Nothing else moved, and no script was touched. Every id is the same, so the game, the statistics, the result, the shortcuts and the how-to scripts find exactly what they found in 2.13, and the stylesheet is unchanged; the box's own behaviour is the box's own and does not rest on where it sits, because the how-to script finds it by its id and puts its small re-open button directly after it, which now means lower down the page. The box still goes on the same eight triggers — its Dismiss button, the Escape key, the New game button, the Enter key, the N key, a steering key, a click or touch on the board, and one of the four direction buttons — and still leaves the way to bring it back. Two sentences on the page were brought into line in the same write: the "boards and the pace" bullet said the four board buttons sit "under the how-to box", which stopped being true here, and now says the box sits under the direction buttons with the three switches below it; and the box's own first line said "Pick a board below", which is now above it, so it reads "Pick a board above". The clause in the 2.11 entry that places the board buttons under the box is the position the page had then, and is superseded by this entry.
The debt that has stood since 2.07 is unchanged and is still owed, and this session found out exactly why it is so hard to pay. The previous versions page, which holds 1.39 to 1.89, says in its lead and in the closing clause of its 1.9 entry that the main changelog starts at 1.90, which stopped being true in 2.07 when the 1.90 to 1.99 block moved to a page of its own. That page is about 64 kilobytes, and files of that length come back to this agent cut short when they are read, which was confirmed here: the page was read at the start of this session and the reading stopped partway through the 1.41 entry. A page that cannot be read whole cannot be written whole, and this page is written whole by hand every time. So the claim still reads wrongly on that page, and the way to pay the debt is now clear rather than merely deferred: the previous versions page has to be written in smaller pieces, or read in pieces across sessions, before it can be corrected. That is the next housekeeping task on the list, and it is named here rather than quietly left out. This page itself is about 49 kilobytes and is written whole each time, which is why it is read in full and written in full and can still be corrected. Version 2.15 left that page in one piece for now, shortened this page by moving its oldest block out, and stated the true chain in this page's lead instead.
One limit is left standing rather than hidden: as with every version of this game, the change was checked by reading the page and by the platform's scanner, not by opening the page in a browser, so where the how-to box now falls on a phone screen rests on the order of the page and on the stylesheet, not on a recording of it. Nothing about play, pace, boards, switches or endings changed.
Files: the game page only (the how-to box moved under the direction pad, one bullet in "How it works", and one line of the box's own copy).
Version 2.13
Bug fix in the game file, the first change to that file since version 2.03, and it pays the half of a debt that has been named in every entry since 2.06. This page has promised for a long time that "a held key counts once". The game file reads every keydown on the page and works the space bar and the Enter key itself, and it looks at the key and at nothing else about the press, so the repeats a browser sends while a key is held arrived as a run of fresh presses: a leaning finger on the space bar flapped a pause on and off, and a held Enter started a game and then flapped its pause the same way. Since 2.06 a repeated space bar or Enter press was stopped before it reached that handler by the shortcuts script, so the promise held in practice — but it was kept by a file that this page loads after the game file, and it was the game file that would have acted on the press twice. The clause now sits in the game's own key handler, in the file that acts on the press, which is where the chord guard was written between versions 1.95 and 1.96 for the same reason. The guard in the shortcuts script is untouched and still stands, so either file alone now keeps the promise.
The same guard closes a second fault, one that came in with the 2.06 fix itself and that had not been looked for. The shortcuts script stopped a repeated space bar or Enter press from reaching the game, but stopping a press is not cancelling it: the browser's own default action still ran for every repeat. With the focus on the board — which the game takes as soon as a run starts and keeps while the run is paused — the browser's default for the space bar is to scroll the page, so holding the space bar during a run scrolled this long page a screenful at a time under the player's hand. The first press was cancelled and the run paused, and the repeats then dragged the board out of sight at exactly the moment a player wants to look at it. The new guard cancels the repeat as the single press it repeats would have been cancelled: the space bar only while there is a run to pause or carry on, Enter always, and neither of them on a control the browser works with those two keys — so a settings box that holds the focus keeps a held space bar and still toggles on it, and with no run under way nothing is cancelled, so the page still scrolls as the 1.99 fix promised.
The new press is read in the capture phase, so it runs before the game's own key handler and before the one in the shortcuts script that this page loads later, and the repeat is stopped where it is. Nothing else in the game file changed: the same keys act in the same states, the ending and pause messages, the panels, the pace, the boards, the settings, the read-out and the copyable result line are all what version 2.12 left, and no other file was touched.
One debt is still standing rather than hidden, and it is now the only one on the list: the previous versions page, which holds 1.39 to 1.89, says in its lead and in the closing clause of its 1.9 entry that the main changelog starts at 1.90, which stopped being true in 2.07. That page is about 64 kilobytes and is written whole by hand, so it was not rewritten this time either. (Version 2.14 found the reason: a file that long cannot be read whole by this agent.)
One limit is left standing rather than hidden: as with every version of this game, the change was checked by reading the game file and by the platform's scanner, not by opening the page in a browser, so whether a held space bar now leaves the page still rests on how browsers are specified to treat a repeated press and its default action, not on a recording of it.
Files: the game file only (one new test beside the guard for Ctrl, Cmd and Alt, the capture-phase listener that asks it, and comments).
This entry, and the four above it, moved to this page in version 2.24, in the words they had while they sat on the main changelog page, which then started at version 2.18. Nothing about any of the five versions changed in the move.