material-authoring-acceptance.json
docs/evidence/material-authoring-acceptance.json
1{
2 "date": "2026-10-25",
3 "baseCommit": "afb8b0c",
4 "capability": "Single-object material authoring with preserved imported assets and reversible live previews",
5 "fullPlanEstimatePercent": 55,
6 "verification": {
7 "focused": {
8 "passed": 36,
9 "failed": 0,
10 "files": [
11 "tests/authoring-materials.test.ts",
12 "tests/authoring-merge.test.ts",
13 "tests/authoring-undo.test.ts",
14 "tests/prefab-links.test.ts",
15 "tests/simulation-revision.test.ts"
16 ],
17 "log": "material-authoring-focused.tap"
18 },
19 "framing": {
20 "passed": 1,
21 "failed": 0,
22 "file": "tests/editor-framing.test.ts",
23 "log": "material-framing.tap"
24 },
25 "browser": {
26 "passed": 3,
27 "failed": 0,
28 "file": "tests/browser/editor-materials.spec.ts",
29 "results": "material-authoring-browser.json"
30 },
31 "typeAndBoundaries": "passed (103 package source files)",
32 "productionBuild": "isolated player and engine bundles passed in browser harness"
33 },
34 "proof": [
35 "Five presets compile on primitives and models without rewriting model assets or story responses",
36 "Blank optional finishes preserve imported per-part roughness/metalness/emissive values",
37 "Exact optional-field undo survives server reopen while unrelated transforms merge",
38 "Concurrent material edits fence saves and undo; local preview remains recoverable",
39 "Repeated material refinement retains intervening transform adjustments",
40 "Imported geometry offsets frame correctly through rotation, nonuniform scale and viewport aspect ratios",
41 "Two connected browsers accept a ferry finish change with sessions, positions, flags and tick progression retained"
42 ],
43 "visualReviewCorrection": "Initial tests passed but the imported-model screenshot exposed origin-based framing. Frame selection now uses the actual imported bounds; the final screenshot shows the complete geometry.",
44 "visuals": [
45 "material-controls.png",
46 "material-controls-narrow.png",
47 "material-imported-preview.png",
48 "material-shared-ferry.png"
49 ],
50 "limits": [
51 "One selected object, including grouped children; no group/multi-selection material operation",
52 "Imported textures remain intact; no individual submaterial or texture-asset editing",
53 "Current renderer finishes only; no material/effect graph or physical-device budget claim",
54 "No complete roadmap milestone closed; character art remains deferred"
55 ],
56 "localEditor": {
57 "ready": true,
58 "materialModuleServed": true,
59 "framingCorrectionServed": true,
60 "draftUnchanged": true,
61 "restartRequired": false
62 }
63}
64