Game guide · source of truth
Ledger

GUIDE-DEV-20261006-01

Review game development direction: speed, token efficiency and AAA detail standards (SFX, VFX, optimization)

← Ledger

donestatus · docs
7✓ tests passed / failed
21.25Mtokens · 55 min
9evidence files · 4.9 MB

Evidence

From logs/evidence/GUIDE-DEV-20261006-01/. Click a thumbnail for the full image.

Images (7)

efficiency-desktop.png
efficiency-desktop.png · 517 kB
efficiency-mobile.png
efficiency-mobile.png · 963 kB
polish-360.png
polish-360.png · 873 kB
polish-desktop.png
polish-desktop.png · 574 kB
polish-mobile.png
polish-mobile.png · 924 kB
polish-sfx-desktop.png
polish-sfx-desktop.png · 464 kB
polish-sfx-mobile.png
polish-sfx-mobile.png · 573 kB

Logs and data (1)

README.md · 4 kB · open
# GUIDE-DEV-20261006-01 — review: speed, token efficiency and AAA detail standards

Owner request (2026-10-06): review the wiki's game development direction, suggest how development can be faster and
more token-efficient, and add every small AAA-level detail (sound, effects, optimisation and so on).

## What was produced

| File | What it is |
|---|---|
| `packages/game-data/data/polish-standards.json` | The AAA detail catalog: 127 proposed details in 11 areas (37 core, 71 slice, 19 polish), plus crowd coalescing values, the audio mix table, the surface table, the platform capability table and five perf scenes |
| `docs/production/POLISH.md` + `apps/wiki/components/widgets/Polish.tsx` | Wiki page; every table is rendered from the data file |
| `docs/process/EFFICIENCY.md` | Measured token facts, proposed token rules, proposed changes for faster development |
| `tools/ctx.mjs` | Context packs (one skill, monster, zone, catalog slice or roadmap task) |
| `tools/task-log.mjs` | Automatic Claude Code session attribution, multi-session totals, turns and average context at `finish` |
| `packages/game-data/tests/polish-standards.test.mjs`, `agent-tools.test.mjs`, `apps/wiki/tests/polish.spec.ts` | Tests |

Pointers and corrections were added to VFX, Audio, Performance, the skill gate, the development guide, How AI builds
Zoen, Testing, Decisions (OPEN-11 to OPEN-14) and CONTINUE_HERE.

## Token measurement (section 1 of the efficiency page)

`token-analysis.mjs` in this folder reads the transcripts through `tools/token-ledger.mjs`. Output of the run on
2026-10-06 (transcripts of 2026-10-03T11:24Z to 2026-10-05T18:57Z, the first turns of this task included):

```text
messages 4096 | first 2026-10-03T11:24:03.525Z | last 2026-10-05T18:57:23.469Z
tokens: in 8,250 out 5,428,579 cacheWrite 15,722,897 cacheRead 1,917,825,624
true cost total $ 557.43 {"claude-sonnet-5-5":74.05,"claude-opus-5-5":479.14,"claude-haiku-4-5-20251001":0.15,"<synthetic>":0,"claude-fable-5-1":4.09}
time {"wall":55.56,"active":26.8}
cost split $ { input: 0, output: 101, cacheWrite: 73, cacheRead: 384 }
context per message (tokens): p25 263,588 p50 465,391 p75 666,824 p90 829,022 max 965,526
share of cost in turns with context >50k: 100% >100k: 98% >150k: 96%
sessions 12 | top 2 by cost: $238 (1,559 turns, 28.4 h, max context 965,526) · $196 (1,443 turns, 12.5 h, max context 964,680)
tasks 229 | with --session 73 | sum of per-task cost $ 1039 vs true total $ 557.43 | ratio 1.86
unsessioned finished tasks 156 | overlapping pairs 117 | tasks involved 85 | their summed cost $ 602
messages outside every task window 127 $26
task duration minutes: p50 6 p90 49 max 544 | over 60 min: 18 of 229
```

Re-run: `ZOEN_LEDGER_CACHE=off node logs/evidence/GUIDE-DEV-20261006-01/token-analysis.mjs` (numbers grow as new
…

Other files (1)

Tests

pass data tests incl. polish catalog, context tool and task-log session attribution · 114.3 s · raw log$ pnpm data:test
pass docs lint + index rebuild · 23.4 s · raw log$ pnpm docs:lint
pass wiki typecheck · 391.4 s · raw log$ pnpm --filter @zoen/wiki typecheck
pass data tests after moving the ctx checks in-process · 298.2 s · raw log$ pnpm data:test
pass wiki production build (static export with the new pages and widgets) · 378.5 s · raw log$ pnpm wiki:build
pass data tests, final code (104 expected) · 195.8 s · raw log$ pnpm data:test
pass wiki e2e: polish catalog + efficiency pages (desktop, mobile, 360 px) · 113.0 s · raw log$ pnpm --filter @zoen/wiki exec playwright test tests/polish.spec.ts

Notes

2026-10-05 19:34 UTC · Evidence: logs/evidence/GUIDE-DEV-20261006-01/README.md (token analysis output + script, web-checked facts, not-done list). Measured: 4,096 turns, USD 557 real Claude cost, cache reads 69%, median context 465k tokens/turn, per-task Ledger rows sum to 1.86x the real total (156 of 229 tasks had no session id).

2026-10-05 19:34 UTC · Decision: everything added is PROPOSED. New open rows OPEN-11 (one Rust sim via client plugin), OPEN-12 (AAA detail catalog), OPEN-13 (token rules), OPEN-14 (shake default 70 vs 100, blood, others' numbers, day/night). CLAUDE.md and KICKOFF.md unchanged. No decided ADR row edited.

2026-10-05 19:34 UTC · Corrections to older docs (data decides / verified against the Unity manual 2026-10-06): VFX Low aftermath has no decals (feel-quality.json); telegraphs must not share the 64-decal pool; Web build mixer is volume-only and clips are not streamed; dynamic resolution exists only on Metal/Vulkan/DX12; GPU Resident Drawer needs Forward+ and compute, not Web/GLES.

2026-10-05 19:34 UTC · Tooling: tools/ctx.mjs context packs (skill pack 3.9 KB vs skills.json 291 KB); task-log.mjs now defaults --session to CLAUDE_CODE_SESSION_ID, sums every session that touched a task, prints turns + average context at finish. The first data-test run (114 s) included a ctx test that spawned 176 node processes (42 s); it now runs in-process (1.3 s) and the suite is re-run below.

2026-10-05 19:40 UTC · Log collision found and fixed: the wiki build and the second data-test run overlapped, both got log number 04 and the build output overwrote the data-test output (both events passed; logs/test-output/GUIDE-DEV-20261006-01-04.log holds the build). task-log.mjs now reserves the log file name at start; covered by a new test. Data tests re-run below with the final code.