- 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>
412 lines
17 KiB
JSON
412 lines
17 KiB
JSON
{
|
|
"schemaVersion": 1,
|
|
"task": "RE-PBR-RENDER-001",
|
|
"renderer": "WEB_WEBGL2",
|
|
"headed": true,
|
|
"gpuMode": "hardware",
|
|
"browser": "151.0.7922.137",
|
|
"chromePath": "/usr/bin/google-chrome",
|
|
"display": ":1",
|
|
"generatedAt": "2026-11-12T13:24:47.364Z",
|
|
"studioSha256": "621ffacc0eaea9f9efd087849de048804dd45cd13f94494b1f1a91328143feed",
|
|
"glbSha256": "60267d607b63ceb5bfc972342a9ff17310d6978ff632f240ecb963c4d5a7e003",
|
|
"materials": [
|
|
"Black_Anti_Slip_grip",
|
|
"Blackish_Brick_Wall_016",
|
|
"black_randome_tile",
|
|
"black_shinning_tile",
|
|
"black_tiles_wall",
|
|
"black_worn_wall_brick"
|
|
],
|
|
"renders": [
|
|
{
|
|
"name": "baseline-unassigned-1024-scene",
|
|
"material": null,
|
|
"resolution": 1024,
|
|
"camera": "SCENE",
|
|
"path": "tests/golden/RE-PBR-RENDER-001/renders/baseline-unassigned-1024-scene.png",
|
|
"jpg": "web/app/public/tutorial/pbr/lesson/renders/baseline-unassigned-1024-scene.jpg",
|
|
"sha256": "4084f64fcd9cb981e241ddc120c5a0f6e256d1c7896d525579a6e3be60ffc265",
|
|
"byteLength": 333634,
|
|
"mean": 94.5402,
|
|
"std": 45.4315,
|
|
"textureStatus": "ready:1:0:",
|
|
"textureAssets": 1,
|
|
"compileStatus": "BASELINE"
|
|
},
|
|
{
|
|
"name": "material-Black_Anti_Slip_grip-1024-scene",
|
|
"material": "Black_Anti_Slip_grip-1024-scene",
|
|
"resolution": 1024,
|
|
"camera": "SCENE",
|
|
"path": "tests/golden/RE-PBR-RENDER-001/renders/material-Black_Anti_Slip_grip-1024-scene.png",
|
|
"jpg": "web/app/public/tutorial/pbr/lesson/renders/material-Black_Anti_Slip_grip-1024-scene.jpg",
|
|
"sha256": "dcc7194607f100bea6f8c7ae376cda991e208e0341e51f8f42edb8ea79026eeb",
|
|
"byteLength": 406827,
|
|
"mean": 94.6004,
|
|
"std": 45.5247,
|
|
"textureStatus": "ready:5:0:",
|
|
"textureAssets": 5,
|
|
"compileStatus": "COMPILED"
|
|
},
|
|
{
|
|
"name": "material-Black_Anti_Slip_grip-1024-viewport",
|
|
"material": "Black_Anti_Slip_grip-1024-viewport",
|
|
"resolution": 1024,
|
|
"camera": "VIEWPORT",
|
|
"path": "tests/golden/RE-PBR-RENDER-001/renders/material-Black_Anti_Slip_grip-1024-viewport.png",
|
|
"jpg": "web/app/public/tutorial/pbr/lesson/renders/material-Black_Anti_Slip_grip-1024-viewport.jpg",
|
|
"sha256": "a2906859a592b3fe550db7cac69f6d968f8cccb92569dda2edcc50ff7670d760",
|
|
"byteLength": 552825,
|
|
"mean": 68.1723,
|
|
"std": 19.4146,
|
|
"textureStatus": "ready:5:0:",
|
|
"textureAssets": 5,
|
|
"compileStatus": "COMPILED"
|
|
},
|
|
{
|
|
"name": "material-Black_Anti_Slip_grip-512-scene",
|
|
"material": "Black_Anti_Slip_grip-512-scene",
|
|
"resolution": 512,
|
|
"camera": "SCENE",
|
|
"path": "tests/golden/RE-PBR-RENDER-001/renders/material-Black_Anti_Slip_grip-512-scene.png",
|
|
"jpg": "web/app/public/tutorial/pbr/lesson/renders/material-Black_Anti_Slip_grip-512-scene.jpg",
|
|
"sha256": "d97dbd711526016c8f7e4abc6ea565ae1243a8f982bfce9eac6c3cfd4b256273",
|
|
"byteLength": 138648,
|
|
"mean": 94.5944,
|
|
"std": 45.4802,
|
|
"textureStatus": "ready:5:0:",
|
|
"textureAssets": 5,
|
|
"compileStatus": "COMPILED"
|
|
},
|
|
{
|
|
"name": "material-Blackish_Brick_Wall_016-1024-scene",
|
|
"material": "Blackish_Brick_Wall_016-1024-scene",
|
|
"resolution": 1024,
|
|
"camera": "SCENE",
|
|
"path": "tests/golden/RE-PBR-RENDER-001/renders/material-Blackish_Brick_Wall_016-1024-scene.png",
|
|
"jpg": "web/app/public/tutorial/pbr/lesson/renders/material-Blackish_Brick_Wall_016-1024-scene.jpg",
|
|
"sha256": "3f57bbdf0db50a9ef31e730e6e868e138917143fbb5f08c2d78fc10fd2d89d57",
|
|
"byteLength": 347506,
|
|
"mean": 93.4853,
|
|
"std": 45.7205,
|
|
"textureStatus": "ready:5:0:",
|
|
"textureAssets": 5,
|
|
"compileStatus": "COMPILED"
|
|
},
|
|
{
|
|
"name": "material-Blackish_Brick_Wall_016-1024-viewport",
|
|
"material": "Blackish_Brick_Wall_016-1024-viewport",
|
|
"resolution": 1024,
|
|
"camera": "VIEWPORT",
|
|
"path": "tests/golden/RE-PBR-RENDER-001/renders/material-Blackish_Brick_Wall_016-1024-viewport.png",
|
|
"jpg": "web/app/public/tutorial/pbr/lesson/renders/material-Blackish_Brick_Wall_016-1024-viewport.jpg",
|
|
"sha256": "dc590cdd28d7a04f773a03fa8f5977adc22fd4db96df4b23196356380f322bd0",
|
|
"byteLength": 436440,
|
|
"mean": 66.7569,
|
|
"std": 17.6259,
|
|
"textureStatus": "ready:5:0:",
|
|
"textureAssets": 5,
|
|
"compileStatus": "COMPILED"
|
|
},
|
|
{
|
|
"name": "material-Blackish_Brick_Wall_016-512-scene",
|
|
"material": "Blackish_Brick_Wall_016-512-scene",
|
|
"resolution": 512,
|
|
"camera": "SCENE",
|
|
"path": "tests/golden/RE-PBR-RENDER-001/renders/material-Blackish_Brick_Wall_016-512-scene.png",
|
|
"jpg": "web/app/public/tutorial/pbr/lesson/renders/material-Blackish_Brick_Wall_016-512-scene.jpg",
|
|
"sha256": "8b6a49a0c3141c9ac1c904792f47f8b4492348992db481550f2067c6c8a128c9",
|
|
"byteLength": 125970,
|
|
"mean": 93.4702,
|
|
"std": 45.7063,
|
|
"textureStatus": "ready:5:0:",
|
|
"textureAssets": 5,
|
|
"compileStatus": "COMPILED"
|
|
},
|
|
{
|
|
"name": "material-black_randome_tile-1024-scene",
|
|
"material": "black_randome_tile-1024-scene",
|
|
"resolution": 1024,
|
|
"camera": "SCENE",
|
|
"path": "tests/golden/RE-PBR-RENDER-001/renders/material-black_randome_tile-1024-scene.png",
|
|
"jpg": "web/app/public/tutorial/pbr/lesson/renders/material-black_randome_tile-1024-scene.jpg",
|
|
"sha256": "a54f9caf195b9726e6792dc3fa7e92d59c9dc485f3c3bc7e65d94cc62a900253",
|
|
"byteLength": 377709,
|
|
"mean": 93.6921,
|
|
"std": 45.541,
|
|
"textureStatus": "ready:5:0:",
|
|
"textureAssets": 5,
|
|
"compileStatus": "COMPILED"
|
|
},
|
|
{
|
|
"name": "material-black_randome_tile-1024-viewport",
|
|
"material": "black_randome_tile-1024-viewport",
|
|
"resolution": 1024,
|
|
"camera": "VIEWPORT",
|
|
"path": "tests/golden/RE-PBR-RENDER-001/renders/material-black_randome_tile-1024-viewport.png",
|
|
"jpg": "web/app/public/tutorial/pbr/lesson/renders/material-black_randome_tile-1024-viewport.jpg",
|
|
"sha256": "697e37d18a2b7575b1b2a05a0b931c17565ac48c3869358dac1c509a21491457",
|
|
"byteLength": 469187,
|
|
"mean": 67.1074,
|
|
"std": 17.5655,
|
|
"textureStatus": "ready:5:0:",
|
|
"textureAssets": 5,
|
|
"compileStatus": "COMPILED"
|
|
},
|
|
{
|
|
"name": "material-black_randome_tile-512-scene",
|
|
"material": "black_randome_tile-512-scene",
|
|
"resolution": 512,
|
|
"camera": "SCENE",
|
|
"path": "tests/golden/RE-PBR-RENDER-001/renders/material-black_randome_tile-512-scene.png",
|
|
"jpg": "web/app/public/tutorial/pbr/lesson/renders/material-black_randome_tile-512-scene.jpg",
|
|
"sha256": "ee40d1e815c7d60d8f96c5a0c3edeefdb3245a25c76c35ec7193e0d6bcc182e4",
|
|
"byteLength": 134145,
|
|
"mean": 93.6227,
|
|
"std": 45.5507,
|
|
"textureStatus": "ready:5:0:",
|
|
"textureAssets": 5,
|
|
"compileStatus": "COMPILED"
|
|
},
|
|
{
|
|
"name": "material-black_shinning_tile-1024-scene",
|
|
"material": "black_shinning_tile-1024-scene",
|
|
"resolution": 1024,
|
|
"camera": "SCENE",
|
|
"path": "tests/golden/RE-PBR-RENDER-001/renders/material-black_shinning_tile-1024-scene.png",
|
|
"jpg": "web/app/public/tutorial/pbr/lesson/renders/material-black_shinning_tile-1024-scene.jpg",
|
|
"sha256": "4252afbc06e936d552c40bd20c1de4fbf74902df5521e574b3e49f3633af045d",
|
|
"byteLength": 407550,
|
|
"mean": 94.6918,
|
|
"std": 45.7203,
|
|
"textureStatus": "ready:5:0:",
|
|
"textureAssets": 5,
|
|
"compileStatus": "COMPILED"
|
|
},
|
|
{
|
|
"name": "material-black_shinning_tile-1024-viewport",
|
|
"material": "black_shinning_tile-1024-viewport",
|
|
"resolution": 1024,
|
|
"camera": "VIEWPORT",
|
|
"path": "tests/golden/RE-PBR-RENDER-001/renders/material-black_shinning_tile-1024-viewport.png",
|
|
"jpg": "web/app/public/tutorial/pbr/lesson/renders/material-black_shinning_tile-1024-viewport.jpg",
|
|
"sha256": "3996b7d704dceaa4215a0126db4ee6387ef00c48b67932e86c75983e22dd5c07",
|
|
"byteLength": 533567,
|
|
"mean": 68.3535,
|
|
"std": 20.5096,
|
|
"textureStatus": "ready:5:0:",
|
|
"textureAssets": 5,
|
|
"compileStatus": "COMPILED"
|
|
},
|
|
{
|
|
"name": "material-black_shinning_tile-512-scene",
|
|
"material": "black_shinning_tile-512-scene",
|
|
"resolution": 512,
|
|
"camera": "SCENE",
|
|
"path": "tests/golden/RE-PBR-RENDER-001/renders/material-black_shinning_tile-512-scene.png",
|
|
"jpg": "web/app/public/tutorial/pbr/lesson/renders/material-black_shinning_tile-512-scene.jpg",
|
|
"sha256": "2a4bd3aa9aa24998d7d236b1450a95fc93ccaae8d34bc0ee2fe64620d8bf4c79",
|
|
"byteLength": 142153,
|
|
"mean": 94.6237,
|
|
"std": 45.5561,
|
|
"textureStatus": "ready:5:0:",
|
|
"textureAssets": 5,
|
|
"compileStatus": "COMPILED"
|
|
},
|
|
{
|
|
"name": "material-black_tiles_wall-1024-scene",
|
|
"material": "black_tiles_wall-1024-scene",
|
|
"resolution": 1024,
|
|
"camera": "SCENE",
|
|
"path": "tests/golden/RE-PBR-RENDER-001/renders/material-black_tiles_wall-1024-scene.png",
|
|
"jpg": "web/app/public/tutorial/pbr/lesson/renders/material-black_tiles_wall-1024-scene.jpg",
|
|
"sha256": "b2e037c2151bd53eab519f59495590c09588c0b89573b39c7b802435f91c5171",
|
|
"byteLength": 372178,
|
|
"mean": 94.207,
|
|
"std": 45.2282,
|
|
"textureStatus": "ready:5:0:",
|
|
"textureAssets": 5,
|
|
"compileStatus": "COMPILED"
|
|
},
|
|
{
|
|
"name": "material-black_tiles_wall-1024-viewport",
|
|
"material": "black_tiles_wall-1024-viewport",
|
|
"resolution": 1024,
|
|
"camera": "VIEWPORT",
|
|
"path": "tests/golden/RE-PBR-RENDER-001/renders/material-black_tiles_wall-1024-viewport.png",
|
|
"jpg": "web/app/public/tutorial/pbr/lesson/renders/material-black_tiles_wall-1024-viewport.jpg",
|
|
"sha256": "0b1f61d4c9db1cb8b142af3b7bfa0bbca75884aba3f4130dec0e2e22269d3440",
|
|
"byteLength": 479935,
|
|
"mean": 68.0221,
|
|
"std": 17.3012,
|
|
"textureStatus": "ready:5:0:",
|
|
"textureAssets": 5,
|
|
"compileStatus": "COMPILED"
|
|
},
|
|
{
|
|
"name": "material-black_tiles_wall-512-scene",
|
|
"material": "black_tiles_wall-512-scene",
|
|
"resolution": 512,
|
|
"camera": "SCENE",
|
|
"path": "tests/golden/RE-PBR-RENDER-001/renders/material-black_tiles_wall-512-scene.png",
|
|
"jpg": "web/app/public/tutorial/pbr/lesson/renders/material-black_tiles_wall-512-scene.jpg",
|
|
"sha256": "7bff874cb5992052880cbb947394d026589600fa59cc9b0405458edd605cfd9d",
|
|
"byteLength": 131660,
|
|
"mean": 94.1789,
|
|
"std": 45.2036,
|
|
"textureStatus": "ready:5:0:",
|
|
"textureAssets": 5,
|
|
"compileStatus": "COMPILED"
|
|
},
|
|
{
|
|
"name": "material-black_worn_wall_brick-1024-scene",
|
|
"material": "black_worn_wall_brick-1024-scene",
|
|
"resolution": 1024,
|
|
"camera": "SCENE",
|
|
"path": "tests/golden/RE-PBR-RENDER-001/renders/material-black_worn_wall_brick-1024-scene.png",
|
|
"jpg": "web/app/public/tutorial/pbr/lesson/renders/material-black_worn_wall_brick-1024-scene.jpg",
|
|
"sha256": "95105d1e3d3844c815e39a9a41f41761cc798a5cc7f1756f9fd5521f545470ea",
|
|
"byteLength": 395215,
|
|
"mean": 94.3206,
|
|
"std": 45.1801,
|
|
"textureStatus": "ready:5:0:",
|
|
"textureAssets": 5,
|
|
"compileStatus": "COMPILED"
|
|
},
|
|
{
|
|
"name": "material-black_worn_wall_brick-1024-viewport",
|
|
"material": "black_worn_wall_brick-1024-viewport",
|
|
"resolution": 1024,
|
|
"camera": "VIEWPORT",
|
|
"path": "tests/golden/RE-PBR-RENDER-001/renders/material-black_worn_wall_brick-1024-viewport.png",
|
|
"jpg": "web/app/public/tutorial/pbr/lesson/renders/material-black_worn_wall_brick-1024-viewport.jpg",
|
|
"sha256": "1ac2d53d563f77a81e02d81c897bd1866a948e5451f9a89070d6ebbd00014461",
|
|
"byteLength": 530442,
|
|
"mean": 68.5761,
|
|
"std": 17.6293,
|
|
"textureStatus": "ready:5:0:",
|
|
"textureAssets": 5,
|
|
"compileStatus": "COMPILED"
|
|
},
|
|
{
|
|
"name": "material-black_worn_wall_brick-512-scene",
|
|
"material": "black_worn_wall_brick-512-scene",
|
|
"resolution": 512,
|
|
"camera": "SCENE",
|
|
"path": "tests/golden/RE-PBR-RENDER-001/renders/material-black_worn_wall_brick-512-scene.png",
|
|
"jpg": "web/app/public/tutorial/pbr/lesson/renders/material-black_worn_wall_brick-512-scene.jpg",
|
|
"sha256": "0e175dc7ee9432e08496ad2ff57e96457646e08344039f7d6ee113c5f4b5376f",
|
|
"byteLength": 138231,
|
|
"mean": 94.2668,
|
|
"std": 45.1655,
|
|
"textureStatus": "ready:5:0:",
|
|
"textureAssets": 5,
|
|
"compileStatus": "COMPILED"
|
|
},
|
|
{
|
|
"name": "material-black_worn_wall_brick-reopen-1024-scene",
|
|
"material": "black_worn_wall_brick-reopen-1024-scene",
|
|
"resolution": 1024,
|
|
"camera": "SCENE",
|
|
"path": "tests/golden/RE-PBR-RENDER-001/renders/material-black_worn_wall_brick-reopen-1024-scene.png",
|
|
"jpg": "web/app/public/tutorial/pbr/lesson/renders/material-black_worn_wall_brick-reopen-1024-scene.jpg",
|
|
"sha256": "d2c9f5eb4d3e93c24c7dd3d0d7e2c8e7eacee99698fca1d996ecacbdbbff147e",
|
|
"byteLength": 395066,
|
|
"mean": 94.3106,
|
|
"std": 45.1856,
|
|
"textureStatus": "ready:5:0:",
|
|
"textureAssets": 5,
|
|
"compileStatus": "REOPENED"
|
|
}
|
|
],
|
|
"steps": [
|
|
{
|
|
"name": "01-open-studio",
|
|
"path": "web/app/public/tutorial/pbr/lesson/steps/01-open-studio.jpg",
|
|
"sha256": "cbedb2be5fd6a9defebdddc23a2bbeb8410ea848416b9f677617e8c7b16af58d"
|
|
},
|
|
{
|
|
"name": "02-import-glb",
|
|
"path": "web/app/public/tutorial/pbr/lesson/steps/02-import-glb.jpg",
|
|
"sha256": "3a060c51daa6a61a98e07a80e8455373f8b7bebbfaccb7660215c47a41f173a2"
|
|
},
|
|
{
|
|
"name": "03-asset-library-Black_Anti_Slip_grip",
|
|
"path": "web/app/public/tutorial/pbr/lesson/steps/03-asset-library-Black_Anti_Slip_grip.jpg",
|
|
"sha256": "afdca32dc63617c82ca199c1fdcab51998dc17618d2098ab0f1bd412eb005eef"
|
|
},
|
|
{
|
|
"name": "04-assign-Black_Anti_Slip_grip",
|
|
"path": "web/app/public/tutorial/pbr/lesson/steps/04-assign-Black_Anti_Slip_grip.jpg",
|
|
"sha256": "5c3501511c0aae269d40ac96f5f3375668c7e8304cbabfb7d757cd64ccd62faa"
|
|
},
|
|
{
|
|
"name": "03-asset-library-Blackish_Brick_Wall_016",
|
|
"path": "web/app/public/tutorial/pbr/lesson/steps/03-asset-library-Blackish_Brick_Wall_016.jpg",
|
|
"sha256": "afdca32dc63617c82ca199c1fdcab51998dc17618d2098ab0f1bd412eb005eef"
|
|
},
|
|
{
|
|
"name": "04-assign-Blackish_Brick_Wall_016",
|
|
"path": "web/app/public/tutorial/pbr/lesson/steps/04-assign-Blackish_Brick_Wall_016.jpg",
|
|
"sha256": "fbd8a368e86bb19cce387312a23eeb5c503abc221475cda4e6feb2597a76d8d0"
|
|
},
|
|
{
|
|
"name": "03-asset-library-black_randome_tile",
|
|
"path": "web/app/public/tutorial/pbr/lesson/steps/03-asset-library-black_randome_tile.jpg",
|
|
"sha256": "afdca32dc63617c82ca199c1fdcab51998dc17618d2098ab0f1bd412eb005eef"
|
|
},
|
|
{
|
|
"name": "04-assign-black_randome_tile",
|
|
"path": "web/app/public/tutorial/pbr/lesson/steps/04-assign-black_randome_tile.jpg",
|
|
"sha256": "9087fb6b6af7ac3e6291174a6df245c9ea49abf049444d0152e1396d4ad775ba"
|
|
},
|
|
{
|
|
"name": "03-asset-library-black_shinning_tile",
|
|
"path": "web/app/public/tutorial/pbr/lesson/steps/03-asset-library-black_shinning_tile.jpg",
|
|
"sha256": "afdca32dc63617c82ca199c1fdcab51998dc17618d2098ab0f1bd412eb005eef"
|
|
},
|
|
{
|
|
"name": "04-assign-black_shinning_tile",
|
|
"path": "web/app/public/tutorial/pbr/lesson/steps/04-assign-black_shinning_tile.jpg",
|
|
"sha256": "cf3fbdaa66fd612f8d26faa6015f1abc208a64d06bdedd77bea9e4ca1d23b383"
|
|
},
|
|
{
|
|
"name": "03-asset-library-black_tiles_wall",
|
|
"path": "web/app/public/tutorial/pbr/lesson/steps/03-asset-library-black_tiles_wall.jpg",
|
|
"sha256": "afdca32dc63617c82ca199c1fdcab51998dc17618d2098ab0f1bd412eb005eef"
|
|
},
|
|
{
|
|
"name": "04-assign-black_tiles_wall",
|
|
"path": "web/app/public/tutorial/pbr/lesson/steps/04-assign-black_tiles_wall.jpg",
|
|
"sha256": "9ee41dd525128d31ed46664d9edfcf3de150db65c47522002cd307605af7681e"
|
|
},
|
|
{
|
|
"name": "03-asset-library-black_worn_wall_brick",
|
|
"path": "web/app/public/tutorial/pbr/lesson/steps/03-asset-library-black_worn_wall_brick.jpg",
|
|
"sha256": "afdca32dc63617c82ca199c1fdcab51998dc17618d2098ab0f1bd412eb005eef"
|
|
},
|
|
{
|
|
"name": "04-assign-black_worn_wall_brick",
|
|
"path": "web/app/public/tutorial/pbr/lesson/steps/04-assign-black_worn_wall_brick.jpg",
|
|
"sha256": "847032ffa0bbed0836478b0468504b0c48709159240351c4e21bffef9198e86f"
|
|
},
|
|
{
|
|
"name": "05-reopen",
|
|
"path": "web/app/public/tutorial/pbr/lesson/steps/05-reopen.jpg",
|
|
"sha256": "f09769ce96480560b499ad616ab868f3a8ddeb97a4f7998bb9f80c451da6b4e7"
|
|
}
|
|
],
|
|
"errors": [],
|
|
"webgl": {
|
|
"vendor": "Google Inc. (NVIDIA Corporation)",
|
|
"renderer": "ANGLE (NVIDIA Corporation, NVIDIA GeForce RTX 4060 Laptop GPU/PCIe/SSE2, OpenGL 4.5.0)",
|
|
"version": "WebGL 2.0 (OpenGL ES 3.0 Chromium)"
|
|
},
|
|
"webgpu": {
|
|
"info": {}
|
|
},
|
|
"status": "PASS",
|
|
"consoleErrors": []
|
|
}
|