import assert from "node:assert/strict"; import crypto from "node:crypto"; import fs from "node:fs"; import path from "node:path"; import { execFileSync } from "node:child_process"; import { fileURLToPath } from "node:url"; const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../.."); const abs = (file) => path.join(root, file); const read = (file) => fs.readFileSync(abs(file), "utf8"); const json = (file) => JSON.parse(read(file)); const writeJson = (file, value) => fs.writeFileSync(abs(file), `${JSON.stringify(value, null, 2)}\n`); const writeText = (file, value) => { fs.mkdirSync(path.dirname(abs(file)), { recursive: true }); fs.writeFileSync(abs(file), value); }; const sha = (file) => crypto.createHash("sha256").update(fs.readFileSync(abs(file))).digest("hex"); const dynamicPath = "tests/golden/WBV2/dynamic-inventory.json"; const dynamicManifestPath = "tests/golden/WBV2/dynamic-inventory-manifest.json"; const dynamicCheckReportPath = "tests/golden/WBV2/dynamic-inventory-check-report.json"; const dynamicStatusPath = "docs/status/WBV2-DYNAMIC-INVENTORY.md"; const coverageBindingsPath = "tests/golden/WBV2/dynamic-coverage-bindings.json"; const reportPath = "tests/golden/WBV2/dynamic-coverage-audit.json"; const coverageManifestPath = "tests/golden/WBV2/dynamic-coverage-manifest.json"; const planPath = "tests/golden/WBV2-P1100-000/module-execution-plan.json"; const jsonAbiTransport = { sourcePath: "blender-5.2.0/source/blender/web_engine/web_engine_api.cpp", sourceSymbol: "web_engine_call_json", statefulCommands: ["applyCommand", "undo", "redo"], readOnlyCommands: ["snapshot", "delta", "depsgraph", "memoryStats"], registrationModel: "single_stable_worker_to_wasm_entrypoint", }; const headlessBoundary = { sourcePath: "blender-5.2.0/source/blender/web_engine/web_engine_headless_fallback.cpp", evidence: "browser build has no window manager, desktop sequencer playback thread or GPU context", excludedKinds: ["operator", "operator-macro"], }; const forbiddenSimulationEvidence = /(?:compositor-(?:cpu-)?node-production|shader-compile-production)/u; const explicitBindings = [ { task: "WBV2-P1100-001", unitId: "web-command:setCameraProperties", evidence: "tests/golden/WBV2-P1100-001/manifest.json", productionEvidence: "tests/golden/WBV2-P15-002/lighting-fields-production.json" }, { task: "WBV2-P1100-001", unitId: "web-command:setLightProperties", evidence: "tests/golden/WBV2-P1100-001/manifest.json", productionEvidence: "tests/golden/WBV2-P15-002/lighting-fields-production.json" }, { task: "WBV2-P1100-001", unitId: "web-command:setWorldProperties", evidence: "tests/golden/WBV2-P1100-001/manifest.json", productionEvidence: "tests/golden/WBV2-P15-002/lighting-fields-production.json" }, { task: "WBV2-P1100-002", unitId: "web-command:setObjectTransform", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P12-002/scene-object-production.json" }, { task: "WBV2-P1100-002", unitId: "web-command:translateMeshVertices", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P10-002/native-engine-production.json" }, { task: "WBV2-P1100-003", unitId: "web-command:createUVMap", evidence: "tests/golden/WBV2-P1100-003/manifest.json", productionEvidence: "tests/golden/WBV2-P12-003/material-animation-production.json" }, { task: "WBV2-P1100-003", unitId: "web-command:setActiveUVMap", evidence: "tests/golden/WBV2-P1100-003/manifest.json", productionEvidence: "tests/golden/WBV2-P12-003/material-animation-production.json" }, { task: "WBV2-P1100-003", unitId: "web-command:unwrapUV", evidence: "tests/golden/WBV2-P1100-003/manifest.json", productionEvidence: "tests/golden/WBV2-P12-003/material-animation-production.json" }, { task: "WBV2-P1100-003", unitId: "web-command:setMaterialPrincipled", evidence: "tests/golden/WBV2-P1100-003/manifest.json", productionEvidence: "tests/golden/WBV2-P12-003/material-animation-production.json" }, { task: "WBV2-P1100-003", unitId: "web-command:addMaterialSlot", evidence: "tests/golden/WBV2-P1100-003/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-003/material-slot-production.json" }, { task: "WBV2-P1100-003", unitId: "web-command:removeMaterialSlot", evidence: "tests/golden/WBV2-P1100-003/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-003/material-face-slot-production.json" }, { task: "WBV2-P1100-003", unitId: "web-command:assignMaterialFaces", evidence: "tests/golden/WBV2-P1100-003/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-003/material-face-slot-production.json" }, { task: "WBV2-P1100-003", unitId: "web-command:importImage", evidence: "tests/golden/WBV2-P1100-003/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-003/material-image-production.json" }, { task: "WBV2-P1100-003", unitId: "web-command:setMaterialImageNode", evidence: "tests/golden/WBV2-P1100-003/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-003/material-image-production.json" }, { task: "WBV2-P1100-003", unitId: "web-command:insertObjectKeyframe", evidence: "tests/golden/WBV2-P1100-003/manifest.json", productionEvidence: "tests/golden/WBV2-P12-003/material-animation-production.json" }, { task: "WBV2-P1100-003", unitId: "web-command:setFCurveInterpolation", evidence: "tests/golden/WBV2-P1100-003/manifest.json", productionEvidence: "tests/golden/WBV2-P12-003/material-animation-production.json" }, { task: "WBV2-P1101-000", unitId: "web-command:setCurveControlPoints", evidence: "tests/golden/WBV2-P1101-000/manifest.json", productionEvidence: "tests/golden/WBV2-P12-004/viewport-nonmesh-production.json" }, { task: "WBV2-P1101-000", unitId: "web-command:deleteNonMeshData", evidence: "tests/golden/WBV2-P1101-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1101-000/nonmesh-delete-production.json" }, { task: "WBV2-P1101-000", unitId: "web-command:createCurve", evidence: "tests/golden/WBV2-P1101-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1101-000/curve-create-production.json" }, { task: "WBV2-P1101-000", unitId: "web-command:meshEdit", evidence: "tests/golden/WBV2-P1101-000/manifest.json", productionEvidence: "tests/golden/WBV2-P11-001/mesh-topology-production.json" }, { task: "WBV2-P1101-001", unitId: "web-command:setGeometryNodeGraph", evidence: "tests/golden/WBV2-P1101-001/manifest.json", productionEvidence: "tests/golden/WBV2-P13-002/geometry-nodes-production.json" }, { task: "WBV2-P1101-000", unitId: "rna-struct:CurvePoint", evidence: "tests/golden/WBV2-P1101-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1101-000/nonmesh-main-reader-production.json" }, { task: "WBV2-P1101-000", unitId: "rna-struct:SplinePoint", evidence: "tests/golden/WBV2-P1101-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1101-000/nonmesh-main-reader-production.json" }, { task: "WBV2-P1101-000", unitId: "rna-struct:SplinePoints", evidence: "tests/golden/WBV2-P1101-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1101-000/nonmesh-main-reader-production.json" }, { task: "WBV2-P1101-000", unitId: "rna-struct:AttributeGroupCurves", evidence: "tests/golden/WBV2-P1101-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1101-000/nonmesh-main-reader-production.json" }, { task: "WBV2-P1101-000", unitId: "rna-struct:AttributeGroupPointCloud", evidence: "tests/golden/WBV2-P1101-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1101-000/nonmesh-main-reader-production.json" }, { task: "WBV2-P1103-000", unitId: "web-command:duplicateObject", evidence: "tests/golden/WBV2-P1103-000/manifest.json", productionEvidence: "tests/golden/WBV2-P17-002/object-duplicate-production.json" }, { task: "WBV2-P1103-000", unitId: "web-command:createPrimitive", evidence: "tests/golden/WBV2-P1103-000/manifest.json", productionEvidence: "tests/golden/WBV2-P18-002/object-create-production.json" }, { task: "WBV2-P1103-000", unitId: "web-command:setParent", evidence: "tests/golden/WBV2-P1103-000/manifest.json", productionEvidence: "tests/golden/WBV2-P19-002/object-parent-production.json" }, { task: "WBV2-P1103-000", unitId: "web-command:createCollection", evidence: "tests/golden/WBV2-P1103-000/manifest.json", productionEvidence: "tests/golden/WBV2-P20-002/collection-create-production.json" }, { task: "WBV2-P1103-000", unitId: "web-command:renameId", evidence: "tests/golden/WBV2-P1103-000/manifest.json", productionEvidence: "tests/golden/WBV2-P21-002/object-rename-production.json" }, { task: "WBV2-P1103-000", unitId: "web-command:deleteObject", evidence: "tests/golden/WBV2-P1103-000/manifest.json", productionEvidence: "tests/golden/WBV2-P22-002/object-delete-production.json" }, { task: "WBV2-P1103-000", unitId: "web-command:applyObjectTransform", evidence: "tests/golden/WBV2-P1103-000/manifest.json", productionEvidence: "tests/golden/WBV2-P23-002/object-transform-production.json" }, { task: "WBV2-P1103-000", unitId: "web-command:moveObjectToCollection", evidence: "tests/golden/WBV2-P1103-000/manifest.json", productionEvidence: "tests/golden/WBV2-P24-002/object-move-production.json" }, { task: "WBV2-P1103-000", unitId: "web-command:setObjectOrigin", evidence: "tests/golden/WBV2-P1103-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1103-000/object-origin-production.json" }, { task: "WBV2-P1103-000", unitId: "web-command:joinObjects", evidence: "tests/golden/WBV2-P1103-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1103-000/mesh-object-operations-production.json" }, { task: "WBV2-P1103-000", unitId: "web-command:separateMeshFaces", evidence: "tests/golden/WBV2-P1103-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1103-000/mesh-object-operations-production.json" }, { task: "WBV2-P1103-000", unitId: "web-command:setObjectVisibility", evidence: "tests/golden/WBV2-P1103-000/manifest.json", productionEvidence: "tests/golden/WBV2-P12-002/scene-object-production.json" }, { task: "WBV2-P1106-000", unitId: "web-command:setConstraint", evidence: "tests/golden/WBV2-P1106-000/manifest.json", productionEvidence: "tests/golden/WBV2-P13-003/rig-pose-production.json" }, { task: "WBV2-P1107-000", unitId: "web-command:setModifierEnabled", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P11-002/modifier-parameter-production.json" }, { task: "WBV2-P1107-000", unitId: "web-command:setModifierVisibility", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-visibility-production.json" }, { task: "WBV2-P1107-000", unitId: "web-command:decimateMesh", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P11-002/modifier-parameter-production.json" }, { task: "WBV2-P1107-000", unitId: "modifier-source:MOD_bevel", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P11-002/modifier-parameter-production.json" }, { task: "WBV2-P1107-000", unitId: "modifier-source:MOD_decimate", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P11-002/modifier-parameter-production.json" }, { task: "WBV2-P1107-000", unitId: "modifier-source:MOD_particlesystem", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P11-002/modifier-parameter-production.json" }, { task: "WBV2-P1107-000", unitId: "modifier-source:MOD_array", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "modifier-source:MOD_armature", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "modifier-source:MOD_boolean", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "modifier-source:MOD_build", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "modifier-source:MOD_cast", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "modifier-source:MOD_cast_web", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "modifier-source:MOD_cloth", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "modifier-source:MOD_collision", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "modifier-source:MOD_curve", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "modifier-source:MOD_displace", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "modifier-source:MOD_displace_web", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "modifier-source:MOD_edgesplit", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "modifier-source:MOD_hook", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "modifier-source:MOD_lattice", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "modifier-source:MOD_meshdeform", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "modifier-source:MOD_mirror", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "modifier-source:MOD_nodes", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "modifier-source:MOD_nodes_web", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "modifier-source:MOD_screw", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "modifier-source:MOD_solidify", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "modifier-source:MOD_simpledeform", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "modifier-source:MOD_smooth", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "modifier-source:MOD_softbody", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "modifier-source:MOD_subsurf", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "modifier-source:MOD_triangulate", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "modifier-source:MOD_surfacedeform", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "modifier-source:MOD_wave", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "modifier-source:MOD_weld", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "modifier-source:MOD_wireframe", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1117-000", unitId: "modifier-source:MOD_util", evidence: "tests/golden/WBV2-P1117-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1117-000/physics-manifest-production.json" }, { task: "WBV2-P1105-000", unitId: "web-command:setParticleSettings", evidence: "tests/golden/WBV2-P1105-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1105-000/audio-particle-production.json" }, { task: "WBV2-P1105-000", unitId: "web-command:setSpeakerProperties", evidence: "tests/golden/WBV2-P1105-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1105-000/audio-particle-production.json" }, { task: "WBV2-P1105-000", unitId: "web-command:setSoundProperties", evidence: "tests/golden/WBV2-P1105-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1105-000/audio-particle-production.json" }, { task: "WBV2-P1117-000", unitId: "web-command:setPhysicsSimulation", evidence: "tests/golden/WBV2-P1117-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1117-000/physics-manifest-production.json" }, { task: "WBV2-P1114-000", unitId: "web-command:setGreasePencilStrokes", evidence: "tests/golden/WBV2-P1114-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1114-000/grease-pencil-strokes-production.json" }, { task: "WBV2-P1114-000", unitId: "web-command:createGreasePencilLayer", evidence: "tests/golden/WBV2-P1114-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1114-000/grease-pencil-layer-frame-production.json" }, { task: "WBV2-P1114-000", unitId: "web-command:removeGreasePencilLayer", evidence: "tests/golden/WBV2-P1114-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1114-000/grease-pencil-layer-frame-production.json" }, { task: "WBV2-P1114-000", unitId: "web-command:insertGreasePencilFrame", evidence: "tests/golden/WBV2-P1114-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1114-000/grease-pencil-layer-frame-production.json" }, { task: "WBV2-P1114-000", unitId: "web-command:removeGreasePencilFrame", evidence: "tests/golden/WBV2-P1114-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1114-000/grease-pencil-layer-frame-production.json" }, { task: "WBV2-P1114-000", unitId: "web-command:moveGreasePencilFrame", evidence: "tests/golden/WBV2-P1114-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1114-000/grease-pencil-layer-frame-production.json" }, { task: "WBV2-P1114-000", unitId: "web-command:moveGreasePencilLayer", evidence: "tests/golden/WBV2-P1114-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1114-000/grease-pencil-layer-frame-production.json" }, { task: "WBV2-P1112-000", unitId: "web-command:setFrame", evidence: "tests/golden/WBV2-P1112-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1112-000/nla-production.json" }, { task: "WBV2-P1112-000", unitId: "web-command:setActiveAction", evidence: "tests/golden/WBV2-P1112-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1112-000/animation-action-production.json" }, { task: "WBV2-P1112-000", unitId: "web-command:deleteObjectKeyframe", evidence: "tests/golden/WBV2-P1112-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1112-000/animation-action-production.json" }, { task: "WBV2-P1112-000", unitId: "web-command:setNLAStack", evidence: "tests/golden/WBV2-P1112-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1112-000/nla-stack-production.json" }, { task: "WBV2-P1120-000", unitId: "web-command:setVolumeProperties", evidence: "tests/golden/WBV2-P1120-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1120-000/volume-properties-production.json" }, { task: "WBV2-P1121-000", unitId: "web-command:setVertexColors", evidence: "tests/golden/WBV2-P1121-000/manifest.json", productionEvidence: "tests/golden/WBV2-P16-002/paint-attributes-production.json" }, { task: "WBV2-P1121-000", unitId: "web-command:setVertexWeights", evidence: "tests/golden/WBV2-P1121-000/manifest.json", productionEvidence: "tests/golden/WBV2-P16-002/paint-attributes-production.json" }, { task: "WBV2-P1121-000", unitId: "web-command:sculptStroke", evidence: "tests/golden/WBV2-P1121-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1121-000/sculpt-stroke-production.json" }, { task: "WBV2-P1121-000", unitId: "web-command:setSculptMeshAttributes", evidence: "tests/golden/WBV2-P1121-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1121-000/sculpt-stroke-production.json" }, { task: "WBV2-P1129-001", unitId: "web-command:setSceneCompositorSettings", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-settings-production.json" }, { task: "WBV2-P1129-001", unitId: "web-command:setScenePerformanceSettings", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-settings-production.json" }, { task: "WBV2-P1129-001", unitId: "web-command:setSceneSamplingSettings", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-settings-production.json" }, { task: "WBV2-P1129-001", unitId: "web-command:setSceneProperties", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-settings-expanded-production.json" }, { task: "WBV2-P1129-001", unitId: "web-command:setSceneRenderSettings", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-settings-expanded-production.json" }, { task: "WBV2-P1129-001", unitId: "web-command:setSceneAudioSettings", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-settings-expanded-production.json" }, { task: "WBV2-P1129-001", unitId: "web-command:setSceneUnitSettings", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-settings-expanded-production.json" }, { task: "WBV2-P1129-001", unitId: "web-command:setSceneTimelineSettings", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-settings-expanded-production.json" }, { task: "WBV2-P1129-001", unitId: "web-command:setScenePipelineSettings", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-settings-expanded-production.json" }, { task: "WBV2-P1129-001", unitId: "web-command:setSceneBindings", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-settings-expanded-production.json" }, { task: "WBV2-P1129-001", unitId: "web-command:setSceneViewLayerSettings", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-settings-expanded-production.json" }, { task: "WBV2-P1129-001", unitId: "web-command:setSceneCollectionSettings", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-settings-expanded-production.json" }, { task: "WBV2-P1129-001", unitId: "web-command:setSceneBorderSettings", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-settings-expanded-production.json" }, { task: "WBV2-P1129-001", unitId: "web-command:setSceneSimplifySettings", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-settings-expanded-production.json" }, { task: "WBV2-P1129-001", unitId: "web-command:setSceneColorManagement", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-settings-expanded-production.json" }, { task: "WBV2-P1129-001", unitId: "web-command:setSceneImageFormat", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-settings-expanded-production.json" }, { task: "WBV2-P1129-001", unitId: "web-command:setSceneMotionBlur", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-settings-expanded-production.json" }, { task: "WBV2-P1129-001", unitId: "web-command:setSceneHairSettings", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-settings-expanded-production.json" }, { task: "WBV2-P1129-001", unitId: "web-command:setSceneStampSettings", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-settings-expanded-production.json" }, { task: "WBV2-P1129-001", unitId: "web-command:setSceneLineSettings", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-settings-expanded-production.json" }, { task: "WBV2-P1129-001", unitId: "web-command:setSceneViewLayerPassSettings", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-settings-expanded-production.json" }, { task: "WBV2-P1129-001", unitId: "web-command:setSceneViewLayerAOVs", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-settings-expanded-production.json" }, { task: "WBV2-P1129-001", unitId: "web-command:setSceneViewLayerLightgroups", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-settings-expanded-production.json" }, { task: "WBV2-P1129-001", unitId: "web-command:setObjectLightgroup", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-settings-expanded-production.json" }, { task: "WBV2-P1129-001", unitId: "web-command:setWorldLightgroup", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-settings-expanded-production.json" }, { task: "WBV2-P1129-001", unitId: "rna-struct:RenderSettings", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-settings-expanded-production.json" }, { task: "WBV2-P1129-001", unitId: "rna-struct:ImageFormatSettings", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-settings-expanded-production.json" }, { task: "WBV2-P1129-001", unitId: "rna-struct:UnitSettings", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-settings-expanded-production.json" }, { task: "WBV2-P1129-001", unitId: "rna-struct:AOVs", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-settings-expanded-production.json" }, { task: "WBV2-P1129-001", unitId: "rna-struct:Lightgroups", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-settings-expanded-production.json" }, { task: "WBV2-P1129-001", unitId: "rna-struct:ViewLayers", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-settings-expanded-production.json" }, { task: "WBV2-P1133-001", unitId: "rna-struct:CurveSplines", evidence: "tests/golden/WBV2-P1133-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1133-001/curve-splines-production.json" }, { task: "WBV2-P1133-001", unitId: "rna-struct:Spline", evidence: "tests/golden/WBV2-P1133-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1133-001/curve-splines-production.json" }, { task: "WBV2-P1132-001", unitId: "rna-struct:BezierSplinePoint", evidence: "tests/golden/WBV2-P1132-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1132-001/curve-handle-production.json" }, { task: "WBV2-P1132-001", unitId: "rna-struct:SplineBezierPoints", evidence: "tests/golden/WBV2-P1132-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1132-001/curve-handle-production.json" }, { task: "WBV2-P1127-000", unitId: "rna-struct:MaskSplinePoint", evidence: "tests/golden/WBV2-P1127-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1127-000/tracking-mask-production.json" }, { task: "WBV2-P1127-000", unitId: "rna-struct:MaskSplinePoints", evidence: "tests/golden/WBV2-P1127-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1127-000/tracking-mask-production.json" }, { task: "WBV2-P1127-000", unitId: "rna-struct:MaskSplines", evidence: "tests/golden/WBV2-P1127-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1127-000/tracking-mask-production.json" }, { task: "WBV2-P1104-000", unitId: "rna-struct:CompositorNodeTree", evidence: "tests/golden/WBV2-P1104-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1104-000/compositor-main-reader-production.json" }, { task: "WBV2-P1106-000", unitId: "rna-struct:Pose", evidence: "tests/golden/WBV2-P1106-000/manifest.json", productionEvidence: "tests/golden/WBV2-P13-003/rig-pose-production.json" }, { task: "WBV2-P1106-000", unitId: "rna-struct:PoseBone", evidence: "tests/golden/WBV2-P1106-000/manifest.json", productionEvidence: "tests/golden/WBV2-P13-003/rig-pose-production.json" }, { task: "WBV2-P1106-000", unitId: "rna-struct:FCurveKeyframePoints", evidence: "tests/golden/WBV2-P1106-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1112-000/animation-action-production.json" }, { task: "WBV2-P1106-000", unitId: "rna-struct:Keyframe", evidence: "tests/golden/WBV2-P1106-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1112-000/animation-action-production.json" }, { task: "WBV2-P1106-000", unitId: "rna-struct:NlaTracks", evidence: "tests/golden/WBV2-P1106-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1112-000/nla-stack-production.json" }, { task: "WBV2-P1106-000", unitId: "rna-struct:NlaStrips", evidence: "tests/golden/WBV2-P1106-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1112-000/nla-stack-production.json" }, { task: "WBV2-P1134-001", unitId: "rna-struct:SurfaceCurve", evidence: "tests/golden/WBV2-P1134-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1134-001/surface-topology-production.json" }, { task: "WBV2-P1135-001", unitId: "rna-struct:TextCurve", evidence: "tests/golden/WBV2-P1135-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1135-001/font-body-production.json" }, { task: "WBV2-P1136-001", unitId: "rna-struct:TextCharacterFormat", evidence: "tests/golden/WBV2-P1136-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1136-001/font-advanced-production.json" }, { task: "WBV2-P1120-000", unitId: "rna-struct:VolumeDisplay", evidence: "tests/golden/WBV2-P1120-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1120-000/volume-properties-production.json" }, { task: "WBV2-P1120-000", unitId: "rna-struct:VolumeRender", evidence: "tests/golden/WBV2-P1120-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1120-000/volume-properties-production.json" }, { task: "WBV2-P1137-001", unitId: "rna-struct:MetaElement", evidence: "tests/golden/WBV2-P1137-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1137-001/metaball-elements-production.json" }, { task: "WBV2-P1137-001", unitId: "rna-struct:MetaBallElements", evidence: "tests/golden/WBV2-P1137-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1137-001/metaball-elements-production.json" }, { task: "WBV2-P1114-000", unitId: "rna-struct:GreasePencilLayer", evidence: "tests/golden/WBV2-P1114-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1114-000/grease-pencil-layer-frame-production.json" }, { task: "WBV2-P1114-000", unitId: "rna-struct:GreasePencilFrame", evidence: "tests/golden/WBV2-P1114-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1114-000/grease-pencil-layer-frame-production.json" }, { task: "WBV2-P1114-000", unitId: "rna-struct:GreasePencilFrames", evidence: "tests/golden/WBV2-P1114-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1114-000/grease-pencil-layer-frame-production.json" }, { task: "WBV2-P1114-000", unitId: "rna-struct:GreasePencilDrawing", evidence: "tests/golden/WBV2-P1114-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1114-000/grease-pencil-strokes-production.json" }, { task: "WBV2-P1127-000", unitId: "rna-struct:MaskLayers", evidence: "tests/golden/WBV2-P1127-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1127-000/tracking-mask-production.json" }, { task: "WBV2-P1114-000", unitId: "rna-struct:GreasePencilv3Layers", evidence: "tests/golden/WBV2-P1114-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1114-000/grease-pencil-layer-frame-production.json" }, { task: "WBV2-P1107-000", unitId: "rna-struct:ObjectModifiers", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-visibility-production.json" }, { task: "WBV2-P1106-000", unitId: "rna-struct:ObjectConstraints", evidence: "tests/golden/WBV2-P1106-000/manifest.json", productionEvidence: "tests/golden/WBV2-P13-003/rig-pose-production.json" }, { task: "WBV2-P1131-001", unitId: "web-command:setSceneMultiviewSettings", evidence: "tests/golden/WBV2-P1131-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1131-001/scene-multiview-production.json" }, { task: "WBV2-P1132-001", unitId: "web-command:setCurveTopology", evidence: "tests/golden/WBV2-P1132-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1132-001/curve-handle-production.json" }, { task: "WBV2-P1132-001", unitId: "web-command:setCurveHandle", evidence: "tests/golden/WBV2-P1132-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1132-001/curve-handle-command-production.json" }, { task: "WBV2-P1133-001", unitId: "web-command:setCurveSplines", evidence: "tests/golden/WBV2-P1133-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1133-001/curve-splines-production.json" }, { task: "WBV2-P1134-001", unitId: "web-command:setSurfaceTopology", evidence: "tests/golden/WBV2-P1134-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1134-001/surface-topology-production.json" }, { task: "WBV2-P1135-001", unitId: "web-command:setFontBody", evidence: "tests/golden/WBV2-P1135-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1135-001/font-body-production.json" }, { task: "WBV2-P1136-001", unitId: "web-command:setFontProperties", evidence: "tests/golden/WBV2-P1136-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1136-001/font-properties-production.json" }, { task: "WBV2-P1136-001", unitId: "web-command:setFontAdvanced", evidence: "tests/golden/WBV2-P1136-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1136-001/font-advanced-production.json" }, { task: "WBV2-P1136-001", unitId: "web-command:setFontLinks", evidence: "tests/golden/WBV2-P1136-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1136-001/font-advanced-production.json" }, { task: "WBV2-P1136-001", unitId: "web-command:importVFont", evidence: "tests/golden/WBV2-P1136-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1136-001/font-import-production.json" }, { task: "WBV2-P1137-001", unitId: "web-command:setMetaballElements", evidence: "tests/golden/WBV2-P1137-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1137-001/metaball-elements-production.json" }, { task: "WBV2-P1138-001", unitId: "web-command:setTextSource", evidence: "tests/golden/WBV2-P1138-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1138-001/text-source-production.json" }, { task: "WBV2-P1139-001", unitId: "web-command:setTextureProperties", evidence: "tests/golden/WBV2-P1139-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1139-001/texture-properties-production.json" }, { task: "WBV2-P1113-000", unitId: "web-command:setShaderGraph", evidence: "tests/golden/WBV2-P1113-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1113-000/shader-main-command-production.json" }, { task: "WBV2-P1139-001", unitId: "rna-struct:Depsgraph", evidence: "tests/golden/WBV2-P1139-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1139-001/texture-properties-production.json" }, { task: "WBV2-P1104-000", unitId: "rna-struct:NodeTree", evidence: "tests/golden/WBV2-P1104-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1104-000/compositor-main-reader-production.json" }, { task: "WBV2-P1104-000", unitId: "rna-struct:NodeLinks", evidence: "tests/golden/WBV2-P1104-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1104-000/compositor-main-reader-production.json" }, { task: "WBV2-P1104-000", unitId: "rna-struct:NodeLink", evidence: "tests/golden/WBV2-P1104-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1104-000/compositor-main-reader-production.json" }, { task: "WBV2-P1113-000", unitId: "node:ShaderNodeBsdfPrincipled", evidence: "tests/golden/WBV2-P1113-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1113-000/shader-main-reader-production.json" }, { task: "WBV2-P1113-000", unitId: "node:ShaderNodeOutputMaterial", evidence: "tests/golden/WBV2-P1113-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1113-000/shader-main-reader-production.json" }, { task: "WBV2-P1113-000", unitId: "node:ShaderNodeRGB", evidence: "tests/golden/WBV2-P1113-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1113-000/shader-main-command-production.json" }, { task: "WBV2-P1113-000", unitId: "node:ShaderNodeValue", evidence: "tests/golden/WBV2-P1113-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1113-000/shader-main-command-production.json" }, { task: "WBV2-P1113-000", unitId: "node:ShaderNodeMath", evidence: "tests/golden/WBV2-P1113-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1113-000/shader-main-command-production.json" }, { task: "WBV2-P1113-000", unitId: "node:ShaderNodeTexImage", evidence: "tests/golden/WBV2-P1113-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1113-000/shader-main-command-production.json" }, { task: "WBV2-P1113-000", unitId: "node:ShaderNodeNormalMap", evidence: "tests/golden/WBV2-P1113-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1113-000/shader-main-command-production.json" }, { task: "WBV2-P1100-001", unitId: "rna-struct:Camera", evidence: "tests/golden/WBV2-P1100-001/manifest.json", productionEvidence: "tests/golden/WBV2-P15-002/lighting-fields-production.json" }, { task: "WBV2-P1100-001", unitId: "rna-struct:Light", evidence: "tests/golden/WBV2-P1100-001/manifest.json", productionEvidence: "tests/golden/WBV2-P15-002/lighting-fields-production.json" }, { task: "WBV2-P1100-001", unitId: "rna-struct:World", evidence: "tests/golden/WBV2-P1100-001/manifest.json", productionEvidence: "tests/golden/WBV2-P15-002/lighting-fields-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:Object", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P12-002/scene-object-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:Scene", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P12-002/scene-object-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:Mesh", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P12-002/scene-object-production.json" }, { task: "WBV2-P1100-003", unitId: "rna-struct:Material", evidence: "tests/golden/WBV2-P1100-003/manifest.json", productionEvidence: "tests/golden/WBV2-P12-003/material-animation-production.json" }, { task: "WBV2-P1100-003", unitId: "rna-struct:MaterialSlot", evidence: "tests/golden/WBV2-P1100-003/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-003/material-face-slot-production.json" }, { task: "WBV2-P1100-003", unitId: "rna-struct:MeshPolygon", evidence: "tests/golden/WBV2-P1100-003/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-003/material-face-slot-production.json" }, { task: "WBV2-P1100-003", unitId: "rna-struct:Image", evidence: "tests/golden/WBV2-P1100-003/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-003/material-image-production.json" }, { task: "WBV2-P1101-000", unitId: "rna-struct:Curve", evidence: "tests/golden/WBV2-P1101-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1101-000/curve-create-production.json" }, { task: "WBV2-P1103-000", unitId: "rna-struct:Collection", evidence: "tests/golden/WBV2-P1103-000/manifest.json", productionEvidence: "tests/golden/WBV2-P20-002/collection-create-production.json" }, { task: "WBV2-P1107-000", unitId: "rna-struct:Modifier", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-visibility-production.json" }, { task: "WBV2-P1112-000", unitId: "rna-struct:Action", evidence: "tests/golden/WBV2-P1112-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1112-000/animation-action-production.json" }, { task: "WBV2-P1112-000", unitId: "rna-struct:NlaTrack", evidence: "tests/golden/WBV2-P1112-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1112-000/nla-stack-production.json" }, { task: "WBV2-P1112-000", unitId: "rna-struct:NlaStrip", evidence: "tests/golden/WBV2-P1112-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1112-000/nla-stack-production.json" }, { task: "WBV2-P1114-000", unitId: "rna-struct:GreasePencil", evidence: "tests/golden/WBV2-P1114-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1114-000/grease-pencil-strokes-production.json" }, { task: "WBV2-P1131-001", unitId: "rna-struct:SceneRenderView", evidence: "tests/golden/WBV2-P1131-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1131-001/scene-multiview-production.json" }, { task: "WBV2-P1129-001", unitId: "rna-struct:ColorManagedViewSettings", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-color-management-reader-production.json" }, { task: "WBV2-P1129-001", unitId: "rna-struct:ColorManagedDisplaySettings", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-color-management-reader-production.json" }, { task: "WBV2-P1138-001", unitId: "rna-struct:Text", evidence: "tests/golden/WBV2-P1138-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1138-001/text-source-production.json" }, { task: "WBV2-P1138-001", unitId: "rna-struct:TextLine", evidence: "tests/golden/WBV2-P1138-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1138-001/text-source-production.json" }, { task: "WBV2-P1139-001", unitId: "rna-struct:Texture", evidence: "tests/golden/WBV2-P1139-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1139-001/texture-properties-production.json" }, { task: "WBV2-P1109-000", unitId: "operator:WM_OT_obj_import", evidence: "tests/golden/WBV2-P1109-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1109-000/io-format-operator-production.json" }, { task: "WBV2-P1109-000", unitId: "operator:WM_OT_obj_export", evidence: "tests/golden/WBV2-P1109-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1109-000/io-format-operator-production.json" }, { task: "WBV2-P1109-000", unitId: "operator:WM_OT_stl_import", evidence: "tests/golden/WBV2-P1109-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1109-000/io-format-operator-production.json" }, { task: "WBV2-P1109-000", unitId: "operator:WM_OT_stl_export", evidence: "tests/golden/WBV2-P1109-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1109-000/io-format-operator-production.json" }, { task: "WBV2-P1109-000", unitId: "operator:WM_OT_ply_import", evidence: "tests/golden/WBV2-P1109-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1109-000/io-format-operator-production.json" }, { task: "WBV2-P1109-000", unitId: "operator:WM_OT_ply_export", evidence: "tests/golden/WBV2-P1109-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1109-000/io-format-operator-production.json" }, { task: "WBV2-P1100-001", unitId: "rna-struct:ViewLayer", evidence: "tests/golden/WBV2-P1100-001/manifest.json", productionEvidence: "tests/golden/WBV2-P15-002/lighting-fields-production.json" }, { task: "WBV2-P1105-000", unitId: "rna-struct:Sound", evidence: "tests/golden/WBV2-P1105-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1105-000/audio-particle-production.json" }, { task: "WBV2-P1105-000", unitId: "rna-struct:Speaker", evidence: "tests/golden/WBV2-P1105-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1105-000/audio-particle-production.json" }, { task: "WBV2-P1105-000", unitId: "rna-struct:ParticleSettings", evidence: "tests/golden/WBV2-P1105-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1105-000/audio-particle-production.json" }, { task: "WBV2-P1112-000", unitId: "rna-struct:FCurve", evidence: "tests/golden/WBV2-P1112-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1112-000/animation-action-production.json" }, { task: "WBV2-P1112-000", unitId: "rna-struct:ActionLayers", evidence: "tests/golden/WBV2-P1112-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1112-000/animation-action-production.json" }, { task: "WBV2-P1112-000", unitId: "rna-struct:ActionSlot", evidence: "tests/golden/WBV2-P1112-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1112-000/animation-action-production.json" }, { task: "WBV2-P1140-001", unitId: "rna-struct:ActionGroup", evidence: "tests/golden/WBV2-P1140-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1140-001/action-group-reader-production.json" }, { task: "WBV2-P1140-001", unitId: "rna-struct:ActionChannelbagFCurves", evidence: "tests/golden/WBV2-P1140-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1140-001/action-group-reader-production.json" }, { task: "WBV2-P1140-001", unitId: "rna-struct:ActionChannelbagGroups", evidence: "tests/golden/WBV2-P1140-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1140-001/action-group-reader-production.json" }, { task: "WBV2-P1140-001", unitId: "rna-struct:ActionSlots", evidence: "tests/golden/WBV2-P1140-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1140-001/action-group-reader-production.json" }, { task: "WBV2-P1140-001", unitId: "rna-struct:ActionStrips", evidence: "tests/golden/WBV2-P1140-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1140-001/action-group-reader-production.json" }, { task: "WBV2-P1140-001", unitId: "rna-struct:ActionStrip", evidence: "tests/golden/WBV2-P1140-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1140-001/action-group-reader-production.json" }, { task: "WBV2-P1141-001", unitId: "rna-struct:ActionPoseMarkers", evidence: "tests/golden/WBV2-P1141-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1141-001/action-pose-markers-production.json" }, { task: "WBV2-P1142-001", unitId: "rna-struct:FCurveSample", evidence: "tests/golden/WBV2-P1142-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1142-001/fcurve-sample-production.json" }, { task: "WBV2-P1143-001", unitId: "rna-struct:FCurveModifiers", evidence: "tests/golden/WBV2-P1143-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1143-001/fcurve-modifier-production.json" }, { task: "WBV2-P1143-001", unitId: "rna-struct:FModifier", evidence: "tests/golden/WBV2-P1143-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1143-001/fcurve-modifier-production.json" }, { task: "WBV2-P1143-001", unitId: "rna-struct:FModifierCycles", evidence: "tests/golden/WBV2-P1143-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1143-001/fcurve-modifier-production.json" }, { task: "WBV2-P1144-001", unitId: "rna-struct:AnimData", evidence: "tests/golden/WBV2-P1144-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1144-001/driver-reader-production.json" }, { task: "WBV2-P1144-001", unitId: "rna-struct:AnimDataDrivers", evidence: "tests/golden/WBV2-P1144-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1144-001/driver-reader-production.json" }, { task: "WBV2-P1144-001", unitId: "rna-struct:Driver", evidence: "tests/golden/WBV2-P1144-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1144-001/driver-reader-production.json" }, { task: "WBV2-P1144-001", unitId: "rna-struct:DriverTarget", evidence: "tests/golden/WBV2-P1144-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1144-001/driver-reader-production.json" }, { task: "WBV2-P1144-001", unitId: "rna-struct:DriverVariable", evidence: "tests/golden/WBV2-P1144-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1144-001/driver-reader-production.json" }, { task: "WBV2-P1144-001", unitId: "rna-struct:ChannelDriverVariables", evidence: "tests/golden/WBV2-P1144-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1144-001/driver-reader-production.json" }, { task: "WBV2-P1112-000", unitId: "rna-struct:ActionLayer", evidence: "tests/golden/WBV2-P1112-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1112-000/animation-action-production.json" }, { task: "WBV2-P1112-000", unitId: "rna-struct:ActionKeyframeStrip", evidence: "tests/golden/WBV2-P1112-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1112-000/animation-action-production.json" }, { task: "WBV2-P1112-000", unitId: "rna-struct:ActionChannelbags", evidence: "tests/golden/WBV2-P1112-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1112-000/animation-action-production.json" }, { task: "WBV2-P1112-000", unitId: "rna-struct:ActionChannelbag", evidence: "tests/golden/WBV2-P1112-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1112-000/animation-action-production.json" }, { task: "WBV2-P1120-000", unitId: "rna-struct:Volume", evidence: "tests/golden/WBV2-P1120-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1120-000/volume-properties-production.json" }, { task: "WBV2-P1137-001", unitId: "rna-struct:MetaBall", evidence: "tests/golden/WBV2-P1137-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1137-001/metaball-elements-production.json" }, { task: "WBV2-P1106-000", unitId: "rna-struct:Armature", evidence: "tests/golden/WBV2-P1106-000/manifest.json", productionEvidence: "tests/golden/WBV2-P13-003/rig-pose-production.json" }, { task: "WBV2-P1125-000", unitId: "node:GeometryNodeTransform", evidence: "tests/golden/WBV2-P1125-000/manifest.json", productionEvidence: "tests/golden/WBV2-P13-002/geometry-nodes-production.json" }, { task: "WBV2-P1125-000", unitId: "node:GeometryNodeSetPosition", evidence: "tests/golden/WBV2-P1125-000/manifest.json", productionEvidence: "tests/golden/WBV2-P13-002/geometry-nodes-production.json" }, { task: "WBV2-P1125-000", unitId: "node:GeometryNodeSimulationInput", evidence: "tests/golden/WBV2-P1125-000/manifest.json", productionEvidence: "tests/golden/WBV2-P13-002/geometry-nodes-production.json" }, { task: "WBV2-P1125-000", unitId: "node:GeometryNodeSimulationOutput", evidence: "tests/golden/WBV2-P1125-000/manifest.json", productionEvidence: "tests/golden/WBV2-P13-002/geometry-nodes-production.json" }, { task: "WBV2-P1125-000", unitId: "node:GeometryNodeJoinGeometry", evidence: "tests/golden/WBV2-P1125-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1125-000/geometry-node-evaluator-production.json" }, { task: "WBV2-P1125-000", unitId: "node:GeometryNodeSeparateGeometry", evidence: "tests/golden/WBV2-P1125-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1125-000/geometry-node-evaluator-production.json" }, { task: "WBV2-P1125-000", unitId: "node:GeometryNodeRealizeInstances", evidence: "tests/golden/WBV2-P1125-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1125-000/geometry-node-evaluator-production.json" }, { task: "WBV2-P1125-000", unitId: "node:GeometryNodeStoreNamedAttribute", evidence: "tests/golden/WBV2-P1125-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1125-000/geometry-node-evaluator-production.json" }, { task: "WBV2-P1125-000", unitId: "node:GeometryNodeObjectInfo", evidence: "tests/golden/WBV2-P1125-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1125-000/geometry-node-evaluator-production.json" }, { task: "WBV2-P1125-000", unitId: "node:GeometryNodeCollectionInfo", evidence: "tests/golden/WBV2-P1125-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1125-000/geometry-node-evaluator-production.json" }, { task: "WBV2-P1125-000", unitId: "node:GeometryNodeImageInfo", evidence: "tests/golden/WBV2-P1125-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1125-000/geometry-node-evaluator-production.json" }, { task: "WBV2-P1125-000", unitId: "rna-struct:GeometryNode", evidence: "tests/golden/WBV2-P1125-000/manifest.json", productionEvidence: "tests/golden/WBV2-P13-002/geometry-nodes-production.json" }, { task: "WBV2-P1125-000", unitId: "rna-struct:GeometryNodeTree", evidence: "tests/golden/WBV2-P1125-000/manifest.json", productionEvidence: "tests/golden/WBV2-P13-002/geometry-nodes-production.json" }, { task: "WBV2-P1125-000", unitId: "rna-struct:Nodes", evidence: "tests/golden/WBV2-P1125-000/manifest.json", productionEvidence: "tests/golden/WBV2-P13-002/geometry-nodes-production.json" }, { task: "WBV2-P1125-000", unitId: "rna-struct:Node", evidence: "tests/golden/WBV2-P1125-000/manifest.json", productionEvidence: "tests/golden/WBV2-P13-002/geometry-nodes-production.json" }, { task: "WBV2-P1113-000", unitId: "rna-struct:ShaderNode", evidence: "tests/golden/WBV2-P1113-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1113-000/shader-main-reader-production.json" }, { task: "WBV2-P1113-000", unitId: "rna-struct:ShaderNodeTree", evidence: "tests/golden/WBV2-P1113-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1113-000/shader-main-reader-production.json" }, { task: "WBV2-P1106-000", unitId: "rna-struct:Bone", evidence: "tests/golden/WBV2-P1106-000/manifest.json", productionEvidence: "tests/golden/WBV2-P13-003/rig-pose-production.json" }, { task: "WBV2-P1106-000", unitId: "rna-struct:Constraint", evidence: "tests/golden/WBV2-P1106-000/manifest.json", productionEvidence: "tests/golden/WBV2-P13-003/rig-pose-production.json" }, { task: "WBV2-P1106-000", unitId: "rna-struct:Key", evidence: "tests/golden/WBV2-P1106-000/manifest.json", productionEvidence: "tests/golden/WBV2-P13-003/rig-pose-production.json" }, { task: "WBV2-P1106-000", unitId: "rna-struct:ShapeKey", evidence: "tests/golden/WBV2-P1106-000/manifest.json", productionEvidence: "tests/golden/WBV2-P13-003/rig-pose-production.json" }, { task: "WBV2-P1136-001", unitId: "rna-struct:TextBox", evidence: "tests/golden/WBV2-P1136-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1136-001/font-advanced-production.json" }, { task: "WBV2-P1100-003", unitId: "rna-struct:Attribute", evidence: "tests/golden/WBV2-P1100-003/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-003/material-image-production.json" }, { task: "WBV2-P1101-000", unitId: "rna-struct:Point", evidence: "tests/golden/WBV2-P1101-000/manifest.json", productionEvidence: "tests/golden/WBV2-P12-004/viewport-nonmesh-production.json" }, { task: "WBV2-P1101-000", unitId: "rna-struct:PointCloud", evidence: "tests/golden/WBV2-P1101-000/manifest.json", productionEvidence: "tests/golden/WBV2-P12-004/viewport-nonmesh-production.json" }, { task: "WBV2-P1100-001", unitId: "rna-struct:Area", evidence: "tests/golden/WBV2-P1100-001/manifest.json", productionEvidence: "tests/golden/WBV2-P15-002/lighting-fields-production.json" }, { task: "WBV2-P1100-001", unitId: "rna-struct:AreaLight", evidence: "tests/golden/WBV2-P1100-001/manifest.json", productionEvidence: "tests/golden/WBV2-P15-002/lighting-fields-production.json" }, { task: "WBV2-P1100-001", unitId: "rna-struct:PointLight", evidence: "tests/golden/WBV2-P1100-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-001/light-subtypes-reader-production.json" }, { task: "WBV2-P1100-001", unitId: "rna-struct:SpotLight", evidence: "tests/golden/WBV2-P1100-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-001/light-subtypes-reader-production.json" }, { task: "WBV2-P1100-001", unitId: "rna-struct:SunLight", evidence: "tests/golden/WBV2-P1100-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-001/light-subtypes-reader-production.json" }, { task: "WBV2-P1100-001", unitId: "rna-struct:CameraDOFSettings", evidence: "tests/golden/WBV2-P1100-001/manifest.json", productionEvidence: "tests/golden/WBV2-P15-002/lighting-fields-production.json" }, { task: "WBV2-P1100-001", unitId: "rna-struct:WorldLighting", evidence: "tests/golden/WBV2-P1100-001/manifest.json", productionEvidence: "tests/golden/WBV2-P15-002/lighting-fields-production.json" }, { task: "WBV2-P1100-001", unitId: "rna-struct:WorldMistSettings", evidence: "tests/golden/WBV2-P1100-001/manifest.json", productionEvidence: "tests/golden/WBV2-P15-002/lighting-fields-production.json" }, { task: "WBV2-P1100-003", unitId: "rna-struct:IDMaterials", evidence: "tests/golden/WBV2-P1100-003/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-003/material-face-slot-production.json" }, { task: "WBV2-P1103-000", unitId: "rna-struct:CollectionObjects", evidence: "tests/golden/WBV2-P1103-000/manifest.json", productionEvidence: "tests/golden/WBV2-P24-002/object-move-production.json" }, { task: "WBV2-P1103-000", unitId: "rna-struct:CollectionObject", evidence: "tests/golden/WBV2-P1103-000/manifest.json", productionEvidence: "tests/golden/WBV2-P24-002/object-move-production.json" }, { task: "WBV2-P1129-001", unitId: "rna-struct:AOV", evidence: "tests/golden/WBV2-P1129-001/manifest.json", productionEvidence: "tests/golden/WBV2-P1129-001/scene-settings-expanded-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:MeshVertices", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P12-002/scene-object-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:MeshVertex", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/mesh-main-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:MeshEdges", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/mesh-main-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:MeshLoops", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/mesh-main-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:MeshPolygons", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/mesh-main-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:MeshUVLoopLayer", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/mesh-main-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:AttributeGroupMesh", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/mesh-main-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:BlendDataCameras", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/main-datablocks-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:BlendDataCollections", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/main-datablocks-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:BlendDataCurves", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/main-datablocks-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:BlendDataFonts", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/main-datablocks-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:BlendDataImages", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/main-datablocks-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:BlendDataLattices", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/main-datablocks-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:BlendDataLights", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/main-datablocks-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:BlendDataMaterials", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/main-datablocks-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:BlendDataMeshes", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/main-datablocks-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:BlendDataObjects", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/main-datablocks-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:BlendDataScenes", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/main-datablocks-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:BlendDataSounds", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/main-datablocks-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:BlendDataTextures", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/main-datablocks-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:BlendDataVolumes", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/main-datablocks-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:BlendDataWorlds", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/main-datablocks-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:BlendDataNodeTrees", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/main-datablocks-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:BlendDataActions", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/main-datablocks-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:BlendDataArmatures", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/main-datablocks-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:BlendDataBrushes", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/main-datablocks-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:BlendDataGreasePencilsV3", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/main-datablocks-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:BlendDataMetaBalls", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/main-datablocks-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:BlendDataPointClouds", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/main-datablocks-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:BlendDataSpeakers", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/main-datablocks-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:BlendDataTexts", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/main-datablocks-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:BlendDataParticles", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/main-datablocks-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:BlendDataLibraries", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/main-datablocks-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:BlendDataWorkSpaces", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/main-datablocks-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:BlendDataHairCurves", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/main-datablocks-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:CollectionChildren", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/main-datablocks-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:CollectionChild", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/main-datablocks-reader-production.json" }, { task: "WBV2-P1100-002", unitId: "rna-struct:SceneObjects", evidence: "tests/golden/WBV2-P1100-002/manifest.json", productionEvidence: "tests/golden/WBV2-P1100-002/main-datablocks-reader-production.json" }, { task: "WBV2-P1104-000", unitId: "rna-struct:CompositorNode", evidence: "tests/golden/WBV2-P1104-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1104-000/compositor-main-reader-production.json" }, { task: "WBV2-P1104-000", unitId: "node:CompositorNodeRGB", evidence: "tests/golden/WBV2-P1104-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1104-000/compositor-main-reader-production.json" }, { task: "WBV2-P1104-000", unitId: "node:CompositorNodeExposure", evidence: "tests/golden/WBV2-P1104-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1104-000/compositor-main-reader-production.json" }, { task: "WBV2-P1104-000", unitId: "node:CompositorNodeInvert", evidence: "tests/golden/WBV2-P1104-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1104-000/compositor-main-reader-production.json" }, { task: "WBV2-P1107-000", unitId: "rna-struct:Lattice", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1127-000", unitId: "rna-struct:Mask", evidence: "tests/golden/WBV2-P1127-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1127-000/tracking-mask-production.json" }, { task: "WBV2-P1127-000", unitId: "rna-struct:MaskLayer", evidence: "tests/golden/WBV2-P1127-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1127-000/tracking-mask-production.json" }, { task: "WBV2-P1127-000", unitId: "rna-struct:MaskSpline", evidence: "tests/golden/WBV2-P1127-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1127-000/tracking-mask-production.json" }, { task: "WBV2-P1107-000", unitId: "rna-struct:ArrayModifier", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "rna-struct:ArmatureModifier", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "rna-struct:BevelModifier", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "rna-struct:BooleanModifier", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "rna-struct:BuildModifier", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "rna-struct:CastModifier", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "rna-struct:ClothModifier", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "rna-struct:CollisionModifier", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "rna-struct:CurveModifier", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "rna-struct:DisplaceModifier", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "rna-struct:EdgeSplitModifier", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "rna-struct:HookModifier", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "rna-struct:LatticeModifier", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "rna-struct:MeshDeformModifier", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "rna-struct:MirrorModifier", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "rna-struct:NodesModifier", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "rna-struct:ScrewModifier", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "rna-struct:SolidifyModifier", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "rna-struct:SimpleDeformModifier", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "rna-struct:SmoothModifier", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "rna-struct:SoftBodyModifier", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "rna-struct:SubsurfModifier", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "rna-struct:SurfaceDeformModifier", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "rna-struct:TriangulateModifier", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "rna-struct:WaveModifier", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "rna-struct:WeldModifier", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, { task: "WBV2-P1107-000", unitId: "rna-struct:WireframeModifier", evidence: "tests/golden/WBV2-P1107-000/manifest.json", productionEvidence: "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json" }, ]; const dynamic = json(dynamicPath); const plan = json(planPath); const units = new Map(dynamic.units.map((unit) => [unit.id, unit])); const tasks = new Map(plan.tasks.map((task) => [task.id, task])); assert.equal(dynamic.authority.sourceTreeSha256, "600cb3dd441f09d9655b740735fbf8fa49ad6c14d308c68d59a29f9c338e4202"); assert.ok(["SOURCE_DERIVED_UNVERIFIED", "SOURCE_DERIVED_WITH_EXPLICIT_COVERAGE"].includes(dynamic.status)); assert.equal(new Set(explicitBindings.map((binding) => binding.unitId)).size, explicitBindings.length); const bindings = explicitBindings.map((binding) => { const unit = units.get(binding.unitId); const task = tasks.get(binding.task); assert.ok(unit, `dynamic unit missing: ${binding.unitId}`); assert.ok(task?.module?.sourceBacked, `task is not source-backed: ${binding.task}`); const manifest = json(binding.evidence); assert.equal(manifest.status, "done"); assert.equal(manifest.assertions?.sourceUnchanged, true); assert.ok(fs.existsSync(abs(binding.productionEvidence)), binding.productionEvidence); const production = json(binding.productionEvidence); assert.ok(!forbiddenSimulationEvidence.test(binding.productionEvidence), `JS simulation evidence cannot cover migration unit: ${binding.productionEvidence}`); assert.equal(production.browser, "chromium"); assert.equal(production.queueMutation, false); return { unitId: binding.unitId, task: binding.task, capabilityId: task.module.moduleId, sourceLocation: unit.locations[0], evidenceManifest: { path: binding.evidence, sha256: sha(binding.evidence) }, productionEvidence: { path: binding.productionEvidence, sha256: sha(binding.productionEvidence) }, sourceTreeSha256: dynamic.authority.sourceTreeSha256, status: "VERIFIED", }; }); // Persist the complete evidence-bearing binding records so the inventory // generator can reproduce the reconciled artifact byte-for-byte. writeJson(coverageBindingsPath, bindings); const verifiedIds = new Set(bindings.map((binding) => binding.unitId)); const coverageByKind = {}; const coverageByFamily = {}; for (const unit of dynamic.units) { const bucket = coverageByKind[unit.kind] ??= { verified: 0, unverified: 0 }; const familyBucket = coverageByFamily[unit.family] ??= { verified: 0, unverified: 0 }; const key = verifiedIds.has(unit.id) ? "verified" : "unverified"; bucket[key] += 1; familyBucket[key] += 1; } const updatedUnits = dynamic.units.map((unit) => { const { coverage: _staleCoverage, ...withoutCoverage } = unit; return { ...withoutCoverage, coverageStatus: verifiedIds.has(unit.id) ? "VERIFIED" : "UNVERIFIED", ...(verifiedIds.has(unit.id) ? { coverage: bindings.find((binding) => binding.unitId === unit.id) } : {}), }; }); const updated = { ...dynamic, status: "SOURCE_DERIVED_WITH_EXPLICIT_COVERAGE", coverage: { ...dynamic.coverage, verifiedUnits: bindings.length, unverifiedUnits: dynamic.summary.unitCount - bindings.length, sourceMappingRequired: dynamic.summary.unitCount, inventoryMutation: "explicit_source_case_bindings_only", lastReconciledAt: "2026-09-01", }, coverageLedger: bindings, units: updatedUnits, }; const beforeDynamicSha256 = sha(dynamicPath); writeJson(dynamicPath, updated); const report = { schemaVersion: 1, operation: "BLENDER_52_SOURCE_DYNAMIC_COVERAGE_AUDIT", status: "PASS", sourceTreeSha256: dynamic.authority.sourceTreeSha256, dynamicInventory: { path: dynamicPath, beforeSha256: beforeDynamicSha256, afterSha256: sha(dynamicPath), unitCount: dynamic.summary.unitCount, verifiedUnits: bindings.length, unverifiedUnits: dynamic.summary.unitCount - bindings.length }, explicitBindings: bindings, coverageByKind, coverageByFamily, jsonAbiTransport, headlessBoundary, uncoveredWebCommands: dynamic.units.filter((unit) => unit.kind === "web-command" && !verifiedIds.has(unit.id)).map((unit) => unit.id), rejectedImplicitCoverage: plan.tasks.filter((task) => task.module?.sourceBacked && !bindings.some((binding) => binding.task === task.id)).map((task) => ({ task: task.id, moduleId: task.module.moduleId, reason: "module receipt lacks an explicit dynamic unit binding" })), unverifiedBoundary: [ { kind: "operator", count: coverageByKind.operator?.unverified ?? 0, reason: "Blender WM operator declarations have no source-backed WebEngine execution route and Chromium behavior receipt" }, { kind: "operator-macro", count: coverageByKind["operator-macro"]?.unverified ?? 0, reason: "Blender operator macros have no source-backed WebEngine execution route and Chromium behavior receipt" }, { kind: "node", count: coverageByKind.node?.unverified ?? 0, reason: "Node declarations lack an allowlisted WebEngine/Chromium behavior receipt" }, { kind: "rna-struct", count: coverageByKind["rna-struct"]?.unverified ?? 0, reason: "RNA declarations lack a focused source-backed Chromium mutation or reader receipt" }, { kind: "modifier-source", count: coverageByKind["modifier-source"]?.unverified ?? 0, reason: "Modifier source is outside the currently compiled Web modifier set or lacks a concrete Chromium receipt" }, ], historicalInventory: { path: "tests/golden/WBV2-P0-002/parity-map.json", sha256: sha("tests/golden/WBV2-P0-002/parity-map.json"), immutable: true, initialEstimate: 6900 }, planningEstimate: { units: 5200, hardTarget: false }, }; writeJson(reportPath, report); writeJson(dynamicCheckReportPath, { schemaVersion: 1, operation: "BLENDER_52_SOURCE_DYNAMIC_INVENTORY_CHECK", status: "PASS", sourceTreeSha256: dynamic.authority.sourceTreeSha256, sourceFiles: dynamic.summary.sourceFiles, sourceBytes: dynamic.summary.sourceBytes, unitCount: dynamic.summary.unitCount, byKind: dynamic.summary.byKind, byFamily: dynamic.summary.byFamily, planningEstimate: dynamic.policy.planningEstimate, hardTarget: dynamic.policy.hardTarget, verifiedUnits: bindings.length, unverifiedUnits: dynamic.summary.unitCount - bindings.length, deterministic: true, }); writeText(dynamicStatusPath, `# WBV2 source dynamic inventory status\n\n- operation: \`BLENDER_52_SOURCE_DYNAMIC_INVENTORY\`; status: \`done\`\n- source authority: \`blender-5.2.0/source/blender\`; tree SHA: \`${dynamic.authority.sourceTreeSha256}\`\n- source scan: \`${dynamic.summary.sourceFiles}\` files, \`${dynamic.summary.sourceBytes}\` bytes, \`${dynamic.summary.unitCount}\` deduplicated units\n- explicit coverage: verified \`${bindings.length}\`, unverified \`${dynamic.summary.unitCount - bindings.length}\`; this audit delta: \`${bindings.length}\`\n- planning estimate: \`${dynamic.policy.planningEstimate}\` (non-binding); hard target: \`${dynamic.policy.hardTarget}\`\n- unverified boundary: operators \`${coverageByKind.operator?.unverified ?? 0}\`, operator-macros \`${coverageByKind["operator-macro"]?.unverified ?? 0}\`, nodes \`${coverageByKind.node?.unverified ?? 0}\`, RNA structs \`${coverageByKind["rna-struct"]?.unverified ?? 0}\`, modifier sources \`${coverageByKind["modifier-source"]?.unverified ?? 0}\`\n- boundary rule: no source-backed WebEngine route plus Chromium behavior receipt means the unit remains \`UNVERIFIED\`\n- historical 6900-entry parity map remains immutable and is retained only for regression provenance\n- deterministic generator/checker: \`PASS\`\n`); const dynamicStatus = read(dynamicStatusPath); if (!dynamicStatus.includes("- cmd json transport:")) { writeText(dynamicStatusPath, dynamicStatus.replace( "- deterministic generator/checker: `PASS`", `- cmd json transport: \`${jsonAbiTransport.sourceSymbol}\` provides one stable Worker-to-WASM entrypoint for stateful commands and read-only reports; it reduces native registration points but does not replace per-unit Chromium evidence\n- headless boundary: \`${headlessBoundary.sourcePath}\` records the intentional absence of window manager, desktop sequencer playback and GPU context for operator/macro execution\n- deterministic generator/checker: \`PASS\``, )); } const dynamicManifest = json(dynamicManifestPath); dynamicManifest.artifacts.inventory.sha256 = sha(dynamicPath); dynamicManifest.artifacts.report.sha256 = sha(dynamicCheckReportPath); dynamicManifest.artifacts.status.sha256 = sha(dynamicStatusPath); writeJson(dynamicManifestPath, dynamicManifest); const manifest = { schemaVersion: 1, operation: "BLENDER_52_SOURCE_DYNAMIC_COVERAGE_AUDIT", status: "done", artifacts: { inventory: { path: dynamicPath, sha256: sha(dynamicPath) }, inventoryManifest: { path: dynamicManifestPath, sha256: sha(dynamicManifestPath) }, bindings: { path: coverageBindingsPath, sha256: sha(coverageBindingsPath) }, report: { path: reportPath, sha256: sha(reportPath) }, generator: { path: "tools/web/reconcile-source-dynamic-coverage.mjs", sha256: sha("tools/web/reconcile-source-dynamic-coverage.mjs") }, }, coverage: { unitCount: dynamic.summary.unitCount, verifiedUnits: bindings.length, unverifiedUnits: dynamic.summary.unitCount - bindings.length, boundUnitDelta: bindings.length, sourceTreeSha256: dynamic.authority.sourceTreeSha256 }, historical: { total: 6900, immutable: true }, planningEstimate: { units: 5200, hardTarget: false }, }; writeJson(coverageManifestPath, manifest); process.stdout.write(`source-dynamic-coverage-reconciled verified=${bindings.length} unverified=${dynamic.summary.unitCount - bindings.length} total=${dynamic.summary.unitCount} sourceTree=${dynamic.authority.sourceTreeSha256}\n`);