REPOSITORY SOURCE

editor-model-import-acceptance.json

docs/evidence/editor-model-import-acceptance.json

1{
2  "date": "2026-10-25",
3  "capability": "Direct worker GLB import with atomic catalog/instance save and GPU preview",
4  "source_branch": "codex/engine-foundations",
5  "base_commit": "ca97352",
6  "full_plan_percent_estimate": 48,
7  "numbered_milestones_closed": [],
8  "checks": {
9    "headless": {
10      "passed": 477,
11      "failed": 0,
12      "command": "npm test",
13      "log_sha256": "7d2dfdc157004ee6bb43ee43d2ee12d9da126f3ec280e26d9a5a2f5b83df5c88"
14    },
15    "focused_authoring": {
16      "passed": 18,
17      "failed": 0
18    },
19    "type_and_import_checks": "passed, 93 package source files",
20    "production_builds": "Isolated client build with import worker and relay SSR build passed"
21  },
22  "browser_runs": [
23    {
24      "passed": 1,
25      "failed": 2,
26      "findings": [
27        "World preview lacked newly staged GPU geometry; fixed by serializing atomic catalog and scene preparation/commit",
28        "Empty-state test expected old wording; updated for Import GLB"
29      ]
30    },
31    {
32      "passed": 7,
33      "failed": 0,
34      "report": "editor-model-import-regression.json"
35    },
36    {
37      "passed": 1,
38      "failed": 0,
39      "report": "editor-model-import-shared.json"
40    }
41  ],
42  "distinct_passing_browser_scenarios": 8,
43  "coverage": [
44    "Import in dedicated cancellable worker with source/output/time budgets",
45    "Malformed replacement retains prior valid imported preview",
46    "Embedded surface textures and real GPU preview",
47    "Unsaved catalog plus object discarded without server writes",
48    "Atomic import save and exact catalog/identity undo/redo after reload",
49    "Same filename creates fresh catalog key",
50    "Foreign model use permanently fences prior catalog undo",
51    "Two connected travelers on worker/main renderers accept imported geometry and its removal"
52  ],
53  "local_preview": {
54    "refreshed": true,
55    "ready": true,
56    "players": 0,
57    "saved_revision": "0",
58    "saved_sha256_before_and_after": "f076388ad340c7b1e1aa84e72368aa6a9d3a3f6546187a2fed1d0fba66c36977"
59  },
60  "limits": {
61    "source_bytes": 8388608,
62    "compiled_model_bytes": 6291456,
63    "worker_timeout_ms": 30000,
64    "catalog_models": 32
65  },
66  "visuals": [
67    "editor-model-import.png",
68    "editor-surface-import.png"
69  ],
70  "remaining": [
71    "Prefab browser and reusable arrangement placement",
72    "Full milestone 0\u201318 gates",
73    "Final character art redesign"
74  ],
75  "production_deployed": false
76}
77