REPOSITORY SOURCE

editor-reload-investigation.json

docs/evidence/editor-reload-investigation.json

1{
2  "date": "2026-10-25",
3  "baseCommit": "a6b299d746e5c8b9b292cfd7e16ca20fef68b224",
4  "scope": "Diagnosis of the existing published-world restoration editor reload readiness failure. No production behavior change; unsuccessful experiments removed.",
5  "environment": "Node 22.23.4, Playwright 1.56.1, Chromium 141, SwiftShader Vulkan WebGPU. Two isolated player browser contexts and one editor context. Workspace TMPDIR.",
6  "acceptance": {
7    "fixed": false,
8    "originalReadinessDeadlineMs": 5000,
9    "overallJourneyDeadlineMs": 60000,
10    "deadlinesChanged": false,
11    "goalComplete": false
12  },
13  "observations": {
14    "baseline": {
15      "historyHttpMs": 9.4,
16      "documentReadAtMs": 1315,
17      "sceneCompiledAtMs": 1443.2,
18      "deviceResourcesAtMs": 2220.1,
19      "forwardShaderModulesAtMs": 6890,
20      "rendererCreatedAtMs": 9950.1,
21      "editorReadyAtMs": 11129.5,
22      "report": "editor-reload-timing.json"
23    },
24    "control": {
25      "editorReadyAtMs": 2656.8,
26      "suppressedGpuSubmissions": [
27        67,
28        63
29      ],
30      "readinessCheckPassed": true,
31      "wholeJourneyPassed": false,
32      "failure": "The diagnostic journey later exceeded the unchanged 60000ms total test budget.",
33      "report": "editor-reload-no-draw-editor-reload-timing.json",
34      "browserReport": "editor-reload-control-browser.json",
35      "scope": "GPUQueue.submit was suppressed only in the two test-player graphics realms during the editor reload, then restored. Simulation and connections were not intentionally paused. This is a diagnostic counterfactual, never an accepted product behavior."
36    }
37  },
38  "experiments": [
39    {
40      "name": "Parallel initialization",
41      "result": "Readiness still failed; observed ready at 7920ms.",
42      "retained": false,
43      "report": "editor-reload-parallel-timing.json"
44    },
45    {
46      "name": "Inactive-view drawing cadence",
47      "result": "Both isolated headless player contexts reported document.hidden=false and document.hasFocus()=true, so background cadence did not address this reproduction.",
48      "retained": false,
49      "report": "editor-reload-cadence-player-focus-before-reload.json"
50    },
51    {
52      "name": "Same-origin Web Locks preparation/frame coordination",
53      "result": "Readiness still failed. Independent browser profiles do not provide a shared coordination scope for this test.",
54      "retained": false,
55      "report": "editor-reload-coordinated-editor-reload-timing.json"
56    },
57    {
58      "name": "Scene-specific optional lettering/particle shader initialization",
59      "result": "Readiness still failed; native adapter/device/pipeline and queue waits remained under concurrent draw pressure.",
60      "retained": false,
61      "report": "editor-reload-effects-timing.json"
62    }
63  ],
64  "conclusion": "The controlled submission comparison supports concurrent GPU drawing pressure as a contributor to slow cold editor graphics startup. Draft HTTP loading is fast and eventual readiness occurs. These observations do not prove a particular GPU-driver scheduling defect, a production hardware regression, or a completed fix.",
65  "reproduction": {
66    "patch": "editor-reload-diagnostic-control.json",
67    "base": "a6b299d746e5c8b9b292cfd7e16ca20fef68b224",
68    "command": "DW_PLAYTEST=garden-ferry VITE_DW_PLAYTEST=garden-ferry DW_EDITOR_TOKEN=editor-browser-test-only-key-123456 node node_modules/@playwright/test/cli.js test tests/browser/editor-restoration.spec.ts",
69    "warning": "Apply the diagnostic patch only to an isolated checkout at the stated base. It intentionally suppresses test-player draws and must not be used for release acceptance."
70  },
71  "next": "Evaluate renderer workload budgeting under simultaneous active views, including explicit quality choices and physical-device evidence. Keep the unchanged restoration acceptance failure open; do not substitute suppressed rendering or a longer deadline for a fix.",
72  "progress": {
73    "approximateFullPlanPercent": 79,
74    "numberedMilestonesClosed": []
75  }
76}
77