Several worlds: a Worlds list with load, rename and delete; old save migrates to World 1
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -4,6 +4,30 @@ What agents have done, newest first. Add an entry for every piece of work: the d
|
||||
note or request it was for, what changed, the files touched, the tests run, and anything left
|
||||
open or not verified. Keep each entry short; the git history has the details.
|
||||
|
||||
## 2026-10-24: several worlds, with a Worlds list (Claude Code, with Codex)
|
||||
|
||||
Note: "support multiple saves". The owner chose a world list.
|
||||
|
||||
- `src/ui/saves.js`: each world has an id and its own `<id>:main` / `<id>:auto` saves, plus an
|
||||
index record `worlds` (name, seed, size, created, saved, playtime). A save writes the world
|
||||
and its index entry in one transaction. `GAME.worldId` is the open world.
|
||||
- Migration: an old single `main` / `auto` save is copied to "World 1", every byte compared,
|
||||
and only then are the old keys deleted (in the same transaction that writes the index). If
|
||||
anything fails the old save is kept and a toast says so.
|
||||
- Title screen: Continue loads the most recently saved world; a Worlds button opens a list
|
||||
with Load, Rename (trimmed, at most 40 characters, escaped when shown) and Delete (with a
|
||||
confirmation). New and imported worlds get new ids. Settings' "Delete saves" became "Delete
|
||||
all worlds" with a confirmation. `shell.html`, `session.js`, `loop.js`, `settings.js`,
|
||||
`state.js`, `style.css`, `docs/DESIGN.md`, `docs/PROJECT_MAP.md`.
|
||||
- `test/play.py` (149 checks): migration of an old save, two worlds listed, load switches,
|
||||
rename survives a reload, HTML in a name shows as text, long names cut to 40, delete and
|
||||
cancel, Continue picks the newest, import adds a world. All 11 headless suites pass;
|
||||
`t_smooth.py` passed in Codex's run and failed its known flaky check in mine.
|
||||
- Shots: `shots/worlds-{pixel,smooth}.png` and `-900` versions.
|
||||
- Not committed: a line in `AGENTS.md` about running `kandown work` appeared in the working
|
||||
tree during this task; it was not part of the task and is left for the owner.
|
||||
- Open: nothing.
|
||||
|
||||
## 2026-10-24: screw tubes carry bars (Claude Code, with Codex)
|
||||
|
||||
Note: "how do you transport bars? belts work but tubes do not, should they?" The owner chose
|
||||
|
||||
Reference in New Issue
Block a user