REPOSITORY SOURCE

model-render-acceptance.json

docs/evidence/model-render-acceptance.json

1{
2  "format": 1,
3  "recordedAt": "2026-10-24T22:52:54.230366+00:00",
4  "source": {
5    "renderer": "d92607c7efeb3320b22a6973b51b3b29357f2370",
6    "testAndCiFollowup": "d0afaaa020207db2252964a77aa48e3ae2602c26"
7  },
8  "headless": {
9    "source": "d92607c7efeb3320b22a6973b51b3b29357f2370",
10    "dirty": false,
11    "command": "npm test",
12    "tests": 197,
13    "pass": 197,
14    "fail": 0,
15    "skipped": 0,
16    "log": "model-render-headless.tap"
17  },
18  "browser": {
19    "full": {
20      "source": "working tree before d92607c",
21      "dirty": true,
22      "note": "Complete suite passed before adding the final back-face normal equivalence control, one additional transformed-bound headless regression, and the subsequent recovery-test/CI-only follow-up. Runtime renderer implementation matches the committed source.",
23      "stats": {
24        "startTime": "2026-10-24T22:47:53.115Z",
25        "duration": 218895.141,
26        "expected": 26,
27        "skipped": 0,
28        "unexpected": 0,
29        "flaky": 0
30      },
31      "report": "model-render-browser-tests.json"
32    },
33    "finalAffectedCases": {
34      "source": "d0afaaa020207db2252964a77aa48e3ae2602c26",
35      "dirty": false,
36      "cases": [
37        "owned renderer works",
38        "graphics recovery preserves the world",
39        "graphics recovery keeps the shared room"
40      ],
41      "stats": {
42        "startTime": "2026-10-24T22:51:46.692Z",
43        "duration": 42243.644,
44        "expected": 3,
45        "skipped": 0,
46        "unexpected": 0,
47        "flaky": 0
48      },
49      "report": "model-render-final-controls.json"
50    },
51    "environment": "Chromium 141 headless shell, software WebGPU, 960x640, CI=1, one worker, isolated temporary production build",
52    "capabilities": "model-render-capabilities.json"
53  },
54  "models": {
55    "fixture": "model-render.1",
56    "hash": "bf4a9fd6e9f5fc0d6485ab731f4d27ecc29cd7f640780b339bff3f1bf30d69ec",
57    "sourceHash": "973319f50d8f86eee7542ce63da52b9ba91498f247bceb8d693ac2b3b52816a1",
58    "meshes": 3,
59    "instances": 3,
60    "triangles": 24,
61    "bytes": 2592,
62    "visibleGeometry": true,
63    "mirroredControl": true,
64    "emissiveControl": true,
65    "doubleSidedControl": true,
66    "backFaceNormalControl": true,
67    "rejectedPreservedFrame": true,
68    "replacementFrames": 4,
69    "visibilityFrames": 3,
70    "recoveredFrame": true,
71    "clearedFrame": true,
72    "disposed": {
73      "buffers": 0,
74      "textures": 0,
75      "instances": 0
76    }
77  },
78  "shaders": {
79    "initialHash": "a9bf279fd6fb195535e76bbe51fa26c935d450c9a171ba7b6e50968129766ebd",
80    "changedHash": "a84bef43b9e5c5b901a9255c105b09324949b55675fbaee5b9bf063b0fdf5f76",
81    "activeHash": "a9bf279fd6fb195535e76bbe51fa26c935d450c9a171ba7b6e50968129766ebd",
82    "resourceCensus": {
83      "buffers": 6,
84      "textures": 3,
85      "targetGeneration": 3
86    }
87  },
88  "checks": [
89    "TypeScript and 49-source-file import boundary check passed",
90    "Darkwind and engine-zoo content hashes unchanged",
91    "Real GPU indexed geometry and shadow rendering",
92    "Owned input mutation after admission cannot change installation",
93    "Mirrored mesh removal changes pixels; reflected positions/winding verified headlessly",
94    "Colored emission changes pixels; equivalent front/back lighting matches exactly",
95    "Failed rehashed artifact preserves exact accepted pixels and resource counts",
96    "Four replacement frames and three culling/reference image pairs",
97    "Clear/reinstall and new-device restoration from retained CPU artifact",
98    "Partial buffer allocation and asynchronous/synchronous scope failures release candidates",
99    "Shared primitive/model/traveler instance reservations",
100    "Existing full multiplayer, gameplay, checkpoint, worker and graphics regression suite"
101  ],
102  "ci": {
103    "renderer": {
104      "url": "https://github.com/jasona/darkwind-web/actions/runs/40140288363",
105      "status": "in_progress"
106    },
107    "followup": {
108      "url": "https://github.com/jasona/darkwind-web/actions/runs/40140353358",
109      "status": "in_progress"
110    }
111  },
112  "limits": [
113    "No complete milestone is closed",
114    "The player world still uses the primitive catalog; imported authored placement and release manifests remain open",
115    "Probe-managed CPU artifact reinstall is not automatic imported-catalog recovery in the player",
116    "Textures, alpha modes, skeletal animation and imported collision installation remain open",
117    "Logical buffer census is not physical VRAM; software GPU verification does not establish hardware budgets",
118    "Earlier recovery CI has retained failures; follow-up CI is not yet confirmed passing"
119  ]
120}
121