Files
deepgrain-foundry/docs/agent-log.md
T
44r0n7andClaude Opus 5.5 cab9343b26 Run browser tests locally: Playwright 1.64.1 in .venv, scripts switch to it on their own
The browser tests and screenshot tools now work with plain python3 on a machine whose
system Python refuses pip installs: tools/use_venv.py re-runs them with the repo's .venv.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 16:50:15 -04:00

4.1 KiB

Agent log

What agents have done, newest first. Add an entry for every piece of work: the date, which 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-23: browser tests run locally (Claude Code, with Codex)

Request: get the browser tests, Playwright and Chromium working on the owner's Arch machine (Python 3.14 refuses a system-wide pip install).

  • Playwright 1.64.1 and its Chromium 156 (revision 1248) are in an in-repo .venv/ made with uv.

  • Added tools/use_venv.py and called it before Playwright imports in tools/shot.py, tools/perf.py, tools/playthrough.py, test/play.py and test/t_smooth.py. The sys.prefix guard prevents an exec loop if the venv lacks Playwright.

  • Updated requirements.txt, .gitignore, README.md, AGENTS.md, docs/TESTING.md and docs/PROJECT_MAP.md for Playwright 1.64.1 and venv setup.

  • Checks: regenerated the project map and ran tools/map.py --check.

  • Tests run with plain python3: test/run_all.py --browser all passed (11 headless suites, play.py 101 checks, t_smooth.py 8 checks) on the newer Chromium; tools/shot.py shots of the stone-uses scene look right in both looks. With .venv moved away, play.py exits with the setup message instead of a traceback.

  • Open: nothing.

2026-10-23: export from claude.ai to a local repository (Claude, in claude.ai)

Request: split the source into small files, deduplicate and tidy a little, test fully, and write the notes, docs and agent instructions for local development.

  • Source split.
    • core.js (3,688 lines), main.js (2,012) and render.js (938) became 52 files in src/sim/, src/render/ and src/ui/, each with a header line. The build order lives in src/manifest.json.
    • Checked that the joined code was identical to before, apart from comments and blank lines.
    • Every headless suite gave the same output, line for line, before and after.
    • Screenshots of two scenes, in both looks, were pixel-identical before and after (tools/shot.py --freeze).
  • Tidying, behaviour unchanged.
    • One scan loop in simMove instead of two mirrored copies.
    • A drawHazardRims helper replaced 3 copies.
    • The belt and filter shader code shares beltLineSD, bandRidge and bandColor.
    • Removed unused refundCost, wakeArea, brushFor, and the PARTS / PART_BY_ID aliases.
    • The suites share suite() (check / done) from the harness, and failures now set the exit code.
  • Tests.
    • Six broken old scripts were deleted; they used functions removed long ago.
    • Experiments and reports moved to tools/experiments/.
    • t_v2 / t_v4 / t_v9 were renamed t_basics / t_world / t_conveyors.
    • Added test/run_all.py.
  • Tools.
    • tools/shot.py: repeatable screenshots of a scene set up in JavaScript.
    • tools/where.py: maps built-page line numbers back to source files.
    • tools/map.py: the project map's index.
    • tools/scenes/: example scenes.
    • The game skips cursor previews when GAME.hidePreviews is set, for clean screenshots.
  • World files outside claude.ai.
    • Pause → Export world file only worked inside claude.ai, through its downloads hook.
    • It now falls back to an ordinary browser download (exportWorld in src/ui/saves.js).
    • test/play.py checks that an exported file downloads and imports back on the title screen as the same world.
  • Build. build.py writes dist/index.html (a full page), dist/deepgrain-foundry.html (the same without the document wrapper, as the claude.ai artifact used) and dist/bundle-lines.json.
  • Docs. AGENTS.md, CLAUDE.md, README.md, NOTES.md, docs/PROJECT_MAP.md, docs/DESIGN.md, docs/TESTING.md, docs/systems/*, docs/history/requests.md.
  • Tests run. All 11 headless suites pass, as do test/play.py (101 checks) and test/t_smooth.py (8 checks).
  • Open.
    • The owner reports that big piles on belts still only move at the top (NOTES.md); not yet reproduced.
    • The game's last claude.ai artifact was version 24.