- Add 11:07 Chinese-narrated lesson video, VTT, poster and 13 chapter screenshots. - Regenerate 20-render WebGL2 matrix and 15 operation captures on RTX 4060. - Fix WASM staging for non-ASCII import filenames (猴头.glb); rebuild web_engine. - Harden lesson video recording pipeline; fix stale lesson-link E2E selector. - Add RE PBR derived libraries, lesson page, evidence and status report. Co-Authored-By: Claude Code <noreply@anthropic.com>
619 lines
15 KiB
JSON
619 lines
15 KiB
JSON
{
|
|
"schemaVersion": 1,
|
|
"task": "M12-01B",
|
|
"enablingTask": true,
|
|
"parityStateChange": false,
|
|
"blenderVersion": "5.2.0",
|
|
"catalogDefinition": {
|
|
"fileName": "blender_assets.cats.txt",
|
|
"version": 1,
|
|
"records": [
|
|
{
|
|
"catalogId": "a1111111-1111-4111-8111-111111111111",
|
|
"path": "Models/Characters",
|
|
"simpleName": "Characters",
|
|
"parentPath": "Models"
|
|
},
|
|
{
|
|
"catalogId": "a2222222-2222-4222-8222-222222222222",
|
|
"path": "Models/Primitives",
|
|
"simpleName": "Primitives",
|
|
"parentPath": "Models"
|
|
},
|
|
{
|
|
"catalogId": "a3333333-3333-4333-8333-333333333333",
|
|
"path": "Materials/Metal",
|
|
"simpleName": "Metal",
|
|
"parentPath": "Materials"
|
|
},
|
|
{
|
|
"catalogId": "a4444444-4444-4444-8444-444444444444",
|
|
"path": "Materials/Plastic",
|
|
"simpleName": "Plastic",
|
|
"parentPath": "Materials"
|
|
},
|
|
{
|
|
"catalogId": "a5555555-5555-4555-8555-555555555555",
|
|
"path": "Materials/Wood",
|
|
"simpleName": "Wood",
|
|
"parentPath": "Materials"
|
|
},
|
|
{
|
|
"catalogId": "a6666666-6666-4666-8666-666666666666",
|
|
"path": "Materials/Glass",
|
|
"simpleName": "Glass",
|
|
"parentPath": "Materials"
|
|
},
|
|
{
|
|
"catalogId": "a7777777-7777-4777-8777-777777777777",
|
|
"path": "Materials/Emission",
|
|
"simpleName": "Emission",
|
|
"parentPath": "Materials"
|
|
}
|
|
]
|
|
},
|
|
"assets": [
|
|
{
|
|
"idType": "MATERIAL",
|
|
"name": "PBR Emission Cyan",
|
|
"catalogId": "a7777777-7777-4777-8777-777777777777",
|
|
"catalogSimpleName": "",
|
|
"author": "Web Blender PBR Library",
|
|
"description": "Cyan emissive surface",
|
|
"copyright": "CC0-1.0 generated by Web Blender",
|
|
"license": "CC0-1.0",
|
|
"tags": [
|
|
"emission",
|
|
"cyan"
|
|
],
|
|
"activeTag": 0,
|
|
"usePreferredImportMethod": true,
|
|
"preferredImportMethod": "APPEND",
|
|
"customProperties": [
|
|
{
|
|
"name": "web.datablockName",
|
|
"type": "STR",
|
|
"value": "PBR Emission Cyan"
|
|
},
|
|
{
|
|
"name": "web.idCode",
|
|
"type": "INT",
|
|
"value": 16717
|
|
},
|
|
{
|
|
"name": "web.materialName",
|
|
"type": "STR",
|
|
"value": "PBR Emission Cyan"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"idType": "MATERIAL",
|
|
"name": "PBR Glass",
|
|
"catalogId": "a6666666-6666-4666-8666-666666666666",
|
|
"catalogSimpleName": "",
|
|
"author": "Web Blender PBR Library",
|
|
"description": "Clear glass with transmission",
|
|
"copyright": "CC0-1.0 generated by Web Blender",
|
|
"license": "CC0-1.0",
|
|
"tags": [
|
|
"glass",
|
|
"transmission"
|
|
],
|
|
"activeTag": 0,
|
|
"usePreferredImportMethod": true,
|
|
"preferredImportMethod": "APPEND",
|
|
"customProperties": [
|
|
{
|
|
"name": "web.datablockName",
|
|
"type": "STR",
|
|
"value": "PBR Glass"
|
|
},
|
|
{
|
|
"name": "web.idCode",
|
|
"type": "INT",
|
|
"value": 16717
|
|
},
|
|
{
|
|
"name": "web.materialName",
|
|
"type": "STR",
|
|
"value": "PBR Glass"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"idType": "MATERIAL",
|
|
"name": "PBR Metal Brushed",
|
|
"catalogId": "a3333333-3333-4333-8333-333333333333",
|
|
"catalogSimpleName": "",
|
|
"author": "Web Blender PBR Library",
|
|
"description": "Brushed sheet metal",
|
|
"copyright": "CC0-1.0 generated by Web Blender",
|
|
"license": "CC0-1.0",
|
|
"tags": [
|
|
"metal",
|
|
"brushed"
|
|
],
|
|
"activeTag": 0,
|
|
"usePreferredImportMethod": true,
|
|
"preferredImportMethod": "APPEND",
|
|
"customProperties": [
|
|
{
|
|
"name": "web.datablockName",
|
|
"type": "STR",
|
|
"value": "PBR Metal Brushed"
|
|
},
|
|
{
|
|
"name": "web.idCode",
|
|
"type": "INT",
|
|
"value": 16717
|
|
},
|
|
{
|
|
"name": "web.materialName",
|
|
"type": "STR",
|
|
"value": "PBR Metal Brushed"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"idType": "MATERIAL",
|
|
"name": "PBR Metal Polished",
|
|
"catalogId": "a3333333-3333-4333-8333-333333333333",
|
|
"catalogSimpleName": "",
|
|
"author": "Web Blender PBR Library",
|
|
"description": "Mirror-polished metal",
|
|
"copyright": "CC0-1.0 generated by Web Blender",
|
|
"license": "CC0-1.0",
|
|
"tags": [
|
|
"metal",
|
|
"polished"
|
|
],
|
|
"activeTag": 0,
|
|
"usePreferredImportMethod": true,
|
|
"preferredImportMethod": "APPEND",
|
|
"customProperties": [
|
|
{
|
|
"name": "web.datablockName",
|
|
"type": "STR",
|
|
"value": "PBR Metal Polished"
|
|
},
|
|
{
|
|
"name": "web.idCode",
|
|
"type": "INT",
|
|
"value": 16717
|
|
},
|
|
{
|
|
"name": "web.materialName",
|
|
"type": "STR",
|
|
"value": "PBR Metal Polished"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"idType": "MATERIAL",
|
|
"name": "PBR Plastic Red",
|
|
"catalogId": "a4444444-4444-4444-8444-444444444444",
|
|
"catalogSimpleName": "",
|
|
"author": "Web Blender PBR Library",
|
|
"description": "Glossy red plastic",
|
|
"copyright": "CC0-1.0 generated by Web Blender",
|
|
"license": "CC0-1.0",
|
|
"tags": [
|
|
"plastic",
|
|
"red"
|
|
],
|
|
"activeTag": 0,
|
|
"usePreferredImportMethod": true,
|
|
"preferredImportMethod": "APPEND",
|
|
"customProperties": [
|
|
{
|
|
"name": "web.datablockName",
|
|
"type": "STR",
|
|
"value": "PBR Plastic Red"
|
|
},
|
|
{
|
|
"name": "web.idCode",
|
|
"type": "INT",
|
|
"value": 16717
|
|
},
|
|
{
|
|
"name": "web.materialName",
|
|
"type": "STR",
|
|
"value": "PBR Plastic Red"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"idType": "MATERIAL",
|
|
"name": "PBR Plastic White",
|
|
"catalogId": "a4444444-4444-4444-8444-444444444444",
|
|
"catalogSimpleName": "",
|
|
"author": "Web Blender PBR Library",
|
|
"description": "Matte white plastic",
|
|
"copyright": "CC0-1.0 generated by Web Blender",
|
|
"license": "CC0-1.0",
|
|
"tags": [
|
|
"plastic",
|
|
"white"
|
|
],
|
|
"activeTag": 0,
|
|
"usePreferredImportMethod": true,
|
|
"preferredImportMethod": "APPEND",
|
|
"customProperties": [
|
|
{
|
|
"name": "web.datablockName",
|
|
"type": "STR",
|
|
"value": "PBR Plastic White"
|
|
},
|
|
{
|
|
"name": "web.idCode",
|
|
"type": "INT",
|
|
"value": 16717
|
|
},
|
|
{
|
|
"name": "web.materialName",
|
|
"type": "STR",
|
|
"value": "PBR Plastic White"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"idType": "MATERIAL",
|
|
"name": "PBR Rubber Black",
|
|
"catalogId": "a4444444-4444-4444-8444-444444444444",
|
|
"catalogSimpleName": "",
|
|
"author": "Web Blender PBR Library",
|
|
"description": "Matte black rubber",
|
|
"copyright": "CC0-1.0 generated by Web Blender",
|
|
"license": "CC0-1.0",
|
|
"tags": [
|
|
"rubber",
|
|
"black"
|
|
],
|
|
"activeTag": 0,
|
|
"usePreferredImportMethod": true,
|
|
"preferredImportMethod": "APPEND",
|
|
"customProperties": [
|
|
{
|
|
"name": "web.datablockName",
|
|
"type": "STR",
|
|
"value": "PBR Rubber Black"
|
|
},
|
|
{
|
|
"name": "web.idCode",
|
|
"type": "INT",
|
|
"value": 16717
|
|
},
|
|
{
|
|
"name": "web.materialName",
|
|
"type": "STR",
|
|
"value": "PBR Rubber Black"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"idType": "MATERIAL",
|
|
"name": "PBR Wood",
|
|
"catalogId": "a5555555-5555-4555-8555-555555555555",
|
|
"catalogSimpleName": "",
|
|
"author": "Web Blender PBR Library",
|
|
"description": "Warm matte wood colour",
|
|
"copyright": "CC0-1.0 generated by Web Blender",
|
|
"license": "CC0-1.0",
|
|
"tags": [
|
|
"wood",
|
|
"warm"
|
|
],
|
|
"activeTag": 0,
|
|
"usePreferredImportMethod": true,
|
|
"preferredImportMethod": "APPEND",
|
|
"customProperties": [
|
|
{
|
|
"name": "web.datablockName",
|
|
"type": "STR",
|
|
"value": "PBR Wood"
|
|
},
|
|
{
|
|
"name": "web.idCode",
|
|
"type": "INT",
|
|
"value": 16717
|
|
},
|
|
{
|
|
"name": "web.materialName",
|
|
"type": "STR",
|
|
"value": "PBR Wood"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"idType": "OBJECT",
|
|
"name": "PBR Cube",
|
|
"catalogId": "a2222222-2222-4222-8222-222222222222",
|
|
"catalogSimpleName": "",
|
|
"author": "Web Blender PBR Library",
|
|
"description": "PBR Cube PBR model",
|
|
"copyright": "CC0-1.0 generated by Web Blender",
|
|
"license": "CC0-1.0",
|
|
"tags": [
|
|
"model",
|
|
"cube"
|
|
],
|
|
"activeTag": 0,
|
|
"usePreferredImportMethod": true,
|
|
"preferredImportMethod": "APPEND",
|
|
"customProperties": [
|
|
{
|
|
"name": "dimensions",
|
|
"type": "IDPROPERTYARRAY",
|
|
"value": [
|
|
2.0,
|
|
2.0,
|
|
2.0
|
|
]
|
|
},
|
|
{
|
|
"name": "web.datablockName",
|
|
"type": "STR",
|
|
"value": "PBR Cube"
|
|
},
|
|
{
|
|
"name": "web.idCode",
|
|
"type": "INT",
|
|
"value": 16975
|
|
},
|
|
{
|
|
"name": "web.materialName",
|
|
"type": "STR",
|
|
"value": "PBR Plastic Red"
|
|
},
|
|
{
|
|
"name": "web.meshName",
|
|
"type": "STR",
|
|
"value": "PBR Cube Mesh"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"idType": "OBJECT",
|
|
"name": "PBR Cylinder",
|
|
"catalogId": "a2222222-2222-4222-8222-222222222222",
|
|
"catalogSimpleName": "",
|
|
"author": "Web Blender PBR Library",
|
|
"description": "PBR Cylinder PBR model",
|
|
"copyright": "CC0-1.0 generated by Web Blender",
|
|
"license": "CC0-1.0",
|
|
"tags": [
|
|
"model",
|
|
"cylinder"
|
|
],
|
|
"activeTag": 0,
|
|
"usePreferredImportMethod": true,
|
|
"preferredImportMethod": "APPEND",
|
|
"customProperties": [
|
|
{
|
|
"name": "dimensions",
|
|
"type": "IDPROPERTYARRAY",
|
|
"value": [
|
|
1.5,
|
|
1.5,
|
|
2.0
|
|
]
|
|
},
|
|
{
|
|
"name": "web.datablockName",
|
|
"type": "STR",
|
|
"value": "PBR Cylinder"
|
|
},
|
|
{
|
|
"name": "web.idCode",
|
|
"type": "INT",
|
|
"value": 16975
|
|
},
|
|
{
|
|
"name": "web.materialName",
|
|
"type": "STR",
|
|
"value": "PBR Glass"
|
|
},
|
|
{
|
|
"name": "web.meshName",
|
|
"type": "STR",
|
|
"value": "PBR Cylinder Mesh"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"idType": "OBJECT",
|
|
"name": "PBR Plane",
|
|
"catalogId": "a2222222-2222-4222-8222-222222222222",
|
|
"catalogSimpleName": "",
|
|
"author": "Web Blender PBR Library",
|
|
"description": "PBR Plane PBR model",
|
|
"copyright": "CC0-1.0 generated by Web Blender",
|
|
"license": "CC0-1.0",
|
|
"tags": [
|
|
"model",
|
|
"plane"
|
|
],
|
|
"activeTag": 0,
|
|
"usePreferredImportMethod": true,
|
|
"preferredImportMethod": "APPEND",
|
|
"customProperties": [
|
|
{
|
|
"name": "dimensions",
|
|
"type": "IDPROPERTYARRAY",
|
|
"value": [
|
|
2.0,
|
|
2.0,
|
|
0.0
|
|
]
|
|
},
|
|
{
|
|
"name": "web.datablockName",
|
|
"type": "STR",
|
|
"value": "PBR Plane"
|
|
},
|
|
{
|
|
"name": "web.idCode",
|
|
"type": "INT",
|
|
"value": 16975
|
|
},
|
|
{
|
|
"name": "web.materialName",
|
|
"type": "STR",
|
|
"value": "PBR Rubber Black"
|
|
},
|
|
{
|
|
"name": "web.meshName",
|
|
"type": "STR",
|
|
"value": "PBR Plane Mesh"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"idType": "OBJECT",
|
|
"name": "PBR Suzanne",
|
|
"catalogId": "a1111111-1111-4111-8111-111111111111",
|
|
"catalogSimpleName": "",
|
|
"author": "Web Blender PBR Library",
|
|
"description": "PBR Suzanne PBR model",
|
|
"copyright": "CC0-1.0 generated by Web Blender",
|
|
"license": "CC0-1.0",
|
|
"tags": [
|
|
"model",
|
|
"monkey"
|
|
],
|
|
"activeTag": 0,
|
|
"usePreferredImportMethod": true,
|
|
"preferredImportMethod": "APPEND",
|
|
"customProperties": [
|
|
{
|
|
"name": "dimensions",
|
|
"type": "IDPROPERTYARRAY",
|
|
"value": [
|
|
2.734375,
|
|
1.703125,
|
|
1.96875
|
|
]
|
|
},
|
|
{
|
|
"name": "web.datablockName",
|
|
"type": "STR",
|
|
"value": "PBR Suzanne"
|
|
},
|
|
{
|
|
"name": "web.idCode",
|
|
"type": "INT",
|
|
"value": 16975
|
|
},
|
|
{
|
|
"name": "web.materialName",
|
|
"type": "STR",
|
|
"value": "PBR Metal Brushed"
|
|
},
|
|
{
|
|
"name": "web.meshName",
|
|
"type": "STR",
|
|
"value": "PBR Suzanne Mesh"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"idType": "OBJECT",
|
|
"name": "PBR Torus",
|
|
"catalogId": "a2222222-2222-4222-8222-222222222222",
|
|
"catalogSimpleName": "",
|
|
"author": "Web Blender PBR Library",
|
|
"description": "PBR Torus PBR model",
|
|
"copyright": "CC0-1.0 generated by Web Blender",
|
|
"license": "CC0-1.0",
|
|
"tags": [
|
|
"model",
|
|
"torus"
|
|
],
|
|
"activeTag": 0,
|
|
"usePreferredImportMethod": true,
|
|
"preferredImportMethod": "APPEND",
|
|
"customProperties": [
|
|
{
|
|
"name": "dimensions",
|
|
"type": "IDPROPERTYARRAY",
|
|
"value": [
|
|
2.680000066757202,
|
|
2.680000066757202,
|
|
0.6800000071525574
|
|
]
|
|
},
|
|
{
|
|
"name": "web.datablockName",
|
|
"type": "STR",
|
|
"value": "PBR Torus"
|
|
},
|
|
{
|
|
"name": "web.idCode",
|
|
"type": "INT",
|
|
"value": 16975
|
|
},
|
|
{
|
|
"name": "web.materialName",
|
|
"type": "STR",
|
|
"value": "PBR Metal Polished"
|
|
},
|
|
{
|
|
"name": "web.meshName",
|
|
"type": "STR",
|
|
"value": "PBR Torus Mesh"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"idType": "OBJECT",
|
|
"name": "PBR UV Sphere",
|
|
"catalogId": "a2222222-2222-4222-8222-222222222222",
|
|
"catalogSimpleName": "",
|
|
"author": "Web Blender PBR Library",
|
|
"description": "PBR UV Sphere PBR model",
|
|
"copyright": "CC0-1.0 generated by Web Blender",
|
|
"license": "CC0-1.0",
|
|
"tags": [
|
|
"model",
|
|
"sphere"
|
|
],
|
|
"activeTag": 0,
|
|
"usePreferredImportMethod": true,
|
|
"preferredImportMethod": "APPEND",
|
|
"customProperties": [
|
|
{
|
|
"name": "dimensions",
|
|
"type": "IDPROPERTYARRAY",
|
|
"value": [
|
|
1.9999995231628418,
|
|
1.999999761581421,
|
|
2.0
|
|
]
|
|
},
|
|
{
|
|
"name": "web.datablockName",
|
|
"type": "STR",
|
|
"value": "PBR UV Sphere"
|
|
},
|
|
{
|
|
"name": "web.idCode",
|
|
"type": "INT",
|
|
"value": 16975
|
|
},
|
|
{
|
|
"name": "web.materialName",
|
|
"type": "STR",
|
|
"value": "PBR Wood"
|
|
},
|
|
{
|
|
"name": "web.meshName",
|
|
"type": "STR",
|
|
"value": "PBR UV Sphere Mesh"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"nextTask": "M12-01C"
|
|
}
|