material-textures-acceptance.json
docs/evidence/material-textures-acceptance.json
1{
2 "format": 1,
3 "recordedAt": "2026-10-24T23:27:26.324117+00:00",
4 "source": "99acd3430b955e1e586a46df82d2689fe2a5eace",
5 "headless": {
6 "command": "node --import tsx --test tests/*.test.ts",
7 "tests": 226,
8 "pass": 226,
9 "fail": 0,
10 "skipped": 0,
11 "log": "material-textures-headless.tap",
12 "provenance": "Pre-commit run includes final compiler/renderer/probe, catalog fallback-byte accounting and seven-pipeline expectations. Subsequent edits add Docker smoke assertions and documentation; final type/import checks passed."
13 },
14 "browser": {
15 "command": "npm run test:browser",
16 "stats": {
17 "startTime": "2026-10-24T23:22:57.335Z",
18 "duration": 235384.636,
19 "expected": 26,
20 "skipped": 0,
21 "unexpected": 0,
22 "flaky": 0
23 },
24 "report": "material-textures-browser.json",
25 "capabilities": "material-textures-capabilities.json",
26 "environment": "Chromium 141 headless shell; software WebGPU; CI=1; 960x640; one worker; isolated temporary client/room storage",
27 "provenance": "Pre-commit temporary production build with final renderer/importer/probe. Subsequent runtime change includes the four-byte fallback in conservative catalog admission accounting; final headless suite covers it. Subsequent Docker assertions, headless pipeline-count expectations and documentation do not change rendered behavior.",
28 "scope": "All 26 player, multiplayer and probe scenarios, zero retries/skips. Earlier targeted run failed only the outer diagnostic census expecting three rather than six textures; all material pixel controls had returned successfully. The corrected census and catalog recovery controls passed the full run.",
29 "initialRun": "material-textures-initial-browser.log"
30 },
31 "materialTextures": {
32 "fixture": "material-textures.1",
33 "hash": "0cc4ae9a059e963bea6c825593f43a018aee809ab714beace476894c488bd36f",
34 "bytes": 552,
35 "textures": 3,
36 "uvOrientation": true,
37 "opaqueAlpha": true,
38 "srgbSampling": true,
39 "metalRoughChannels": true,
40 "emissiveMap": true,
41 "mipSampling": true,
42 "samplerAddressing": true,
43 "rejectedPreservedFrame": true,
44 "replacementFrames": 4,
45 "recoveredFrame": true,
46 "catalogFrame": true,
47 "disposed": {
48 "buffers": 0,
49 "textures": 0,
50 "instances": 0
51 }
52 },
53 "asset": {
54 "sourceHash": "5006083479e5c152e1e2b910946e95b33a3da6585ced666efc41eea4f4d8d985",
55 "sha256": "0cc4ae9a059e963bea6c825593f43a018aee809ab714beace476894c488bd36f",
56 "format": 2,
57 "importer": "glb-textured.1",
58 "uniqueImages": [
59 {
60 "sha256": "c7e9922aa4e1e154e77de3be9c1832611d4adc0706e326ebf2d01d0f836f601f",
61 "usage": "color-opaque",
62 "bytes": 84,
63 "width": 4,
64 "height": 4,
65 "levels": 3
66 },
67 {
68 "sha256": "e7b6f86d87b5ce59633a950c79a505fed772804065ced0bd5991c52843f16e95",
69 "usage": "data",
70 "bytes": 312,
71 "width": 9,
72 "height": 7,
73 "levels": 4
74 }
75 ]
76 },
77 "validation": {
78 "typeAndImports": "passed (54 package source files)",
79 "defaultContent": "Darkwind and Engine Zoo content hashes unchanged",
80 "diffWhitespace": "passed",
81 "docker": "Production-only textured GLB import assertion added to Docker smoke; execution awaits CI. Local Docker daemon is not accessible to this user.",
82 "ci": "Pending source CI; no remote result claimed."
83 },
84 "limits": [
85 "Opaque base color, metallic/roughness and emissive maps on TEXCOORD_0 only.",
86 "Normal/tangent-space, occlusion, alpha cutoff/blending and compressed GPU formats remain open.",
87 "No hardware-GPU or cross-browser performance/capacity claim.",
88 "Default Darkwind art remains unchanged; no merge or deployment to main.",
89 "All full-plan milestones remain open."
90 ]
91}
92