REPOSITORY SOURCE

texture-compiler-acceptance.json

docs/evidence/texture-compiler-acceptance.json

1{
2  "format": 1,
3  "recordedAt": "2026-10-24T23:16:06.677430+00:00",
4  "source": "099a999a25981451643b5e035c8f044578f336aa",
5  "headless": {
6    "command": "npm test",
7    "tests": 218,
8    "pass": 218,
9    "fail": 0,
10    "skipped": 0,
11    "log": "texture-compiler-headless.tap",
12    "provenance": "Pre-commit run on final implementation/tests; only TypeScript printer formatting followed."
13  },
14  "browser": {
15    "command": "npm run test:browser -- tests/browser/probe.spec.ts",
16    "stats": {
17      "startTime": "2026-10-24T23:13:37.927Z",
18      "duration": 82559.62999999999,
19      "expected": 10,
20      "skipped": 0,
21      "unexpected": 0,
22      "flaky": 0
23    },
24    "report": "texture-compiler-browser.json",
25    "capabilities": "texture-compiler-capabilities.json",
26    "provenance": "Pre-commit production build. Later additions were independent headless pixel comparisons, packaged notices, documentation and formatting; browser decoder and contract behavior match source.",
27    "scope": "All ten probe cases, including two complete runs and failure/cancellation recovery. Player and multiplayer browser files were not rerun locally for this CPU/compiler-only stage.",
28    "environment": "Chromium 141 headless shell, software WebGPU, CI=1, one worker, isolated temporary production build"
29  },
30  "textures": {
31    "fixture": "texture-rgba8.1",
32    "artifacts": [
33      {
34        "file": "texture-grid.png",
35        "usage": "color",
36        "sha256": "57376b5950bc45ed17588c384d8362809140beed4db106fae79bae07421ba662",
37        "sourceHash": "fbf8f908dc296a19cf94c155d7c894041613100ec9a35e77497bc842b79bb8d4",
38        "width": 9,
39        "height": 7,
40        "bytes": 312,
41        "levels": [
42          {
43            "width": 9,
44            "height": 7
45          },
46          {
47            "width": 4,
48            "height": 3
49          },
50          {
51            "width": 2,
52            "height": 1
53          },
54          {
55            "width": 1,
56            "height": 1
57          }
58        ]
59      },
60      {
61        "file": "texture-grid.png",
62        "usage": "data",
63        "sha256": "155cf050effc36f353d9b3b7ba89865610a8a15aae731e52bcbc061856680a27",
64        "sourceHash": "fbf8f908dc296a19cf94c155d7c894041613100ec9a35e77497bc842b79bb8d4",
65        "width": 9,
66        "height": 7,
67        "bytes": 312,
68        "levels": [
69          {
70            "width": 9,
71            "height": 7
72          },
73          {
74            "width": 4,
75            "height": 3
76          },
77          {
78            "width": 2,
79            "height": 1
80          },
81          {
82            "width": 1,
83            "height": 1
84          }
85        ]
86      },
87      {
88        "file": "texture-grid.png",
89        "usage": "normal",
90        "sha256": "1e3510d32c8d5b93f328455c654d7279ad8fe532fb3a808181663ba6af60d705",
91        "sourceHash": "fbf8f908dc296a19cf94c155d7c894041613100ec9a35e77497bc842b79bb8d4",
92        "width": 9,
93        "height": 7,
94        "bytes": 312,
95        "levels": [
96          {
97            "width": 9,
98            "height": 7
99          },
100          {
101            "width": 4,
102            "height": 3
103          },
104          {
105            "width": 2,
106            "height": 1
107          },
108          {
109            "width": 1,
110            "height": 1
111          }
112        ]
113      },
114      {
115        "file": "texture-grid.jpg",
116        "usage": "color",
117        "sha256": "b4e7687152932027adf5abe3e7a589b3a7b8dbe30c14a3179b4d9880e07a8ccf",
118        "sourceHash": "6da3e92c068050870bee3b2c501b83b2e22b30a4af94d8180c3663af3ecdf865",
119        "width": 9,
120        "height": 7,
121        "bytes": 312,
122        "levels": [
123          {
124            "width": 9,
125            "height": 7
126          },
127          {
128            "width": 4,
129            "height": 3
130          },
131          {
132            "width": 2,
133            "height": 1
134          },
135          {
136            "width": 1,
137            "height": 1
138          }
139        ]
140      },
141      {
142        "file": "texture-grid.jpg",
143        "usage": "data",
144        "sha256": "e7b6f86d87b5ce59633a950c79a505fed772804065ced0bd5991c52843f16e95",
145        "sourceHash": "6da3e92c068050870bee3b2c501b83b2e22b30a4af94d8180c3663af3ecdf865",
146        "width": 9,
147        "height": 7,
148        "bytes": 312,
149        "levels": [
150          {
151            "width": 9,
152            "height": 7
153          },
154          {
155            "width": 4,
156            "height": 3
157          },
158          {
159            "width": 2,
160            "height": 1
161          },
162          {
163            "width": 1,
164            "height": 1
165          }
166        ]
167      },
168      {
169        "file": "texture-grid.jpg",
170        "usage": "normal",
171        "sha256": "0e7d0aef60b7678b43ff724ac2e93f2700a068643c4fe780766a3892694038fd",
172        "sourceHash": "6da3e92c068050870bee3b2c501b83b2e22b30a4af94d8180c3663af3ecdf865",
173        "width": 9,
174        "height": 7,
175        "bytes": 312,
176        "levels": [
177          {
178            "width": 9,
179            "height": 7
180          },
181          {
182            "width": 4,
183            "height": 3
184          },
185          {
186            "width": 2,
187            "height": 1
188          },
189          {
190            "width": 1,
191            "height": 1
192          }
193        ]
194      }
195    ],
196    "digest": "ddf6f2f05a3b655ee945577f4a9fbc4f69fb0d75f93d717dd981b0008d8d91b9"
197  },
198  "checks": [
199    "TypeScript and 54-source-file import boundaries passed",
200    "Legacy Darkwind and engine-zoo hashes unchanged",
201    "PNG pixels exactly match original numeric source; progressive JPEG matches independent ImageMagick decode within two channel values",
202    "Packed, Adam7, palette, transparency and 16-bit PNG conformance fixtures passed",
203    "CRC, bounds, inflate overflow, scanline count and invalid chunk rejection passed",
204    "sRGB linear-light alpha-weighted mips, linear data mips and normalized normal mips passed",
205    "Input ownership, complete mip validation and rehashed mip rejection passed",
206    "Texture process source/settings/reply identity validation passed",
207    "Portable Node-only CLI builds and runs outside the checkout, includes notices, preserves existing files and removes failed temporary outputs"
208  ],
209  "ci": {
210    "url": "https://github.com/jasona/darkwind-web/actions/runs/40141999357",
211    "status": "queued"
212  },
213  "limits": [
214    "No complete milestone is closed",
215    "This stage produces portable CPU texture artifacts; GLB texture references and GPU material sampling remain open",
216    "Default game art and deployed beta are unchanged",
217    "PNG/JPEG have explicit source/dimension/pixel bounds; process deadline and heap limit do not constitute OS isolation or total RSS bounds",
218    "No physical-device graphics or texture-performance claim",
219    "The prior model-integration browser closure remains unexplained despite three passing repetitions; its CI player job remains live"
220  ]
221}
222