{ "schemaVersion": 1, "task": "WBV2-P1259-001", "operation": "MODULE_FUNCTION_EXECUTION", "phase": "CONTINUE", "moduleId": "AUTO_SHADER_NATIVE_NODE_READER", "batchId": "WBV2-P1259-001:AUTO_SHADER_NATIVE_NODE_READER:12916e971f5275c9", "selectedRecordIds": [ "node:ShaderNodeTexEnvironment", "node:ShaderNodeTexGabor", "node:ShaderNodeTexGradient", "node:ShaderNodeTexIES", "node:ShaderNodeTexMagic" ], "commandBudget": { "maxCommands": 48, "maxReadCommands": 16, "commandCount": 4, "readCommandCount": 0, "withinBudget": true }, "status": "PASS", "source": { "paths": [ "blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_environment.cc", "blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_gabor.cc", "blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_gradient.cc", "blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_ies_light.cc", "blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_magic.cc", "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "web/tests/e2e/shader-main-reader-production.spec.ts", "tests/files/web/generated/wbv2-shader-12916e971f5275c9.blend", "web/app/src/vendor/blender/web_engine.wasm" ], "auditedPaths": [ "blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_environment.cc", "blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_gabor.cc", "blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_gradient.cc", "blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_ies_light.cc", "blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_magic.cc", "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp" ], "before": { "blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_environment.cc": "b553a969833cbd64961a90f85eb8ecf98dfac0a7495d67f47cb80a63d5524595", "blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_gabor.cc": "84bd40d587a76225fd953bfc3b49c44d75bd5a493e0f72b6e84e3a7700db5d7c", "blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_gradient.cc": "3c9c0e4717aba9baf0c3846f39510fe350b76734ec532748338a99c27be6e4e0", "blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_ies_light.cc": "72b04f34bec8f0cc1f74c487cd59963fbb6a6a37d03da390010cf679f347f79c", "blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_magic.cc": "0d6c22f177cb5c6fd5fbbf3e709c8c2e48df0257a51ed0f8a95328dcaa08aed6", "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp": "8a9b46e8f5f9c4b30ad7818fac6fbd64b20dc2d0a962630f50c8f352bdf230d3" }, "after": { "blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_environment.cc": "b553a969833cbd64961a90f85eb8ecf98dfac0a7495d67f47cb80a63d5524595", "blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_gabor.cc": "84bd40d587a76225fd953bfc3b49c44d75bd5a493e0f72b6e84e3a7700db5d7c", "blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_gradient.cc": "3c9c0e4717aba9baf0c3846f39510fe350b76734ec532748338a99c27be6e4e0", "blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_ies_light.cc": "72b04f34bec8f0cc1f74c487cd59963fbb6a6a37d03da390010cf679f347f79c", "blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_magic.cc": "0d6c22f177cb5c6fd5fbbf3e709c8c2e48df0257a51ed0f8a95328dcaa08aed6", "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp": "8a9b46e8f5f9c4b30ad7818fac6fbd64b20dc2d0a962630f50c8f352bdf230d3" }, "unchanged": true }, "reusedReceipts": [ { "manifest": "tests/golden/WBV2-P1107-000/manifest.json", "report": "tests/golden/WBV2-P1107-000/module-receipt.json", "manifestSha256": "a53ebdc52db5dcf27d44e938e5551f1ee2adae8e46c3fe8661604ee6b1000f8c", "reportSha256": "6dd419799e1a4b9251328d9496f2459d148cd89118740a06b0ee6ffb78e0b1d2" } ], "cases": { "positive": [ "ShaderNodeTexEnvironment type is read from Blender Main", "ShaderNodeTexGabor type is read from Blender Main", "ShaderNodeTexGradient type is read from Blender Main", "ShaderNodeTexIES type is read from Blender Main", "ShaderNodeTexMagic type is read from Blender Main", "shared RNA metadata is preserved", "save/reopen preserves the batch metadata" ], "negative": [ "malformed blend is rejected without Main mutation", "unsupported batch data fails closed", "non-finite metadata is not synthesized" ], "recovery": [ "save/reopen", "worker termination", "deterministic second read" ] }, "commands": [ { "command": "source tools/web/emscripten-env.sh && cmake --build build_web_blender6 --target web_engine -- -j8 && cp build_web_blender6/bin/web_engine.wasm web/app/src/vendor/blender/web_engine.wasm && cp build_web_blender6/bin/web_engine.wasm web/app/public/vendor/blender/web_engine.wasm", "exitCode": 0, "durationMs": 144 }, { "command": "npm --prefix web run typecheck", "exitCode": 0, "durationMs": 3364 }, { "command": "npm --prefix web run build", "exitCode": 0, "durationMs": 3904 }, { "command": "WBV2_BATCH_TASK=WBV2-P1259-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1259-001/shader-main-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-shader-12916e971f5275c9.blend WBV2_BATCH_TYPES='[\"ShaderNodeTexEnvironment\",\"ShaderNodeTexGabor\",\"ShaderNodeTexGradient\",\"ShaderNodeTexIES\",\"ShaderNodeTexMagic\"]' WBV2_BATCH_UNITS='[\"node:ShaderNodeTexEnvironment\",\"node:ShaderNodeTexGabor\",\"node:ShaderNodeTexGradient\",\"node:ShaderNodeTexIES\",\"node:ShaderNodeTexMagic\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/shader-main-reader-production.spec.ts", "exitCode": 0, "durationMs": 2703 } ], "verification": { "required": [ "sourceHash", "wasmBuild", "positiveMainMutation", "negativeNoMutation", "undoRedo", "saveReopen", "aggregateManifest" ], "chromiumOnly": true, "fullFamilyParity": false }, "efficiency": { "existingEvidenceReused": false, "skippedCommands": 0, "totalDurationMs": 10115, "reusePolicy": "hash_bound_receipt" }, "inventory": { "historical": { "path": "tests/golden/WBV2-P0-002/parity-map.json", "sha256": "a60a77cae000941a953d55adbf93d8f6e275533891713d6eae993f60faed94e8", "total": 6900, "legacyCompleted": 281, "legacyPending": 6618, "effectiveCompleted": 290, "effectivePending": 6609, "mutation": "forbidden_by_module_execution" }, "dynamic": { "path": "tests/golden/WBV2/dynamic-inventory.json", "sha256": "28e256156fd419dd462cf208ac13519edc7b2cfabb2d39e6dfba669862566455", "sourceTreeSha256": "600cb3dd441f09d9655b740735fbf8fa49ad6c14d308c68d59a29f9c338e4202", "unitCount": 3745, "planningEstimate": 5200, "hardTarget": false, "verifiedUnits": 969, "unverifiedUnits": 2776 } }, "nextTask": null }