{ "schemaVersion": 1, "task": "WBV2-P1171-001", "operation": "MODULE_FUNCTION_EXECUTION", "phase": "CONTINUE", "moduleId": "AUTO_COMPOSITOR_NATIVE_NODE_READER", "batchId": "WBV2-P1171-001:AUTO_COMPOSITOR_NATIVE_NODE_READER:c7c1993f19c6c688", "selectedRecordIds": [ "node:CompositorNodeLevels", "node:CompositorNodeLumaMatte", "node:CompositorNodeMapUV", "node:CompositorNodeMask", "node:CompositorNodeMaskToSDF", "node:CompositorNodeMovieClip", "node:CompositorNodeMovieDistortion", "node:CompositorNodeNormal" ], "commandBudget": { "maxCommands": 48, "maxReadCommands": 16, "commandCount": 4, "readCommandCount": 0, "withinBudget": true }, "status": "PASS", "source": { "paths": [ "blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_levels.cc", "blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_luminance_key.cc", "blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_map_uv.cc", "blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_mask.cc", "blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_mask_to_sdf.cc", "blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_movie_clip.cc", "blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_movie_distortion.cc", "blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_normal.cc", "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "web/tests/e2e/compositor-main-reader-production.spec.ts", "tests/files/web/generated/wbv2-compositor-c7c1993f19c6c688.blend", "web/app/src/vendor/blender/web_engine.wasm" ], "auditedPaths": [ "blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_levels.cc", "blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_luminance_key.cc", "blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_map_uv.cc", "blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_mask.cc", "blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_mask_to_sdf.cc", "blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_movie_clip.cc", "blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_movie_distortion.cc", "blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_normal.cc", "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp" ], "before": { "blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_levels.cc": "3e088928034e1214b9b21a63cf69e1cd3f21fd745c8f9d9b9d53faefe2b0ae26", "blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_luminance_key.cc": "b5f8e9d7ebfb56e14ec26570a1f6be5185b49e11f25607df2d38f531138160e0", "blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_map_uv.cc": "1ed6618a7649bcff6adf6704be93273f55b552e239f3b2e24688f07f00298376", "blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_mask.cc": "a72534271d5f3b998041aa19626b86049861cba3fce17fb544e30fde0af11400", "blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_mask_to_sdf.cc": "a604f5ef888221f86f3da881b498335506c66b148bcb683d133cb592120b4274", "blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_movie_clip.cc": "7724fd7d874a75a7b35326a25425a8a17c8f164df849e565ba19a9fb347ca8fe", "blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_movie_distortion.cc": "c8981cd71d26870b53d4caf82bf16019161aecf69a190b209a8eafc5caa28db2", "blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_normal.cc": "3d7f09fdcfd819d9a46335e73d784ad109ee0ecad25677cd6d69572b8899c7c8", "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp": "8a9b46e8f5f9c4b30ad7818fac6fbd64b20dc2d0a962630f50c8f352bdf230d3" }, "after": { "blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_levels.cc": "3e088928034e1214b9b21a63cf69e1cd3f21fd745c8f9d9b9d53faefe2b0ae26", "blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_luminance_key.cc": "b5f8e9d7ebfb56e14ec26570a1f6be5185b49e11f25607df2d38f531138160e0", "blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_map_uv.cc": "1ed6618a7649bcff6adf6704be93273f55b552e239f3b2e24688f07f00298376", "blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_mask.cc": "a72534271d5f3b998041aa19626b86049861cba3fce17fb544e30fde0af11400", "blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_mask_to_sdf.cc": "a604f5ef888221f86f3da881b498335506c66b148bcb683d133cb592120b4274", "blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_movie_clip.cc": "7724fd7d874a75a7b35326a25425a8a17c8f164df849e565ba19a9fb347ca8fe", "blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_movie_distortion.cc": "c8981cd71d26870b53d4caf82bf16019161aecf69a190b209a8eafc5caa28db2", "blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_normal.cc": "3d7f09fdcfd819d9a46335e73d784ad109ee0ecad25677cd6d69572b8899c7c8", "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": [ "CompositorNodeLevels type is read from Blender Main", "CompositorNodeLumaMatte type is read from Blender Main", "CompositorNodeMapUV type is read from Blender Main", "CompositorNodeMask type is read from Blender Main", "CompositorNodeMaskToSDF type is read from Blender Main", "CompositorNodeMovieClip type is read from Blender Main", "CompositorNodeMovieDistortion type is read from Blender Main", "CompositorNodeNormal 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": 146 }, { "command": "npm --prefix web run typecheck", "exitCode": 0, "durationMs": 3382 }, { "command": "npm --prefix web run build", "exitCode": 0, "durationMs": 3930 }, { "command": "WBV2_BATCH_TASK=WBV2-P1171-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1171-001/compositor-main-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-compositor-c7c1993f19c6c688.blend WBV2_BATCH_TYPES='[\"CompositorNodeLevels\",\"CompositorNodeLumaMatte\",\"CompositorNodeMapUV\",\"CompositorNodeMask\",\"CompositorNodeMaskToSDF\",\"CompositorNodeMovieClip\",\"CompositorNodeMovieDistortion\",\"CompositorNodeNormal\"]' WBV2_BATCH_UNITS='[\"node:CompositorNodeLevels\",\"node:CompositorNodeLumaMatte\",\"node:CompositorNodeMapUV\",\"node:CompositorNodeMask\",\"node:CompositorNodeMaskToSDF\",\"node:CompositorNodeMovieClip\",\"node:CompositorNodeMovieDistortion\",\"node:CompositorNodeNormal\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/compositor-main-reader-production.spec.ts", "exitCode": 0, "durationMs": 2813 } ], "verification": { "required": [ "sourceHash", "wasmBuild", "positiveMainMutation", "negativeNoMutation", "undoRedo", "saveReopen", "aggregateManifest" ], "chromiumOnly": true, "fullFamilyParity": false }, "efficiency": { "existingEvidenceReused": false, "skippedCommands": 0, "totalDurationMs": 10271, "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": "b21cfb58365fc66e1ac96485bd128f4aa94eb597a4d00330ca5c468148e8ebe5", "sourceTreeSha256": "600cb3dd441f09d9655b740735fbf8fa49ad6c14d308c68d59a29f9c338e4202", "unitCount": 3745, "planningEstimate": 5200, "hardTarget": false, "verifiedUnits": 582, "unverifiedUnits": 3163 } }, "nextTask": null }