terrain-recipe-acceptance.json
docs/evidence/terrain-recipe-acceptance.json
1{
2 "date": "2026-10-25",
3 "baseCommit": "a83676a3b95155e49e12b5804ddd952bb235b53f",
4 "scope": "Seeded, versioned hills/ridge/basin recipes, editable baked output, source format 3, bounded caches, CLI and editor generation, durable undo, shared Apply and publication. Full milestones 0\u201318 remain open.",
5 "environment": {
6 "node": "22.23.4",
7 "browser": "Playwright 1.56.1 / Chromium 141 / SwiftShader Vulkan WebGPU",
8 "isolation": "Fresh acceptance servers; interactive editor and beta preserved."
9 },
10 "checks": {
11 "focused": {
12 "passed": 28,
13 "failed": 0,
14 "report": "terrain-recipe-focused.tap"
15 },
16 "headless": {
17 "tests": 926,
18 "passed": 866,
19 "skipped": 60,
20 "failed": 0,
21 "concurrency": 4,
22 "report": "terrain-recipe-headless.tap"
23 },
24 "build": {
25 "passed": true,
26 "packageFiles": 169,
27 "engine": "cab270b88ddbd0e441b4875caba5cfe08c4f1cc062e698130278be1582b3e9f3",
28 "files": 28,
29 "bytes": 51252590,
30 "report": "terrain-recipe-build.log"
31 },
32 "portable": {
33 "passed": true,
34 "outsideCheckout": true,
35 "report": "terrain-recipe-portable.json"
36 },
37 "browser": {
38 "finalPassed": 6,
39 "finalFailed": 0,
40 "initialPassed": 4,
41 "initialFailed": 2,
42 "report": "terrain-recipe-browser.json"
43 }
44 },
45 "observations": [
46 "Three pinned source golden hashes match Node, browser main thread and Worker; different seeds/styles produce different output. Recipe admission owns inputs, validates receipts, bounds cache size and fences clear against pending work.",
47 "Generation preserves source chunks and patch identity; the editor retains imported recipe center/clearing on regeneration. Cancel, local undo, save/reopen, exact regeneration and later sculpt/paint pass. Saved undo/redo survives AuthoringStore restart.",
48 "Native generated ridge shows 13044 changed sculpt pixels and 9962 changed paint pixels. Undo and device recovery are pixel exact. Maximum 23 buffers and 5 textures; owned buffers/textures/compiler chunks reach zero after disposal.",
49 "Two actual travelers retain room identities, peer membership and stable arrival height through generated terrain Apply; immutable publication can be entered for gameplay.",
50 "Initial local save exceeded its five-second assertion; HTTP save took about 4.67 seconds. Initial shared journey exceeded the total budget during published player readiness. Retained two completed source compilations removes repeated inverse-validation work. Benchmark alternating sources: about 104\u2013105 ms before, 4\u20135 ms after warmup. Original validation and deadlines remain.",
51 "Desktop/narrow controls, editor projection, shared view and native ridge rendering visually inspected. These are useful landscape foundations; the final environmental art treatment remains required."
52 ],
53 "limits": [
54 "Final shared journey passes but at a reported 60060 ms including runner overhead; earlier failure and effectively absent timing margin remain open. No sustained performance qualification.",
55 "Previously reproduced published-world restoration reload contention remains open and was not retested here.",
56 "Per-sample collaborative submission, streamed chunks, terrain LOD transitions, voxels, rivers, foliage, water/weather/day-night systems, hardware and long-session acceptance remain open.",
57 "Character models and final environment/arrival art remain deferred but required. No numbered milestone is closed.",
58 "No Docker/Coolify deployment or production qualification performed."
59 ],
60 "sourceFiles": {
61 "apps/editor/style.css": "ed34619b77c3d5185a4de4192110e668017c82b18f1a411b0f2b679bbdb21c9f",
62 "apps/editor/terrain.ts": "49a6b7f00379ae782346f87369455b13183366898827bc9bea1ec1c0c999c2ce",
63 "package.json": "3e2e65019294e937645e801f766e79c19753964863b436e95bd3d785febd8df2",
64 "packages/authoring/terrain.ts": "3174f04cf5f324c4a75cee82b2ee0967910d6f3f95124402d4778f368bcb1e69",
65 "packages/terrain/index.ts": "08a52eb8ca2ae2026159bc898c6a05cc97e8d954fd94e5aa224531c2da19f83c",
66 "tests/authoring-terrain.test.ts": "b0f0defd253c5ce1ea72c93b3f31a3bd71da44e391bc539e7c02cdc0cff16844",
67 "tests/browser/terrain.spec.ts": "62e1c8aed39997992c8c677c2afb626ff9c1b2feeb707088adf169d4f92c4f8d",
68 "tests/fixtures/terrain-browser-entry.ts": "efd397c5df8d151d30713e3e998b17f25e02bb75795008004f8601afd2589b70",
69 "tests/fixtures/terrain-browser.worker.ts": "57d39266d7555927baeb5b98601f0c3f4bfc67d30bc86f9dc23acc0f5712293e",
70 "tests/fixtures/terrain-native.ts": "370dcafaf6c3cde3664360b6365e4f83de329ad68a3b716b9a32fbbf4a74636b",
71 "tools/cli/terrain.ts": "5a3aa62845ab555c536badff942a0f066e6da6838e786de56fb9b3ee3795bf2f",
72 "packages/terrain/generation.ts": "b56af162bb415e4e912e32618f0ebcc1e0aa9e32bce39ca964de9dafb9babf81",
73 "packages/terrain/recipe.ts": "674a2c860cebf33c8738fd9b470576388f6eae6c084ab2d51e9aa4ff438325c0",
74 "tests/browser/editor-terrain-recipes.spec.ts": "c7dbe97d6d74e1127e19e0e52542dc60db08a83bd50c7bd17c55af5547dcef57",
75 "tests/terrain-recipes.test.ts": "e8d24673028e7d70c71192de27c2e972e4b3024532cb278b9df24703d645249b"
76 }
77}
78