51999 lines
2.1 MiB
51999 lines
2.1 MiB
{
|
|
"schemaVersion": 1,
|
|
"planId": "BLENDER_WEB_MODULE_EXECUTION_P1414",
|
|
"operation": "FUNCTION_MODULE_MIGRATION_PLAN",
|
|
"status": "COMPLETED_MODULE_EXECUTION",
|
|
"authority": "blender_main_source_and_existing_hash_bound_receipts",
|
|
"executionPointer": "docs/EXECUTION_QUEUE.md",
|
|
"inventory": {
|
|
"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"
|
|
},
|
|
"reusePolicy": {
|
|
"completedReceipts": "reuse_without_rerun",
|
|
"continuationEvidence": "excluded",
|
|
"duplicateValidation": "forbidden",
|
|
"fullFamilyParity": "never_inferred"
|
|
},
|
|
"verificationPolicy": {
|
|
"browser": "chromium_only",
|
|
"required": [
|
|
"sourceHash",
|
|
"wasmBuild",
|
|
"positiveMainMutation",
|
|
"negativeNoMutation",
|
|
"undoRedo",
|
|
"saveReopen",
|
|
"aggregateManifest"
|
|
],
|
|
"failure": "keep_module_in_progress_and_do_not_advance"
|
|
},
|
|
"modules": [
|
|
{
|
|
"id": "RENDER_LIGHT_CAMERA",
|
|
"task": "WBV2-P1100-001",
|
|
"owner": "RENDER",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-RENDER-LIGHT-TYPE",
|
|
"CAP-RENDER-LIGHT-AREA-SHAPE",
|
|
"CAP-RENDER-LIGHT-CONTRIBUTION-FACTORS",
|
|
"CAP-RENDER-LIGHT-SHADOW-CONTROLS",
|
|
"CAP-RENDER-LIGHT-CASCADE-CONTROLS",
|
|
"CAP-RENDER-LIGHT-AREA-SIZE-Z",
|
|
"CAP-RENDER-LIGHT-CLIP-START",
|
|
"CAP-RENDER-WORLD-LIGHTING-CONTROLS",
|
|
"CAP-RENDER-WORLD-PROBE-CONTROLS",
|
|
"CAP-RENDER-WORLD-ENVIRONMENT-STRENGTH",
|
|
"CAP-RENDER-CAMERA-DOF-FOCUS-OBJECT",
|
|
"CAP-RENDER-CAMERA-PANORAMA"
|
|
],
|
|
"reusedReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P595-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P595-002/implementation-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P596-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P596-002/implementation-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P597-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P597-002/implementation-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P598-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P598-002/implementation-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P599-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P599-002/implementation-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P600-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P600-002/implementation-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P601-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P601-002/implementation-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P602-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P602-002/implementation-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P603-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P603-002/implementation-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P604-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P604-002/implementation-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P605-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P605-002/implementation-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P606-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P606-002/implementation-report.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "SCENE_OBJECT_MESH",
|
|
"task": "WBV2-P1100-002",
|
|
"owner": "SCENE_MESH",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH-TOPOLOGY-FAMILY",
|
|
"CAP-CORE-SCENE-OBJECT",
|
|
"CAP-OBJECT-MOVE-COLLECTION"
|
|
],
|
|
"reusedReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P11-001/manifest.json",
|
|
"report": "tests/golden/WBV2-P11-001/mesh-topology-receipt-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P12-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P12-002/scene-object-receipt-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P24-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P24-002/object-move-receipt-report.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MATERIAL_ANIMATION",
|
|
"task": "WBV2-P1100-003",
|
|
"owner": "MATERIAL_ANIMATION",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MATERIAL-ANIMATION"
|
|
],
|
|
"reusedReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P12-003/manifest.json",
|
|
"report": "tests/golden/WBV2-P12-003/material-animation-receipt-report.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "NONMESH_GEOMETRY",
|
|
"task": "WBV2-P1101-000",
|
|
"owner": "GEOMETRY",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-VIEWPORT-NONMESH",
|
|
"CAP-NATIVE-DATABLOCK"
|
|
],
|
|
"reusedReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P12-004/manifest.json",
|
|
"report": "tests/golden/WBV2-P12-004/viewport-nonmesh-receipt-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P29-003/manifest.json",
|
|
"report": "tests/golden/WBV2-P29-003/implementation-report.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "NODES_SIMULATION",
|
|
"task": "WBV2-P1101-001",
|
|
"owner": "NODES_SIMULATION",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-GEOMETRY-NODES",
|
|
"CAP-SIMULATION"
|
|
],
|
|
"reusedReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P13-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P13-002/geometry-nodes-receipt-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P13-004/manifest.json",
|
|
"report": "tests/golden/WBV2-P13-004/advanced-domain-receipt-report.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "ASSET_IO",
|
|
"task": "WBV2-P1101-002",
|
|
"owner": "ASSET",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-ASSET-LINK-OVERRIDE-RELOAD",
|
|
"CAP-ASSET-CATALOG-MUTATION"
|
|
],
|
|
"reusedReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P11-003/manifest.json",
|
|
"report": "tests/golden/WBV2-P11-003/asset-link-override-receipt-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P10-003/manifest.json",
|
|
"report": "tests/golden/WBV2-P10-003/module-matrix-receipt-report.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "SCULPT_PAINT",
|
|
"task": "WBV2-P1101-003",
|
|
"owner": "SCULPT_PAINT",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-PAINT-ATTRIBUTES",
|
|
"CAP-SCULPT-PAINT"
|
|
],
|
|
"reusedReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P16-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P16-002/paint-attributes-receipt-report.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "UI_EDITOR",
|
|
"task": "WBV2-P1102-000",
|
|
"owner": "EDITOR",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-UI-EDITOR"
|
|
],
|
|
"reusedReceipts": [],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "INVENTORY_GATE",
|
|
"task": "WBV2-P1102-001",
|
|
"owner": "RELEASE",
|
|
"sourceBacked": true,
|
|
"capabilities": [],
|
|
"reusedReceipts": [],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_OPERATIONS",
|
|
"task": "WBV2-P1103-000",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT-DUPLICATE",
|
|
"CAP-OBJECT-CREATE",
|
|
"CAP-OBJECT-PARENT",
|
|
"CAP-OBJECT-COLLECTION",
|
|
"CAP-OBJECT-RENAME",
|
|
"CAP-OBJECT-DELETE",
|
|
"CAP-OBJECT-TRANSFORM"
|
|
],
|
|
"reusedReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P17-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P17-002/object-duplicate-receipt-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P18-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P18-002/object-create-receipt-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P19-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P19-002/object-parent-receipt-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P20-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P20-002/collection-create-receipt-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P21-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P21-002/object-rename-receipt-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P22-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P22-002/object-delete-receipt-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P23-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P23-002/object-transform-receipt-report.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "COMPOSITOR_SEQUENCER",
|
|
"task": "WBV2-P1104-000",
|
|
"owner": "MEDIA",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-COMPOSITOR-NODE-GRAPH",
|
|
"CAP-COMPOSITOR-UNSUPPORTED-GATE",
|
|
"CAP-SEQUENCER-MEDIA-RECOVERY"
|
|
],
|
|
"reusedReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P29-003/manifest.json",
|
|
"report": "tests/golden/WBV2-P29-003/implementation-report.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUDIO_PARTICLE",
|
|
"task": "WBV2-P1105-000",
|
|
"owner": "AUDIO_PARTICLE",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-SOUND-PROPERTIES",
|
|
"CAP-SPEAKER-PROPERTIES",
|
|
"CAP-PARTICLE-SETTINGS"
|
|
],
|
|
"reusedReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P33-001/manifest.json",
|
|
"report": "tests/golden/WBV2-P33-001/implementation-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P33-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P33-002/implementation-report.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "RIG_ANIMATION",
|
|
"task": "WBV2-P1106-000",
|
|
"owner": "RIG",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-RIG-POSE",
|
|
"CAP-CONSTRAINTS",
|
|
"CAP-NLA-ANIMATION"
|
|
],
|
|
"reusedReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P13-003/manifest.json",
|
|
"report": "tests/golden/WBV2-P13-003/rig-pose-receipt-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P13-004/manifest.json",
|
|
"report": "tests/golden/WBV2-P13-004/advanced-domain-receipt-report.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "CORE_SCENE_GRAPH_SETTINGS",
|
|
"task": "WBV2-P1129-001",
|
|
"owner": "CORE_SCENE",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-SCENE-COMPOSITOR-SETTINGS",
|
|
"CAP-SCENE-PERFORMANCE-SETTINGS",
|
|
"CAP-SCENE-SAMPLING-SETTINGS"
|
|
],
|
|
"reusedReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P65-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P65-002/implementation-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P66-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P66-002/implementation-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P67-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P67-002/implementation-report.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "UI_EDITOR_VIEW2D_STATE",
|
|
"task": "WBV2-P1130-001",
|
|
"owner": "EDITOR",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-EDITOR-VIEW2D-CUR",
|
|
"CAP-EDITOR-VIEW2D-MASK",
|
|
"CAP-EDITOR-VIEW2D-FAIL-CLOSED"
|
|
],
|
|
"reusedReceipts": [],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "CURVE_TOPOLOGY_EDITOR",
|
|
"task": "WBV2-P1131-001",
|
|
"owner": "EDITOR",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-CURVE-TOPOLOGY-TOGGLE-CYCLIC",
|
|
"CAP-CURVE-TOPOLOGY-GATE",
|
|
"CAP-CURVE-TOPOLOGY-FAIL-CLOSED"
|
|
],
|
|
"reusedReceipts": [
|
|
{
|
|
"manifest": "tests/golden/M9-05/manifest.json",
|
|
"report": "tests/golden/M9-05/curve-toggle-cyclic.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "CURVE_HANDLE_GIZMO",
|
|
"task": "WBV2-P1132-001",
|
|
"owner": "EDITOR",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-CURVE-HANDLE-MAIN",
|
|
"CAP-CURVE-HANDLE-GIZMO-PREVIEW",
|
|
"CAP-CURVE-HANDLE-FAIL-CLOSED"
|
|
],
|
|
"reusedReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1101-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1101-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "CURVE_SPLINES_TRANSACTION",
|
|
"task": "WBV2-P1133-001",
|
|
"owner": "EDITOR",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-CURVE-SPLINES-MAIN",
|
|
"CAP-CURVE-SPLINES-RECOVERY",
|
|
"CAP-CURVE-SPLINES-FAIL-CLOSED"
|
|
],
|
|
"reusedReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1101-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1101-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "SURFACE_TOPOLOGY_TRANSACTION",
|
|
"task": "WBV2-P1134-001",
|
|
"owner": "GEOMETRY",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-SURFACE-TOPOLOGY-MAIN",
|
|
"CAP-SURFACE-NURBS-BOUNDS",
|
|
"CAP-SURFACE-FAIL-CLOSED"
|
|
],
|
|
"reusedReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1101-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1101-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "FONT_BODY_TRANSACTION",
|
|
"task": "WBV2-P1135-001",
|
|
"owner": "GEOMETRY",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-FONT-BODY-MAIN",
|
|
"CAP-FONT-BODY-RECOVERY",
|
|
"CAP-FONT-BODY-FAIL-CLOSED"
|
|
],
|
|
"reusedReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1101-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1101-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "FONT_PROPERTIES_TRANSACTION",
|
|
"task": "WBV2-P1136-001",
|
|
"owner": "GEOMETRY",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-FONT-PROPERTIES-MAIN",
|
|
"CAP-FONT-PROPERTIES-RECOVERY",
|
|
"CAP-FONT-PROPERTIES-FAIL-CLOSED"
|
|
],
|
|
"reusedReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1101-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1101-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "METABALL_ELEMENTS_TRANSACTION",
|
|
"task": "WBV2-P1137-001",
|
|
"owner": "GEOMETRY",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-METABALL-ELEMENTS-MAIN",
|
|
"CAP-METABALL-ELEMENTS-RECOVERY",
|
|
"CAP-METABALL-ELEMENTS-FAIL-CLOSED"
|
|
],
|
|
"reusedReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1101-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1101-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "TEXT_SOURCE_TRANSACTION",
|
|
"task": "WBV2-P1138-001",
|
|
"owner": "SCRIPTING",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-TEXT-SOURCE-MAIN",
|
|
"CAP-TEXT-SOURCE-RECOVERY",
|
|
"CAP-TEXT-SOURCE-FAIL-CLOSED"
|
|
],
|
|
"reusedReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1137-001/manifest.json",
|
|
"report": "tests/golden/WBV2-P1137-001/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "TEXTURE_PROPERTIES_TRANSACTION",
|
|
"task": "WBV2-P1139-001",
|
|
"owner": "TEXTURE",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-TEXTURE-PROPERTIES-MAIN",
|
|
"CAP-TEXTURE-PROPERTIES-RECOVERY",
|
|
"CAP-TEXTURE-PROPERTIES-FAIL-CLOSED"
|
|
],
|
|
"reusedReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1138-001/manifest.json",
|
|
"report": "tests/golden/WBV2-P1138-001/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "ACTION_GROUP_READER",
|
|
"task": "WBV2-P1140-001",
|
|
"owner": "ANIMATION",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-ACTION-GROUP-READER",
|
|
"CAP-ACTION-GROUP-RECOVERY",
|
|
"CAP-ACTION-GROUP-FAIL-CLOSED"
|
|
],
|
|
"reusedReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1112-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1112-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "ACTION_POSE_MARKERS_READER",
|
|
"task": "WBV2-P1141-001",
|
|
"owner": "ANIMATION",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-ACTION-POSE-MARKERS-READER",
|
|
"CAP-ACTION-POSE-MARKERS-RECOVERY",
|
|
"CAP-ACTION-POSE-MARKERS-FAIL-CLOSED"
|
|
],
|
|
"reusedReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1140-001/manifest.json",
|
|
"report": "tests/golden/WBV2-P1140-001/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "FCURVE_SAMPLE_READER",
|
|
"task": "WBV2-P1142-001",
|
|
"owner": "ANIMATION",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-FCURVE-SAMPLE-READER",
|
|
"CAP-FCURVE-SAMPLE-RECOVERY",
|
|
"CAP-FCURVE-SAMPLE-FAIL-CLOSED"
|
|
],
|
|
"reusedReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1141-001/manifest.json",
|
|
"report": "tests/golden/WBV2-P1141-001/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "FCURVE_MODIFIER_READER",
|
|
"task": "WBV2-P1143-001",
|
|
"owner": "ANIMATION",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-FCURVE-MODIFIER-READER",
|
|
"CAP-FCURVE-MODIFIER-RECOVERY",
|
|
"CAP-FCURVE-MODIFIER-FAIL-CLOSED"
|
|
],
|
|
"reusedReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1142-001/manifest.json",
|
|
"report": "tests/golden/WBV2-P1142-001/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "DRIVER_READER",
|
|
"task": "WBV2-P1144-001",
|
|
"owner": "ANIMATION",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-DRIVER-READER",
|
|
"CAP-DRIVER-RECOVERY",
|
|
"CAP-DRIVER-FAIL-CLOSED"
|
|
],
|
|
"reusedReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1143-001/manifest.json",
|
|
"report": "tests/golden/WBV2-P1143-001/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "CORRECTIVE_SMOOTH_READER",
|
|
"task": "WBV2-P1145-001",
|
|
"owner": "MODIFIER",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-CORRECTIVE-SMOOTH-READER",
|
|
"CAP-CORRECTIVE-SMOOTH-RECOVERY",
|
|
"CAP-CORRECTIVE-SMOOTH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_correctivesmooth.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-corrective-smooth-reader-production.spec.ts",
|
|
"tests/files/web/modifier_corrective_smooth_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MODIFIER_READER_BATCH",
|
|
"task": "WBV2-P1146-001",
|
|
"owner": "MODIFIER",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MODIFIER_READER_BATCH-READER",
|
|
"CAP-MODIFIER_READER_BATCH-RECOVERY",
|
|
"CAP-MODIFIER_READER_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_datatransfer.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_dynamicpaint.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_explode.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_fluid.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_fluid.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-modifier-reader-batch-production.spec.ts",
|
|
"tests/files/web/modifier_reader_batch_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MODIFIER_READER_BATCH_TWO",
|
|
"task": "WBV2-P1147-001",
|
|
"owner": "MODIFIER",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MODIFIER_READER_BATCH_TWO-READER",
|
|
"CAP-MODIFIER_READER_BATCH_TWO-RECOVERY",
|
|
"CAP-MODIFIER_READER_BATCH_TWO-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_laplaciandeform.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_laplaciansmooth.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_mask.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_shrinkwrap.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-modifier-reader-batch-two-production.spec.ts",
|
|
"tests/files/web/modifier_reader_batch_two_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MODIFIER_READER_BATCH_THREE",
|
|
"task": "WBV2-P1148-001",
|
|
"owner": "MODIFIER",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MODIFIER_READER_BATCH_THREE-READER",
|
|
"CAP-MODIFIER_READER_BATCH_THREE-RECOVERY",
|
|
"CAP-MODIFIER_READER_BATCH_THREE-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_remesh.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_skin.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_weighted_normal.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_warp.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-modifier-reader-batch-two-production.spec.ts",
|
|
"tests/files/web/modifier_reader_batch_three_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MODIFIER_READER_BATCH_FOUR",
|
|
"task": "WBV2-P1149-001",
|
|
"owner": "MODIFIER",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MODIFIER_READER_BATCH_FOUR-READER",
|
|
"CAP-MODIFIER_READER_BATCH_FOUR-RECOVERY",
|
|
"CAP-MODIFIER_READER_BATCH_FOUR-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_uvproject.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_uvwarp.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_normal_edit.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_volume_to_mesh.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-modifier-reader-batch-two-production.spec.ts",
|
|
"tests/files/web/modifier_reader_batch_four_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MODIFIER_READER_BATCH_FIVE",
|
|
"task": "WBV2-P1150-001",
|
|
"owner": "MODIFIER",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MODIFIER_READER_BATCH_FIVE-READER",
|
|
"CAP-MODIFIER_READER_BATCH_FIVE-RECOVERY",
|
|
"CAP-MODIFIER_READER_BATCH_FIVE-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_meshcache.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_meshsequencecache.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_multires.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_ocean.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-modifier-reader-batch-two-production.spec.ts",
|
|
"tests/files/web/modifier_reader_batch_five_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "GREASE_PENCIL_MODIFIER_READER_BATCH",
|
|
"task": "WBV2-P1151-001",
|
|
"owner": "DRAWING",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-GREASE_PENCIL_MODIFIER_READER_BATCH-READER",
|
|
"CAP-GREASE_PENCIL_MODIFIER_READER_BATCH-RECOVERY",
|
|
"CAP-GREASE_PENCIL_MODIFIER_READER_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_armature.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_array.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_build.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_color.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_dash.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_envelope.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_hook.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_lattice.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_length.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_mirror.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_multiply.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_noise.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_offset.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_opacity.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_outline.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_shrinkwrap.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_simplify.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_smooth.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_subdiv.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_texture.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_thickness.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_time.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_tint.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_weight_angle.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_weight_proximity.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-modifier-reader-batch-two-production.spec.ts",
|
|
"tests/files/web/modifier_grease_pencil_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MODIFIER_READER_BATCH_SIX",
|
|
"task": "WBV2-P1152-001",
|
|
"owner": "MODIFIER",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MODIFIER_READER_BATCH_SIX-READER",
|
|
"CAP-MODIFIER_READER_BATCH_SIX-RECOVERY",
|
|
"CAP-MODIFIER_READER_BATCH_SIX-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_mesh_to_volume.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_particleinstance.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_surface.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_weightvgedit.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_weightvgmix.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_weightvgproximity.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-modifier-reader-multi-fixture-production.spec.ts",
|
|
"tests/files/web/generated/M16-GAP-00081-modifier-MESH_TO_VOLUME.blend",
|
|
"tests/files/web/generated/M16-GAP-00087-modifier-PARTICLE_INSTANCE.blend",
|
|
"tests/files/web/generated/M16-GAP-00098-modifier-SURFACE.blend",
|
|
"tests/files/web/generated/M16-GAP-00103-modifier-VERTEX_WEIGHT_EDIT.blend",
|
|
"tests/files/web/generated/M16-GAP-00104-modifier-VERTEX_WEIGHT_MIX.blend",
|
|
"tests/files/web/generated/M16-GAP-00105-modifier-VERTEX_WEIGHT_PROXIMITY.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MODIFIER_SOURCE_DEPENDENCY_REUSE",
|
|
"task": "WBV2-P1153-001",
|
|
"owner": "MODIFIER",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MODIFIER_SOURCE_DEPENDENCY_REUSE-READER",
|
|
"CAP-MODIFIER_SOURCE_DEPENDENCY_REUSE-RECOVERY",
|
|
"CAP-MODIFIER_SOURCE_DEPENDENCY_REUSE-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_util.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_meshcache_mdd.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_meshcache_pc2.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_meshcache_util.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_weightvg_util.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_array.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_meshcache.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_meshcache.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_meshcache.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_weightvgedit.cc",
|
|
"tests/golden/WBV2-P1151-001/modifier-reader-batch-production.json",
|
|
"tests/golden/WBV2-P1150-001/modifier-reader-batch-production.json",
|
|
"tests/golden/WBV2-P1150-001/modifier-reader-batch-production.json",
|
|
"tests/golden/WBV2-P1150-001/modifier-reader-batch-production.json",
|
|
"tests/golden/WBV2-P1152-001/modifier-reader-batch-production.json",
|
|
"tools/web/reuse-wbv2-source-dependencies.mjs"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1150-001/manifest.json",
|
|
"report": "tests/golden/WBV2-P1150-001/module-receipt.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1151-001/manifest.json",
|
|
"report": "tests/golden/WBV2-P1151-001/module-receipt.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1152-001/manifest.json",
|
|
"report": "tests/golden/WBV2-P1152-001/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MODIFIER_SOLIDIFY_DEPENDENCY_REUSE",
|
|
"task": "WBV2-P1154-001",
|
|
"owner": "MODIFIER",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MODIFIER_SOLIDIFY_DEPENDENCY_REUSE-READER",
|
|
"CAP-MODIFIER_SOLIDIFY_DEPENDENCY_REUSE-RECOVERY",
|
|
"CAP-MODIFIER_SOLIDIFY_DEPENDENCY_REUSE-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_solidify_extrude.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_solidify_nonmanifold.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_solidify.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_solidify.cc",
|
|
"tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json",
|
|
"tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json",
|
|
"tools/web/reuse-wbv2-source-dependencies.mjs"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MODIFIER_RNA_READER_BATCH",
|
|
"task": "WBV2-P1155-001",
|
|
"owner": "MODIFIER",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MODIFIER_RNA_READER_BATCH-READER",
|
|
"CAP-MODIFIER_RNA_READER_BATCH-RECOVERY",
|
|
"CAP-MODIFIER_RNA_READER_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-modifier-reader-multi-fixture-production.spec.ts",
|
|
"tests/files/web/modifier_grease_pencil_scene.blend",
|
|
"tests/files/web/generated/M16-GAP-00088-modifier-PARTICLE_SYSTEM.blend",
|
|
"tests/files/web/generated/M16-GAP-00041-modifier-DECIMATE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MODIFIER_VOLUME_DISPLACE_BATCH",
|
|
"task": "WBV2-P1156-001",
|
|
"owner": "MODIFIER",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MODIFIER_VOLUME_DISPLACE_BATCH-READER",
|
|
"CAP-MODIFIER_VOLUME_DISPLACE_BATCH-RECOVERY",
|
|
"CAP-MODIFIER_VOLUME_DISPLACE_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_volume_displace.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-modifier-reader-multi-fixture-production.spec.ts",
|
|
"tests/files/web/generated/M16-GAP-00106-modifier-VOLUME_DISPLACE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "SHAPE_KEY_POINT_READER_BATCH",
|
|
"task": "WBV2-P1157-001",
|
|
"owner": "ANIMATION",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-SHAPE_KEY_POINT_READER_BATCH-READER",
|
|
"CAP-SHAPE_KEY_POINT_READER_BATCH-RECOVERY",
|
|
"CAP-SHAPE_KEY_POINT_READER_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_key.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-shape-key-reader-production.spec.ts",
|
|
"tests/files/web/rigged_shape_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "LINE_STYLE_READER_BATCH",
|
|
"task": "WBV2-P1158-001",
|
|
"owner": "DRAWING",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-LINE_STYLE_READER_BATCH-READER",
|
|
"CAP-LINE_STYLE_READER_BATCH-RECOVERY",
|
|
"CAP-LINE_STYLE_READER_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-line-style-reader-production.spec.ts",
|
|
"tests/files/web/generated/M16-GAP-00008-datablock-FreestyleLineStyle.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "LINE_STYLE_COLLECTION_READER_BATCH",
|
|
"task": "WBV2-P1159-001",
|
|
"owner": "DRAWING",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-LINE_STYLE_COLLECTION_READER_BATCH-READER",
|
|
"CAP-LINE_STYLE_COLLECTION_READER_BATCH-RECOVERY",
|
|
"CAP-LINE_STYLE_COLLECTION_READER_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_main_api.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-line-style-reader-production.spec.ts",
|
|
"tests/files/web/line_style_modifier_batch_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "LINE_STYLE_SUBTYPE_READER_BATCH",
|
|
"task": "WBV2-P1160-001",
|
|
"owner": "DRAWING",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-LINE_STYLE_SUBTYPE_READER_BATCH-READER",
|
|
"CAP-LINE_STYLE_SUBTYPE_READER_BATCH-RECOVERY",
|
|
"CAP-LINE_STYLE_SUBTYPE_READER_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-line-style-reader-production.spec.ts",
|
|
"tests/files/web/line_style_subtype_batch_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "FCURVE_MODIFIER_SUBTYPE_READER_BATCH",
|
|
"task": "WBV2-P1161-001",
|
|
"owner": "ANIMATION",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-FCURVE_MODIFIER_SUBTYPE_READER_BATCH-READER",
|
|
"CAP-FCURVE_MODIFIER_SUBTYPE_READER_BATCH-RECOVERY",
|
|
"CAP-FCURVE_MODIFIER_SUBTYPE_READER_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_fcurve.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_fcurve.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_fcurve.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_fcurve.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_fcurve.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_fcurve.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-fcurve-modifier-production.spec.ts",
|
|
"tests/files/web/fcurve_modifier_subtype_batch_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MODIFIER_SHAPEKEY_READER_BATCH",
|
|
"task": "WBV2-P1162-001",
|
|
"owner": "MODIFIER",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1162-001:MODIFIER_SHAPEKEY_READER_BATCH:f7a317a63fdee0cb",
|
|
"selectedRecordIds": [
|
|
"modifier-source:MOD_shapekey"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MODIFIER_SHAPEKEY_READER_BATCH-READER",
|
|
"CAP-MODIFIER_SHAPEKEY_READER_BATCH-RECOVERY",
|
|
"CAP-MODIFIER_SHAPEKEY_READER_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_shapekey.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-shape-key-reader-production.spec.ts",
|
|
"tests/files/web/rigged_shape_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "COMPOSITOR_NODE_READER_BATCH",
|
|
"task": "WBV2-P1163-001",
|
|
"owner": "MEDIA",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1163-001:COMPOSITOR_NODE_READER_BATCH:6e59dc4f2b686518",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeGlare",
|
|
"node:CompositorNodeViewer"
|
|
],
|
|
"capabilities": [
|
|
"CAP-COMPOSITOR_NODE_READER_BATCH-READER",
|
|
"CAP-COMPOSITOR_NODE_READER_BATCH-RECOVERY",
|
|
"CAP-COMPOSITOR_NODE_READER_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_glare.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_viewer.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/compositor_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "COMPOSITOR_NATIVE_NODE_BATCH",
|
|
"task": "WBV2-P1164-001",
|
|
"owner": "MEDIA",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1164-001:COMPOSITOR_NATIVE_NODE_BATCH:91a76e1ee4077587",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeTransform",
|
|
"node:CompositorNodeBlur",
|
|
"node:CompositorNodeAlphaOver"
|
|
],
|
|
"capabilities": [
|
|
"CAP-COMPOSITOR_NATIVE_NODE_BATCH-READER",
|
|
"CAP-COMPOSITOR_NATIVE_NODE_BATCH-RECOVERY",
|
|
"CAP-COMPOSITOR_NATIVE_NODE_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_transform.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_blur.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_alpha_over.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/compositor_node_batch_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_COMPOSITOR_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1165-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1165-001:AUTO_COMPOSITOR_NATIVE_NODE_READER:f0276fdfa1169691",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeAntiAliasing",
|
|
"node:CompositorNodeBilateralblur",
|
|
"node:CompositorNodeBlankImage",
|
|
"node:CompositorNodeBokehBlur",
|
|
"node:CompositorNodeBokehImage",
|
|
"node:CompositorNodeBoxMask",
|
|
"node:CompositorNodeBrightContrast",
|
|
"node:CompositorNodeChannelMatte"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_anti_aliasing.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_bilateral_blur.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_blank_image.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_bokeh_blur.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_bokeh_image.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_box_mask.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_brightness_contrast.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_channel_key.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-f0276fdfa1169691.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_COMPOSITOR_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1166-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1166-001:AUTO_COMPOSITOR_NATIVE_NODE_READER:5b79ae1d2da8300c",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeChromaMatte",
|
|
"node:CompositorNodeColorBalance",
|
|
"node:CompositorNodeColorCorrection",
|
|
"node:CompositorNodeColorMatte",
|
|
"node:CompositorNodeColorSpill",
|
|
"node:CompositorNodeCombineColor",
|
|
"node:CompositorNodeConvertColorSpace",
|
|
"node:CompositorNodeConvertToDisplay"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_chroma_key.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_color_balance.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_color_correction.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_color_key.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_color_spill.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_combine_color.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_convert_color_space.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_convert_to_display.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-5b79ae1d2da8300c.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_COMPOSITOR_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1167-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1167-001:AUTO_COMPOSITOR_NATIVE_NODE_READER:6c1d64f20df459f4",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeConvolve",
|
|
"node:CompositorNodeCornerPin",
|
|
"node:CompositorNodeCrop",
|
|
"node:CompositorNodeCryptomatte",
|
|
"node:CompositorNodeCryptomatteV2",
|
|
"node:CompositorNodeCurveRGB",
|
|
"node:CompositorNodeDBlur",
|
|
"node:CompositorNodeDefocus"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_convolve.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_corner_pin.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_crop.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_cryptomatte.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_cryptomatte.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_rgb_curves.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_directional_blur.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_defocus.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-6c1d64f20df459f4.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_COMPOSITOR_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1168-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1168-001:AUTO_COMPOSITOR_NATIVE_NODE_READER:56e154dff1afd9ba",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeDenoise",
|
|
"node:CompositorNodeDespeckle",
|
|
"node:CompositorNodeDiffMatte",
|
|
"node:CompositorNodeDilateErode",
|
|
"node:CompositorNodeDisplace",
|
|
"node:CompositorNodeDistanceMatte",
|
|
"node:CompositorNodeDoubleEdgeMask",
|
|
"node:CompositorNodeEllipseMask"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_denoise.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_despeckle.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_difference_key.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_dilate_erode.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_displace.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_distance_key.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_double_edge_mask.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_ellipse_mask.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-56e154dff1afd9ba.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_COMPOSITOR_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1169-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1169-001:AUTO_COMPOSITOR_NATIVE_NODE_READER:21d6a496860ad568",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeFilter",
|
|
"node:CompositorNodeFlip",
|
|
"node:CompositorNodeHueCorrect",
|
|
"node:CompositorNodeHueSat",
|
|
"node:CompositorNodeIDMask",
|
|
"node:CompositorNodeImage",
|
|
"node:CompositorNodeImageCoordinates",
|
|
"node:CompositorNodeImageInfo"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_filter.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_flip.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_hue_correct.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_hue_saturation_value.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_id_mask.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_image.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_image_coordinates.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_image_info.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-21d6a496860ad568.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_COMPOSITOR_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1170-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1170-001:AUTO_COMPOSITOR_NATIVE_NODE_READER:8ee7e86684d23363",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeImage",
|
|
"node:CompositorNodeImageCoordinates",
|
|
"node:CompositorNodeImageInfo",
|
|
"node:CompositorNodeInpaint",
|
|
"node:CompositorNodeKeying",
|
|
"node:CompositorNodeKeyingScreen",
|
|
"node:CompositorNodeKuwahara",
|
|
"node:CompositorNodeLensdist"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_image.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_image_coordinates.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_image_info.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_inpaint.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_keying.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_keying_screen.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_kuwahara.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_lens_distortion.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-8ee7e86684d23363.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_COMPOSITOR_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1171-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"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"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"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"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_COMPOSITOR_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1172-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1172-001:AUTO_COMPOSITOR_NATIVE_NODE_READER:bf66c685c7c6fd95",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeNormalize",
|
|
"node:CompositorNodeOutputFile",
|
|
"node:CompositorNodePixelate",
|
|
"node:CompositorNodePlaneTrackDeform",
|
|
"node:CompositorNodePosterize",
|
|
"node:CompositorNodePremulKey",
|
|
"node:CompositorNodeRGBToBW",
|
|
"node:CompositorNodeRLayers"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_normalize.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_file_output.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_pixelate.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_plane_track_deform.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_posterize.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_alpha_convert.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_rgb_to_bw.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_render_layers.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-bf66c685c7c6fd95.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_COMPOSITOR_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1173-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1173-001:AUTO_COMPOSITOR_NATIVE_NODE_READER:a1b966b1af421537",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeRelativeToPixel",
|
|
"node:CompositorNodeRotate",
|
|
"node:CompositorNodeScale",
|
|
"node:CompositorNodeSceneTime",
|
|
"node:CompositorNodeSeparateColor",
|
|
"node:CompositorNodeSequencerStripInfo",
|
|
"node:CompositorNodeSetAlpha",
|
|
"node:CompositorNodeSplit"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_relative_to_pixel.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_rotate.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_scale.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_scene_time.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_separate_color.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_strip_info.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_set_alpha.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_split.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-a1b966b1af421537.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_COMPOSITOR_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1174-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1174-001:AUTO_COMPOSITOR_NATIVE_NODE_READER:8f71e517e24622f2",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeStabilize",
|
|
"node:CompositorNodeStringToImage",
|
|
"node:CompositorNodeSwitch",
|
|
"node:CompositorNodeSwitchView",
|
|
"node:CompositorNodeTime",
|
|
"node:CompositorNodeTonemap",
|
|
"node:CompositorNodeTrackPos",
|
|
"node:CompositorNodeTranslate"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_stabilize_2d.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_string_to_image.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_switch.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_switch_view.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_time_curve.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_tone_map.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_track_position.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_translate.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-8f71e517e24622f2.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_COMPOSITOR_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1175-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1175-001:AUTO_COMPOSITOR_NATIVE_NODE_READER:4c3e128e97498ba4",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeVecBlur",
|
|
"node:CompositorNodeZcombine"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_vector_blur.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_depth_combine.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-4c3e128e97498ba4.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1176-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1176-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_accumulate_field.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_domain_size.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_statistic.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_bake.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_blur_attribute.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1177-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1177-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_accumulate_field.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_domain_size.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_statistic.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_bake.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_blur_attribute.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1178-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1178-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_accumulate_field.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_domain_size.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_statistic.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_bake.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_blur_attribute.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1179-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1179-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_accumulate_field.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_domain_size.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_statistic.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_bake.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_blur_attribute.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1180-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1180-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_accumulate_field.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_domain_size.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_statistic.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_bake.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_blur_attribute.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1181-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1181-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_accumulate_field.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_domain_size.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_statistic.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_bake.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_blur_attribute.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1182-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1182-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_accumulate_field.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_domain_size.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_statistic.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_bake.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_blur_attribute.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1183-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1183-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_accumulate_field.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_domain_size.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_statistic.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_bake.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_blur_attribute.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1184-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1184-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_accumulate_field.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_domain_size.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_statistic.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_bake.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_blur_attribute.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1185-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1185-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_accumulate_field.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_domain_size.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_statistic.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_bake.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_blur_attribute.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1186-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1186-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_accumulate_field.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_domain_size.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_statistic.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_bake.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_blur_attribute.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1187-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1187-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_accumulate_field.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_domain_size.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_statistic.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_bake.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_blur_attribute.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1188-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1188-001:AUTO_GEOMETRY_NATIVE_NODE_READER:0f87459df8986017",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeBoneInfo",
|
|
"node:GeometryNodeBoundBox",
|
|
"node:GeometryNodeCameraInfo",
|
|
"node:GeometryNodeCaptureAttribute",
|
|
"node:GeometryNodeClosureToList"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_bone_info.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_bounding_box.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_camera_info.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_capture.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_closure_to_list.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-0f87459df8986017.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1189-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1189-001:AUTO_GEOMETRY_NATIVE_NODE_READER:447074d84f4807db",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeClusterByConnected",
|
|
"node:GeometryNodeClusterByDistance",
|
|
"node:GeometryNodeCollectionChildren",
|
|
"node:GeometryNodeConvexHull",
|
|
"node:GeometryNodeCornersOfEdge"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_cluster_by_connected.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_cluster_by_distance.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_collection_children.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_convex_hull.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_topology_corners_of_edge.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-447074d84f4807db.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1190-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1190-001:AUTO_GEOMETRY_NATIVE_NODE_READER:b123b8cea34de98b",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeCornersOfFace",
|
|
"node:GeometryNodeCornersOfVertex",
|
|
"node:GeometryNodeCubeGridTopology",
|
|
"node:GeometryNodeCurveArc",
|
|
"node:GeometryNodeCurveEndpointSelection"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_topology_corners_of_face.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_topology_corners_of_vertex.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_cube_grid_topology.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_primitive_arc.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_endpoint_selection.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-b123b8cea34de98b.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1191-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1191-001:AUTO_GEOMETRY_NATIVE_NODE_READER:71424076a2a8f339",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeCurveHandleTypeSelection",
|
|
"node:GeometryNodeCurveLength",
|
|
"node:GeometryNodeCurveOfPoint",
|
|
"node:GeometryNodeCurvePrimitiveBezierSegment",
|
|
"node:GeometryNodeCurvePrimitiveCircle"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_handle_type_selection.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_length.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_topology_curve_of_point.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_primitive_bezier_segment.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_primitive_circle.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-71424076a2a8f339.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1192-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1192-001:AUTO_GEOMETRY_NATIVE_NODE_READER:c206ba8fc6cf75d5",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeCurvePrimitiveLine",
|
|
"node:GeometryNodeCurvePrimitiveQuadrilateral",
|
|
"node:GeometryNodeCurveQuadraticBezier",
|
|
"node:GeometryNodeCurveSetHandles",
|
|
"node:GeometryNodeCurveSpiral"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_primitive_line.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_primitive_quadrilateral.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_primitive_quadratic_bezier.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_set_handle_type.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_primitive_spiral.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-c206ba8fc6cf75d5.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1193-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1193-001:AUTO_GEOMETRY_NATIVE_NODE_READER:2ae9d67e9fb6b5f9",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeCurveSplineType",
|
|
"node:GeometryNodeCurveStar",
|
|
"node:GeometryNodeCurveToMesh",
|
|
"node:GeometryNodeCurveToPoints",
|
|
"node:GeometryNodeCurvesToGreasePencil"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_spline_type.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_primitive_star.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_to_mesh.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_to_points.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curves_to_grease_pencil.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-2ae9d67e9fb6b5f9.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1194-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1194-001:AUTO_GEOMETRY_NATIVE_NODE_READER:8f6105d06959322c",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeDeformCurvesOnSurface",
|
|
"node:GeometryNodeDeleteGeometry",
|
|
"node:GeometryNodeDistributePointsInGrid",
|
|
"node:GeometryNodeDistributePointsInVolume",
|
|
"node:GeometryNodeDistributePointsOnFaces"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_deform_curves_on_surface.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_delete_geometry.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_distribute_points_in_grid.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_distribute_points_in_volume.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_distribute_points_on_faces.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-8f6105d06959322c.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1195-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1195-001:AUTO_GEOMETRY_NATIVE_NODE_READER:35aea559d5d0f343",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeDualMesh",
|
|
"node:GeometryNodeDuplicateElements",
|
|
"node:GeometryNodeEdgePathsToCurves",
|
|
"node:GeometryNodeEdgePathsToSelection",
|
|
"node:GeometryNodeEdgesOfCorner"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_dual_mesh.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_duplicate_elements.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_edge_paths_to_curves.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_edge_paths_to_selection.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_topology_edges_of_corner.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-35aea559d5d0f343.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1196-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1196-001:AUTO_GEOMETRY_NATIVE_NODE_READER:96303bc7f7c8d232",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeEdgesOfVertex",
|
|
"node:GeometryNodeEdgesToFaceGroups",
|
|
"node:GeometryNodeExtrudeMesh",
|
|
"node:GeometryNodeFaceOfCorner",
|
|
"node:GeometryNodeFieldAtIndex"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_topology_edges_of_vertex.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_edges_to_face_groups.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_extrude_mesh.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_topology_face_of_corner.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_evaluate_at_index.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-96303bc7f7c8d232.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1197-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1197-001:AUTO_GEOMETRY_NATIVE_NODE_READER:4e53a3a8ffb6f8a7",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeFieldAverage",
|
|
"node:GeometryNodeFieldMinAndMax",
|
|
"node:GeometryNodeFieldOnDomain",
|
|
"node:GeometryNodeFieldToGrid",
|
|
"node:GeometryNodeFieldToList"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_field_average.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_field_min_and_max.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_evaluate_on_domain.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_field_to_grid.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_field_to_list.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-4e53a3a8ffb6f8a7.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1198-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1198-001:AUTO_GEOMETRY_NATIVE_NODE_READER:6581c99986be795f",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeFieldVariance",
|
|
"node:GeometryNodeFillCurve",
|
|
"node:GeometryNodeFilletCurve",
|
|
"node:GeometryNodeFilterList",
|
|
"node:GeometryNodeFlipFaces"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_field_variance.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_fill.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_fillet.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_filter_list.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_flip_faces.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-6581c99986be795f.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1199-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1199-001:AUTO_GEOMETRY_NATIVE_NODE_READER:240d704df4420718",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeForeachGeometryElementInput",
|
|
"node:GeometryNodeForeachGeometryElementOutput",
|
|
"node:GeometryNodeGeometryToInstance",
|
|
"node:GeometryNodeGetAttributeNames",
|
|
"node:GeometryNodeGetGeometryBundle"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_foreach_geometry_element.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_foreach_geometry_element.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_geometry_to_instance.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_get_attribute_names.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_get_geometry_bundle.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-240d704df4420718.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1200-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1200-001:AUTO_GEOMETRY_NATIVE_NODE_READER:2657bc0520c4b632",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeGetGeometryComponent",
|
|
"node:GeometryNodeGetNamedGrid",
|
|
"node:GeometryNodeGizmoDial",
|
|
"node:GeometryNodeGizmoLinear",
|
|
"node:GeometryNodeGizmoTransform"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_get_geometry_component.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_get_named_grid.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_gizmo_dial.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_gizmo_linear.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_gizmo_transform.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-2657bc0520c4b632.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1201-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1201-001:AUTO_GEOMETRY_NATIVE_NODE_READER:163fbe66b349eb14",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeGreasePencilToCurves",
|
|
"node:GeometryNodeGridAdvect",
|
|
"node:GeometryNodeGridClip",
|
|
"node:GeometryNodeGridCurl",
|
|
"node:GeometryNodeGridDilateAndErode"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_grease_pencil_to_curves.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_grid_advect.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_grid_clip.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_grid_curl.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_grid_dilate_erode.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-163fbe66b349eb14.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1202-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1202-001:AUTO_GEOMETRY_NATIVE_NODE_READER:5aa18e58ddffee84",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeGridDivergence",
|
|
"node:GeometryNodeGridGradient",
|
|
"node:GeometryNodeGridInfo",
|
|
"node:GeometryNodeGridLaplacian",
|
|
"node:GeometryNodeGridMean"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_grid_divergence.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_grid_gradient.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_grid_info.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_grid_laplacian.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_grid_mean.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-5aa18e58ddffee84.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1203-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1203-001:AUTO_GEOMETRY_NATIVE_NODE_READER:6897ad7bf98e7228",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeGridMedian",
|
|
"node:GeometryNodeGridPrune",
|
|
"node:GeometryNodeGridToMesh",
|
|
"node:GeometryNodeGridToPoints",
|
|
"node:GeometryNodeGridVoxelize"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_grid_median.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_grid_prune.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_grid_to_mesh.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_grid_to_points.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_grid_voxelize.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-6897ad7bf98e7228.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1204-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1204-001:AUTO_GEOMETRY_NATIVE_NODE_READER:cee66fd20924b9e5",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeImageTexture",
|
|
"node:GeometryNodeImportCSV",
|
|
"node:GeometryNodeImportOBJ",
|
|
"node:GeometryNodeImportPLY",
|
|
"node:GeometryNodeImportSTL"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_image_texture.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_import_csv.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_import_obj.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_import_ply.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_import_stl.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-cee66fd20924b9e5.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1205-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1205-001:AUTO_GEOMETRY_NATIVE_NODE_READER:e55a1c8c151fc9dc",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeImportText",
|
|
"node:GeometryNodeImportVDB",
|
|
"node:GeometryNodeIndexOfNearest",
|
|
"node:GeometryNodeIndexSwitch",
|
|
"node:GeometryNodeInputActiveCamera"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_import_text.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_import_vdb.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_index_of_nearest.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_index_switch.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_active_camera.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-e55a1c8c151fc9dc.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1206-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1206-001:AUTO_GEOMETRY_NATIVE_NODE_READER:150a227b3433d301",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeInputCollection",
|
|
"node:GeometryNodeInputCurveHandlePositions",
|
|
"node:GeometryNodeInputCurveTilt",
|
|
"node:GeometryNodeInputEdgeSmooth",
|
|
"node:GeometryNodeInputFont"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_collection.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_curve_handles.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_curve_tilt.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_edge_smooth.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_font.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-150a227b3433d301.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1207-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1207-001:AUTO_GEOMETRY_NATIVE_NODE_READER:32a41ae9caf449dc",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeInputID",
|
|
"node:GeometryNodeInputImage",
|
|
"node:GeometryNodeInputIndex",
|
|
"node:GeometryNodeInputInstanceBounds",
|
|
"node:GeometryNodeInputInstanceReference"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_id.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_image.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_index.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_instance_bounds.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_instance_reference.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-32a41ae9caf449dc.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1208-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1208-001:AUTO_GEOMETRY_NATIVE_NODE_READER:e4c0acdab580fad4",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeInputInstanceRotation",
|
|
"node:GeometryNodeInputInstanceScale",
|
|
"node:GeometryNodeInputMaterial",
|
|
"node:GeometryNodeInputMaterialIndex",
|
|
"node:GeometryNodeInputMeshEdgeAngle"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_instance_rotation.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_instance_scale.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_material.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_material_index.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_mesh_edge_angle.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-e4c0acdab580fad4.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1209-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1209-001:AUTO_GEOMETRY_NATIVE_NODE_READER:e28f27c297406a24",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeInputMeshEdgeNeighbors",
|
|
"node:GeometryNodeInputMeshEdgeVertices",
|
|
"node:GeometryNodeInputMeshFaceArea",
|
|
"node:GeometryNodeInputMeshFaceIsPlanar",
|
|
"node:GeometryNodeInputMeshFaceNeighbors"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_mesh_edge_neighbors.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_mesh_edge_vertices.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_mesh_face_area.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_mesh_face_is_planar.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_mesh_face_neighbors.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-e28f27c297406a24.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1210-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1210-001:AUTO_GEOMETRY_NATIVE_NODE_READER:94bb44cb6fb6c1c0",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeInputMeshIsland",
|
|
"node:GeometryNodeInputMeshVertexNeighbors",
|
|
"node:GeometryNodeInputNamedAttribute",
|
|
"node:GeometryNodeInputNamedLayerSelection",
|
|
"node:GeometryNodeInputNormal"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_mesh_island.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_mesh_vertex_neighbors.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_named_attribute.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_named_layer_selection.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_normal.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-94bb44cb6fb6c1c0.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1211-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1211-001:AUTO_GEOMETRY_NATIVE_NODE_READER:abc1ee2d37430201",
|
|
"selectedRecordIds": [
|
|
"node:FunctionNodeAlignRotationToVector",
|
|
"node:FunctionNodeAxesToRotation",
|
|
"node:FunctionNodeAxisAngleToRotation",
|
|
"node:FunctionNodeCombineMatrix",
|
|
"node:FunctionNodeEulerToRotation"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_align_rotation_to_vector.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_axes_to_rotation.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_axis_angle_to_rotation.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_combine_matrix.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_euler_to_rotation.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-abc1ee2d37430201.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1212-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1212-001:AUTO_GEOMETRY_NATIVE_NODE_READER:3cfb811ea55c672e",
|
|
"selectedRecordIds": [
|
|
"node:FunctionNodeFindInString",
|
|
"node:FunctionNodeFormatString",
|
|
"node:FunctionNodeInputBool",
|
|
"node:FunctionNodeInputInt",
|
|
"node:FunctionNodeInputIntVector"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_find_in_string.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_format_string.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_input_bool.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_input_int.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_input_int_vector.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-3cfb811ea55c672e.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1213-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1213-001:AUTO_GEOMETRY_NATIVE_NODE_READER:88ba8e6e3716dd8d",
|
|
"selectedRecordIds": [
|
|
"node:FunctionNodeInputMenu",
|
|
"node:FunctionNodeInputRotation",
|
|
"node:FunctionNodeInputSpecialCharacters",
|
|
"node:FunctionNodeInputString",
|
|
"node:FunctionNodeInputVector"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_input_menu.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_input_rotation.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_input_special_characters.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_input_string.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_input_vector.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-88ba8e6e3716dd8d.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1214-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1214-001:AUTO_GEOMETRY_NATIVE_NODE_READER:7d31b4b0866780ae",
|
|
"selectedRecordIds": [
|
|
"node:FunctionNodeInvertMatrix",
|
|
"node:FunctionNodeInvertRotation",
|
|
"node:FunctionNodeMatchString",
|
|
"node:FunctionNodeMatrixDeterminant",
|
|
"node:FunctionNodeMatrixMultiply"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_invert_matrix.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_invert_rotation.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_match_string.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_matrix_determinant.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_matrix_multiply.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-7d31b4b0866780ae.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1215-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1215-001:AUTO_GEOMETRY_NATIVE_NODE_READER:0a8d3bb55b10e188",
|
|
"selectedRecordIds": [
|
|
"node:FunctionNodeProjectPoint",
|
|
"node:FunctionNodeQuaternionToRotation",
|
|
"node:FunctionNodeReplaceString",
|
|
"node:FunctionNodeReverseString",
|
|
"node:FunctionNodeRotateRotation"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_project_point.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_quaternion_to_rotation.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_replace_string.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_reverse_string.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_rotate_rotation.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-0a8d3bb55b10e188.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1216-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1216-001:AUTO_GEOMETRY_NATIVE_NODE_READER:c598026385cc94dc",
|
|
"selectedRecordIds": [
|
|
"node:FunctionNodeRotateVector",
|
|
"node:FunctionNodeRotationToAxisAngle",
|
|
"node:FunctionNodeRotationToEuler",
|
|
"node:FunctionNodeRotationToQuaternion",
|
|
"node:FunctionNodeSeparateMatrix"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_rotate_vector.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_rotation_to_axis_angle.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_rotation_to_euler.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_rotation_to_quaternion.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_separate_matrix.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-c598026385cc94dc.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1217-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1217-001:AUTO_GEOMETRY_NATIVE_NODE_READER:dbc0fb8bb88f3d37",
|
|
"selectedRecordIds": [
|
|
"node:FunctionNodeSetStringCase",
|
|
"node:FunctionNodeSliceString",
|
|
"node:FunctionNodeStringLength",
|
|
"node:FunctionNodeStringToValue",
|
|
"node:FunctionNodeTransformDirection"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_set_string_case.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_slice_string.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_string_length.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_string_to_value.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_transform_direction.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-dbc0fb8bb88f3d37.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1218-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1218-001:AUTO_GEOMETRY_NATIVE_NODE_READER:34abb58eedf43c5f",
|
|
"selectedRecordIds": [
|
|
"node:FunctionNodeTransformPoint",
|
|
"node:FunctionNodeTransposeMatrix",
|
|
"node:FunctionNodeTrimString",
|
|
"node:FunctionNodeValueToString",
|
|
"node:GeometryNodeInputObject"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_transform_point.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_transpose_matrix.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_trim_string.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_value_to_string.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_object.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-34abb58eedf43c5f.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1219-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1219-001:AUTO_GEOMETRY_NATIVE_NODE_READER:3cccf2d7fb85d3b8",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeInputPosition",
|
|
"node:GeometryNodeInputRadius",
|
|
"node:GeometryNodeInputSceneTime",
|
|
"node:GeometryNodeInputShadeSmooth",
|
|
"node:GeometryNodeInputShortestEdgePaths"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_position.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_radius.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_scene_time.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_face_smooth.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_shortest_edge_paths.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-3cccf2d7fb85d3b8.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1220-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1220-001:AUTO_GEOMETRY_NATIVE_NODE_READER:8d0f07a9289283d0",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeInputSplineCyclic",
|
|
"node:GeometryNodeInputSplineResolution",
|
|
"node:GeometryNodeInputTangent",
|
|
"node:GeometryNodeInputVoxelIndex",
|
|
"node:GeometryNodeInstanceOnPoints"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_spline_cyclic.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_spline_resolution.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_tangent.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_voxel_index.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_instance_on_points.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-8d0f07a9289283d0.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1221-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1221-001:AUTO_GEOMETRY_NATIVE_NODE_READER:c30b3d2a341bc8b1",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeInstanceTransform",
|
|
"node:GeometryNodeInstancesToPoints",
|
|
"node:GeometryNodeInterpolateCurves",
|
|
"node:GeometryNodeIsViewport",
|
|
"node:GeometryNodeListGetItem"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_instance_transform.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_instances_to_points.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_interpolate_curves.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_is_viewport.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_list_get_item.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-c30b3d2a341bc8b1.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1222-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1222-001:AUTO_GEOMETRY_NATIVE_NODE_READER:838d8958e4b989d1",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeListLength",
|
|
"node:GeometryNodeMaterialSelection",
|
|
"node:GeometryNodeMenuSwitch",
|
|
"node:GeometryNodeMergeByDistance",
|
|
"node:GeometryNodeMergeLayers"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_list_length.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_material_selection.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_menu_switch.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_merge_by_distance.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_merge_layers.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-838d8958e4b989d1.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1223-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1223-001:AUTO_GEOMETRY_NATIVE_NODE_READER:c3b7b0656afe6a91",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeMergePoints",
|
|
"node:GeometryNodeMeshBevel",
|
|
"node:GeometryNodeMeshBoolean",
|
|
"node:GeometryNodeMeshCircle",
|
|
"node:GeometryNodeMeshCone"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_merge_points.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_bevel.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_boolean.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_circle.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_cone.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-c3b7b0656afe6a91.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1224-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1224-001:AUTO_GEOMETRY_NATIVE_NODE_READER:0dca701c57915fc7",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeMeshCube",
|
|
"node:GeometryNodeMeshCylinder",
|
|
"node:GeometryNodeMeshFaceSetBoundaries",
|
|
"node:GeometryNodeMeshGrid",
|
|
"node:GeometryNodeMeshIcoSphere"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_cube.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_cylinder.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_face_group_boundaries.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_grid.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_ico_sphere.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-0dca701c57915fc7.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1225-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1225-001:AUTO_GEOMETRY_NATIVE_NODE_READER:142ee68a2ed9492b",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeMeshLine",
|
|
"node:GeometryNodeMeshToCurve",
|
|
"node:GeometryNodeMeshToDensityGrid",
|
|
"node:GeometryNodeMeshToPoints",
|
|
"node:GeometryNodeMeshToSDFGrid"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_line.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_to_curve.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_to_density_grid.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_to_points.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_to_sdf_grid.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-142ee68a2ed9492b.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1226-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1226-001:AUTO_GEOMETRY_NATIVE_NODE_READER:abb1c596d4ee21b2",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeMeshToVolume",
|
|
"node:GeometryNodeMeshUVSphere",
|
|
"node:GeometryNodeOffsetCornerInFace",
|
|
"node:GeometryNodeOffsetPointInCurve",
|
|
"node:GeometryNodePoints"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_to_volume.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_uv_sphere.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_topology_offset_corner_in_face.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_offset_point_in_curve.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_points.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-abb1c596d4ee21b2.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1227-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1227-001:AUTO_GEOMETRY_NATIVE_NODE_READER:81deda73b9188c10",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodePointsOfCurve",
|
|
"node:GeometryNodePointsToCurves",
|
|
"node:GeometryNodePointsToSDFGrid",
|
|
"node:GeometryNodePointsToVertices",
|
|
"node:GeometryNodePointsToVolume"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_topology_points_of_curve.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_points_to_curves.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_points_to_sdf_grid.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_points_to_vertices.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_points_to_volume.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-81deda73b9188c10.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1228-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1228-001:AUTO_GEOMETRY_NATIVE_NODE_READER:6b022a1a8e99f7fd",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeProximity",
|
|
"node:GeometryNodeRaycast",
|
|
"node:GeometryNodeRemoveAttribute",
|
|
"node:GeometryNodeRenameAttribute",
|
|
"node:GeometryNodeRepeatInput"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_proximity.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_raycast.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_remove_attribute.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_rename_attribute.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_repeat.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-6b022a1a8e99f7fd.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1229-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1229-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1323c437a10e245b",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeRepeatOutput"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_repeat.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-1323c437a10e245b.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1230-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1230-001:AUTO_GEOMETRY_NATIVE_NODE_READER:bb5c9b89367c9d6d",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeReplaceMaterial",
|
|
"node:GeometryNodeResampleCurve",
|
|
"node:GeometryNodeReverseCurve",
|
|
"node:GeometryNodeRotateInstances",
|
|
"node:GeometryNodeSDFGridBoolean"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_material_replace.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_resample.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_reverse.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_rotate_instances.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_sdf_grid_boolean.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-bb5c9b89367c9d6d.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1231-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1231-001:AUTO_GEOMETRY_NATIVE_NODE_READER:4e423b626a07145e",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeSDFGridFillet",
|
|
"node:GeometryNodeSDFGridLaplacian",
|
|
"node:GeometryNodeSDFGridMean",
|
|
"node:GeometryNodeSDFGridMeanCurvature",
|
|
"node:GeometryNodeSDFGridMedian"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_sdf_grid_fillet.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_sdf_grid_laplacian.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_sdf_grid_mean.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_sdf_grid_mean_curvature.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_sdf_grid_median.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-4e423b626a07145e.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1232-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1232-001:AUTO_GEOMETRY_NATIVE_NODE_READER:404eb303152ba922",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeSDFGridOffset",
|
|
"node:GeometryNodeSampleCurve",
|
|
"node:GeometryNodeSampleGrid",
|
|
"node:GeometryNodeSampleGridIndex",
|
|
"node:GeometryNodeSampleIndex"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_sdf_grid_offset.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_sample.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_sample_grid.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_sample_grid_index.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_sample_index.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-404eb303152ba922.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1233-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1233-001:AUTO_GEOMETRY_NATIVE_NODE_READER:529a042eb604c0e1",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeSampleNearest",
|
|
"node:GeometryNodeSampleNearestSurface",
|
|
"node:GeometryNodeSampleSoundFrequencies",
|
|
"node:GeometryNodeSampleUVSurface",
|
|
"node:GeometryNodeScaleElements"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_sample_nearest.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_sample_nearest_surface.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_sample_sound_frequencies.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_sample_uv_surface.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_scale_elements.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-529a042eb604c0e1.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1234-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1234-001:AUTO_GEOMETRY_NATIVE_NODE_READER:ad9e5b4bf235659f",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeScaleInstances",
|
|
"node:GeometryNodeSelfObject",
|
|
"node:GeometryNodeSeparateComponents",
|
|
"node:GeometryNodeSetCurveHandlePositions",
|
|
"node:GeometryNodeSetCurveNormal"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_scale_instances.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_self_object.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_separate_components.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_curve_handles.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_curve_normal.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-ad9e5b4bf235659f.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1235-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1235-001:AUTO_GEOMETRY_NATIVE_NODE_READER:91beafd1d1c04670",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeSetCurveRadius",
|
|
"node:GeometryNodeSetCurveTilt",
|
|
"node:GeometryNodeSetGeometryBundle",
|
|
"node:GeometryNodeSetGeometryName",
|
|
"node:GeometryNodeSetGreasePencilColor"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_curve_radius.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_curve_tilt.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_geometry_bundle.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_geometry_name.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_grease_pencil_color.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-91beafd1d1c04670.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1236-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1236-001:AUTO_GEOMETRY_NATIVE_NODE_READER:b7b77a5dec80a14d",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeSetGreasePencilDepth",
|
|
"node:GeometryNodeSetGreasePencilSoftness",
|
|
"node:GeometryNodeSetGridBackground",
|
|
"node:GeometryNodeSetGridTransform",
|
|
"node:GeometryNodeSetID"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_grease_pencil_depth_mode.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_grease_pencil_softness.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_grid_background.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_grid_transform.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_id.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-b7b77a5dec80a14d.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1237-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1237-001:AUTO_GEOMETRY_NATIVE_NODE_READER:95ccfa5892bb7a33",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeSetInstanceTransform",
|
|
"node:GeometryNodeSetMaterial",
|
|
"node:GeometryNodeSetMaterialIndex",
|
|
"node:GeometryNodeSetMeshNormal",
|
|
"node:GeometryNodeSetNURBSOrder"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_instance_transform.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_material.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_material_index.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_mesh_normal.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_nurbs_order.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-95ccfa5892bb7a33.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1238-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1238-001:AUTO_GEOMETRY_NATIVE_NODE_READER:8d3751cce437cb33",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeSetNURBSWeight",
|
|
"node:GeometryNodeSetPointRadius",
|
|
"node:GeometryNodeSetShadeSmooth",
|
|
"node:GeometryNodeSetSplineCyclic",
|
|
"node:GeometryNodeSetSplineResolution"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_nurbs_weight.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_point_radius.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_shade_smooth.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_spline_cyclic.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_spline_resolution.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-8d3751cce437cb33.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1239-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1239-001:AUTO_GEOMETRY_NATIVE_NODE_READER:2de2c5e6ce0c4914",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeSortElements",
|
|
"node:GeometryNodeSortList",
|
|
"node:GeometryNodeSplineLength",
|
|
"node:GeometryNodeSplineParameter",
|
|
"node:GeometryNodeSplitEdges"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_sort_elements.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_sort_list.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_spline_length.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_spline_parameter.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_edge_split.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-2de2c5e6ce0c4914.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1240-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1240-001:AUTO_GEOMETRY_NATIVE_NODE_READER:70077c253f8e9738",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeSplitToInstances",
|
|
"node:GeometryNodeStoreNamedGrid",
|
|
"node:GeometryNodeStringJoin",
|
|
"node:GeometryNodeStringToCurves",
|
|
"node:GeometryNodeSubdivideCurve"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_split_to_instances.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_store_named_grid.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_string_join.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_string_to_curves.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_subdivide.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-70077c253f8e9738.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1241-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1241-001:AUTO_GEOMETRY_NATIVE_NODE_READER:518360e680870ecc",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeSubdivideMesh",
|
|
"node:GeometryNodeSubdivisionSurface",
|
|
"node:GeometryNodeSwitch",
|
|
"node:GeometryNodeTagFilter",
|
|
"node:GeometryNodeTool3DCursor"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_subdivide.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_subdivision_surface.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_switch.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_tag_filter.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_tool_3d_cursor.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-518360e680870ecc.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1242-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1242-001:AUTO_GEOMETRY_NATIVE_NODE_READER:f355dda8099b8a6f",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeToolActiveElement",
|
|
"node:GeometryNodeToolFaceSet",
|
|
"node:GeometryNodeToolMousePosition",
|
|
"node:GeometryNodeToolSelection",
|
|
"node:GeometryNodeToolSetFaceSet"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_tool_active_element.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_tool_face_set.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mouse_position.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_tool_selection.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_tool_set_face_set.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-f355dda8099b8a6f.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1243-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1243-001:AUTO_GEOMETRY_NATIVE_NODE_READER:6399364bfcbc157c",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeToolSetSelection",
|
|
"node:GeometryNodeTransferAttributes",
|
|
"node:GeometryNodeTranslateInstances",
|
|
"node:GeometryNodeTriangulate",
|
|
"node:GeometryNodeTrimCurve"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_tool_set_selection.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_transfer_attributes.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_translate_instances.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_triangulate.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_trim.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-6399364bfcbc157c.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1244-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1244-001:AUTO_GEOMETRY_NATIVE_NODE_READER:b2e40edae0bea18d",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeUVPackIslands",
|
|
"node:GeometryNodeUVTangent",
|
|
"node:GeometryNodeUVUnwrap",
|
|
"node:GeometryNodeVertexOfCorner",
|
|
"node:GeometryNodeViewer"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_uv_pack_islands.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_uv_tangent.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_uv_unwrap.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_topology_vertex_of_corner.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_viewer.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-b2e40edae0bea18d.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1245-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1245-001:AUTO_GEOMETRY_NATIVE_NODE_READER:06a9b0a82fc0bc5b",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeViewportTransform",
|
|
"node:GeometryNodeVolumeCube",
|
|
"node:GeometryNodeVolumeToMesh",
|
|
"node:GeometryNodeWarning",
|
|
"node:GeometryNodeXPBDSolver"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_viewport_transform.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_volume_cube.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_volume_to_mesh.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_warning.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_xpbd_solver.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-06a9b0a82fc0bc5b.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1246-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1246-001:AUTO_SHADER_NATIVE_NODE_READER:6084b65cc9b4dd13",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeAddShader",
|
|
"node:ShaderNodeAmbientOcclusion",
|
|
"node:ShaderNodeAttribute",
|
|
"node:ShaderNodeBackground",
|
|
"node:ShaderNodeBevel"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_add_shader.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_ambient_occlusion.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_attribute.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_background.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_bevel.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-6084b65cc9b4dd13.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1247-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1247-001:AUTO_SHADER_NATIVE_NODE_READER:492bd603ac3e7b39",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeBlackbody",
|
|
"node:ShaderNodeBrightContrast",
|
|
"node:ShaderNodeBsdfAnisotropic",
|
|
"node:ShaderNodeBsdfDiffuse",
|
|
"node:ShaderNodeBsdfGlass"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_blackbody.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_brightness.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_bsdf_glossy.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_bsdf_glass.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-492bd603ac3e7b39.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1248-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1248-001:AUTO_SHADER_NATIVE_NODE_READER:5d3fdcd95f8dcb4a",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeBsdfHair",
|
|
"node:ShaderNodeBsdfHairPrincipled",
|
|
"node:ShaderNodeBsdfMetallic",
|
|
"node:ShaderNodeBsdfRayPortal",
|
|
"node:ShaderNodeBsdfRefraction"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_bsdf_hair.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_bsdf_hair_principled.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_bsdf_metallic.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_bsdf_ray_portal.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_bsdf_refraction.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-5d3fdcd95f8dcb4a.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1249-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1249-001:AUTO_SHADER_NATIVE_NODE_READER:3dd8ce20c676372b",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeBsdfSheen",
|
|
"node:ShaderNodeBsdfToon",
|
|
"node:ShaderNodeBsdfTranslucent",
|
|
"node:ShaderNodeBsdfTransparent",
|
|
"node:ShaderNodeBump"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_bsdf_sheen.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_bsdf_toon.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_bsdf_translucent.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_bsdf_transparent.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_bump.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-3dd8ce20c676372b.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1250-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1250-001:AUTO_SHADER_NATIVE_NODE_READER:4962cd49b587a2f9",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeCameraData",
|
|
"node:ShaderNodeClamp",
|
|
"node:ShaderNodeCombineColor",
|
|
"node:ShaderNodeCombineXYZ",
|
|
"node:ShaderNodeDisplacement"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_camera.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_clamp.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_sepcomb_color.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_sepcomb_xyz.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_displacement.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-4962cd49b587a2f9.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1251-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1251-001:AUTO_SHADER_NATIVE_NODE_READER:2367477c6dfff68d",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeEeveeSpecular",
|
|
"node:ShaderNodeEmission",
|
|
"node:ShaderNodeFloatCurve",
|
|
"node:ShaderNodeFresnel",
|
|
"node:ShaderNodeGamma"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_eevee_specular.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_emission.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_curves.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_fresnel.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_gamma.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-2367477c6dfff68d.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1252-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1252-001:AUTO_SHADER_NATIVE_NODE_READER:f8e029f92dbfd33d",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeHairInfo",
|
|
"node:ShaderNodeHoldout",
|
|
"node:ShaderNodeHueSaturation",
|
|
"node:ShaderNodeInvert",
|
|
"node:ShaderNodeLayerWeight"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_hair_info.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_holdout.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_hueSatVal.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_invert.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_layer_weight.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-f8e029f92dbfd33d.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1253-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1253-001:AUTO_SHADER_NATIVE_NODE_READER:c56bc2ebdfa34be7",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeLightFalloff",
|
|
"node:ShaderNodeLightPath",
|
|
"node:ShaderNodeMapRange",
|
|
"node:ShaderNodeMapping",
|
|
"node:ShaderNodeMix"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_light_falloff.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_light_path.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_map_range.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_mapping.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_mix.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-c56bc2ebdfa34be7.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1254-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1254-001:AUTO_SHADER_NATIVE_NODE_READER:dbc531eb397b06df",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeMixRGB",
|
|
"node:ShaderNodeMixShader",
|
|
"node:ShaderNodeNewGeometry",
|
|
"node:ShaderNodeNormal",
|
|
"node:ShaderNodeObjectInfo"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_mix_rgb.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_mix_shader.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_geometry.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_normal.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_object_info.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-dbc531eb397b06df.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1255-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1255-001:AUTO_SHADER_NATIVE_NODE_READER:dd18d1b1e2d07fd3",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeOutputAOV",
|
|
"node:ShaderNodeOutputLight",
|
|
"node:ShaderNodeOutputLineStyle",
|
|
"node:ShaderNodeOutputWorld",
|
|
"node:ShaderNodeParticleInfo"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_output_aov.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_output_light.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_output_linestyle.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_output_world.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_particle_info.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-dd18d1b1e2d07fd3.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1256-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1256-001:AUTO_SHADER_NATIVE_NODE_READER:d37c82dd11ef35c6",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodePointInfo",
|
|
"node:ShaderNodeRGBCurve",
|
|
"node:ShaderNodeRGBToBW",
|
|
"node:ShaderNodeRadialTiling",
|
|
"node:ShaderNodeRaycast"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_point_info.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_curves.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_rgb_to_bw.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_radial_tiling.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_raycast.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-d37c82dd11ef35c6.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1257-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1257-001:AUTO_SHADER_NATIVE_NODE_READER:faed565343c54fcc",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeScript",
|
|
"node:ShaderNodeSeparateColor",
|
|
"node:ShaderNodeSeparateXYZ",
|
|
"node:ShaderNodeShaderToRGB",
|
|
"node:ShaderNodeSqueeze"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_script.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_sepcomb_color.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_sepcomb_xyz.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_shader_to_rgb.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_squeeze.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-faed565343c54fcc.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1258-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1258-001:AUTO_SHADER_NATIVE_NODE_READER:7a417f3a8bc48b94",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeSubsurfaceScattering",
|
|
"node:ShaderNodeTangent",
|
|
"node:ShaderNodeTexBrick",
|
|
"node:ShaderNodeTexChecker",
|
|
"node:ShaderNodeTexCoord"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_subsurface_scattering.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tangent.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_brick.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_checker.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_coord.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-7a417f3a8bc48b94.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1259-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1259-001:AUTO_SHADER_NATIVE_NODE_READER:12916e971f5275c9",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeTexEnvironment",
|
|
"node:ShaderNodeTexGabor",
|
|
"node:ShaderNodeTexGradient",
|
|
"node:ShaderNodeTexIES",
|
|
"node:ShaderNodeTexMagic"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_environment.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_gabor.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_gradient.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_ies_light.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_magic.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-12916e971f5275c9.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1260-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1260-001:AUTO_SHADER_NATIVE_NODE_READER:f4926931c181f625",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeTexNoise",
|
|
"node:ShaderNodeTexSky",
|
|
"node:ShaderNodeTexVoronoi",
|
|
"node:ShaderNodeTexWave",
|
|
"node:ShaderNodeTexWhiteNoise"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_noise.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_sky.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_voronoi.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_wave.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_white_noise.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-f4926931c181f625.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1261-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1261-001:AUTO_SHADER_NATIVE_NODE_READER:6d9e771d681131cb",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeUVAlongStroke",
|
|
"node:ShaderNodeUVMap",
|
|
"node:ShaderNodeValToRGB",
|
|
"node:ShaderNodeVectorCurve",
|
|
"node:ShaderNodeVectorDisplacement"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_uv_along_stroke.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_uvmap.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_color_ramp.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_curves.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_vector_displacement.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-6d9e771d681131cb.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1262-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1262-001:AUTO_SHADER_NATIVE_NODE_READER:1bb60b193dc412e6",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeVectorMath",
|
|
"node:ShaderNodeVectorRotate",
|
|
"node:ShaderNodeVectorTransform",
|
|
"node:ShaderNodeVertexColor",
|
|
"node:ShaderNodeVolumeAbsorption"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_vector_math.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_vector_rotate.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_vector_transform.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_vertex_color.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_volume_absorption.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-1bb60b193dc412e6.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1263-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1263-001:AUTO_SHADER_NATIVE_NODE_READER:1b947fc2cfa44cfc",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeVolumeCoefficients",
|
|
"node:ShaderNodeVolumeInfo",
|
|
"node:ShaderNodeVolumePrincipled",
|
|
"node:ShaderNodeVolumeScatter",
|
|
"node:ShaderNodeWavelength"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_volume_coefficients.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_volume_info.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_volume_principled.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_volume_scatter.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_wavelength.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-1b947fc2cfa44cfc.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1264-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1264-001:AUTO_SHADER_NATIVE_NODE_READER:bc4cce1c19a5ca22",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeWireframe"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_wireframe.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-bc4cce1c19a5ca22.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1265-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1265-001:AUTO_GEOMETRY_NATIVE_NODE_READER:551d56ed177090bf",
|
|
"selectedRecordIds": [
|
|
"node:NodeClosureInput",
|
|
"node:NodeClosureOutput",
|
|
"node:NodeCombineBundle",
|
|
"node:NodeEnableOutput",
|
|
"node:NodeEvaluateClosure"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_closure.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_closure.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_combine_bundle.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_enable_output.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_evaluate_closure.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-551d56ed177090bf.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"task": "WBV2-P1266-001",
|
|
"owner": "NODES",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1266-001:AUTO_GEOMETRY_NATIVE_NODE_READER:dd34d5c436c86d44",
|
|
"selectedRecordIds": [
|
|
"node:NodeGetBundleItem",
|
|
"node:NodeGetNestedBundlePaths",
|
|
"node:NodeJoinBundle",
|
|
"node:NodeSeparateBundle",
|
|
"node:NodeStoreBundleItem"
|
|
],
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_get_bundle_item.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_get_nested_bundle_paths.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_join_bundle.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_separate_bundle.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_store_bundle_item.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-dd34d5c436c86d44.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "ANIMATION_FRAME_OPERATOR_BATCH",
|
|
"task": "WBV2-P1267-001",
|
|
"owner": "ANIMATION",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1267-001:ANIMATION_FRAME_OPERATOR_BATCH:de7916b0744d74c6",
|
|
"selectedRecordIds": [
|
|
"operator:ANIM_OT_change_frame"
|
|
],
|
|
"capabilities": [
|
|
"CAP-ANIMATION_FRAME_OPERATOR_BATCH-READER",
|
|
"CAP-ANIMATION_FRAME_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-ANIMATION_FRAME_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/animation/anim_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-fcurve-sample-production.spec.ts",
|
|
"tests/files/web/generated/M16-GAP-00161-action-fcurve-samples.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DUPLICATE_OPERATOR_BATCH",
|
|
"task": "WBV2-P1268-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1268-001:OBJECT_DUPLICATE_OPERATOR_BATCH:7d2be765d4b45aef",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_duplicate"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_OPERATOR_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_OPERATOR_BATCH",
|
|
"task": "WBV2-P1269-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1269-001:OBJECT_DELETE_OPERATOR_BATCH:07b557a0d42ec2f1",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_OPERATOR_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_VISIBILITY_OPERATOR_BATCH",
|
|
"task": "WBV2-P1270-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1270-001:OBJECT_VISIBILITY_OPERATOR_BATCH:4256b7cd408959f9",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_hide_view_set"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_VISIBILITY_OPERATOR_BATCH-READER",
|
|
"CAP-OBJECT_VISIBILITY_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-OBJECT_VISIBILITY_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-visibility-batch-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-002-OBJECT.TRANSFORM_HIERARCHY.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_COLLECTION_CREATE_OPERATOR_BATCH",
|
|
"task": "WBV2-P1271-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1271-001:OBJECT_COLLECTION_CREATE_OPERATOR_BATCH:30c00e81f46ca5c3",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_collection_add"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_COLLECTION_CREATE_OPERATOR_BATCH-READER",
|
|
"CAP-OBJECT_COLLECTION_CREATE_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-OBJECT_COLLECTION_CREATE_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-collection-create-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_PARENT_OPERATOR_BATCH",
|
|
"task": "WBV2-P1272-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1272-001:OBJECT_PARENT_OPERATOR_BATCH:362256be314bcbe6",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_parent_set"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_PARENT_OPERATOR_BATCH-READER",
|
|
"CAP-OBJECT_PARENT_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-OBJECT_PARENT_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-parent-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_PRIMITIVE_CUBE_OPERATOR_BATCH",
|
|
"task": "WBV2-P1273-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1273-001:MESH_PRIMITIVE_CUBE_OPERATOR_BATCH:451cdcaa70551f8f",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_primitive_cube_add"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_PRIMITIVE_CUBE_OPERATOR_BATCH-READER",
|
|
"CAP-MESH_PRIMITIVE_CUBE_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-MESH_PRIMITIVE_CUBE_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-primitive-cube-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_MOVE_COLLECTION_OPERATOR_BATCH",
|
|
"task": "WBV2-P1274-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1274-001:OBJECT_MOVE_COLLECTION_OPERATOR_BATCH:c60f51c2f088361e",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_move_to_collection"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_MOVE_COLLECTION_OPERATOR_BATCH-READER",
|
|
"CAP-OBJECT_MOVE_COLLECTION_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-OBJECT_MOVE_COLLECTION_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-move-batch-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P24-001-OBJECT_OPERATIONS.MOVE_COLLECTION.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_VISIBILITY_CLEAR_OPERATOR_BATCH",
|
|
"task": "WBV2-P1275-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1275-001:OBJECT_VISIBILITY_CLEAR_OPERATOR_BATCH:e4871b703871cd02",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_hide_view_clear"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_VISIBILITY_CLEAR_OPERATOR_BATCH-READER",
|
|
"CAP-OBJECT_VISIBILITY_CLEAR_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-OBJECT_VISIBILITY_CLEAR_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-visibility-clear-batch-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-002-OBJECT.TRANSFORM_HIERARCHY.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_TRANSFORM_APPLY_OPERATOR_BATCH",
|
|
"task": "WBV2-P1276-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1276-001:OBJECT_TRANSFORM_APPLY_OPERATOR_BATCH:755c29f7c83e7e61",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_transform_apply"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_TRANSFORM_APPLY_OPERATOR_BATCH-READER",
|
|
"CAP-OBJECT_TRANSFORM_APPLY_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-OBJECT_TRANSFORM_APPLY_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-transform-apply-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_BEVEL_OPERATOR_BATCH",
|
|
"task": "WBV2-P1277-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1277-001:MESH_BEVEL_OPERATOR_BATCH:ff54da8bdac6a382",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_bevel"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_BEVEL_OPERATOR_BATCH-READER",
|
|
"CAP-MESH_BEVEL_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-MESH_BEVEL_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_INSET_OPERATOR_BATCH",
|
|
"task": "WBV2-P1278-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1278-001:MESH_INSET_OPERATOR_BATCH:152b6ff293359f2b",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_inset"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_INSET_OPERATOR_BATCH-READER",
|
|
"CAP-MESH_INSET_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-MESH_INSET_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_LOOPCUT_OPERATOR_BATCH",
|
|
"task": "WBV2-P1279-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1279-001:MESH_LOOPCUT_OPERATOR_BATCH:dd29399cd0368e44",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_loopcut"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_LOOPCUT_OPERATOR_BATCH-READER",
|
|
"CAP-MESH_LOOPCUT_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-MESH_LOOPCUT_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_EXTRUDE_OPERATOR_BATCH",
|
|
"task": "WBV2-P1280-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1280-001:MESH_EXTRUDE_OPERATOR_BATCH:f4172e6b8ddbcf8b",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_extrude_region"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_OPERATOR_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_DISSOLVE_OPERATOR_BATCH",
|
|
"task": "WBV2-P1281-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1281-001:MESH_DISSOLVE_OPERATOR_BATCH:5c5a52ee6203548e",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_dissolve_edges"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_DISSOLVE_OPERATOR_BATCH-READER",
|
|
"CAP-MESH_DISSOLVE_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-MESH_DISSOLVE_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_MERGE_OPERATOR_BATCH",
|
|
"task": "WBV2-P1282-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1282-001:MESH_MERGE_OPERATOR_BATCH:e84ca557ac7a12d7",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_merge"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_MERGE_OPERATOR_BATCH-READER",
|
|
"CAP-MESH_MERGE_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-MESH_MERGE_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_LOCATION_CLEAR_OPERATOR_BATCH",
|
|
"task": "WBV2-P1283-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1283-001:OBJECT_LOCATION_CLEAR_OPERATOR_BATCH:84dba9367fb529a7",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_location_clear"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_LOCATION_CLEAR_OPERATOR_BATCH-READER",
|
|
"CAP-OBJECT_LOCATION_CLEAR_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-OBJECT_LOCATION_CLEAR_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-transform-clear-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_ROTATION_CLEAR_OPERATOR_BATCH",
|
|
"task": "WBV2-P1284-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1284-001:OBJECT_ROTATION_CLEAR_OPERATOR_BATCH:3db1b4e696cc9048",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_rotation_clear"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_ROTATION_CLEAR_OPERATOR_BATCH-READER",
|
|
"CAP-OBJECT_ROTATION_CLEAR_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-OBJECT_ROTATION_CLEAR_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-transform-clear-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_SCALE_CLEAR_OPERATOR_BATCH",
|
|
"task": "WBV2-P1285-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1285-001:OBJECT_SCALE_CLEAR_OPERATOR_BATCH:32d55f0234d5f6c5",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_scale_clear"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_SCALE_CLEAR_OPERATOR_BATCH-READER",
|
|
"CAP-OBJECT_SCALE_CLEAR_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-OBJECT_SCALE_CLEAR_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-transform-clear-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_JOIN_OPERATOR_BATCH",
|
|
"task": "WBV2-P1286-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1286-001:OBJECT_JOIN_OPERATOR_BATCH:de8fe23bd410e593",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_join"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_JOIN_OPERATOR_BATCH-READER",
|
|
"CAP-OBJECT_JOIN_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-OBJECT_JOIN_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-object-operations-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_MATERIAL_SLOT_ADD_OPERATOR_BATCH",
|
|
"task": "WBV2-P1287-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1287-001:OBJECT_MATERIAL_SLOT_ADD_OPERATOR_BATCH:2f9e62b0f20b4109",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_material_slot_add"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_MATERIAL_SLOT_ADD_OPERATOR_BATCH-READER",
|
|
"CAP-OBJECT_MATERIAL_SLOT_ADD_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-OBJECT_MATERIAL_SLOT_ADD_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/render/render_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-material-slot-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_DECIMATE_OPERATOR_BATCH",
|
|
"task": "WBV2-P1288-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1288-001:MESH_DECIMATE_OPERATOR_BATCH:874ad3bb4b2d4cd0",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_decimate"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_DECIMATE_OPERATOR_BATCH-READER",
|
|
"CAP-MESH_DECIMATE_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-MESH_DECIMATE_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-modifier-parameter-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P4-001-MODIFIER.DECLARED_SLICES.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_MATERIAL_SLOT_REMOVE_OPERATOR_BATCH",
|
|
"task": "WBV2-P1289-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1289-001:OBJECT_MATERIAL_SLOT_REMOVE_OPERATOR_BATCH:ab7b239f4e11124b",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_material_slot_remove"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_MATERIAL_SLOT_REMOVE_OPERATOR_BATCH-READER",
|
|
"CAP-OBJECT_MATERIAL_SLOT_REMOVE_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-OBJECT_MATERIAL_SLOT_REMOVE_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/render/render_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-material-slot-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_MATERIAL_SLOT_ASSIGN_OPERATOR_BATCH",
|
|
"task": "WBV2-P1290-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1290-001:OBJECT_MATERIAL_SLOT_ASSIGN_OPERATOR_BATCH:5c7845576845cc50",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_material_slot_assign"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_MATERIAL_SLOT_ASSIGN_OPERATOR_BATCH-READER",
|
|
"CAP-OBJECT_MATERIAL_SLOT_ASSIGN_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-OBJECT_MATERIAL_SLOT_ASSIGN_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/render/render_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-material-slot-assign-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "UV_UNWRAP_OPERATOR_BATCH",
|
|
"task": "WBV2-P1291-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1291-001:UV_UNWRAP_OPERATOR_BATCH:8111928c04bd086d",
|
|
"selectedRecordIds": [
|
|
"operator:UV_OT_unwrap"
|
|
],
|
|
"capabilities": [
|
|
"CAP-UV_UNWRAP_OPERATOR_BATCH-READER",
|
|
"CAP-UV_UNWRAP_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-UV_UNWRAP_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/uvedit/uvedit_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-uv-unwrap-batch-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P3-001-MATERIAL.PBR_UV.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"task": "WBV2-P1292-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1292-001:OBJECT_DUPLICATE_MACRO_BATCH:811c939e205ecafd",
|
|
"selectedRecordIds": [
|
|
"operator-macro:ACTION_OT_duplicate_move"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_action/action_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"task": "WBV2-P1293-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1293-001:OBJECT_DUPLICATE_MACRO_BATCH:0923f8086c8283b9",
|
|
"selectedRecordIds": [
|
|
"operator-macro:ARMATURE_OT_duplicate_move"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/armature/armature_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"task": "WBV2-P1294-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1294-001:OBJECT_DUPLICATE_MACRO_BATCH:4e6ddb1c1659686d",
|
|
"selectedRecordIds": [
|
|
"operator-macro:CURVES_OT_duplicate_move"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/curves/intern/curves_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"task": "WBV2-P1295-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1295-001:OBJECT_DUPLICATE_MACRO_BATCH:e7a5080501642d57",
|
|
"selectedRecordIds": [
|
|
"operator-macro:CURVE_OT_duplicate_move"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/curve/curve_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"task": "WBV2-P1296-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1296-001:OBJECT_DUPLICATE_MACRO_BATCH:2cf09e5b7806c522",
|
|
"selectedRecordIds": [
|
|
"operator-macro:GRAPH_OT_duplicate_move"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_graph/graph_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"task": "WBV2-P1297-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1297-001:OBJECT_DUPLICATE_MACRO_BATCH:61f3c99d1c08013f",
|
|
"selectedRecordIds": [
|
|
"operator-macro:GREASE_PENCIL_OT_duplicate_move"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/grease_pencil/intern/grease_pencil_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"task": "WBV2-P1298-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1298-001:OBJECT_DUPLICATE_MACRO_BATCH:b2b5010de365a6fd",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MASK_OT_duplicate_move"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mask/mask_edit.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"task": "WBV2-P1299-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1299-001:OBJECT_DUPLICATE_MACRO_BATCH:900d15a3fd089534",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MBALL_OT_duplicate_move"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/metaball/mball_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"task": "WBV2-P1300-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1300-001:OBJECT_DUPLICATE_MACRO_BATCH:f7038997b9b55fd8",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MESH_OT_duplicate_move"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"task": "WBV2-P1301-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1301-001:OBJECT_DUPLICATE_MACRO_BATCH:ca1f3895eae4eeae",
|
|
"selectedRecordIds": [
|
|
"operator-macro:NLA_OT_duplicate_move"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_nla/nla_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"task": "WBV2-P1302-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1302-001:OBJECT_DUPLICATE_MACRO_BATCH:e45d34ebeb76cc3e",
|
|
"selectedRecordIds": [
|
|
"operator-macro:NODE_OT_duplicate_move"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_node/node_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"task": "WBV2-P1303-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1303-001:OBJECT_DUPLICATE_MACRO_BATCH:48ae9eb65d4c3123",
|
|
"selectedRecordIds": [
|
|
"operator-macro:NODE_OT_duplicate_move_keep_inputs"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_node/node_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"task": "WBV2-P1304-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1304-001:OBJECT_DUPLICATE_MACRO_BATCH:416ae585863b18b0",
|
|
"selectedRecordIds": [
|
|
"operator-macro:NODE_OT_duplicate_move_linked"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_node/node_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"task": "WBV2-P1305-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1305-001:OBJECT_DUPLICATE_MACRO_BATCH:504373c48738bf0d",
|
|
"selectedRecordIds": [
|
|
"operator-macro:OBJECT_OT_duplicate_move"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"task": "WBV2-P1306-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1306-001:OBJECT_DUPLICATE_MACRO_BATCH:b1f87ff7cb3f84cd",
|
|
"selectedRecordIds": [
|
|
"operator-macro:OBJECT_OT_duplicate_move_linked"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"task": "WBV2-P1307-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1307-001:OBJECT_DUPLICATE_MACRO_BATCH:59c11b73f6c393b5",
|
|
"selectedRecordIds": [
|
|
"operator-macro:POINTCLOUD_OT_duplicate_move"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/pointcloud/intern/operators.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"task": "WBV2-P1308-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1308-001:OBJECT_DUPLICATE_MACRO_BATCH:ab6a0658305de0cc",
|
|
"selectedRecordIds": [
|
|
"operator-macro:SEQUENCER_OT_duplicate_move"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_sequencer/sequencer_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"task": "WBV2-P1309-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1309-001:OBJECT_DUPLICATE_MACRO_BATCH:29f998fff01771fa",
|
|
"selectedRecordIds": [
|
|
"operator-macro:SEQUENCER_OT_duplicate_move_linked"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_sequencer/sequencer_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"task": "WBV2-P1310-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1310-001:OBJECT_DUPLICATE_MACRO_BATCH:080c07ec31371925",
|
|
"selectedRecordIds": [
|
|
"operator-macro:SEQUENCER_OT_preview_duplicate_move"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_sequencer/sequencer_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"task": "WBV2-P1311-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1311-001:OBJECT_DUPLICATE_MACRO_BATCH:26e874efa0152e2c",
|
|
"selectedRecordIds": [
|
|
"operator-macro:SEQUENCER_OT_preview_duplicate_move_linked"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_sequencer/sequencer_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1312-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1312-001:OBJECT_DELETE_MACRO_BATCH:266367c3120af19f",
|
|
"selectedRecordIds": [
|
|
"operator-macro:NODE_OT_delete_copy_reconnect"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_node/node_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1313-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1313-001:OBJECT_DELETE_MACRO_BATCH:ffc87aeab4ca8657",
|
|
"selectedRecordIds": [
|
|
"operator:ACTION_OT_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_action/action_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1314-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1314-001:OBJECT_DELETE_MACRO_BATCH:290fc45a1dd07df5",
|
|
"selectedRecordIds": [
|
|
"operator:ANIM_OT_channels_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/animation/anim_channels_edit.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1315-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1315-001:OBJECT_DELETE_MACRO_BATCH:beca8d72a79a20a3",
|
|
"selectedRecordIds": [
|
|
"operator:ANIM_OT_keyframe_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/animation/anim_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1316-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1316-001:OBJECT_DELETE_MACRO_BATCH:66d7693e521bbf7b",
|
|
"selectedRecordIds": [
|
|
"operator:ANIM_OT_keyframe_delete_button"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/animation/anim_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1317-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1317-001:OBJECT_DELETE_MACRO_BATCH:aa21ad30b4211c49",
|
|
"selectedRecordIds": [
|
|
"operator:ANIM_OT_keyframe_delete_by_name"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/animation/anim_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1318-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1318-001:OBJECT_DELETE_MACRO_BATCH:59a16f5773002c24",
|
|
"selectedRecordIds": [
|
|
"operator:ANIM_OT_keyframe_delete_v3d"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/animation/anim_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1319-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1319-001:OBJECT_DELETE_MACRO_BATCH:62e35464233255a4",
|
|
"selectedRecordIds": [
|
|
"operator:ANIM_OT_keyframe_delete_vse"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/animation/anim_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1320-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1320-001:OBJECT_DELETE_MACRO_BATCH:3dc748624bf180d7",
|
|
"selectedRecordIds": [
|
|
"operator:ARMATURE_OT_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/armature/armature_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1321-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1321-001:OBJECT_DELETE_MACRO_BATCH:e6f7639baf491f4d",
|
|
"selectedRecordIds": [
|
|
"operator:ASSET_OT_catalog_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/asset/intern/asset_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1322-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1322-001:OBJECT_DELETE_MACRO_BATCH:f31405fceb00c7a7",
|
|
"selectedRecordIds": [
|
|
"operator:BRUSH_OT_asset_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/sculpt_paint/paint_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1323-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1323-001:OBJECT_DELETE_MACRO_BATCH:209753308893d52a",
|
|
"selectedRecordIds": [
|
|
"operator:CLIP_OT_delete_marker"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_clip/space_clip.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1324-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1324-001:OBJECT_DELETE_MACRO_BATCH:b8fade257b34994a",
|
|
"selectedRecordIds": [
|
|
"operator:CLIP_OT_delete_track"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_clip/space_clip.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1325-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1325-001:OBJECT_DELETE_MACRO_BATCH:707e82ac5c21f6c3",
|
|
"selectedRecordIds": [
|
|
"operator:CLIP_OT_graph_delete_curve"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_clip/space_clip.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1326-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1326-001:OBJECT_DELETE_MACRO_BATCH:b437fad9579b5a17",
|
|
"selectedRecordIds": [
|
|
"operator:CLIP_OT_graph_delete_knot"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_clip/space_clip.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1327-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1327-001:OBJECT_DELETE_MACRO_BATCH:fd3cb8da3866d1b6",
|
|
"selectedRecordIds": [
|
|
"operator:CLIP_OT_keyframe_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_clip/space_clip.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1328-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1328-001:OBJECT_DELETE_MACRO_BATCH:1ea75a3223caaca4",
|
|
"selectedRecordIds": [
|
|
"operator:CONSOLE_OT_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_console/space_console.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1329-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1329-001:OBJECT_DELETE_MACRO_BATCH:48cbbba4745aacfb",
|
|
"selectedRecordIds": [
|
|
"operator:CONSTRAINT_OT_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1330-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1330-001:OBJECT_DELETE_MACRO_BATCH:f3db5bbfe0b7ecbd",
|
|
"selectedRecordIds": [
|
|
"operator:CURVES_OT_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/curves/intern/curves_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1331-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1331-001:OBJECT_DELETE_MACRO_BATCH:b2bf1ed53edddf62",
|
|
"selectedRecordIds": [
|
|
"operator:CURVE_OT_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/curve/curve_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1332-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1332-001:OBJECT_DELETE_MACRO_BATCH:cae72da15f82a67a",
|
|
"selectedRecordIds": [
|
|
"operator:FILE_OT_bookmark_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_file/space_file.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1333-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1333-001:OBJECT_DELETE_MACRO_BATCH:8aa9ba5e78fc43c9",
|
|
"selectedRecordIds": [
|
|
"operator:FILE_OT_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_file/space_file.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1334-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1334-001:OBJECT_DELETE_MACRO_BATCH:c78158291ec665a8",
|
|
"selectedRecordIds": [
|
|
"operator:FONT_OT_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/curve/curve_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1335-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1335-001:OBJECT_DELETE_MACRO_BATCH:ec864424ffc659fd",
|
|
"selectedRecordIds": [
|
|
"operator:GPENCIL_OT_annotation_active_frame_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/gpencil_legacy/gpencil_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1336-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1336-001:OBJECT_DELETE_MACRO_BATCH:2eee7fcefc7dcc14",
|
|
"selectedRecordIds": [
|
|
"operator:GRAPH_OT_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_graph/graph_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1337-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1337-001:OBJECT_DELETE_MACRO_BATCH:ccc1e9d8ed3c4954",
|
|
"selectedRecordIds": [
|
|
"operator:GRAPH_OT_driver_delete_invalid"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_graph/graph_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1338-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1338-001:OBJECT_DELETE_MACRO_BATCH:ef176984e43319fc",
|
|
"selectedRecordIds": [
|
|
"operator:GRAPH_OT_fmodifier_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_graph/graph_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1339-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1339-001:OBJECT_DELETE_MACRO_BATCH:5d0774ca778f5ad4",
|
|
"selectedRecordIds": [
|
|
"operator:GREASE_PENCIL_OT_active_frame_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/grease_pencil/intern/grease_pencil_frames.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1340-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1340-001:OBJECT_DELETE_MACRO_BATCH:8ba52365eef76487",
|
|
"selectedRecordIds": [
|
|
"operator:GREASE_PENCIL_OT_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/grease_pencil/intern/grease_pencil_edit.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1341-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1341-001:OBJECT_DELETE_MACRO_BATCH:8fc79b26bd0d5694",
|
|
"selectedRecordIds": [
|
|
"operator:GREASE_PENCIL_OT_delete_breakdown"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/grease_pencil/intern/grease_pencil_frames.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1342-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1342-001:OBJECT_DELETE_MACRO_BATCH:78ddf544eb4d6df3",
|
|
"selectedRecordIds": [
|
|
"operator:GREASE_PENCIL_OT_delete_frame"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/grease_pencil/intern/grease_pencil_edit.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1343-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1343-001:OBJECT_DELETE_MACRO_BATCH:e835c9fb99ff260b",
|
|
"selectedRecordIds": [
|
|
"operator:INFO_OT_report_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_info/space_info.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1344-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1344-001:OBJECT_DELETE_MACRO_BATCH:1e84276bc178e89e",
|
|
"selectedRecordIds": [
|
|
"operator:MARKER_OT_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/animation/anim_markers.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1345-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1345-001:OBJECT_DELETE_MACRO_BATCH:21824a30cf73822f",
|
|
"selectedRecordIds": [
|
|
"operator:MASK_OT_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mask/mask_edit.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1346-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1346-001:OBJECT_DELETE_MACRO_BATCH:51c6038df857be73",
|
|
"selectedRecordIds": [
|
|
"operator:MBALL_OT_delete_metaelems"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/metaball/mball_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1347-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1347-001:OBJECT_DELETE_MACRO_BATCH:160eb42931ab4cb9",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1348-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1348-001:OBJECT_DELETE_MACRO_BATCH:30939d7ebb7aef1e",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_delete_edgeloop"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1349-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1349-001:OBJECT_DELETE_MACRO_BATCH:d3ebfcd44987d033",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_delete_loose"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1350-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1350-001:OBJECT_DELETE_MACRO_BATCH:cb1053d26cafd659",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_polybuild_delete_at_cursor"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1351-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1351-001:OBJECT_DELETE_MACRO_BATCH:4d3e5ad86af478ad",
|
|
"selectedRecordIds": [
|
|
"operator:NLA_OT_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_nla/nla_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1352-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1352-001:OBJECT_DELETE_MACRO_BATCH:c4c76a25367bc8a0",
|
|
"selectedRecordIds": [
|
|
"operator:NLA_OT_tracks_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_nla/nla_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1353-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1353-001:OBJECT_DELETE_MACRO_BATCH:6259c20cbf6abe09",
|
|
"selectedRecordIds": [
|
|
"operator:NODE_OT_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_node/node_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1354-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1354-001:OBJECT_DELETE_MACRO_BATCH:595ee7ff4fe3957a",
|
|
"selectedRecordIds": [
|
|
"operator:NODE_OT_delete_reconnect"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_node/node_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1355-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1355-001:OBJECT_DELETE_MACRO_BATCH:0a25ac0a68c3df08",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_multires_higher_levels_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1356-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1356-001:OBJECT_DELETE_MACRO_BATCH:58d1e68d18fa7298",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_vertex_weight_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1357-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1357-001:OBJECT_DELETE_MACRO_BATCH:319b632d890ad5b8",
|
|
"selectedRecordIds": [
|
|
"operator:OUTLINER_OT_collection_hierarchy_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_outliner/outliner_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1358-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1358-001:OBJECT_DELETE_MACRO_BATCH:8eea095aaa160fe0",
|
|
"selectedRecordIds": [
|
|
"operator:OUTLINER_OT_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_outliner/outliner_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1359-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1359-001:OBJECT_DELETE_MACRO_BATCH:908ab62518cec5da",
|
|
"selectedRecordIds": [
|
|
"operator:OUTLINER_OT_drivers_delete_selected"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_outliner/outliner_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1360-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1360-001:OBJECT_DELETE_MACRO_BATCH:7bc967b84721925c",
|
|
"selectedRecordIds": [
|
|
"operator:OUTLINER_OT_id_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_outliner/outliner_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1361-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1361-001:OBJECT_DELETE_MACRO_BATCH:c7e7ef2c01712236",
|
|
"selectedRecordIds": [
|
|
"operator:PAINTCURVE_OT_delete_point"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/sculpt_paint/paint_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1362-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1362-001:OBJECT_DELETE_MACRO_BATCH:fa9f28b4ef15542b",
|
|
"selectedRecordIds": [
|
|
"operator:PALETTE_OT_color_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/sculpt_paint/paint_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1363-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1363-001:OBJECT_DELETE_MACRO_BATCH:fa927874e02d6a86",
|
|
"selectedRecordIds": [
|
|
"operator:PARTICLE_OT_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/physics/physics_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1364-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1364-001:OBJECT_DELETE_MACRO_BATCH:045288d2c691a502",
|
|
"selectedRecordIds": [
|
|
"operator:POINTCLOUD_OT_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/pointcloud/intern/operators.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1365-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1365-001:OBJECT_DELETE_MACRO_BATCH:1d404190e2359326",
|
|
"selectedRecordIds": [
|
|
"operator:SCENE_OT_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/scene/scene_edit.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1366-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1366-001:OBJECT_DELETE_MACRO_BATCH:33e239df6953f6be",
|
|
"selectedRecordIds": [
|
|
"operator:SCREEN_OT_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/screen/screen_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1367-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1367-001:OBJECT_DELETE_MACRO_BATCH:03b04f041e841582",
|
|
"selectedRecordIds": [
|
|
"operator:SEQUENCER_OT_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_sequencer/sequencer_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1368-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1368-001:OBJECT_DELETE_MACRO_BATCH:c4a082a5c144969b",
|
|
"selectedRecordIds": [
|
|
"operator:SEQUENCER_OT_retiming_key_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_sequencer/sequencer_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1369-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1369-001:OBJECT_DELETE_MACRO_BATCH:7996b0c83f4d0b2c",
|
|
"selectedRecordIds": [
|
|
"operator:SEQUENCER_OT_text_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_sequencer/sequencer_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1370-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1370-001:OBJECT_DELETE_MACRO_BATCH:6e92825d5e16d565",
|
|
"selectedRecordIds": [
|
|
"operator:TEXT_OT_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_text/space_text.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1371-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1371-001:OBJECT_DELETE_MACRO_BATCH:5eecba0f0cd1d45e",
|
|
"selectedRecordIds": [
|
|
"operator:TRANSFORM_OT_delete_orientation"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/transform/transform_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1372-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1372-001:OBJECT_DELETE_MACRO_BATCH:95dbea0c5998184a",
|
|
"selectedRecordIds": [
|
|
"operator:UI_OT_view_item_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/interface/interface_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1373-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1373-001:OBJECT_DELETE_MACRO_BATCH:8816424e5aaf5621",
|
|
"selectedRecordIds": [
|
|
"operator:WORKSPACE_OT_delete"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/screen/workspace_edit.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_DELETE_MACRO_BATCH",
|
|
"task": "WBV2-P1374-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1374-001:OBJECT_DELETE_MACRO_BATCH:6a6a6def269e362e",
|
|
"selectedRecordIds": [
|
|
"operator:WORKSPACE_OT_delete_all_others"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/screen/workspace_edit.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_VISIBILITY_MACRO_BATCH",
|
|
"task": "WBV2-P1375-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1375-001:OBJECT_VISIBILITY_MACRO_BATCH:bdd1647034295380",
|
|
"selectedRecordIds": [
|
|
"operator:MASK_OT_hide_view_clear"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_VISIBILITY_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_VISIBILITY_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_VISIBILITY_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mask/mask_edit.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-visibility-clear-batch-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-002-OBJECT.TRANSFORM_HIERARCHY.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_VISIBILITY_MACRO_BATCH",
|
|
"task": "WBV2-P1376-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1376-001:OBJECT_VISIBILITY_MACRO_BATCH:6d311893dd3a298c",
|
|
"selectedRecordIds": [
|
|
"operator:MASK_OT_hide_view_set"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_VISIBILITY_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_VISIBILITY_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_VISIBILITY_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mask/mask_edit.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-visibility-clear-batch-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-002-OBJECT.TRANSFORM_HIERARCHY.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_SCALE_CLEAR_MACRO_BATCH",
|
|
"task": "WBV2-P1377-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1377-001:OBJECT_SCALE_CLEAR_MACRO_BATCH:21ee71209f57696a",
|
|
"selectedRecordIds": [
|
|
"operator:POSE_OT_scale_clear"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_SCALE_CLEAR_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_SCALE_CLEAR_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_SCALE_CLEAR_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/armature/armature_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-transform-clear-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_TRANSFORM_APPLY_MACRO_BATCH",
|
|
"task": "WBV2-P1378-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1378-001:OBJECT_TRANSFORM_APPLY_MACRO_BATCH:2b4f92dbb7cd4491",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_visual_transform_apply"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_TRANSFORM_APPLY_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_TRANSFORM_APPLY_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_TRANSFORM_APPLY_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-transform-apply-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_TRANSFORM_APPLY_MACRO_BATCH",
|
|
"task": "WBV2-P1379-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1379-001:OBJECT_TRANSFORM_APPLY_MACRO_BATCH:bfe7daa60be2d712",
|
|
"selectedRecordIds": [
|
|
"operator:POSE_OT_visual_transform_apply"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_TRANSFORM_APPLY_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_TRANSFORM_APPLY_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_TRANSFORM_APPLY_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/armature/armature_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-transform-apply-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_MOVE_COLLECTION_MACRO_BATCH",
|
|
"task": "WBV2-P1380-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1380-001:OBJECT_MOVE_COLLECTION_MACRO_BATCH:77f44b047d1a88c1",
|
|
"selectedRecordIds": [
|
|
"operator:ARMATURE_OT_move_to_collection"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_MOVE_COLLECTION_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_MOVE_COLLECTION_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_MOVE_COLLECTION_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/armature/armature_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-move-batch-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P24-001-OBJECT_OPERATIONS.MOVE_COLLECTION.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_PARENT_MACRO_BATCH",
|
|
"task": "WBV2-P1381-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1381-001:OBJECT_PARENT_MACRO_BATCH:ec5938153f1e588a",
|
|
"selectedRecordIds": [
|
|
"operator:ARMATURE_OT_parent_set"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_PARENT_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_PARENT_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_PARENT_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/armature/armature_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-parent-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_PARENT_MACRO_BATCH",
|
|
"task": "WBV2-P1382-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1382-001:OBJECT_PARENT_MACRO_BATCH:0447b9fb7a8b8660",
|
|
"selectedRecordIds": [
|
|
"operator:MASK_OT_parent_set"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_PARENT_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_PARENT_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_PARENT_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mask/mask_edit.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-parent-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_PARENT_MACRO_BATCH",
|
|
"task": "WBV2-P1383-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1383-001:OBJECT_PARENT_MACRO_BATCH:69a30bf3585d78b1",
|
|
"selectedRecordIds": [
|
|
"operator:NODE_OT_parent_set"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_PARENT_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_PARENT_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_PARENT_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_node/node_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-parent-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "OBJECT_PARENT_MACRO_BATCH",
|
|
"task": "WBV2-P1384-001",
|
|
"owner": "OBJECT",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1384-001:OBJECT_PARENT_MACRO_BATCH:2f567b446f4dbed0",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_vertex_parent_set"
|
|
],
|
|
"capabilities": [
|
|
"CAP-OBJECT_PARENT_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_PARENT_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_PARENT_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-parent-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_PRIMITIVE_CUBE_MACRO_BATCH",
|
|
"task": "WBV2-P1385-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1385-001:MESH_PRIMITIVE_CUBE_MACRO_BATCH:d09d80f7c1b52bfe",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_primitive_cube_add_gizmo"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_PRIMITIVE_CUBE_MACRO_BATCH-READER",
|
|
"CAP-MESH_PRIMITIVE_CUBE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_PRIMITIVE_CUBE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-primitive-cube-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"task": "WBV2-P1386-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1386-001:MESH_EXTRUDE_MACRO_BATCH:5d88ca9ee68a105c",
|
|
"selectedRecordIds": [
|
|
"operator-macro:ARMATURE_OT_extrude_forked"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/armature/armature_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"task": "WBV2-P1387-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1387-001:MESH_EXTRUDE_MACRO_BATCH:68ffe5ba3508a8e3",
|
|
"selectedRecordIds": [
|
|
"operator-macro:ARMATURE_OT_extrude_move"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/armature/armature_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"task": "WBV2-P1388-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1388-001:MESH_EXTRUDE_MACRO_BATCH:82fe86cad6cb37a8",
|
|
"selectedRecordIds": [
|
|
"operator-macro:CURVES_OT_extrude_move"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/curves/intern/curves_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"task": "WBV2-P1389-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1389-001:MESH_EXTRUDE_MACRO_BATCH:4de5a8969932e8e9",
|
|
"selectedRecordIds": [
|
|
"operator-macro:CURVE_OT_extrude_move"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/curve/curve_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"task": "WBV2-P1390-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1390-001:MESH_EXTRUDE_MACRO_BATCH:12bc92236398200b",
|
|
"selectedRecordIds": [
|
|
"operator-macro:GREASE_PENCIL_OT_extrude_move"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/grease_pencil/intern/grease_pencil_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"task": "WBV2-P1391-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1391-001:MESH_EXTRUDE_MACRO_BATCH:5f067119b196acc9",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MESH_OT_extrude_context_move"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"task": "WBV2-P1392-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1392-001:MESH_EXTRUDE_MACRO_BATCH:9b2db02d89b0195b",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MESH_OT_extrude_edges_move"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"task": "WBV2-P1393-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1393-001:MESH_EXTRUDE_MACRO_BATCH:f900ba338f1dc4c1",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MESH_OT_extrude_faces_move"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"task": "WBV2-P1394-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1394-001:MESH_EXTRUDE_MACRO_BATCH:4b7b98d81ce69e0d",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MESH_OT_extrude_manifold"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"task": "WBV2-P1395-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1395-001:MESH_EXTRUDE_MACRO_BATCH:d49f6c73e8a1bc83",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MESH_OT_extrude_region_move"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"task": "WBV2-P1396-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1396-001:MESH_EXTRUDE_MACRO_BATCH:5260939325059c04",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MESH_OT_extrude_region_shrink_fatten"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"task": "WBV2-P1397-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1397-001:MESH_EXTRUDE_MACRO_BATCH:a92a2cc72e827244",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MESH_OT_extrude_vertices_move"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"task": "WBV2-P1398-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1398-001:MESH_EXTRUDE_MACRO_BATCH:21ea2b18ae7fed33",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MESH_OT_polybuild_extrude_at_cursor_move"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"task": "WBV2-P1399-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1399-001:MESH_EXTRUDE_MACRO_BATCH:ed1ff092325a7818",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_dupli_extrude_cursor"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"task": "WBV2-P1400-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1400-001:MESH_EXTRUDE_MACRO_BATCH:101a68d06b531b4a",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_extrude_context"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"task": "WBV2-P1401-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1401-001:MESH_EXTRUDE_MACRO_BATCH:faeadd8684fee3e3",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_extrude_edges_indiv"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"task": "WBV2-P1402-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1402-001:MESH_EXTRUDE_MACRO_BATCH:be2ad677cb5157e7",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_extrude_faces_indiv"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"task": "WBV2-P1403-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1403-001:MESH_EXTRUDE_MACRO_BATCH:bd238b4a7e125cc5",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_extrude_repeat"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"task": "WBV2-P1404-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1404-001:MESH_EXTRUDE_MACRO_BATCH:a581546d0ff3dc35",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_extrude_verts_indiv"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_LOOPCUT_MACRO_BATCH",
|
|
"task": "WBV2-P1405-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1405-001:MESH_LOOPCUT_MACRO_BATCH:361c56cb78cfa6f7",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MESH_OT_loopcut_slide"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_LOOPCUT_MACRO_BATCH-READER",
|
|
"CAP-MESH_LOOPCUT_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_LOOPCUT_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_DISSOLVE_MACRO_BATCH",
|
|
"task": "WBV2-P1406-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1406-001:MESH_DISSOLVE_MACRO_BATCH:8b7fa667c8c517b0",
|
|
"selectedRecordIds": [
|
|
"operator:ARMATURE_OT_dissolve"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-READER",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/armature/armature_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_DISSOLVE_MACRO_BATCH",
|
|
"task": "WBV2-P1407-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1407-001:MESH_DISSOLVE_MACRO_BATCH:9daaf10e3afe5523",
|
|
"selectedRecordIds": [
|
|
"operator:CURVE_OT_dissolve_verts"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-READER",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/curve/curve_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_DISSOLVE_MACRO_BATCH",
|
|
"task": "WBV2-P1408-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1408-001:MESH_DISSOLVE_MACRO_BATCH:017824f266ac2393",
|
|
"selectedRecordIds": [
|
|
"operator:GREASE_PENCIL_OT_dissolve"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-READER",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/grease_pencil/intern/grease_pencil_edit.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_DISSOLVE_MACRO_BATCH",
|
|
"task": "WBV2-P1409-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1409-001:MESH_DISSOLVE_MACRO_BATCH:485d8cb2ab41f10b",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_dissolve_degenerate"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-READER",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_DISSOLVE_MACRO_BATCH",
|
|
"task": "WBV2-P1410-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1410-001:MESH_DISSOLVE_MACRO_BATCH:ae9148bee3425973",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_dissolve_faces"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-READER",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_DISSOLVE_MACRO_BATCH",
|
|
"task": "WBV2-P1411-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1411-001:MESH_DISSOLVE_MACRO_BATCH:b5bf0587bcb6cd5c",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_dissolve_limited"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-READER",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_DISSOLVE_MACRO_BATCH",
|
|
"task": "WBV2-P1412-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1412-001:MESH_DISSOLVE_MACRO_BATCH:6f8dcbe6ddf044ef",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_dissolve_mode"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-READER",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_DISSOLVE_MACRO_BATCH",
|
|
"task": "WBV2-P1413-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1413-001:MESH_DISSOLVE_MACRO_BATCH:cdec8905043147bc",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_dissolve_verts"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-READER",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
},
|
|
{
|
|
"id": "MESH_DISSOLVE_MACRO_BATCH",
|
|
"task": "WBV2-P1414-001",
|
|
"owner": "MESH",
|
|
"sourceBacked": true,
|
|
"batchId": "WBV2-P1414-001:MESH_DISSOLVE_MACRO_BATCH:63f53955183b00ce",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_polybuild_dissolve_at_cursor"
|
|
],
|
|
"capabilities": [
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-READER",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
],
|
|
"tasks": [
|
|
{
|
|
"id": "WBV2-P1096-000",
|
|
"phase": "1096",
|
|
"title": "supersede_generic_continuation_queue",
|
|
"kind": "bridge",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1095-003"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "bridge",
|
|
"gate": "QUEUE",
|
|
"card": "docs/tasks/WBV2-P1096-000.md",
|
|
"behavior": "Replace the generic continuation queue with a finite module execution plan without claiming capability parity.",
|
|
"outputs": [
|
|
"bridge manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"no parity claim",
|
|
"inventory preserved",
|
|
"module plan hash-bound"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1100-000",
|
|
"phase": "1100",
|
|
"title": "reorganize_module_execution_plan",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1096-000"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1100-000.md",
|
|
"behavior": "Reuse completed source-backed work and activate finite module-level implementation and verification.",
|
|
"outputs": [
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"completed receipts reused",
|
|
"generic continuation excluded",
|
|
"one module active",
|
|
"inventory preserved"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1100-001",
|
|
"phase": "1100",
|
|
"title": "verify_render_light_camera_module",
|
|
"kind": "module",
|
|
"owner": "RENDER",
|
|
"dependsOn": [
|
|
"WBV2-P1100-000"
|
|
],
|
|
"parityId": "RENDER_LIGHT_CAMERA",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-render_light_camera",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1100-001.md",
|
|
"behavior": "Complete the RENDER_LIGHT_CAMERA module through its shared Blender Main primitives and aggregate case matrix.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive Main mutation is proven",
|
|
"negative and recovery cases are proven",
|
|
"Chromium and save/reopen receipts are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "RENDER_LIGHT_CAMERA",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-RENDER-LIGHT-TYPE",
|
|
"CAP-RENDER-LIGHT-AREA-SHAPE",
|
|
"CAP-RENDER-LIGHT-CONTRIBUTION-FACTORS",
|
|
"CAP-RENDER-LIGHT-SHADOW-CONTROLS",
|
|
"CAP-RENDER-LIGHT-CASCADE-CONTROLS",
|
|
"CAP-RENDER-LIGHT-AREA-SIZE-Z",
|
|
"CAP-RENDER-LIGHT-CLIP-START",
|
|
"CAP-RENDER-WORLD-LIGHTING-CONTROLS",
|
|
"CAP-RENDER-WORLD-PROBE-CONTROLS",
|
|
"CAP-RENDER-WORLD-ENVIRONMENT-STRENGTH",
|
|
"CAP-RENDER-CAMERA-DOF-FOCUS-OBJECT",
|
|
"CAP-RENDER-CAMERA-PANORAMA"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/protocol/scene-ir.ts",
|
|
"web/protocol/web-engine.ts",
|
|
"web/app/src/workers/web-engine.worker.ts",
|
|
"web/app/src/app/App.tsx",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P595-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P595-002/implementation-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P596-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P596-002/implementation-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P597-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P597-002/implementation-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P598-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P598-002/implementation-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P599-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P599-002/implementation-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P600-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P600-002/implementation-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P601-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P601-002/implementation-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P602-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P602-002/implementation-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P603-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P603-002/implementation-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P604-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P604-002/implementation-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P605-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P605-002/implementation-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P606-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P606-002/implementation-report.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"setLightProperties",
|
|
"setWorldProperties",
|
|
"setCameraProperties",
|
|
"camera panorama",
|
|
"world environment",
|
|
"light shadow/cascade"
|
|
],
|
|
"negative": [
|
|
"invalid enum",
|
|
"invalid numeric bounds",
|
|
"near/far conflict",
|
|
"unknown target",
|
|
"stale revision"
|
|
],
|
|
"recovery": [
|
|
"undo",
|
|
"redo",
|
|
"save/reopen",
|
|
"worker disposal"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run test:lighting-field-roundtrip",
|
|
"npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-lighting-fields-production.spec.ts tests/e2e/lighting-field-roundtrip.spec.ts"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1100-002",
|
|
"phase": "1100",
|
|
"title": "verify_scene_object_mesh_module",
|
|
"kind": "module",
|
|
"owner": "SCENE_MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1100-001"
|
|
],
|
|
"parityId": "SCENE_OBJECT_MESH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-scene_object_mesh",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1100-002.md",
|
|
"behavior": "Complete the SCENE_OBJECT_MESH module through its shared Blender Main primitives and aggregate case matrix.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive Main mutation is proven",
|
|
"negative and recovery cases are proven",
|
|
"Chromium and save/reopen receipts are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "SCENE_OBJECT_MESH",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH-TOPOLOGY-FAMILY",
|
|
"CAP-CORE-SCENE-OBJECT",
|
|
"CAP-OBJECT-MOVE-COLLECTION"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/protocol/web-engine.ts",
|
|
"web/app/src/workers/web-engine.worker.ts"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P11-001/manifest.json",
|
|
"report": "tests/golden/WBV2-P11-001/mesh-topology-receipt-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P12-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P12-002/scene-object-receipt-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P24-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P24-002/object-move-receipt-report.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"mesh topology",
|
|
"visibility",
|
|
"transform",
|
|
"collection membership"
|
|
],
|
|
"negative": [
|
|
"invalid selection",
|
|
"stale revision",
|
|
"linked data"
|
|
],
|
|
"recovery": [
|
|
"undo",
|
|
"redo",
|
|
"save/reopen"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts tests/e2e/wbv2-scene-object-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1100-003",
|
|
"phase": "1100",
|
|
"title": "verify_material_animation_module",
|
|
"kind": "module",
|
|
"owner": "MATERIAL_ANIMATION",
|
|
"dependsOn": [
|
|
"WBV2-P1100-002"
|
|
],
|
|
"parityId": "MATERIAL_ANIMATION",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-material_animation",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1100-003.md",
|
|
"behavior": "Complete the MATERIAL_ANIMATION module through its shared Blender Main primitives and aggregate case matrix.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive Main mutation is proven",
|
|
"negative and recovery cases are proven",
|
|
"Chromium and save/reopen receipts are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "MATERIAL_ANIMATION",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MATERIAL-ANIMATION"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/protocol/web-engine.ts",
|
|
"web/app/src/workers/web-engine.worker.ts"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P12-003/manifest.json",
|
|
"report": "tests/golden/WBV2-P12-003/material-animation-receipt-report.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"principled material",
|
|
"image node",
|
|
"keyframe",
|
|
"FCurve"
|
|
],
|
|
"negative": [
|
|
"unsupported graph",
|
|
"stale revision"
|
|
],
|
|
"recovery": [
|
|
"undo",
|
|
"redo",
|
|
"save/reopen"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-material-animation-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1101-000",
|
|
"phase": "1101",
|
|
"title": "verify_nonmesh_geometry_module",
|
|
"kind": "module",
|
|
"owner": "GEOMETRY",
|
|
"dependsOn": [
|
|
"WBV2-P1100-003"
|
|
],
|
|
"parityId": "NONMESH_GEOMETRY",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-nonmesh_geometry",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1101-000.md",
|
|
"behavior": "Complete the NONMESH_GEOMETRY module through its shared Blender Main primitives and aggregate case matrix.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive Main mutation is proven",
|
|
"negative and recovery cases are proven",
|
|
"Chromium and save/reopen receipts are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "NONMESH_GEOMETRY",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-VIEWPORT-NONMESH",
|
|
"CAP-NATIVE-DATABLOCK"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/protocol/web-engine.ts",
|
|
"web/app/src/workers/web-engine.worker.ts"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P12-004/manifest.json",
|
|
"report": "tests/golden/WBV2-P12-004/viewport-nonmesh-receipt-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P29-003/manifest.json",
|
|
"report": "tests/golden/WBV2-P29-003/implementation-report.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"curve",
|
|
"surface",
|
|
"font",
|
|
"volume",
|
|
"metaball",
|
|
"grease pencil"
|
|
],
|
|
"negative": [
|
|
"unsupported data",
|
|
"resource missing",
|
|
"malformed geometry"
|
|
],
|
|
"recovery": [
|
|
"save/reopen",
|
|
"resource disposal"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-viewport-nonmesh-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1101-001",
|
|
"phase": "1101",
|
|
"title": "verify_nodes_simulation_module",
|
|
"kind": "module",
|
|
"owner": "NODES_SIMULATION",
|
|
"dependsOn": [
|
|
"WBV2-P1101-000"
|
|
],
|
|
"parityId": "NODES_SIMULATION",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-nodes_simulation",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1101-001.md",
|
|
"behavior": "Complete the NODES_SIMULATION module through its shared Blender Main primitives and aggregate case matrix.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive Main mutation is proven",
|
|
"negative and recovery cases are proven",
|
|
"Chromium and save/reopen receipts are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "NODES_SIMULATION",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-GEOMETRY-NODES",
|
|
"CAP-SIMULATION"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/protocol/web-engine.ts",
|
|
"web/app/src/workers/web-engine.worker.ts"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P13-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P13-002/geometry-nodes-receipt-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P13-004/manifest.json",
|
|
"report": "tests/golden/WBV2-P13-004/advanced-domain-receipt-report.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"allowlisted node graph",
|
|
"physics manifest",
|
|
"stable hash"
|
|
],
|
|
"negative": [
|
|
"unsupported node",
|
|
"budget exceeded",
|
|
"stale revision"
|
|
],
|
|
"recovery": [
|
|
"save/reopen",
|
|
"cache disposal"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run test:geometry-node-main-reader",
|
|
"npm --prefix web run test:physics-main-reader"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1101-002",
|
|
"phase": "1101",
|
|
"title": "verify_asset_io_module",
|
|
"kind": "module",
|
|
"owner": "ASSET",
|
|
"dependsOn": [
|
|
"WBV2-P1101-001"
|
|
],
|
|
"parityId": "ASSET_IO",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-asset_io",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1101-002.md",
|
|
"behavior": "Complete the ASSET_IO module through its shared Blender Main primitives and aggregate case matrix.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive Main mutation is proven",
|
|
"negative and recovery cases are proven",
|
|
"Chromium and save/reopen receipts are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "ASSET_IO",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-ASSET-LINK-OVERRIDE-RELOAD",
|
|
"CAP-ASSET-CATALOG-MUTATION"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/protocol/web-engine.ts",
|
|
"web/app/src/workers/web-engine.worker.ts"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P11-003/manifest.json",
|
|
"report": "tests/golden/WBV2-P11-003/asset-link-override-receipt-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P10-003/manifest.json",
|
|
"report": "tests/golden/WBV2-P10-003/module-matrix-receipt-report.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"append",
|
|
"link",
|
|
"override",
|
|
"reload",
|
|
"asset catalog v2"
|
|
],
|
|
"negative": [
|
|
"missing source",
|
|
"ownership violation",
|
|
"hash drift",
|
|
"collision"
|
|
],
|
|
"recovery": [
|
|
"undo",
|
|
"redo",
|
|
"save/reopen",
|
|
"IndexedDB restart"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run test:asset-catalog-v2",
|
|
"npm --prefix web run test:asset-catalog-migration",
|
|
"npm --prefix web run test:asset-catalog-negatives",
|
|
"npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-asset-link-override-production.spec.ts tests/e2e/wbv2-asset-catalog-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1101-003",
|
|
"phase": "1101",
|
|
"title": "verify_sculpt_paint_module",
|
|
"kind": "module",
|
|
"owner": "SCULPT_PAINT",
|
|
"dependsOn": [
|
|
"WBV2-P1101-002"
|
|
],
|
|
"parityId": "SCULPT_PAINT",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-sculpt_paint",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1101-003.md",
|
|
"behavior": "Complete the SCULPT_PAINT module through its shared Blender Main primitives and aggregate case matrix.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive Main mutation is proven",
|
|
"negative and recovery cases are proven",
|
|
"Chromium and save/reopen receipts are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "SCULPT_PAINT",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-PAINT-ATTRIBUTES",
|
|
"CAP-SCULPT-PAINT"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/protocol/web-engine.ts",
|
|
"web/app/src/workers/web-engine.worker.ts"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P16-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P16-002/paint-attributes-receipt-report.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"vertex colors",
|
|
"vertex weights",
|
|
"bounded sculpt stroke"
|
|
],
|
|
"negative": [
|
|
"mirror unverified",
|
|
"invalid patch",
|
|
"unsupported brush"
|
|
],
|
|
"recovery": [
|
|
"undo",
|
|
"redo",
|
|
"save/reopen"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run test:paint-roundtrip",
|
|
"npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-paint-attributes-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1102-000",
|
|
"phase": "1102",
|
|
"title": "implement_ui_editor_module",
|
|
"kind": "module",
|
|
"owner": "EDITOR",
|
|
"dependsOn": [
|
|
"WBV2-P1101-003"
|
|
],
|
|
"parityId": "UI_EDITOR",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-ui_editor",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1102-000.md",
|
|
"behavior": "Complete the UI_EDITOR module through its shared Blender Main primitives and aggregate case matrix.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive Main mutation is proven",
|
|
"negative and recovery cases are proven",
|
|
"Chromium and save/reopen receipts are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "UI_EDITOR",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-UI-EDITOR"
|
|
],
|
|
"sourcePaths": [
|
|
"web/protocol/editor-workflow.ts",
|
|
"web/app/src/app/App.tsx",
|
|
"web/app/src/workers/web-engine.worker.ts"
|
|
],
|
|
"reuseReceipts": [],
|
|
"positive": [
|
|
"editor context",
|
|
"workspace",
|
|
"area/region"
|
|
],
|
|
"negative": [
|
|
"unsupported editor",
|
|
"invalid context"
|
|
],
|
|
"recovery": [
|
|
"worker restart",
|
|
"save/reopen"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run test:editor-main-reader",
|
|
"npm --prefix web run test:e2e -- --workers=1 tests/e2e/ui-editor-workflow-production.spec.ts",
|
|
"npm --prefix web run typecheck"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1102-001",
|
|
"phase": "1102",
|
|
"title": "close_module_execution_gate",
|
|
"kind": "module",
|
|
"owner": "RELEASE",
|
|
"dependsOn": [
|
|
"WBV2-P1102-000"
|
|
],
|
|
"parityId": "INVENTORY_GATE",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-inventory_gate",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1102-001.md",
|
|
"behavior": "Complete the INVENTORY_GATE module through its shared Blender Main primitives and aggregate case matrix.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive Main mutation is proven",
|
|
"negative and recovery cases are proven",
|
|
"Chromium and save/reopen receipts are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "INVENTORY_GATE",
|
|
"sourceBacked": true,
|
|
"capabilities": [],
|
|
"sourcePaths": [
|
|
"tests/golden/WBV2-P0-002/parity-map.json",
|
|
"tests/golden/WBV2-P1100-000/module-execution-plan.json"
|
|
],
|
|
"reuseReceipts": [],
|
|
"positive": [
|
|
"aggregate module receipts",
|
|
"catalog hash"
|
|
],
|
|
"negative": [
|
|
"missing receipt",
|
|
"hash drift",
|
|
"false completion"
|
|
],
|
|
"recovery": [
|
|
"re-run affected module only"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-wbv2-module-execution.mjs",
|
|
"npm --prefix web run build"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1103-000",
|
|
"phase": "1103",
|
|
"title": "aggregate_object_operations_module",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1102-001"
|
|
],
|
|
"parityId": "OBJECT_OPERATIONS",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_operations",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1103-000.md",
|
|
"behavior": "Aggregate the existing source-backed Object Main operations into one module and revalidate the Chromium operator matrix.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive Main mutation is proven",
|
|
"negative and recovery cases are proven",
|
|
"Chromium and save/reopen receipts are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "OBJECT_OPERATIONS",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT-DUPLICATE",
|
|
"CAP-OBJECT-CREATE",
|
|
"CAP-OBJECT-PARENT",
|
|
"CAP-OBJECT-COLLECTION",
|
|
"CAP-OBJECT-RENAME",
|
|
"CAP-OBJECT-DELETE",
|
|
"CAP-OBJECT-TRANSFORM"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"web/protocol/web-engine.ts",
|
|
"web/app/src/workers/web-engine.worker.ts",
|
|
"web/app/src/app/App.tsx"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P17-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P17-002/object-duplicate-receipt-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P18-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P18-002/object-create-receipt-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P19-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P19-002/object-parent-receipt-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P20-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P20-002/collection-create-receipt-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P21-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P21-002/object-rename-receipt-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P22-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P22-002/object-delete-receipt-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P23-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P23-002/object-transform-receipt-report.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"duplicate",
|
|
"create",
|
|
"parent",
|
|
"collection",
|
|
"rename",
|
|
"delete",
|
|
"transform apply"
|
|
],
|
|
"negative": [
|
|
"unknown object",
|
|
"invalid parent cycle",
|
|
"malformed transform"
|
|
],
|
|
"recovery": [
|
|
"undo",
|
|
"redo",
|
|
"save/reopen",
|
|
"deterministic second run"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-duplicate-production.spec.ts tests/e2e/wbv2-object-create-production.spec.ts tests/e2e/wbv2-object-parent-production.spec.ts tests/e2e/wbv2-collection-create-production.spec.ts tests/e2e/wbv2-object-rename-production.spec.ts tests/e2e/wbv2-object-delete-production.spec.ts tests/e2e/wbv2-object-transform-production.spec.ts",
|
|
"npm --prefix web run typecheck"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1104-000",
|
|
"phase": "1104",
|
|
"title": "verify_compositor_sequencer_module",
|
|
"kind": "module",
|
|
"owner": "MEDIA",
|
|
"dependsOn": [
|
|
"WBV2-P1103-000"
|
|
],
|
|
"parityId": "COMPOSITOR_SEQUENCER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-compositor_sequencer",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1104-000.md",
|
|
"behavior": "Verify the source-backed compositor and sequencer module through golden, unsupported-gate and media recovery cases.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive Main or compositor mutation is proven",
|
|
"negative and recovery cases are proven",
|
|
"Chromium and save/reopen receipts are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "COMPOSITOR_SEQUENCER",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-COMPOSITOR-NODE-GRAPH",
|
|
"CAP-COMPOSITOR-UNSUPPORTED-GATE",
|
|
"CAP-SEQUENCER-MEDIA-RECOVERY"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/protocol/compositor.ts",
|
|
"web/protocol/sequencer.ts",
|
|
"web/app/src/workers/web-engine.worker.ts",
|
|
"web/app/src/app/App.tsx"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P29-003/manifest.json",
|
|
"report": "tests/golden/WBV2-P29-003/implementation-report.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"compositor node graph",
|
|
"sequencer still-image timeline",
|
|
"media cache contract"
|
|
],
|
|
"negative": [
|
|
"unsupported compositor node",
|
|
"invalid sequencer strip",
|
|
"stale media revision"
|
|
],
|
|
"recovery": [
|
|
"worker restart",
|
|
"save/reopen",
|
|
"media cache replay",
|
|
"movie codec blocked without READY receipt"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run test:compositor-node-golden",
|
|
"npm --prefix web run test:compositor-unsupported-gate",
|
|
"npm --prefix web run test:sequencer-main-reader",
|
|
"node --test web/tests/unit/sequencer-media-cache.test.mjs",
|
|
"npm --prefix web run test:e2e -- --workers=1 tests/e2e/smoke.spec.ts -g \"N-021 sequencer|real Blender 5.2 sequencer\"",
|
|
"npm --prefix web run typecheck"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1105-000",
|
|
"phase": "1105",
|
|
"title": "verify_audio_particle_module",
|
|
"kind": "module",
|
|
"owner": "AUDIO_PARTICLE",
|
|
"dependsOn": [
|
|
"WBV2-P1104-000"
|
|
],
|
|
"parityId": "AUDIO_PARTICLE",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-audio_particle",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1105-000.md",
|
|
"behavior": "Verify Sound, Speaker and ParticleSettings mutations against authoritative Blender Main with explicit build capability gates.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive Main mutation is proven or a typed build capability blocker is recorded",
|
|
"negative and recovery cases are proven",
|
|
"Chromium and save/reopen receipts are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "AUDIO_PARTICLE",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-SOUND-PROPERTIES",
|
|
"CAP-SPEAKER-PROPERTIES",
|
|
"CAP-PARTICLE-SETTINGS"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"web/protocol/web-engine.ts",
|
|
"web/app/src/workers/web-engine.worker.ts",
|
|
"web/app/src/app/App.tsx",
|
|
"web/protocol/io-media-commands.ts",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P33-001/manifest.json",
|
|
"report": "tests/golden/WBV2-P33-001/implementation-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P33-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P33-002/implementation-report.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"Sound properties",
|
|
"Speaker properties",
|
|
"ParticleSettings properties"
|
|
],
|
|
"negative": [
|
|
"missing Main datablock",
|
|
"unsupported build feature",
|
|
"out-of-range property"
|
|
],
|
|
"recovery": [
|
|
"undo",
|
|
"redo",
|
|
"save/reopen",
|
|
"worker restart"
|
|
],
|
|
"commands": [
|
|
"cmake --build build_web_blender6 --target web_engine -- -j8",
|
|
"npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-audio-particle-production.spec.ts",
|
|
"npm --prefix web run typecheck"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1106-000",
|
|
"phase": "1106",
|
|
"title": "verify_rig_animation_module",
|
|
"kind": "module",
|
|
"owner": "RIG",
|
|
"dependsOn": [
|
|
"WBV2-P1105-000"
|
|
],
|
|
"parityId": "RIG_ANIMATION",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-rig_animation",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1106-000.md",
|
|
"behavior": "Verify armature pose, constraints and NLA animation through the existing Blender Main primitives.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive Main mutation is proven",
|
|
"negative and recovery cases are proven",
|
|
"Chromium and save/reopen receipts are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "RIG_ANIMATION",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-RIG-POSE",
|
|
"CAP-CONSTRAINTS",
|
|
"CAP-NLA-ANIMATION"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"web/protocol/web-engine.ts",
|
|
"web/protocol/nla.ts",
|
|
"web/app/src/workers/web-engine.worker.ts",
|
|
"web/app/src/app/App.tsx"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P13-003/manifest.json",
|
|
"report": "tests/golden/WBV2-P13-003/rig-pose-receipt-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P13-004/manifest.json",
|
|
"report": "tests/golden/WBV2-P13-004/advanced-domain-receipt-report.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"armature pose",
|
|
"constraint edit",
|
|
"NLA stack"
|
|
],
|
|
"negative": [
|
|
"missing bone",
|
|
"invalid constraint influence",
|
|
"stale NLA revision"
|
|
],
|
|
"recovery": [
|
|
"undo",
|
|
"redo",
|
|
"save/reopen",
|
|
"deterministic second run"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-rig-pose-production.spec.ts",
|
|
"npm --prefix web run test:nla-operator",
|
|
"npm --prefix web run typecheck"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1107-000",
|
|
"phase": "1107",
|
|
"title": "verify_modifier_system_module",
|
|
"kind": "module",
|
|
"owner": "MODIFIER",
|
|
"dependsOn": [
|
|
"WBV2-P1106-000"
|
|
],
|
|
"parityId": "MODIFIER_SYSTEM",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-modifier_system",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1107-000.md",
|
|
"behavior": "Verify modifier stack visibility and bounded parameter mutation through authoritative Blender Main.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive Main mutation is proven",
|
|
"negative and recovery cases are proven",
|
|
"Chromium and save/reopen receipts are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "MODIFIER_SYSTEM",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MODIFIER-STATE-MUTATION",
|
|
"CAP-MODIFIER-PARAMETER-EDIT",
|
|
"CAP-MODIFIER-STACK-READER"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/protocol/web-engine.ts",
|
|
"web/protocol/modifier-graph.ts",
|
|
"web/protocol/depsgraph.ts",
|
|
"web/app/src/engine-client/WebEngineClient.ts",
|
|
"web/app/src/workers/web-engine.worker.ts",
|
|
"web/app/src/app/App.tsx",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P9-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P9-002/modifier-receipt-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P11-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P11-002/modifier-parameter-receipt-report.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"modifier visibility toggle",
|
|
"bounded DECIMATE parameter mutation",
|
|
"modifier stack evaluation reader"
|
|
],
|
|
"negative": [
|
|
"unknown modifier UUID",
|
|
"stale mesh revision",
|
|
"out-of-range parameter"
|
|
],
|
|
"recovery": [
|
|
"undo",
|
|
"redo",
|
|
"save/reopen",
|
|
"deterministic second run"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-modifier-production.spec.ts tests/e2e/wbv2-modifier-parameter-production.spec.ts",
|
|
"npm --prefix web run test:modifier-goldens",
|
|
"npm --prefix web run typecheck"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1108-000",
|
|
"phase": "1108",
|
|
"title": "verify_nodes_graph_module",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1107-000"
|
|
],
|
|
"parityId": "NODES_GRAPH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-nodes_graph",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1108-000.md",
|
|
"behavior": "Verify Geometry Nodes graph identity, allowlisted evaluation, field budgets and unsupported graph retention.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive graph reader/evaluation evidence is proven",
|
|
"negative and recovery cases are proven",
|
|
"Chromium and save/reopen receipts are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "NODES_GRAPH",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-GEOMETRY-NODES-GRAPH",
|
|
"CAP-GEOMETRY-NODES-ALLOWLIST",
|
|
"CAP-GEOMETRY-NODES-FIELD-BUDGET"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/protocol/web-engine.ts",
|
|
"web/protocol/geometry-nodes.ts",
|
|
"web/protocol/geometry-node-commands.ts",
|
|
"web/protocol/depsgraph.ts",
|
|
"web/app/src/engine-client/WebEngineClient.ts",
|
|
"web/app/src/workers/web-engine.worker.ts",
|
|
"web/app/src/app/App.tsx",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P13-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P13-002/geometry-nodes-receipt-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P13-004/manifest.json",
|
|
"report": "tests/golden/WBV2-P13-004/advanced-domain-receipt-report.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"allowlisted graph identity",
|
|
"Blender depsgraph geometry evaluation",
|
|
"field materialization with exact domain cardinality"
|
|
],
|
|
"negative": [
|
|
"unsupported node graph",
|
|
"field budget overflow",
|
|
"stale or invalid graph command"
|
|
],
|
|
"recovery": [
|
|
"save/reopen",
|
|
"worker restart",
|
|
"graph retention after rejected command",
|
|
"deterministic second run"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run test:geometry-node-evaluator-golden",
|
|
"npm --prefix web run test:geometry-node-field-budget",
|
|
"npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-geometry-nodes-production.spec.ts",
|
|
"npm --prefix web run typecheck"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1109-000",
|
|
"phase": "1109",
|
|
"title": "verify_io_format_module",
|
|
"kind": "module",
|
|
"owner": "MEDIA",
|
|
"dependsOn": [
|
|
"WBV2-P1108-000"
|
|
],
|
|
"parityId": "IO_FORMAT",
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "module-io_format",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1109-000.md",
|
|
"behavior": "Verify format capability routing, runtime receipts, recovery and fail-closed file UI gates.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive format routing/readiness evidence is proven",
|
|
"negative and recovery cases are proven",
|
|
"Chromium and deterministic recovery receipts are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "IO_FORMAT",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-IO-FORMAT-CAPABILITY-MATRIX",
|
|
"CAP-IO-FORMAT-RUNTIME-RECEIPTS",
|
|
"CAP-IO-FORMAT-RECOVERY",
|
|
"CAP-IO-FORMAT-UI-GATE"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"web/protocol/asset-library-io.ts",
|
|
"web/protocol/io-format-capability-matrix.ts",
|
|
"web/protocol/io-format-receipt-binding.ts",
|
|
"web/protocol/io-format-runtime-receipt.ts",
|
|
"web/protocol/io-format-recovery.ts",
|
|
"web/protocol/io-format-ui-gate.ts",
|
|
"web/protocol/glb-export.ts",
|
|
"web/protocol/glb-import.ts",
|
|
"web/protocol/nonmesh-export.ts",
|
|
"web/app/src/engine-client/WebEngineClient.ts",
|
|
"web/app/src/workers/web-engine.worker.ts",
|
|
"web/app/src/app/App.tsx"
|
|
],
|
|
"reuseReceipts": [],
|
|
"positive": [
|
|
"GLB export readiness",
|
|
"format runtime receipt inventory",
|
|
"declared .blend import route"
|
|
],
|
|
"negative": [
|
|
"unverified format route",
|
|
"cancelled or OOM operation",
|
|
"unsupported file extension"
|
|
],
|
|
"recovery": [
|
|
"worker restart",
|
|
"small operation recovery",
|
|
"deterministic receipt replay",
|
|
"fail-closed UI route"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-io-format-receipt-bindings.mjs",
|
|
"node tools/web/check-io-format-runtime-receipts.mjs",
|
|
"node tools/web/check-io-format-recovery.mjs",
|
|
"node tools/web/check-io-format-ui-gate.mjs",
|
|
"npm --prefix web run test:e2e -- --workers=1 tests/e2e/io-format-recovery.spec.ts tests/e2e/io-format-ui-gate.spec.ts",
|
|
"npm --prefix web run typecheck"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1110-000",
|
|
"phase": "1110",
|
|
"title": "verify_render_pipeline_module",
|
|
"kind": "module",
|
|
"owner": "RENDER",
|
|
"dependsOn": [
|
|
"WBV2-P1109-000"
|
|
],
|
|
"parityId": "RENDER_PIPELINE",
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "module-render_pipeline",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1110-000.md",
|
|
"behavior": "Verify render backend routing, explicit resource budgets and Blender reference comparison in Chromium.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive render/reference evidence is proven",
|
|
"negative and recovery cases are proven",
|
|
"Chromium and deterministic render receipts are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "RENDER_PIPELINE",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-RENDER-BACKEND-ROUTING",
|
|
"CAP-RENDER-RESOURCE-BUDGET",
|
|
"CAP-RENDER-REFERENCE-COMPARISON"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"web/protocol/render-routing.ts",
|
|
"web/protocol/render-budget.ts",
|
|
"web/protocol/render-capabilities.ts",
|
|
"web/protocol/render-image-comparison.ts",
|
|
"web/protocol/server-render-job.ts",
|
|
"web/app/src/three-adapter/render-routing.ts",
|
|
"web/app/src/three-adapter/render-image-comparison.ts",
|
|
"web/app/src/workers/viewport-render.worker.ts",
|
|
"web/app/src/app/App.tsx",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [],
|
|
"positive": [
|
|
"bounded local backend routing",
|
|
"reference render metrics",
|
|
"resource budget acceptance"
|
|
],
|
|
"negative": [
|
|
"unknown or unavailable backend",
|
|
"aggregate texture/light budget overflow",
|
|
"wrong composition reference"
|
|
],
|
|
"recovery": [
|
|
"retain previous texture set",
|
|
"offscreen renderer parity",
|
|
"worker restart",
|
|
"deterministic second render"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run test:render-resource-budget",
|
|
"npm --prefix web run test:render-routing",
|
|
"npm --prefix web run test:render-reference",
|
|
"npm --prefix web run typecheck"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1111-000",
|
|
"phase": "1111",
|
|
"title": "verify_scripting_security_module",
|
|
"kind": "module",
|
|
"owner": "SCRIPTING",
|
|
"dependsOn": [
|
|
"WBV2-P1110-000"
|
|
],
|
|
"parityId": "SCRIPTING_SECURITY",
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "module-scripting_security",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1111-000.md",
|
|
"behavior": "Verify script source Main reader, deny-by-default permission policy and sandbox isolation/recovery.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive reader and policy evidence is proven",
|
|
"negative and recovery cases are proven",
|
|
"Chromium sandbox receipts are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "SCRIPTING_SECURITY",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-SCRIPT-MAIN-READER",
|
|
"CAP-SCRIPT-PERMISSION-POLICY",
|
|
"CAP-SCRIPT-SANDBOX-ISOLATION",
|
|
"CAP-SCRIPT-SANDBOX-RECOVERY"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"web/protocol/scene-ir.ts",
|
|
"web/protocol/scripting-platform.ts",
|
|
"web/app/src/workers/web-engine.worker.ts",
|
|
"web/app/src/workers/script-permission-policy-test.worker.ts",
|
|
"web/app/src/workers/script-sandbox-isolation-test.worker.ts",
|
|
"web/app/src/workers/script-sandbox-recovery-test.worker.ts",
|
|
"web/app/src/testing/script-sandbox-recovery.ts",
|
|
"web/app/src/app/App.tsx"
|
|
],
|
|
"reuseReceipts": [],
|
|
"positive": [
|
|
"script source inventory reader",
|
|
"explicit READ_MAIN permission",
|
|
"new-generation recovery audit"
|
|
],
|
|
"negative": [
|
|
"autorun denied by default",
|
|
"undeclared permission",
|
|
"sandbox crash/timeout/late result"
|
|
],
|
|
"recovery": [
|
|
"worker restart",
|
|
"sandbox generation rollover",
|
|
"continuous audit chain",
|
|
"deterministic second run"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run test:script-main-reader",
|
|
"npm --prefix web run test:scripting-isolation",
|
|
"npm --prefix web run test:e2e -- --workers=1 tests/e2e/script-permission-policy.spec.ts tests/e2e/script-sandbox-isolation.spec.ts tests/e2e/script-sandbox-recovery.spec.ts",
|
|
"npm --prefix web run typecheck"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1112-000",
|
|
"phase": "1112",
|
|
"title": "verify_animation_timeline_module",
|
|
"kind": "module",
|
|
"owner": "ANIMATION",
|
|
"dependsOn": [
|
|
"WBV2-P1111-000"
|
|
],
|
|
"parityId": "ANIMATION_TIMELINE",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-animation_timeline",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1112-000.md",
|
|
"behavior": "Verify frame evaluation and NLA time mapping through the production Worker and Blender Main.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive frame/NLA evaluation is proven",
|
|
"negative and recovery cases are proven",
|
|
"Chromium and deterministic evaluation receipts are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "ANIMATION_TIMELINE",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-FRAME-EVALUATION",
|
|
"CAP-NLA-TIME-MAPPING",
|
|
"CAP-ANIMATION-SAVE-REOPEN"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/protocol/web-engine.ts",
|
|
"web/protocol/nla.ts",
|
|
"web/protocol/depsgraph.ts",
|
|
"web/protocol/scene-ir.ts",
|
|
"web/app/src/engine-client/WebEngineClient.ts",
|
|
"web/app/src/workers/web-engine.worker.ts",
|
|
"web/app/src/app/App.tsx",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P13-004/manifest.json",
|
|
"report": "tests/golden/WBV2-P13-004/advanced-domain-receipt-report.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"frame 1/5/10 evaluation",
|
|
"NLA track and strip mapping",
|
|
"Blender depsgraph animation result"
|
|
],
|
|
"negative": [
|
|
"stale NLA revision",
|
|
"invalid strip topology",
|
|
"unsupported animation domain"
|
|
],
|
|
"recovery": [
|
|
"save/reopen",
|
|
"worker restart",
|
|
"deterministic repeated evaluation",
|
|
"preserve rejected stack"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run test:frame-evaluation",
|
|
"node tools/web/check-nla-evaluation-golden.mjs",
|
|
"npm --prefix web run test:e2e -- --workers=1 tests/e2e/nla-evaluation-golden.spec.ts",
|
|
"npm --prefix web run typecheck"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1113-000",
|
|
"phase": "1113",
|
|
"title": "verify_shader_material_module",
|
|
"kind": "module",
|
|
"owner": "MATERIAL",
|
|
"dependsOn": [
|
|
"WBV2-P1112-000"
|
|
],
|
|
"parityId": "SHADER_MATERIAL",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-shader_material",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1113-000.md",
|
|
"behavior": "Verify bounded Shader graph compilation, stable compile keys and fail-closed pipeline recovery.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive Shader Main compilation is proven",
|
|
"negative and recovery cases are proven",
|
|
"Chromium and deterministic compile receipts are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "SHADER_MATERIAL",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-SHADER-GRAPH-COMPILER",
|
|
"CAP-SHADER-COMPILE-KEY",
|
|
"CAP-SHADER-FAIL-CLOSED-RECOVERY"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/protocol/web-engine.ts",
|
|
"web/protocol/shader-graph.ts",
|
|
"web/protocol/shader-graph-commands.ts",
|
|
"web/protocol/shader-compiler.ts",
|
|
"web/protocol/render-capabilities.ts",
|
|
"web/app/src/engine-client/WebEngineClient.ts",
|
|
"web/app/src/workers/web-engine.worker.ts",
|
|
"web/app/src/app/App.tsx",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [],
|
|
"positive": [
|
|
"Principled/Image/Normal/Math graph compile",
|
|
"stable compile key",
|
|
"real Main shader material path"
|
|
],
|
|
"negative": [
|
|
"unknown shader node",
|
|
"graph cycle or duplicate link",
|
|
"unsupported renderer backend"
|
|
],
|
|
"recovery": [
|
|
"retain previous material after compile failure",
|
|
"worker restart",
|
|
"deterministic repeated compile",
|
|
"save/reopen material graph"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run test:shader-compile",
|
|
"npm --prefix web run test:shader-pipeline",
|
|
"npm --prefix web run test:shader-capability",
|
|
"npm --prefix web run typecheck"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1114-000",
|
|
"phase": "1114",
|
|
"title": "verify_grease_pencil_module",
|
|
"kind": "module",
|
|
"owner": "DRAWING",
|
|
"dependsOn": [
|
|
"WBV2-P1113-000"
|
|
],
|
|
"parityId": "GREASE_PENCIL",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-grease_pencil",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1114-000.md",
|
|
"behavior": "Verify Grease Pencil layer/frame Main mutations, stable identity validation and roundtrip recovery.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive Grease Pencil Main mutation is proven",
|
|
"negative and recovery cases are proven",
|
|
"Chromium and save/reopen receipts are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "GREASE_PENCIL",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-GREASE-PENCIL-LAYER-FRAME",
|
|
"CAP-GREASE-PENCIL-STROKE-READER",
|
|
"CAP-GREASE-PENCIL-ROUNDTRIP"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/protocol/scene-ir.ts",
|
|
"web/protocol/grease-pencil.ts",
|
|
"web/protocol/grease-pencil-reorder.ts",
|
|
"web/protocol/grease-pencil-selection.ts",
|
|
"web/protocol/grease-pencil-marquee.ts",
|
|
"web/app/src/app/App.tsx",
|
|
"web/app/src/three-adapter/grease-pencil.ts",
|
|
"web/app/src/three-adapter/viewport.ts",
|
|
"web/app/src/three-adapter/offscreen-viewport.ts",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [],
|
|
"positive": [
|
|
"create and reorder layer",
|
|
"insert and move frame",
|
|
"stable Grease Pencil drawing reader"
|
|
],
|
|
"negative": [
|
|
"forged drawing identity",
|
|
"occupied frame target",
|
|
"stale layer/frame revision"
|
|
],
|
|
"recovery": [
|
|
"undo",
|
|
"redo",
|
|
"save/reopen",
|
|
"deterministic layer/frame replay"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run test:grease-pencil-reorder",
|
|
"npm --prefix web run test:grease-pencil",
|
|
"npm --prefix web run typecheck"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1115-000",
|
|
"phase": "1115",
|
|
"title": "verify_curve_surface_editing_module",
|
|
"kind": "module",
|
|
"owner": "GEOMETRY",
|
|
"dependsOn": [
|
|
"WBV2-P1114-000"
|
|
],
|
|
"parityId": "CURVE_SURFACE_EDITING",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-curve_surface_editing",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1115-000.md",
|
|
"behavior": "Verify Curve topology/handle edits, Surface topology and non-mesh/font roundtrip through Blender Main.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive non-mesh Main mutation is proven",
|
|
"negative and recovery cases are proven",
|
|
"Chromium and save/reopen receipts are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "CURVE_SURFACE_EDITING",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-CURVE-TOPOLOGY-HANDLES",
|
|
"CAP-SURFACE-TOPOLOGY",
|
|
"CAP-NONMESH-FONT-ROUNDTRIP"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/protocol/web-engine.ts",
|
|
"web/protocol/nonmesh-geometry-commands.ts",
|
|
"web/protocol/curve-topology-editor.ts",
|
|
"web/protocol/non-mesh.ts",
|
|
"web/app/src/engine-client/WebEngineClient.ts",
|
|
"web/app/src/workers/web-engine.worker.ts",
|
|
"web/app/src/app/App.tsx",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P12-004/manifest.json",
|
|
"report": "tests/golden/WBV2-P12-004/viewport-nonmesh-receipt-report.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"Curve control point and handle edit",
|
|
"Curve cyclic/topology operator",
|
|
"Surface and Font property mutation"
|
|
],
|
|
"negative": [
|
|
"invalid curve selection/domain",
|
|
"occupied or stale frame/topology target",
|
|
"malformed non-mesh property"
|
|
],
|
|
"recovery": [
|
|
"undo",
|
|
"redo",
|
|
"save/reopen",
|
|
"deterministic multispline replay"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run test:curve-topology-operator",
|
|
"npm --prefix web run test:nonmesh-roundtrip",
|
|
"npm --prefix web run test:nonmesh-desktop-golden",
|
|
"npm --prefix web run typecheck"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1116-000",
|
|
"phase": "1116",
|
|
"title": "verify_storage_recovery_module",
|
|
"kind": "module",
|
|
"owner": "STORAGE",
|
|
"dependsOn": [
|
|
"WBV2-P1115-000"
|
|
],
|
|
"parityId": "STORAGE_RECOVERY",
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "module-storage_recovery",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1116-000.md",
|
|
"behavior": "Verify IndexedDB catalog migration/restart and OPFS asset preview deduplication, quarantine and reference GC.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive storage commit/recovery evidence is proven",
|
|
"negative and quarantine cases are proven",
|
|
"Chromium restart receipts are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "STORAGE_RECOVERY",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-INDEXEDDB-CATALOG-MIGRATION",
|
|
"CAP-OPFS-PREVIEW-COMMIT",
|
|
"CAP-OPFS-QUARANTINE-GC"
|
|
],
|
|
"sourcePaths": [
|
|
"web/protocol/storage.ts",
|
|
"web/protocol/storage-budget.ts",
|
|
"web/protocol/save-transaction.ts",
|
|
"web/protocol/recent-projects.ts",
|
|
"web/protocol/asset-preview.ts",
|
|
"web/protocol/asset-preview-decode.ts",
|
|
"web/app/src/storage/asset-catalog-indexeddb.ts",
|
|
"web/app/src/storage/asset-preview-opfs-commit.ts",
|
|
"web/app/src/storage/asset-preview-quarantine.ts",
|
|
"web/app/src/storage/asset-preview-reference-gc.ts",
|
|
"web/app/src/storage/opfs-files.ts",
|
|
"web/app/src/storage/migrations.ts",
|
|
"web/app/src/workers/storage.worker.ts",
|
|
"web/app/src/app/App.tsx"
|
|
],
|
|
"reuseReceipts": [],
|
|
"positive": [
|
|
"v1 to v2 catalog migration",
|
|
"page/Worker restart identity",
|
|
"content-addressed preview deduplication"
|
|
],
|
|
"negative": [
|
|
"partial catalog migration",
|
|
"corrupt preview quarantine",
|
|
"cross-project or non-final reference GC"
|
|
],
|
|
"recovery": [
|
|
"IndexedDB restart",
|
|
"OPFS commit replay",
|
|
"quarantine cleanup",
|
|
"deterministic reference reclamation"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run test:asset-catalog-restart",
|
|
"npm --prefix web run test:asset-preview-dedup",
|
|
"npm --prefix web run test:asset-preview-quarantine",
|
|
"npm --prefix web run test:asset-preview-reference-gc",
|
|
"npm --prefix web run typecheck"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1117-000",
|
|
"phase": "1117",
|
|
"title": "verify_simulation_cache_module",
|
|
"kind": "module",
|
|
"owner": "SIMULATION",
|
|
"dependsOn": [
|
|
"WBV2-P1116-000"
|
|
],
|
|
"parityId": "SIMULATION_CACHE",
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "module-simulation_cache",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1117-000.md",
|
|
"behavior": "Verify simulation cache identity, physics-family payload integrity, lifecycle recovery and deterministic LRU pruning.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive cache identity/lifecycle evidence is proven",
|
|
"negative integrity and budget cases are proven",
|
|
"Chromium restart and quarantine receipts are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "SIMULATION_CACHE",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-SIMULATION-CACHE-IDENTITY",
|
|
"CAP-PHYSICS-CACHE-INTEGRITY",
|
|
"CAP-SIMULATION-CACHE-RECOVERY"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"web/protocol/simulation-cache.ts",
|
|
"web/protocol/physics-simulation.ts",
|
|
"web/protocol/physics-cache-playback.ts",
|
|
"web/protocol/storage.ts",
|
|
"web/app/src/workers/storage.worker.ts",
|
|
"web/app/src/app/App.tsx"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P13-004/manifest.json",
|
|
"report": "tests/golden/WBV2-P13-004/advanced-domain-receipt-report.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"graph/source/revision cache identity",
|
|
"all physics-family frame hashes",
|
|
"verified playback lifecycle"
|
|
],
|
|
"negative": [
|
|
"source or payload hash drift",
|
|
"revision/range mismatch",
|
|
"cache byte/frame budget overflow"
|
|
],
|
|
"recovery": [
|
|
"cancel and cleanup",
|
|
"LRU prune with protected playback",
|
|
"corruption quarantine",
|
|
"worker restart"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run test:simulation-cache-identity",
|
|
"npm --prefix web run test:simulation-cache-lifecycle",
|
|
"npm --prefix web run test:physics-cache-family",
|
|
"npm --prefix web run typecheck"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1118-000",
|
|
"phase": "1118",
|
|
"title": "verify_ui_input_interaction_module",
|
|
"kind": "module",
|
|
"owner": "EDITOR",
|
|
"dependsOn": [
|
|
"WBV2-P1117-000"
|
|
],
|
|
"parityId": "UI_INPUT_INTERACTION",
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "module-ui_input_interaction",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1118-000.md",
|
|
"behavior": "Verify keyboard-only user actions, input mutex, IME/pointer state and responsive editor interaction under deployment CSP.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive keyboard Main mutation and save are proven",
|
|
"negative mutex/input cases are proven",
|
|
"Chromium accessibility and responsive receipts are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "UI_INPUT_INTERACTION",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-KEYBOARD-USER-ACTIONS",
|
|
"CAP-INPUT-MODAL-STATE",
|
|
"CAP-IME-SHORTCUT-GUARD",
|
|
"CAP-RESPONSIVE-CSP-UI"
|
|
],
|
|
"sourcePaths": [
|
|
"web/app/index.html",
|
|
"web/app/src/app/App.tsx",
|
|
"web/app/src/app/app-shell.css",
|
|
"web/app/src/workers/web-engine.worker.ts",
|
|
"web/protocol/user-action-state.ts",
|
|
"web/protocol/project-action-mutex.ts",
|
|
"web/protocol/ime-composition.ts",
|
|
"web/protocol/input-modal.ts",
|
|
"web/protocol/pointer-contract.ts",
|
|
"web/protocol/worker-fault.ts",
|
|
"web/tests/unit/user-action-state.test.mjs",
|
|
"web/tests/unit/project-action-mutex.test.mjs",
|
|
"web/tests/unit/ime-composition.test.mjs",
|
|
"web/tests/unit/input-modal.test.mjs",
|
|
"web/tests/unit/pointer-contract.test.mjs"
|
|
],
|
|
"reuseReceipts": [],
|
|
"positive": [
|
|
"keyboard-only Add Cube Main mutation",
|
|
"keyboard save/reopen and GLB export",
|
|
"responsive controls at desktop/mobile viewports"
|
|
],
|
|
"negative": [
|
|
"concurrent project action mutex",
|
|
"IME shortcut suppression",
|
|
"pointer cancel/touch modal cleanup"
|
|
],
|
|
"recovery": [
|
|
"worker restart",
|
|
"save interruption recovery",
|
|
"responsive layout preservation",
|
|
"deterministic repeated keyboard loop"
|
|
],
|
|
"commands": [
|
|
"node --test web/tests/unit/user-action-state.test.mjs web/tests/unit/project-action-mutex.test.mjs web/tests/unit/ime-composition.test.mjs web/tests/unit/input-modal.test.mjs web/tests/unit/pointer-contract.test.mjs",
|
|
"npm --prefix web run test:e2e -- --workers=1 tests/e2e/user-action-state.spec.ts tests/e2e/project-action-mutex.spec.ts tests/e2e/keyboard-accessibility.spec.ts tests/e2e/responsive-layout.spec.ts",
|
|
"npm --prefix web run typecheck"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1119-000",
|
|
"phase": "1119",
|
|
"title": "verify_library_workflow_module",
|
|
"kind": "module",
|
|
"owner": "ASSET",
|
|
"dependsOn": [
|
|
"WBV2-P1118-000"
|
|
],
|
|
"parityId": "LIBRARY_WORKFLOW",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-library_workflow",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1119-000.md",
|
|
"behavior": "Verify append, link, override and reload library flows through authoritative Main with path and dependency safety gates.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive library Main mutation is proven",
|
|
"negative and recovery cases are proven",
|
|
"Chromium and save/reopen receipts are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "LIBRARY_WORKFLOW",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-LIBRARY-APPEND",
|
|
"CAP-LIBRARY-LINK",
|
|
"CAP-LIBRARY-OVERRIDE",
|
|
"CAP-LIBRARY-RELOAD-SAFETY"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"web/protocol/library-main-append.ts",
|
|
"web/protocol/library-linked-mutation.ts",
|
|
"web/protocol/library-linked-reload.ts",
|
|
"web/protocol/library-linked-missing.ts",
|
|
"web/protocol/library-override-writer.ts",
|
|
"web/protocol/library-override-freshness.ts",
|
|
"web/protocol/library-negative-cases.ts",
|
|
"web/protocol/library-operation-identity.ts",
|
|
"web/protocol/library-source-origin.ts",
|
|
"web/protocol/asset-path.ts",
|
|
"web/app/src/engine-client/WebEngineClient.ts",
|
|
"web/app/src/workers/web-engine.worker.ts",
|
|
"web/app/src/app/App.tsx"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P11-003/manifest.json",
|
|
"report": "tests/golden/WBV2-P11-003/asset-link-override-receipt-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P9-003/manifest.json",
|
|
"report": "tests/golden/WBV2-P9-003/asset-catalog-receipt-report.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"append object into Main",
|
|
"linked read-only object",
|
|
"local override and reload identity"
|
|
],
|
|
"negative": [
|
|
"missing library source",
|
|
"dependency/cross-library cycle",
|
|
"unsafe path or ownership mutation"
|
|
],
|
|
"recovery": [
|
|
"undo",
|
|
"redo",
|
|
"save/reopen",
|
|
"deterministic library replay"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run test:library-main-append",
|
|
"npm --prefix web run test:library-link-chromium",
|
|
"npm --prefix web run test:library-override-chromium",
|
|
"npm --prefix web run test:library-negative-cases",
|
|
"npm --prefix web run test:library-path-security",
|
|
"npm --prefix web run typecheck"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1120-000",
|
|
"phase": "1120",
|
|
"title": "verify_volume_nanovdb_module",
|
|
"kind": "module",
|
|
"owner": "MEDIA",
|
|
"dependsOn": [
|
|
"WBV2-P1119-000"
|
|
],
|
|
"parityId": "VOLUME_NANOVDB",
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "module-volume_nanovdb",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1120-000.md",
|
|
"behavior": "Verify NanoVDB manifest, paged feedback, OPFS commit/restart and production viewport volume roundtrip.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive volume resource and viewport evidence is proven",
|
|
"negative and recovery cases are proven",
|
|
"Chromium OPFS/restart receipts are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "VOLUME_NANOVDB",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-NANOVDB-MANIFEST",
|
|
"CAP-NANOVDB-PAGED-FEEDBACK",
|
|
"CAP-NANOVDB-OPFS-RESTART",
|
|
"CAP-NANOVDB-VIEWPORT-ROUNDTRIP"
|
|
],
|
|
"sourcePaths": [
|
|
"web/protocol/volume-vdb.ts",
|
|
"web/protocol/nanovdb-page-feedback.ts",
|
|
"web/protocol/nanovdb-device-recovery.ts",
|
|
"web/protocol/storage.ts",
|
|
"web/app/src/volume/nanovdb-opfs.ts",
|
|
"web/app/src/volume/nanovdb-stream.ts",
|
|
"web/app/src/volume/nanovdb-viewport.ts",
|
|
"web/app/src/volume/nanovdb-float32.ts",
|
|
"web/app/src/render/nanovdb-volume-renderer.ts",
|
|
"web/app/src/workers/vdb-opfs-test.worker.ts",
|
|
"web/app/src/workers/storage.worker.ts",
|
|
"web/app/src/app/App.tsx"
|
|
],
|
|
"reuseReceipts": [],
|
|
"positive": [
|
|
"validated NanoVDB bundle manifest",
|
|
"content-addressed OPFS commit",
|
|
"main/offscreen production viewport volume"
|
|
],
|
|
"negative": [
|
|
"manifest/chunk hash mismatch",
|
|
"stale source binding",
|
|
"WebGPU/resource availability block"
|
|
],
|
|
"recovery": [
|
|
"OPFS Worker restart",
|
|
"paged feedback resume",
|
|
"quota/device loss cleanup",
|
|
"deterministic volume save/reopen"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run test:vdb-availability",
|
|
"npm --prefix web run test:vdb-native",
|
|
"npm --prefix web run test:nanovdb-page-feedback",
|
|
"npm --prefix web run test:nanovdb-opfs-restart",
|
|
"npm --prefix web run test:nanovdb-volume-roundtrip",
|
|
"npm --prefix web run typecheck"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1121-000",
|
|
"phase": "1121",
|
|
"title": "verify_paint_stroke_module",
|
|
"kind": "module",
|
|
"owner": "SCULPT",
|
|
"dependsOn": [
|
|
"WBV2-P1120-000"
|
|
],
|
|
"parityId": "PAINT_STROKE",
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "module-paint_stroke",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1121-000.md",
|
|
"behavior": "Verify paint pointer sessions, depth visibility and PBVH capability gates through the production Worker.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive paint Main transaction is proven",
|
|
"negative and recovery cases are proven",
|
|
"Chromium pointer/GPU receipts are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "PAINT_STROKE",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-PAINT-POINTER-SESSION",
|
|
"CAP-PAINT-DEPTH-VISIBILITY",
|
|
"CAP-PAINT-PBVH-GATE"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"web/protocol/web-engine.ts",
|
|
"web/protocol/sculpt.ts",
|
|
"web/protocol/paint.ts",
|
|
"web/protocol/paint-stroke-session.ts",
|
|
"web/protocol/paint-depth-visibility.ts",
|
|
"web/protocol/paint-pbvh-capability.ts",
|
|
"web/app/src/workers/web-engine.worker.ts",
|
|
"web/app/src/three-adapter/paint-depth-visibility.ts",
|
|
"web/app/src/three-adapter/viewport.ts",
|
|
"web/app/src/three-adapter/offscreen-viewport.ts",
|
|
"web/app/src/app/App.tsx",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [],
|
|
"positive": [
|
|
"ordered paint pointer chunks",
|
|
"main/offscreen depth visibility",
|
|
"PBVH inventory capability query"
|
|
],
|
|
"negative": [
|
|
"stale/discontinuous pointer chunks",
|
|
"forged or over-budget depth samples",
|
|
"missing PBVH WASM entrypoint"
|
|
],
|
|
"recovery": [
|
|
"pointer cancel without Main mutation",
|
|
"undo step after paint commit",
|
|
"worker restart",
|
|
"deterministic capability replay"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run test:paint-stroke-session",
|
|
"npm --prefix web run test:paint-depth-visibility",
|
|
"npm --prefix web run test:paint-pbvh-capability",
|
|
"npm --prefix web run typecheck"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1122-000",
|
|
"phase": "1122",
|
|
"title": "verify_engine_runtime_module",
|
|
"kind": "module",
|
|
"owner": "RUNTIME",
|
|
"dependsOn": [
|
|
"WBV2-P1121-000"
|
|
],
|
|
"parityId": "ENGINE_RUNTIME",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-engine_runtime",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1122-000.md",
|
|
"behavior": "Verify WebEngine variant manifest/selection, compiled WASM Main ABI and Worker crash recovery.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive compiled WASM Main lifecycle is proven",
|
|
"negative variant/hash cases are proven",
|
|
"Chromium Worker restart receipts are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "ENGINE_RUNTIME",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-ENGINE-VARIANT-MANIFEST",
|
|
"CAP-ENGINE-WASM-MAIN-ABI",
|
|
"CAP-WORKER-CRASH-RECOVERY"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.h",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
|
"blender-5.2.0/source/blender/web_engine/CMakeLists.txt",
|
|
"web/protocol/engine-variant.ts",
|
|
"web/protocol/worker-fault.ts",
|
|
"web/protocol/save-transaction.ts",
|
|
"web/app/src/engine-client/engine-variant-bootstrap.ts",
|
|
"web/app/src/engine-client/browser-engine-variant-session.ts",
|
|
"web/app/src/engine-client/WebEngineClient.ts",
|
|
"web/app/src/workers/web-engine.worker.ts",
|
|
"web/app/src/workers/storage.worker.ts",
|
|
"web/app/src/app/App.tsx",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [],
|
|
"positive": [
|
|
"single/pthread manifest binding",
|
|
"compiled WASM Main open/save lifecycle",
|
|
"engine and storage Worker recovery"
|
|
],
|
|
"negative": [
|
|
"malformed variant/resource declaration",
|
|
"mixed-version/hash mismatch",
|
|
"pthread unavailable fallback"
|
|
],
|
|
"recovery": [
|
|
"single-thread fallback",
|
|
"Worker crash restart",
|
|
"operation-log restore",
|
|
"deterministic repeated startup"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run test:engine-manifest-v2",
|
|
"npm --prefix web run test:engine-variant-selection",
|
|
"npm --prefix web run test:engine-variant-fallback",
|
|
"npm --prefix web run test:engine-variant-install",
|
|
"npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-native-engine-production.spec.ts tests/e2e/worker-crash-recovery.spec.ts",
|
|
"npm --prefix web run typecheck"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1123-000",
|
|
"phase": "1123",
|
|
"title": "repair_glb_roundtrip_dependency_module",
|
|
"kind": "module",
|
|
"owner": "MEDIA",
|
|
"dependsOn": [
|
|
"WBV2-P1122-000"
|
|
],
|
|
"parityId": "GLB_ROUNDTRIP_REPAIR",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-glb_roundtrip_repair",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1123-000.md",
|
|
"behavior": "Repair the standalone GLB checker dependency chain and verify mesh/non-mesh Blender roundtrip plus Chromium recovery.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive GLB and non-mesh roundtrip are proven",
|
|
"negative and recovery cases are proven",
|
|
"Chromium save/reopen receipts are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "GLB_ROUNDTRIP_REPAIR",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-GLB-MESH-ROUNDTRIP",
|
|
"CAP-GLB-NONMESH-ROUNDTRIP",
|
|
"CAP-GLB-CHROMIUM-RECOVERY"
|
|
],
|
|
"sourcePaths": [
|
|
"tools/web/check-glb-blender-roundtrip.mjs",
|
|
"tools/web/check-nonmesh-glb-blender-roundtrip.mjs",
|
|
"tools/web/blender-check-glb-roundtrip.py",
|
|
"web/protocol/glb-export.ts",
|
|
"web/protocol/glb-import.ts",
|
|
"web/protocol/nonmesh-export.ts",
|
|
"web/protocol/nonmesh-binary.ts",
|
|
"web/app/src/engine-client/WebEngineClient.ts",
|
|
"web/app/src/workers/web-engine.worker.ts",
|
|
"web/app/src/app/App.tsx"
|
|
],
|
|
"reuseReceipts": [],
|
|
"positive": [
|
|
"mesh/material/skin/animation GLB roundtrip",
|
|
"Curve/Surface/Font/Metaball non-mesh mapping",
|
|
"desktop GLB Main persistence in Chromium"
|
|
],
|
|
"negative": [
|
|
"sparse or oversized GLB",
|
|
"external URI/extension rejection",
|
|
"non-mesh export loss gate"
|
|
],
|
|
"recovery": [
|
|
"cancel without publishing output",
|
|
"Worker restart",
|
|
"OPFS quota retains old asset",
|
|
"deterministic Blender roundtrip"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run test:glb-blender-roundtrip",
|
|
"npm --prefix web run test:nonmesh-glb-blender-roundtrip",
|
|
"npm --prefix web run test:e2e -- --workers=1 tests/e2e/glb-negative-cases.spec.ts tests/e2e/glb-recovery.spec.ts tests/e2e/glb-main-persistence.spec.ts",
|
|
"npm --prefix web run typecheck"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1124-000",
|
|
"phase": "1124",
|
|
"title": "record_historical_hash_drift_module",
|
|
"kind": "module",
|
|
"owner": "PROVENANCE",
|
|
"dependsOn": [
|
|
"WBV2-P1123-000"
|
|
],
|
|
"parityId": "HISTORICAL_HASH_DRIFT",
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "module-historical_hash_drift",
|
|
"gate": "EVIDENCE",
|
|
"card": "docs/tasks/WBV2-P1124-000.md",
|
|
"behavior": "Record legacy M12 artifact hash drift without re-signing historical manifests or changing the immutable inventory.",
|
|
"outputs": [
|
|
"drift report",
|
|
"module receipt",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"original and observed hashes are recorded",
|
|
"provenance remains BLOCKED_SOURCE_LOST where bytes cannot be restored",
|
|
"historical manifests and inventory remain unchanged",
|
|
"deterministic drift evidence is reproducible",
|
|
"no full-family parity claim"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "HISTORICAL_HASH_DRIFT",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-HISTORICAL-HASH-AUDIT",
|
|
"CAP-PROVENANCE-SOURCE-LOST-GATE"
|
|
],
|
|
"sourcePaths": [
|
|
"tools/web/check-m12-manifest-drift.mjs",
|
|
"tests/golden/corrective/rehydration/M12-manifest-sha-drift.json",
|
|
"tests/golden/WBV2-P0-002/parity-map.json"
|
|
],
|
|
"reuseReceipts": [],
|
|
"positive": [
|
|
"84 drift entries captured",
|
|
"43 affected artifact paths indexed",
|
|
"immutable inventory binding preserved"
|
|
],
|
|
"negative": [
|
|
"missing original bytes",
|
|
"attempted historical re-signing",
|
|
"inventory mutation"
|
|
],
|
|
"recovery": [
|
|
"deterministic report rerun",
|
|
"source cache can restore original bytes later",
|
|
"new capability manifests reference drift evidence only"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-m12-manifest-drift.mjs --write",
|
|
"node tools/web/check-m12-manifest-drift.mjs",
|
|
"node tools/web/check-wbv2-module-execution.mjs"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1125-000",
|
|
"phase": "1125",
|
|
"title": "repair_geometry_nodes_allowlist_module",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1124-000"
|
|
],
|
|
"parityId": "GEOMETRY_NODES_ALLOWLIST_REPAIR",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-geometry_nodes_allowlist_repair",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1125-000.md",
|
|
"behavior": "Persist Geometry Nodes graph overrides in Web-safe Main storage and align allowlist assertions with real materialization behavior.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"supported graph Main materialization is proven",
|
|
"unsupported graph remains rejected without mutation",
|
|
"save/reopen graph retention is exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "GEOMETRY_NODES_ALLOWLIST_REPAIR",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-GEOMETRY-NODES-MAIN-PERSISTENCE",
|
|
"CAP-GEOMETRY-NODES-ALLOWLIST-CONSISTENCY",
|
|
"CAP-GEOMETRY-NODES-SAVE-REOPEN"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"web/protocol/geometry-nodes.ts",
|
|
"web/protocol/geometry-node-commands.ts",
|
|
"web/protocol/web-engine.ts",
|
|
"web/app/src/engine-client/WebEngineClient.ts",
|
|
"web/app/src/workers/web-engine.worker.ts",
|
|
"web/app/src/app/App.tsx",
|
|
"web/tests/e2e/geometry-node-allowlist.spec.ts",
|
|
"web/tests/e2e/wbv2-geometry-nodes-production.spec.ts",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [],
|
|
"positive": [
|
|
"allowlisted graph materializes into Main",
|
|
"Scene IDProperty graph override persists",
|
|
"save/reopen retains graph identity/hash"
|
|
],
|
|
"negative": [
|
|
"unsupported simulation node",
|
|
"invalid graph schema",
|
|
"missing node/link endpoint"
|
|
],
|
|
"recovery": [
|
|
"rejected graph leaves baseline unchanged",
|
|
"undo/redo graph override",
|
|
"save/reopen",
|
|
"deterministic second run"
|
|
],
|
|
"commands": [
|
|
"cmake --build build_web_blender6 --target web_engine -- -j8",
|
|
"npm --prefix web run test:geometry-node-allowlist",
|
|
"npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-geometry-nodes-production.spec.ts",
|
|
"npm --prefix web run test:geometry-node-field-budget",
|
|
"npm --prefix web run typecheck"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1126-000",
|
|
"phase": "1126",
|
|
"title": "verify_grease_pencil_viewport_module",
|
|
"kind": "module",
|
|
"owner": "DRAWING",
|
|
"dependsOn": [
|
|
"WBV2-P1125-000"
|
|
],
|
|
"parityId": "GREASE_PENCIL_VIEWPORT",
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "module-grease_pencil_viewport",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1126-000.md",
|
|
"behavior": "Verify Grease Pencil 2D/3D selection and marquee integration on both viewport backends using an isolated Chromium port.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"2D and 3D selection revisions converge",
|
|
"main-thread and Offscreen marquee are exact",
|
|
"stale/foreign selection cases remain fail-closed",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "GREASE_PENCIL_VIEWPORT",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-GREASE-PENCIL-SELECTION-REVISION",
|
|
"CAP-GREASE-PENCIL-MARQUEE-MAIN",
|
|
"CAP-GREASE-PENCIL-MARQUEE-OFFSCREEN"
|
|
],
|
|
"sourcePaths": [
|
|
"web/protocol/grease-pencil-selection.ts",
|
|
"web/protocol/grease-pencil-marquee.ts",
|
|
"web/app/src/app/App.tsx",
|
|
"web/app/src/three-adapter/grease-pencil.ts",
|
|
"web/app/src/three-adapter/viewport.ts",
|
|
"web/app/src/three-adapter/offscreen-viewport.ts",
|
|
"web/app/src/workers/viewport-render.worker.ts"
|
|
],
|
|
"reuseReceipts": [],
|
|
"positive": [
|
|
"2D canvas selection revision",
|
|
"main-thread 3D marquee selection",
|
|
"OffscreenCanvas 3D marquee selection"
|
|
],
|
|
"negative": [
|
|
"stale selection revision",
|
|
"foreign drawing identity",
|
|
"duplicate or forged point candidate"
|
|
],
|
|
"recovery": [
|
|
"selection convergence across backends",
|
|
"worker viewport restart",
|
|
"deterministic repeated marquee",
|
|
"preserve Main revision"
|
|
],
|
|
"commands": [
|
|
"WEB_TEST_PORT=5331 npm --prefix web run test:e2e -- --workers=1 tests/e2e/grease-pencil-selection.spec.ts tests/e2e/grease-pencil-marquee.spec.ts",
|
|
"node --test web/tests/unit/grease-pencil-selection.test.mjs web/tests/unit/grease-pencil-marquee.test.mjs",
|
|
"npm --prefix web run typecheck"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1127-000",
|
|
"phase": "1127",
|
|
"title": "verify_tracking_mask_module",
|
|
"kind": "module",
|
|
"owner": "TRACKING",
|
|
"dependsOn": [
|
|
"WBV2-P1126-000"
|
|
],
|
|
"parityId": "TRACKING_MASK",
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "module-tracking_mask",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1127-000.md",
|
|
"behavior": "Verify Mask reader, editable point raycast/marquee and tracking capability gates through Chromium.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive Mask reader and interaction evidence is proven",
|
|
"negative solve/resource cases are proven",
|
|
"Chromium stable IDs and recovery receipts are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "TRACKING_MASK",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MASK-MAIN-READER",
|
|
"CAP-MASK-POINT-RAYCAST",
|
|
"CAP-TRACKING-SOLVE-GATE"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/protocol/tracking-mask.ts",
|
|
"web/protocol/scene-ir.ts",
|
|
"web/app/src/tracking/MaskSelection.ts",
|
|
"web/app/src/app/App.tsx",
|
|
"web/app/src/three-adapter/viewport.ts",
|
|
"web/app/src/three-adapter/offscreen-viewport.ts",
|
|
"web/tests/e2e/smoke.spec.ts"
|
|
],
|
|
"reuseReceipts": [],
|
|
"positive": [
|
|
"Mask layers and splines reader",
|
|
"editable Mask point raycast",
|
|
"N-022 tracking marker/mask gate"
|
|
],
|
|
"negative": [
|
|
"foreign mask point identity",
|
|
"missing resource binding",
|
|
"camera solve unavailable"
|
|
],
|
|
"recovery": [
|
|
"main/offscreen marquee parity",
|
|
"worker restart",
|
|
"deterministic stable IDs",
|
|
"preserve source Main on blocked solve"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run test:mask-main-reader",
|
|
"WEB_TEST_PORT=5340 npm --prefix web run test:e2e -- --workers=1 tests/e2e/smoke.spec.ts -g \"N-022 tracking|real Blender 5.2 Mask\"",
|
|
"npm --prefix web run typecheck"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1128-000",
|
|
"phase": "1128",
|
|
"title": "verify_ffmpeg_movie_codec_module",
|
|
"kind": "module",
|
|
"owner": "MEDIA",
|
|
"dependsOn": [
|
|
"WBV2-P1127-000"
|
|
],
|
|
"parityId": "SEQUENCER_MOVIE_CODEC",
|
|
"implementationClass": "LOCAL_BOUNDED",
|
|
"parallelGroup": "module-sequencer_movie_codec",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1128-000.md",
|
|
"behavior": "Use a local ffmpeg.wasm Worker fallback for movie probing and proxy-frame extraction when Chromium HTML media decoding is unavailable.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and core-resource hashes are bound",
|
|
"positive MP4 probe and RGBA frame are proven",
|
|
"corrupt and source-identity cases are rejected",
|
|
"AbortSignal cancellation leaves no live Worker",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "SEQUENCER_MOVIE_CODEC",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-FFMPEG-WASM-MOVIE-PROBE",
|
|
"CAP-FFMPEG-WASM-PROXY-FRAME",
|
|
"CAP-MOVIE-CODEC-RECOVERY"
|
|
],
|
|
"sourcePaths": [
|
|
"web/package.json",
|
|
"web/package-lock.json",
|
|
"web/protocol/sequencer.ts",
|
|
"web/app/src/sequencer/SequencerCodecProbe.ts",
|
|
"web/app/src/sequencer/FFmpegMovieProbe.ts",
|
|
"web/app/src/sequencer/ffmpeg-movie-probe.worker.ts",
|
|
"web/app/src/sequencer/SequencerMediaProxyCache.ts",
|
|
"web/app/src/vendor/ffmpeg/ffmpeg-core.js",
|
|
"web/app/src/vendor/ffmpeg/ffmpeg-core.wasm",
|
|
"web/app/public/vendor/ffmpeg/ffmpeg-core.js",
|
|
"web/app/public/vendor/ffmpeg/ffmpeg-core.wasm",
|
|
"third_party/ffmpeg.wasm/package.json",
|
|
"third_party/ffmpeg.wasm/README.md",
|
|
"web/tests/e2e/ffmpeg-movie-probe-production.spec.ts"
|
|
],
|
|
"reuseReceipts": [],
|
|
"positive": [
|
|
"browser decode fallback to ffmpeg.wasm",
|
|
"16x16 MP4 metadata probe",
|
|
"8x8 RGBA proxy frame extraction"
|
|
],
|
|
"negative": [
|
|
"corrupt movie payload",
|
|
"source SHA mismatch",
|
|
"ffmpeg runtime unavailable"
|
|
],
|
|
"recovery": [
|
|
"AbortSignal cancellation",
|
|
"Worker termination after response",
|
|
"cache manifest identity binding",
|
|
"deterministic repeated probe"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WEB_TEST_PORT=5342 npm --prefix web run test:e2e -- --workers=1 tests/e2e/ffmpeg-movie-probe-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1129-000",
|
|
"phase": "1129",
|
|
"title": "authorize_scene_settings_module",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1128-000"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1129",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1129-000.md",
|
|
"behavior": "Authorize one source-backed Core Scene Graph settings module after the terminal P1128 module epoch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"P1128 evidence remains hash-bound",
|
|
"existing receipts are reused",
|
|
"inventory remains immutable",
|
|
"one source-backed module is active"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
]
|
|
},
|
|
{
|
|
"id": "WBV2-P1129-001",
|
|
"phase": "1129",
|
|
"title": "verify_scene_settings_module",
|
|
"kind": "module",
|
|
"owner": "CORE_SCENE",
|
|
"dependsOn": [
|
|
"WBV2-P1129-000"
|
|
],
|
|
"parityId": "CORE_SCENE_GRAPH_SETTINGS",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-core_scene_graph_settings",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1129-001.md",
|
|
"behavior": "Verify the existing Blender Main scene compositor, performance and sampling setting transactions as one aggregate module.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive Main mutations are proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen receipts are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "CORE_SCENE_GRAPH_SETTINGS",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-SCENE-COMPOSITOR-SETTINGS",
|
|
"CAP-SCENE-PERFORMANCE-SETTINGS",
|
|
"CAP-SCENE-SAMPLING-SETTINGS"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"web/protocol/web-engine.ts",
|
|
"web/app/src/workers/web-engine.worker.ts",
|
|
"web/app/src/app/App.tsx",
|
|
"web/tests/e2e/wbv2-scene-settings-production.spec.ts"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P65-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P65-002/implementation-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P66-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P66-002/implementation-report.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P67-002/manifest.json",
|
|
"report": "tests/golden/WBV2-P67-002/implementation-report.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"compositor device/precision mutation",
|
|
"performance thread/persistence mutation",
|
|
"sampling filter/dither mutation"
|
|
],
|
|
"negative": [
|
|
"invalid sampling range",
|
|
"unknown scene target",
|
|
"malformed property set"
|
|
],
|
|
"recovery": [
|
|
"undo",
|
|
"redo",
|
|
"save/reopen",
|
|
"deterministic scene settings snapshot"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WEB_TEST_PORT=5344 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-scene-settings-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1130-000",
|
|
"phase": "1130",
|
|
"title": "authorize_editor_view2d_module",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1129-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1130",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1130-000.md",
|
|
"behavior": "Authorize one source-backed UI editor View2D reader/protocol module after the P1129 scene settings module.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"P1129 evidence remains hash-bound",
|
|
"P1102 editor workflow source remains unchanged",
|
|
"inventory remains immutable",
|
|
"one source-backed module is active"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1130-001",
|
|
"phase": "1130",
|
|
"title": "verify_editor_view2d_module",
|
|
"kind": "module",
|
|
"owner": "EDITOR",
|
|
"dependsOn": [
|
|
"WBV2-P1130-000"
|
|
],
|
|
"parityId": "UI_EDITOR_VIEW2D_STATE",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-ui_editor_view2d_state",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1130-001.md",
|
|
"behavior": "Preserve Blender Graph/Dope Sheet View2D cur and mask state through the Web editor protocol without changing the existing editor workflow parser.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive reader state is proven",
|
|
"negative no-publish and recovery are proven",
|
|
"Chromium and save/reopen compatibility are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "UI_EDITOR_VIEW2D_STATE",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-EDITOR-VIEW2D-CUR",
|
|
"CAP-EDITOR-VIEW2D-MASK",
|
|
"CAP-EDITOR-VIEW2D-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/protocol/editor-view2d.ts",
|
|
"web/app/src/workers/editor-view2d-test.worker.ts",
|
|
"web/app/src/app/App.tsx",
|
|
"web/tests/e2e/ui-editor-view2d-production.spec.ts"
|
|
],
|
|
"reuseReceipts": [],
|
|
"positive": [
|
|
"Graph main-region View2D cur retention",
|
|
"Graph main-region pixel mask retention",
|
|
"reader/protocol exact state"
|
|
],
|
|
"negative": [
|
|
"inverted View2D bounds",
|
|
"malformed mask range",
|
|
"missing View2D payload"
|
|
],
|
|
"recovery": [
|
|
"immutable base editor workflow",
|
|
"worker termination",
|
|
"deterministic repeated parse",
|
|
"save/reopen reader compatibility"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WEB_TEST_PORT=5346 npm --prefix web run test:e2e -- --workers=1 tests/e2e/ui-editor-view2d-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1131-000",
|
|
"phase": "1131",
|
|
"title": "authorize_curve_topology_module",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1130-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1131",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1131-000.md",
|
|
"behavior": "Authorize one source-backed Curve topology editor module after the P1130 View2D module.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"P1130 evidence remains hash-bound",
|
|
"Curve topology source and protocol are present",
|
|
"inventory remains immutable",
|
|
"one source-backed module is active"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1131-001",
|
|
"phase": "1131",
|
|
"title": "verify_curve_topology_module",
|
|
"kind": "module",
|
|
"owner": "EDITOR",
|
|
"dependsOn": [
|
|
"WBV2-P1131-000"
|
|
],
|
|
"parityId": "CURVE_TOPOLOGY_EDITOR",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-curve_topology_editor",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1131-001.md",
|
|
"behavior": "Verify the Blender Curve TOGGLE_CYCLIC topology transaction through the existing Main, protocol, Worker and frontend path.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive Main mutation is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "CURVE_TOPOLOGY_EDITOR",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-CURVE-TOPOLOGY-TOGGLE-CYCLIC",
|
|
"CAP-CURVE-TOPOLOGY-GATE",
|
|
"CAP-CURVE-TOPOLOGY-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/curve/curve_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
|
"web/protocol/curve-topology-editor.ts",
|
|
"web/app/src/workers/curve-topology-contract-test.worker.ts",
|
|
"web/app/src/app/App.tsx",
|
|
"web/tests/e2e/curve-topology-contract.spec.ts",
|
|
"web/tests/e2e/curve-topology-operator.spec.ts"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1101-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1101-000/module-receipt.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"TOGGLE_CYCLIC Main mutation",
|
|
"operator gate exposes only verified capability",
|
|
"save/reopen preserves cyclic spline state"
|
|
],
|
|
"negative": [
|
|
"unknown curve operator",
|
|
"stale revision claim",
|
|
"selection and payload budget overflow"
|
|
],
|
|
"recovery": [
|
|
"undo",
|
|
"redo",
|
|
"save/reopen",
|
|
"worker termination and deterministic contract parse"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WEB_TEST_PORT=5347 npm --prefix web run test:e2e -- --workers=1 tests/e2e/curve-topology-contract.spec.ts tests/e2e/curve-topology-operator.spec.ts"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1132-000",
|
|
"phase": "1132",
|
|
"title": "authorize_curve_handle_module",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1131-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1132",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1132-000.md",
|
|
"behavior": "Authorize one source-backed Curve handle gizmo module after the P1131 topology module.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"P1131 evidence remains hash-bound",
|
|
"Curve handle source and protocol are present",
|
|
"inventory remains immutable",
|
|
"one source-backed module is active"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1132-001",
|
|
"phase": "1132",
|
|
"title": "verify_curve_handle_module",
|
|
"kind": "module",
|
|
"owner": "EDITOR",
|
|
"dependsOn": [
|
|
"WBV2-P1132-000"
|
|
],
|
|
"parityId": "CURVE_HANDLE_GIZMO",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-curve_handle_gizmo",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1132-001.md",
|
|
"behavior": "Verify Curve handle position edits through Blender Main, protocol, Worker, renderer preview and frontend gizmo.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive Main mutation is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "CURVE_HANDLE_GIZMO",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-CURVE-HANDLE-MAIN",
|
|
"CAP-CURVE-HANDLE-GIZMO-PREVIEW",
|
|
"CAP-CURVE-HANDLE-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
|
"web/protocol/nonmesh-interaction.ts",
|
|
"web/app/src/workers/nonmesh-interaction-test.worker.ts",
|
|
"web/app/src/app/App.tsx",
|
|
"web/app/src/three-adapter/nonmesh.ts",
|
|
"web/app/src/three-adapter/viewport.ts",
|
|
"web/app/src/three-adapter/offscreen-viewport.ts",
|
|
"web/tests/e2e/wbv2-curve-handle-production.spec.ts"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1101-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1101-000/module-receipt.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"Curve handle position Main mutation",
|
|
"local handle gizmo preview",
|
|
"save/reopen preserves handle state"
|
|
],
|
|
"negative": [
|
|
"invalid handle identity",
|
|
"stale base revision",
|
|
"malformed handle position"
|
|
],
|
|
"recovery": [
|
|
"undo",
|
|
"redo",
|
|
"save/reopen",
|
|
"Worker termination and deterministic preview"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WEB_TEST_PORT=5348 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-curve-handle-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1133-000",
|
|
"phase": "1133",
|
|
"title": "authorize_curve_splines_module",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1132-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1133",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1133-000.md",
|
|
"behavior": "Authorize one source-backed Curve spline transaction module after the P1132 handle module.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"P1132 evidence remains hash-bound",
|
|
"Curve spline source and protocol are present",
|
|
"inventory remains immutable",
|
|
"one source-backed module is active"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1133-001",
|
|
"phase": "1133",
|
|
"title": "verify_curve_splines_module",
|
|
"kind": "module",
|
|
"owner": "EDITOR",
|
|
"dependsOn": [
|
|
"WBV2-P1133-000"
|
|
],
|
|
"parityId": "CURVE_SPLINES_TRANSACTION",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-curve_splines_transaction",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1133-001.md",
|
|
"behavior": "Verify complete Curve spline replacement through Blender Main, protocol, Worker and Chromium recovery.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive Main mutation is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "CURVE_SPLINES_TRANSACTION",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-CURVE-SPLINES-MAIN",
|
|
"CAP-CURVE-SPLINES-RECOVERY",
|
|
"CAP-CURVE-SPLINES-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
|
"web/protocol/web-engine.ts",
|
|
"web/app/src/workers/web-engine.worker.ts",
|
|
"web/tests/e2e/wbv2-curve-splines-production.spec.ts"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1101-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1101-000/module-receipt.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"complete Curve spline Main transaction",
|
|
"POLY/BEZIER descriptor retention",
|
|
"save/reopen preserves spline state"
|
|
],
|
|
"negative": [
|
|
"invalid spline offsets",
|
|
"stale base revision",
|
|
"mismatched handle payload"
|
|
],
|
|
"recovery": [
|
|
"undo",
|
|
"redo",
|
|
"save/reopen",
|
|
"deterministic binary-geometry transaction"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WEB_TEST_PORT=5349 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-curve-splines-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1134-000",
|
|
"phase": "1134",
|
|
"title": "authorize_surface_topology_module",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1133-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1134",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1134-000.md",
|
|
"behavior": "Authorize one source-backed Surface topology transaction module after the P1133 Curve spline module.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"P1133 evidence remains hash-bound",
|
|
"Surface topology source and protocol are present",
|
|
"inventory remains immutable",
|
|
"one source-backed module is active"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1134-001",
|
|
"phase": "1134",
|
|
"title": "verify_surface_topology_module",
|
|
"kind": "module",
|
|
"owner": "GEOMETRY",
|
|
"dependsOn": [
|
|
"WBV2-P1134-000"
|
|
],
|
|
"parityId": "SURFACE_TOPOLOGY_TRANSACTION",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-surface_topology_transaction",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1134-001.md",
|
|
"behavior": "Verify Surface NURBS topology replacement through Blender Main, protocol, Worker and Chromium recovery.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive Main mutation is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "SURFACE_TOPOLOGY_TRANSACTION",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-SURFACE-TOPOLOGY-MAIN",
|
|
"CAP-SURFACE-NURBS-BOUNDS",
|
|
"CAP-SURFACE-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
|
"web/protocol/web-engine.ts",
|
|
"web/app/src/workers/web-engine.worker.ts",
|
|
"web/tests/e2e/wbv2-surface-topology-production.spec.ts"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1101-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1101-000/module-receipt.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"Surface topology Main transaction",
|
|
"NURBS dimensions and weights retention",
|
|
"save/reopen preserves surface state"
|
|
],
|
|
"negative": [
|
|
"invalid surface dimensions",
|
|
"stale base revision",
|
|
"control grid budget mismatch"
|
|
],
|
|
"recovery": [
|
|
"undo",
|
|
"redo",
|
|
"save/reopen",
|
|
"deterministic surface transaction"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WEB_TEST_PORT=5350 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-surface-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1135-000",
|
|
"phase": "1135",
|
|
"title": "authorize_font_body_module",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1134-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1135",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1135-000.md",
|
|
"behavior": "Authorize one source-backed Font body transaction module after the P1134 Surface topology module.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"P1134 evidence remains hash-bound",
|
|
"Font body source and protocol are present",
|
|
"inventory remains immutable",
|
|
"one source-backed module is active"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1135-001",
|
|
"phase": "1135",
|
|
"title": "verify_font_body_module",
|
|
"kind": "module",
|
|
"owner": "GEOMETRY",
|
|
"dependsOn": [
|
|
"WBV2-P1135-000"
|
|
],
|
|
"parityId": "FONT_BODY_TRANSACTION",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-font_body_transaction",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1135-001.md",
|
|
"behavior": "Verify Font body replacement through Blender Main, protocol, Worker and Chromium recovery.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive Main mutation is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "FONT_BODY_TRANSACTION",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-FONT-BODY-MAIN",
|
|
"CAP-FONT-BODY-RECOVERY",
|
|
"CAP-FONT-BODY-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
|
"web/protocol/web-engine.ts",
|
|
"web/app/src/workers/web-engine.worker.ts",
|
|
"web/app/src/app/App.tsx",
|
|
"web/tests/e2e/wbv2-font-body-production.spec.ts"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1101-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1101-000/module-receipt.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"Font body Main mutation",
|
|
"UTF-8 text retention",
|
|
"save/reopen preserves text"
|
|
],
|
|
"negative": [
|
|
"unknown Font data ID",
|
|
"body byte budget overflow",
|
|
"malformed body payload"
|
|
],
|
|
"recovery": [
|
|
"undo",
|
|
"redo",
|
|
"save/reopen",
|
|
"Worker termination and deterministic text state"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WEB_TEST_PORT=5351 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-font-body-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1136-000",
|
|
"phase": "1136",
|
|
"title": "authorize_font_properties_module",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1135-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1136",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1136-000.md",
|
|
"behavior": "Authorize one source-backed Font properties transaction module after the P1135 Font body module.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"P1135 evidence remains hash-bound",
|
|
"Font property source and protocol are present",
|
|
"inventory remains immutable",
|
|
"one source-backed module is active"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1136-001",
|
|
"phase": "1136",
|
|
"title": "verify_font_properties_module",
|
|
"kind": "module",
|
|
"owner": "GEOMETRY",
|
|
"dependsOn": [
|
|
"WBV2-P1136-000"
|
|
],
|
|
"parityId": "FONT_PROPERTIES_TRANSACTION",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-font_properties_transaction",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1136-001.md",
|
|
"behavior": "Verify Font property replacement through Blender Main, protocol, Worker and Chromium recovery.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive Main mutation is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "FONT_PROPERTIES_TRANSACTION",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-FONT-PROPERTIES-MAIN",
|
|
"CAP-FONT-PROPERTIES-RECOVERY",
|
|
"CAP-FONT-PROPERTIES-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
|
"web/protocol/web-engine.ts",
|
|
"web/app/src/workers/web-engine.worker.ts",
|
|
"web/app/src/app/App.tsx",
|
|
"web/tests/e2e/wbv2-font-properties-production.spec.ts"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1101-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1101-000/module-receipt.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"Font property Main mutation",
|
|
"bounded alignment/extrude fields",
|
|
"save/reopen preserves properties"
|
|
],
|
|
"negative": [
|
|
"unknown Font data ID",
|
|
"invalid alignment enum",
|
|
"out-of-range numeric property"
|
|
],
|
|
"recovery": [
|
|
"undo",
|
|
"redo",
|
|
"save/reopen",
|
|
"Worker termination and deterministic property state"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WEB_TEST_PORT=5352 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-font-properties-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1137-000",
|
|
"phase": "1137",
|
|
"title": "authorize_metaball_elements_module",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1136-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1137",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1137-000.md",
|
|
"behavior": "Authorize one source-backed Metaball element transaction module after the P1136 Font properties module.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"P1136 evidence remains hash-bound",
|
|
"Metaball element source and protocol are present",
|
|
"inventory remains immutable",
|
|
"one source-backed module is active"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1137-001",
|
|
"phase": "1137",
|
|
"title": "verify_metaball_elements_module",
|
|
"kind": "module",
|
|
"owner": "GEOMETRY",
|
|
"dependsOn": [
|
|
"WBV2-P1137-000"
|
|
],
|
|
"parityId": "METABALL_ELEMENTS_TRANSACTION",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-metaball_elements_transaction",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1137-001.md",
|
|
"behavior": "Verify Metaball element replacement through Blender Main, protocol, Worker and Chromium recovery.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive Main mutation is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "METABALL_ELEMENTS_TRANSACTION",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-METABALL-ELEMENTS-MAIN",
|
|
"CAP-METABALL-ELEMENTS-RECOVERY",
|
|
"CAP-METABALL-ELEMENTS-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
|
"web/protocol/web-engine.ts",
|
|
"web/app/src/workers/web-engine.worker.ts",
|
|
"web/app/src/app/App.tsx",
|
|
"web/tests/e2e/wbv2-metaball-elements-production.spec.ts"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1101-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1101-000/module-receipt.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"Metaball element Main mutation",
|
|
"bounded position/radius/scale retention",
|
|
"save/reopen preserves elements"
|
|
],
|
|
"negative": [
|
|
"unknown Metaball data ID",
|
|
"invalid radius",
|
|
"element count topology mismatch"
|
|
],
|
|
"recovery": [
|
|
"undo",
|
|
"redo",
|
|
"save/reopen",
|
|
"Worker termination and deterministic element state"
|
|
],
|
|
"commands": [
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WEB_TEST_PORT=5353 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-metaball-elements-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1138-000",
|
|
"phase": "1138",
|
|
"title": "authorize_text_source_module",
|
|
"kind": "enabling",
|
|
"owner": "SCRIPTING",
|
|
"dependsOn": [
|
|
"WBV2-P1137-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1138",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1138-000.md",
|
|
"behavior": "Authorize a source-backed Text datablock mutation after the P1137 Metaball module.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"P1137 evidence remains hash-bound",
|
|
"ID_TXT is registered for WITH_WEB",
|
|
"inventory remains source-derived",
|
|
"one source-backed module is active"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1138-001",
|
|
"phase": "1138",
|
|
"title": "verify_text_source_module",
|
|
"kind": "module",
|
|
"owner": "SCRIPTING",
|
|
"dependsOn": [
|
|
"WBV2-P1138-000"
|
|
],
|
|
"parityId": "TEXT_SOURCE_TRANSACTION",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-text_source_transaction",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1138-001.md",
|
|
"behavior": "Verify Text source replacement through Blender Main, protocol, Worker and Chromium recovery.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive Main mutation is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "TEXT_SOURCE_TRANSACTION",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-TEXT-SOURCE-MAIN",
|
|
"CAP-TEXT-SOURCE-RECOVERY",
|
|
"CAP-TEXT-SOURCE-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/blenkernel/intern/idtype.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
|
"web/protocol/web-engine.ts",
|
|
"web/app/src/workers/web-engine.worker.ts",
|
|
"web/app/src/app/App.tsx",
|
|
"web/tests/e2e/wbv2-text-source-production.spec.ts",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1137-001/manifest.json",
|
|
"report": "tests/golden/WBV2-P1137-001/module-receipt.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"Text source Main mutation",
|
|
"ID_TXT registration in WITH_WEB",
|
|
"save/reopen preserves source"
|
|
],
|
|
"negative": [
|
|
"unknown Text data ID",
|
|
"source over 1 MiB",
|
|
"linked/read-only Text"
|
|
],
|
|
"recovery": [
|
|
"undo",
|
|
"redo",
|
|
"save/reopen",
|
|
"Worker termination and deterministic source state"
|
|
],
|
|
"commands": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WEB_TEST_PORT=5353 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-text-source-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1139-000",
|
|
"phase": "1139",
|
|
"title": "authorize_texture_properties_module",
|
|
"kind": "enabling",
|
|
"owner": "TEXTURE",
|
|
"dependsOn": [
|
|
"WBV2-P1138-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1139",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1139-000.md",
|
|
"behavior": "Authorize a source-backed Texture property mutation module after P1138 Text.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"P1138 evidence remains hash-bound",
|
|
"ID_TE is registered for WITH_WEB",
|
|
"inventory remains source-derived",
|
|
"one source-backed module is active"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1139-001",
|
|
"phase": "1139",
|
|
"title": "verify_texture_properties_module",
|
|
"kind": "module",
|
|
"owner": "TEXTURE",
|
|
"dependsOn": [
|
|
"WBV2-P1139-000"
|
|
],
|
|
"parityId": "TEXTURE_PROPERTIES_TRANSACTION",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-texture_properties_transaction",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1139-001.md",
|
|
"behavior": "Verify Texture property replacement through Blender Main, protocol, Worker and Chromium recovery.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive Main mutation is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "TEXTURE_PROPERTIES_TRANSACTION",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-TEXTURE-PROPERTIES-MAIN",
|
|
"CAP-TEXTURE-PROPERTIES-RECOVERY",
|
|
"CAP-TEXTURE-PROPERTIES-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/blenkernel/intern/idtype.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h",
|
|
"web/protocol/web-engine.ts",
|
|
"web/app/src/workers/web-engine.worker.ts",
|
|
"web/app/src/app/App.tsx",
|
|
"web/tests/e2e/wbv2-texture-properties-production.spec.ts",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1138-001/manifest.json",
|
|
"report": "tests/golden/WBV2-P1138-001/module-receipt.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"Texture property Main mutation",
|
|
"ID_TE registration in WITH_WEB",
|
|
"save/reopen preserves properties"
|
|
],
|
|
"negative": [
|
|
"unknown Texture data ID",
|
|
"noise depth outside Blender bounds",
|
|
"non-finite numeric property"
|
|
],
|
|
"recovery": [
|
|
"undo",
|
|
"redo",
|
|
"save/reopen",
|
|
"Worker termination and deterministic property state"
|
|
],
|
|
"commands": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WEB_TEST_PORT=5353 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-texture-properties-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1140-000",
|
|
"phase": "1140",
|
|
"title": "authorize_action_group_reader_module",
|
|
"kind": "enabling",
|
|
"owner": "ANIMATION",
|
|
"dependsOn": [
|
|
"WBV2-P1139-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1140",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1140-000.md",
|
|
"behavior": "Authorize a source-backed ActionGroup reader and recovery module after P1139 Texture.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"P1139 evidence remains hash-bound",
|
|
"ActionGroup has explicit Blender source mapping",
|
|
"inventory remains source-derived",
|
|
"one source-backed module is active"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1140-001",
|
|
"phase": "1140",
|
|
"title": "verify_action_group_reader_module",
|
|
"kind": "module",
|
|
"owner": "ANIMATION",
|
|
"dependsOn": [
|
|
"WBV2-P1140-000"
|
|
],
|
|
"parityId": "ACTION_GROUP_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-action_group_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1140-001.md",
|
|
"behavior": "Verify ActionGroup metadata through Blender Main reader, protocol and Chromium recovery.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive Main reader is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "ACTION_GROUP_READER",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-ACTION-GROUP-READER",
|
|
"CAP-ACTION-GROUP-RECOVERY",
|
|
"CAP-ACTION-GROUP-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/protocol/scene-ir.ts",
|
|
"web/app/src/workers/web-engine.worker.ts",
|
|
"web/app/src/engine-client/WebEngineClient.ts",
|
|
"web/tests/e2e/wbv2-action-group-reader-production.spec.ts",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1112-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1112-000/module-receipt.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"ActionGroup Main reader exposes group and expanded metadata",
|
|
"three grouped location F-Curves remain grouped",
|
|
"save/reopen preserves group metadata"
|
|
],
|
|
"negative": [
|
|
"malformed blend is rejected without Main mutation",
|
|
"missing animation target is fail-closed",
|
|
"unsupported group payload is not synthesized"
|
|
],
|
|
"recovery": [
|
|
"undo",
|
|
"redo",
|
|
"save/reopen",
|
|
"worker termination and deterministic group state"
|
|
],
|
|
"commands": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WEB_TEST_PORT=5356 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-action-group-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1141-000",
|
|
"phase": "1141",
|
|
"title": "authorize_action_pose_markers_module",
|
|
"kind": "enabling",
|
|
"owner": "ANIMATION",
|
|
"dependsOn": [
|
|
"WBV2-P1140-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1141",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1141-000.md",
|
|
"behavior": "Authorize a source-backed ActionPoseMarkers reader and recovery module after P1140.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"P1140 evidence remains hash-bound",
|
|
"ActionPoseMarkers has explicit Blender source mapping",
|
|
"inventory remains source-derived",
|
|
"one source-backed module is active"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1141-001",
|
|
"phase": "1141",
|
|
"title": "verify_action_pose_markers_reader_module",
|
|
"kind": "module",
|
|
"owner": "ANIMATION",
|
|
"dependsOn": [
|
|
"WBV2-P1141-000"
|
|
],
|
|
"parityId": "ACTION_POSE_MARKERS_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-action_pose_markers_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1141-001.md",
|
|
"behavior": "Verify ActionPoseMarkers metadata through Blender Main reader, protocol and Chromium recovery.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive Main reader is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "ACTION_POSE_MARKERS_READER",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-ACTION-POSE-MARKERS-READER",
|
|
"CAP-ACTION-POSE-MARKERS-RECOVERY",
|
|
"CAP-ACTION-POSE-MARKERS-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/protocol/scene-ir.ts",
|
|
"web/app/src/workers/web-engine.worker.ts",
|
|
"web/app/src/engine-client/WebEngineClient.ts",
|
|
"web/tests/e2e/wbv2-action-pose-markers-production.spec.ts",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1140-001/manifest.json",
|
|
"report": "tests/golden/WBV2-P1140-001/module-receipt.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"ActionPoseMarkers Main reader exposes marker names and frames",
|
|
"three Blender pose markers remain ordered",
|
|
"save/reopen preserves marker metadata"
|
|
],
|
|
"negative": [
|
|
"malformed blend is rejected without Main mutation",
|
|
"missing animation target is fail-closed",
|
|
"non-finite marker frame is not synthesized"
|
|
],
|
|
"recovery": [
|
|
"undo",
|
|
"redo",
|
|
"save/reopen",
|
|
"worker termination and deterministic marker state"
|
|
],
|
|
"commands": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WEB_TEST_PORT=5359 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-action-pose-markers-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1142-000",
|
|
"phase": "1142",
|
|
"title": "authorize_fcurve_sample_reader_module",
|
|
"kind": "enabling",
|
|
"owner": "ANIMATION",
|
|
"dependsOn": [
|
|
"WBV2-P1141-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1142",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1142-000.md",
|
|
"behavior": "Authorize a source-backed FCurveSample reader and recovery module after P1141.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"P1141 evidence remains hash-bound",
|
|
"FCurveSample has explicit Blender source mapping",
|
|
"inventory remains source-derived",
|
|
"one source-backed module is active"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1142-001",
|
|
"phase": "1142",
|
|
"title": "verify_fcurve_sample_reader_module",
|
|
"kind": "module",
|
|
"owner": "ANIMATION",
|
|
"dependsOn": [
|
|
"WBV2-P1142-000"
|
|
],
|
|
"parityId": "FCURVE_SAMPLE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-fcurve_sample_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1142-001.md",
|
|
"behavior": "Verify FCurveSample data through Blender Main reader, protocol and Chromium recovery.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive Main reader is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "FCURVE_SAMPLE_READER",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-FCURVE-SAMPLE-READER",
|
|
"CAP-FCURVE-SAMPLE-RECOVERY",
|
|
"CAP-FCURVE-SAMPLE-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/protocol/scene-ir.ts",
|
|
"web/app/src/workers/web-engine.worker.ts",
|
|
"web/app/src/engine-client/WebEngineClient.ts",
|
|
"web/tests/e2e/wbv2-fcurve-sample-production.spec.ts",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1141-001/manifest.json",
|
|
"report": "tests/golden/WBV2-P1141-001/module-receipt.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"FCurveSample Main reader exposes sampled source and values",
|
|
"four native FPoint samples remain ordered",
|
|
"save/reopen preserves sampled data"
|
|
],
|
|
"negative": [
|
|
"malformed blend is rejected without Main mutation",
|
|
"missing sampled payload is fail-closed",
|
|
"non-finite sampled value is not synthesized"
|
|
],
|
|
"recovery": [
|
|
"undo",
|
|
"redo",
|
|
"save/reopen",
|
|
"worker termination and deterministic sampled state"
|
|
],
|
|
"commands": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WEB_TEST_PORT=5365 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-fcurve-sample-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1143-000",
|
|
"phase": "1143",
|
|
"title": "authorize_fcurve_modifier_reader_module",
|
|
"kind": "enabling",
|
|
"owner": "ANIMATION",
|
|
"dependsOn": [
|
|
"WBV2-P1142-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1143",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1143-000.md",
|
|
"behavior": "Authorize a source-backed FCurve modifier reader and recovery module after P1142.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"P1142 evidence remains hash-bound",
|
|
"FCurveModifiers has explicit Blender source mapping",
|
|
"inventory remains source-derived",
|
|
"one source-backed module is active"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1143-001",
|
|
"phase": "1143",
|
|
"title": "verify_fcurve_modifier_reader_module",
|
|
"kind": "module",
|
|
"owner": "ANIMATION",
|
|
"dependsOn": [
|
|
"WBV2-P1143-000"
|
|
],
|
|
"parityId": "FCURVE_MODIFIER_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-fcurve_modifier_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1143-001.md",
|
|
"behavior": "Verify FCurve modifier metadata through Blender Main reader, protocol and Chromium recovery.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive Main reader is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "FCURVE_MODIFIER_READER",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-FCURVE-MODIFIER-READER",
|
|
"CAP-FCURVE-MODIFIER-RECOVERY",
|
|
"CAP-FCURVE-MODIFIER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/protocol/scene-ir.ts",
|
|
"web/app/src/workers/web-engine.worker.ts",
|
|
"web/app/src/engine-client/WebEngineClient.ts",
|
|
"web/tests/e2e/wbv2-fcurve-modifier-production.spec.ts",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1142-001/manifest.json",
|
|
"report": "tests/golden/WBV2-P1142-001/module-receipt.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"FCurveModifiers Main reader exposes native modifier stack",
|
|
"FModifierCycles preserves type/name/flags/influence",
|
|
"save/reopen preserves modifier metadata"
|
|
],
|
|
"negative": [
|
|
"malformed blend is rejected without Main mutation",
|
|
"missing modifier payload is fail-closed",
|
|
"unsupported modifier type is not synthesized"
|
|
],
|
|
"recovery": [
|
|
"undo",
|
|
"redo",
|
|
"save/reopen",
|
|
"worker termination and deterministic modifier state"
|
|
],
|
|
"commands": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WEB_TEST_PORT=5368 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-fcurve-modifier-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1144-000",
|
|
"phase": "1144",
|
|
"title": "authorize_driver_reader_module",
|
|
"kind": "enabling",
|
|
"owner": "ANIMATION",
|
|
"dependsOn": [
|
|
"WBV2-P1143-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1144",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1144-000.md",
|
|
"behavior": "Authorize a source-backed Driver reader and recovery module after P1143.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"P1143 evidence remains hash-bound",
|
|
"Driver has explicit Blender source mapping",
|
|
"inventory remains source-derived",
|
|
"one source-backed module is active"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1144-001",
|
|
"phase": "1144",
|
|
"title": "verify_driver_reader_module",
|
|
"kind": "module",
|
|
"owner": "ANIMATION",
|
|
"dependsOn": [
|
|
"WBV2-P1144-000"
|
|
],
|
|
"parityId": "DRIVER_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-driver_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1144-001.md",
|
|
"behavior": "Verify Driver metadata through Blender Main reader, protocol and Chromium recovery.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive Main reader is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "DRIVER_READER",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-DRIVER-READER",
|
|
"CAP-DRIVER-RECOVERY",
|
|
"CAP-DRIVER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/protocol/scene-ir.ts",
|
|
"web/app/src/workers/web-engine.worker.ts",
|
|
"web/app/src/engine-client/WebEngineClient.ts",
|
|
"web/tests/e2e/wbv2-driver-reader-production.spec.ts",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1143-001/manifest.json",
|
|
"report": "tests/golden/WBV2-P1143-001/module-receipt.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"AnimData driver list is read from Blender Main",
|
|
"Driver preserves scripted expression and variables",
|
|
"save/reopen preserves driver metadata"
|
|
],
|
|
"negative": [
|
|
"malformed blend is rejected without Main mutation",
|
|
"missing driver target is fail-closed",
|
|
"non-finite driver influence is not synthesized"
|
|
],
|
|
"recovery": [
|
|
"undo",
|
|
"redo",
|
|
"save/reopen",
|
|
"worker termination and deterministic driver state"
|
|
],
|
|
"commands": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-driver-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1145-000",
|
|
"phase": "1145",
|
|
"title": "authorize_corrective_smooth_reader_module",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1144-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1145",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1145-000.md",
|
|
"behavior": "Authorize a source-backed Corrective Smooth reader/recovery module after the Driver reader.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"Corrective Smooth has explicit Blender source mapping",
|
|
"inventory remains source-derived",
|
|
"one source-backed module is active"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1145-001",
|
|
"phase": "1145",
|
|
"title": "verify_corrective_smooth_reader_module",
|
|
"kind": "module",
|
|
"owner": "MODIFIER",
|
|
"dependsOn": [
|
|
"WBV2-P1145-000"
|
|
],
|
|
"parityId": "CORRECTIVE_SMOOTH_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-corrective_smooth_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1145-001.md",
|
|
"behavior": "Verify Corrective Smooth modifier type and RNA metadata through Blender Main reader, protocol and Chromium recovery.",
|
|
"outputs": [
|
|
"module receipt",
|
|
"negative matrix",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"positive Main reader is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact",
|
|
"full-family parity remains explicit"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "CORRECTIVE_SMOOTH_READER",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-CORRECTIVE-SMOOTH-READER",
|
|
"CAP-CORRECTIVE-SMOOTH-RECOVERY",
|
|
"CAP-CORRECTIVE-SMOOTH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_correctivesmooth.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-corrective-smooth-reader-production.spec.ts",
|
|
"tests/files/web/modifier_corrective_smooth_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"Corrective Smooth type is read from Blender Main",
|
|
"RNA metadata is preserved",
|
|
"save/reopen preserves modifier metadata"
|
|
],
|
|
"negative": [
|
|
"malformed blend is rejected without Main mutation",
|
|
"unsupported modifier data fails closed",
|
|
"non-finite metadata is not synthesized"
|
|
],
|
|
"recovery": [
|
|
"save/reopen",
|
|
"worker termination",
|
|
"deterministic second read"
|
|
],
|
|
"commands": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-corrective-smooth-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1146-000",
|
|
"phase": "1146",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1145-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1146",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1146-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1146-001",
|
|
"phase": "1146",
|
|
"title": "verify modifier reader batch",
|
|
"kind": "module",
|
|
"owner": "MODIFIER",
|
|
"dependsOn": [
|
|
"WBV2-P1146-000"
|
|
],
|
|
"parityId": "MODIFIER_READER_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-modifier_reader_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1146-001.md",
|
|
"behavior": "Verify the MODIFIER_READER_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "MODIFIER_READER_BATCH",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MODIFIER_READER_BATCH-READER",
|
|
"CAP-MODIFIER_READER_BATCH-RECOVERY",
|
|
"CAP-MODIFIER_READER_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_datatransfer.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_dynamicpaint.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_explode.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_fluid.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_fluid.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-modifier-reader-batch-production.spec.ts",
|
|
"tests/files/web/modifier_reader_batch_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"MOD_datatransfer type is read from Blender Main",
|
|
"MOD_dynamicpaint type is read from Blender Main",
|
|
"MOD_explode type is read from Blender Main",
|
|
"MOD_fluid 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-modifier-reader-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1146-001/modifier-reader-batch-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"modifier-source:MOD_datatransfer",
|
|
"modifier-source:MOD_dynamicpaint",
|
|
"modifier-source:MOD_explode",
|
|
"modifier-source:MOD_fluid",
|
|
"rna-struct:DataTransferModifier",
|
|
"rna-struct:DynamicPaintModifier",
|
|
"rna-struct:ExplodeModifier",
|
|
"rna-struct:FluidModifier",
|
|
"rna-struct:FluidDomainSettings"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1147-000",
|
|
"phase": "1147",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1146-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1147",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1147-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1147-001",
|
|
"phase": "1147",
|
|
"title": "verify modifier reader batch two",
|
|
"kind": "module",
|
|
"owner": "MODIFIER",
|
|
"dependsOn": [
|
|
"WBV2-P1147-000"
|
|
],
|
|
"parityId": "MODIFIER_READER_BATCH_TWO",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-modifier_reader_batch_two",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1147-001.md",
|
|
"behavior": "Verify the MODIFIER_READER_BATCH_TWO batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "MODIFIER_READER_BATCH_TWO",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MODIFIER_READER_BATCH_TWO-READER",
|
|
"CAP-MODIFIER_READER_BATCH_TWO-RECOVERY",
|
|
"CAP-MODIFIER_READER_BATCH_TWO-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_laplaciandeform.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_laplaciansmooth.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_mask.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_shrinkwrap.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-modifier-reader-batch-two-production.spec.ts",
|
|
"tests/files/web/modifier_reader_batch_two_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"MOD_laplaciandeform type is read from Blender Main",
|
|
"MOD_laplaciansmooth type is read from Blender Main",
|
|
"MOD_mask type is read from Blender Main",
|
|
"MOD_mesh_to_volume 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-modifier-reader-batch-two-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1147-001/modifier-reader-batch-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"modifier-source:MOD_laplaciandeform",
|
|
"modifier-source:MOD_laplaciansmooth",
|
|
"modifier-source:MOD_mask",
|
|
"modifier-source:MOD_shrinkwrap",
|
|
"rna-struct:LaplacianDeformModifier",
|
|
"rna-struct:LaplacianSmoothModifier",
|
|
"rna-struct:MaskModifier",
|
|
"rna-struct:ShrinkwrapModifier"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1148-000",
|
|
"phase": "1148",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1147-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1148",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1148-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1148-001",
|
|
"phase": "1148",
|
|
"title": "verify modifier reader batch three",
|
|
"kind": "module",
|
|
"owner": "MODIFIER",
|
|
"dependsOn": [
|
|
"WBV2-P1148-000"
|
|
],
|
|
"parityId": "MODIFIER_READER_BATCH_THREE",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-modifier_reader_batch_three",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1148-001.md",
|
|
"behavior": "Verify the MODIFIER_READER_BATCH_THREE batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "MODIFIER_READER_BATCH_THREE",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MODIFIER_READER_BATCH_THREE-READER",
|
|
"CAP-MODIFIER_READER_BATCH_THREE-RECOVERY",
|
|
"CAP-MODIFIER_READER_BATCH_THREE-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_remesh.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_skin.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_weighted_normal.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_warp.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-modifier-reader-batch-two-production.spec.ts",
|
|
"tests/files/web/modifier_reader_batch_three_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"MOD_remesh type is read from Blender Main",
|
|
"MOD_skin type is read from Blender Main",
|
|
"MOD_weighted_normal type is read from Blender Main",
|
|
"MOD_warp 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1148-001 WBV2_BATCH_FIXTURE=tests/files/web/modifier_reader_batch_three_scene.blend WBV2_BATCH_TYPES='[\"REMESH\",\"SKIN\",\"WEIGHTED_NORMAL\",\"WARP\"]' WBV2_BATCH_UNITS='[\"modifier-source:MOD_remesh\",\"modifier-source:MOD_skin\",\"modifier-source:MOD_weighted_normal\",\"modifier-source:MOD_warp\",\"rna-struct:RemeshModifier\",\"rna-struct:SkinModifier\",\"rna-struct:WeightedNormalModifier\",\"rna-struct:WarpModifier\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-modifier-reader-batch-two-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1148-001/modifier-reader-batch-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"modifier-source:MOD_remesh",
|
|
"modifier-source:MOD_skin",
|
|
"modifier-source:MOD_weighted_normal",
|
|
"modifier-source:MOD_warp",
|
|
"rna-struct:RemeshModifier",
|
|
"rna-struct:SkinModifier",
|
|
"rna-struct:WeightedNormalModifier",
|
|
"rna-struct:WarpModifier"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1149-000",
|
|
"phase": "1149",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1148-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1149",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1149-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1149-001",
|
|
"phase": "1149",
|
|
"title": "verify modifier reader batch four",
|
|
"kind": "module",
|
|
"owner": "MODIFIER",
|
|
"dependsOn": [
|
|
"WBV2-P1149-000"
|
|
],
|
|
"parityId": "MODIFIER_READER_BATCH_FOUR",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-modifier_reader_batch_four",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1149-001.md",
|
|
"behavior": "Verify the MODIFIER_READER_BATCH_FOUR batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "MODIFIER_READER_BATCH_FOUR",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MODIFIER_READER_BATCH_FOUR-READER",
|
|
"CAP-MODIFIER_READER_BATCH_FOUR-RECOVERY",
|
|
"CAP-MODIFIER_READER_BATCH_FOUR-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_uvproject.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_uvwarp.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_normal_edit.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_volume_to_mesh.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-modifier-reader-batch-two-production.spec.ts",
|
|
"tests/files/web/modifier_reader_batch_four_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"MOD_uvproject type is read from Blender Main",
|
|
"MOD_uvwarp type is read from Blender Main",
|
|
"MOD_volume_displace type is read from Blender Main",
|
|
"MOD_volume_to_mesh 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1149-001 WBV2_BATCH_FIXTURE=tests/files/web/modifier_reader_batch_four_scene.blend WBV2_BATCH_TYPES='[\"UV_PROJECT\",\"UV_WARP\",\"NORMAL_EDIT\",\"VOLUME_TO_MESH\"]' WBV2_BATCH_UNITS='[\"modifier-source:MOD_uvproject\",\"modifier-source:MOD_uvwarp\",\"modifier-source:MOD_normal_edit\",\"modifier-source:MOD_volume_to_mesh\",\"rna-struct:UVProjectModifier\",\"rna-struct:UVWarpModifier\",\"rna-struct:NormalEditModifier\",\"rna-struct:VolumeToMeshModifier\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-modifier-reader-batch-two-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1149-001/modifier-reader-batch-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"modifier-source:MOD_uvproject",
|
|
"modifier-source:MOD_uvwarp",
|
|
"modifier-source:MOD_normal_edit",
|
|
"modifier-source:MOD_volume_to_mesh",
|
|
"rna-struct:UVProjectModifier",
|
|
"rna-struct:UVWarpModifier",
|
|
"rna-struct:NormalEditModifier",
|
|
"rna-struct:VolumeToMeshModifier"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1150-000",
|
|
"phase": "1150",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1149-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1150",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1150-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1150-001",
|
|
"phase": "1150",
|
|
"title": "verify modifier reader batch five",
|
|
"kind": "module",
|
|
"owner": "MODIFIER",
|
|
"dependsOn": [
|
|
"WBV2-P1150-000"
|
|
],
|
|
"parityId": "MODIFIER_READER_BATCH_FIVE",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-modifier_reader_batch_five",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1150-001.md",
|
|
"behavior": "Verify the MODIFIER_READER_BATCH_FIVE batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "MODIFIER_READER_BATCH_FIVE",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MODIFIER_READER_BATCH_FIVE-READER",
|
|
"CAP-MODIFIER_READER_BATCH_FIVE-RECOVERY",
|
|
"CAP-MODIFIER_READER_BATCH_FIVE-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_meshcache.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_meshsequencecache.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_multires.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_ocean.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-modifier-reader-batch-two-production.spec.ts",
|
|
"tests/files/web/modifier_reader_batch_five_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"MOD_meshcache type is read from Blender Main",
|
|
"MOD_meshsequencecache type is read from Blender Main",
|
|
"MOD_multires type is read from Blender Main",
|
|
"MOD_ocean 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1150-001 WBV2_BATCH_FIXTURE=tests/files/web/modifier_reader_batch_five_scene.blend WBV2_BATCH_TYPES='[\"MESH_CACHE\",\"MESH_SEQUENCE_CACHE\",\"MULTIRES\",\"OCEAN\"]' WBV2_BATCH_UNITS='[\"modifier-source:MOD_meshcache\",\"modifier-source:MOD_meshsequencecache\",\"modifier-source:MOD_multires\",\"modifier-source:MOD_ocean\",\"rna-struct:MeshCacheModifier\",\"rna-struct:MeshSequenceCacheModifier\",\"rna-struct:MultiresModifier\",\"rna-struct:OceanModifier\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-modifier-reader-batch-two-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1150-001/modifier-reader-batch-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"modifier-source:MOD_meshcache",
|
|
"modifier-source:MOD_meshsequencecache",
|
|
"modifier-source:MOD_multires",
|
|
"modifier-source:MOD_ocean",
|
|
"rna-struct:MeshCacheModifier",
|
|
"rna-struct:MeshSequenceCacheModifier",
|
|
"rna-struct:MultiresModifier",
|
|
"rna-struct:OceanModifier"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1151-000",
|
|
"phase": "1151",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1150-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1151",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1151-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1151-001",
|
|
"phase": "1151",
|
|
"title": "verify Grease Pencil modifier reader batch",
|
|
"kind": "module",
|
|
"owner": "DRAWING",
|
|
"dependsOn": [
|
|
"WBV2-P1151-000"
|
|
],
|
|
"parityId": "GREASE_PENCIL_MODIFIER_READER_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-grease_pencil_modifier_reader_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1151-001.md",
|
|
"behavior": "Verify the GREASE_PENCIL_MODIFIER_READER_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "GREASE_PENCIL_MODIFIER_READER_BATCH",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-GREASE_PENCIL_MODIFIER_READER_BATCH-READER",
|
|
"CAP-GREASE_PENCIL_MODIFIER_READER_BATCH-RECOVERY",
|
|
"CAP-GREASE_PENCIL_MODIFIER_READER_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_armature.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_array.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_build.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_color.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_dash.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_envelope.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_hook.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_lattice.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_length.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_mirror.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_multiply.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_noise.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_offset.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_opacity.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_outline.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_shrinkwrap.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_simplify.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_smooth.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_subdiv.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_texture.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_thickness.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_time.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_tint.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_weight_angle.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_weight_proximity.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-modifier-reader-batch-two-production.spec.ts",
|
|
"tests/files/web/modifier_grease_pencil_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"MOD_grease_pencil_armature type is read from Blender Main",
|
|
"MOD_grease_pencil_array type is read from Blender Main",
|
|
"MOD_grease_pencil_build type is read from Blender Main",
|
|
"MOD_grease_pencil_color type is read from Blender Main",
|
|
"MOD_grease_pencil_dash type is read from Blender Main",
|
|
"MOD_grease_pencil_envelope type is read from Blender Main",
|
|
"MOD_grease_pencil_hook type is read from Blender Main",
|
|
"MOD_grease_pencil_lattice type is read from Blender Main",
|
|
"MOD_grease_pencil_length type is read from Blender Main",
|
|
"MOD_grease_pencil_mirror type is read from Blender Main",
|
|
"MOD_grease_pencil_multiply type is read from Blender Main",
|
|
"MOD_grease_pencil_noise type is read from Blender Main",
|
|
"MOD_grease_pencil_offset type is read from Blender Main",
|
|
"MOD_grease_pencil_opacity type is read from Blender Main",
|
|
"MOD_grease_pencil_outline type is read from Blender Main",
|
|
"MOD_grease_pencil_shrinkwrap type is read from Blender Main",
|
|
"MOD_grease_pencil_simplify type is read from Blender Main",
|
|
"MOD_grease_pencil_smooth type is read from Blender Main",
|
|
"MOD_grease_pencil_subdiv type is read from Blender Main",
|
|
"MOD_grease_pencil_texture type is read from Blender Main",
|
|
"MOD_grease_pencil_thickness type is read from Blender Main",
|
|
"MOD_grease_pencil_time type is read from Blender Main",
|
|
"MOD_grease_pencil_tint type is read from Blender Main",
|
|
"MOD_grease_pencil_weight_angle type is read from Blender Main",
|
|
"MOD_grease_pencil_weight_proximity 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1151-001 WBV2_BATCH_FIXTURE=tests/files/web/modifier_grease_pencil_scene.blend WBV2_BATCH_TYPES='[\"GREASE_PENCIL_ARMATURE\",\"GREASE_PENCIL_ARRAY\",\"GREASE_PENCIL_BUILD\",\"GREASE_PENCIL_COLOR\",\"GREASE_PENCIL_DASH\",\"GREASE_PENCIL_ENVELOPE\",\"GREASE_PENCIL_HOOK\",\"GREASE_PENCIL_LATTICE\",\"GREASE_PENCIL_LENGTH\",\"GREASE_PENCIL_MIRROR\",\"GREASE_PENCIL_MULTIPLY\",\"GREASE_PENCIL_NOISE\",\"GREASE_PENCIL_OFFSET\",\"GREASE_PENCIL_OPACITY\",\"GREASE_PENCIL_OUTLINE\",\"GREASE_PENCIL_SHRINKWRAP\",\"GREASE_PENCIL_SIMPLIFY\",\"GREASE_PENCIL_SMOOTH\",\"GREASE_PENCIL_SUBDIV\",\"GREASE_PENCIL_TEXTURE\",\"GREASE_PENCIL_THICKNESS\",\"GREASE_PENCIL_TIME\",\"GREASE_PENCIL_TINT\",\"GREASE_PENCIL_VERTEX_WEIGHT_ANGLE\",\"GREASE_PENCIL_VERTEX_WEIGHT_PROXIMITY\"]' WBV2_BATCH_UNITS='[\"modifier-source:MOD_grease_pencil_armature\",\"modifier-source:MOD_grease_pencil_array\",\"modifier-source:MOD_grease_pencil_build\",\"modifier-source:MOD_grease_pencil_color\",\"modifier-source:MOD_grease_pencil_dash\",\"modifier-source:MOD_grease_pencil_envelope\",\"modifier-source:MOD_grease_pencil_hook\",\"modifier-source:MOD_grease_pencil_lattice\",\"modifier-source:MOD_grease_pencil_length\",\"modifier-source:MOD_grease_pencil_mirror\",\"modifier-source:MOD_grease_pencil_multiply\",\"modifier-source:MOD_grease_pencil_noise\",\"modifier-source:MOD_grease_pencil_offset\",\"modifier-source:MOD_grease_pencil_opacity\",\"modifier-source:MOD_grease_pencil_outline\",\"modifier-source:MOD_grease_pencil_shrinkwrap\",\"modifier-source:MOD_grease_pencil_simplify\",\"modifier-source:MOD_grease_pencil_smooth\",\"modifier-source:MOD_grease_pencil_subdiv\",\"modifier-source:MOD_grease_pencil_texture\",\"modifier-source:MOD_grease_pencil_thickness\",\"modifier-source:MOD_grease_pencil_time\",\"modifier-source:MOD_grease_pencil_tint\",\"modifier-source:MOD_grease_pencil_weight_angle\",\"modifier-source:MOD_grease_pencil_weight_proximity\",\"rna-struct:GreasePencilArmatureModifier\",\"rna-struct:GreasePencilArrayModifier\",\"rna-struct:GreasePencilBuildModifier\",\"rna-struct:GreasePencilColorModifier\",\"rna-struct:GreasePencilEnvelopeModifier\",\"rna-struct:GreasePencilHookModifier\",\"rna-struct:GreasePencilLatticeModifier\",\"rna-struct:GreasePencilLengthModifier\",\"rna-struct:GreasePencilMirrorModifier\",\"rna-struct:GreasePencilMultiplyModifier\",\"rna-struct:GreasePencilNoiseModifier\",\"rna-struct:GreasePencilOffsetModifier\",\"rna-struct:GreasePencilOpacityModifier\",\"rna-struct:GreasePencilOutlineModifier\",\"rna-struct:GreasePencilShrinkwrapModifier\",\"rna-struct:GreasePencilSimplifyModifier\",\"rna-struct:GreasePencilSmoothModifier\",\"rna-struct:GreasePencilSubdivModifier\",\"rna-struct:GreasePencilTextureModifier\",\"rna-struct:GreasePencilTimeModifier\",\"rna-struct:GreasePencilTintModifier\",\"rna-struct:GreasePencilWeightAngleModifier\",\"rna-struct:GreasePencilWeightProximityModifier\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-modifier-reader-batch-two-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1151-001/modifier-reader-batch-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"modifier-source:MOD_grease_pencil_armature",
|
|
"modifier-source:MOD_grease_pencil_array",
|
|
"modifier-source:MOD_grease_pencil_build",
|
|
"modifier-source:MOD_grease_pencil_color",
|
|
"modifier-source:MOD_grease_pencil_dash",
|
|
"modifier-source:MOD_grease_pencil_envelope",
|
|
"modifier-source:MOD_grease_pencil_hook",
|
|
"modifier-source:MOD_grease_pencil_lattice",
|
|
"modifier-source:MOD_grease_pencil_length",
|
|
"modifier-source:MOD_grease_pencil_mirror",
|
|
"modifier-source:MOD_grease_pencil_multiply",
|
|
"modifier-source:MOD_grease_pencil_noise",
|
|
"modifier-source:MOD_grease_pencil_offset",
|
|
"modifier-source:MOD_grease_pencil_opacity",
|
|
"modifier-source:MOD_grease_pencil_outline",
|
|
"modifier-source:MOD_grease_pencil_shrinkwrap",
|
|
"modifier-source:MOD_grease_pencil_simplify",
|
|
"modifier-source:MOD_grease_pencil_smooth",
|
|
"modifier-source:MOD_grease_pencil_subdiv",
|
|
"modifier-source:MOD_grease_pencil_texture",
|
|
"modifier-source:MOD_grease_pencil_thickness",
|
|
"modifier-source:MOD_grease_pencil_time",
|
|
"modifier-source:MOD_grease_pencil_tint",
|
|
"modifier-source:MOD_grease_pencil_weight_angle",
|
|
"modifier-source:MOD_grease_pencil_weight_proximity",
|
|
"rna-struct:GreasePencilArmatureModifier",
|
|
"rna-struct:GreasePencilArrayModifier",
|
|
"rna-struct:GreasePencilBuildModifier",
|
|
"rna-struct:GreasePencilColorModifier",
|
|
"rna-struct:GreasePencilEnvelopeModifier",
|
|
"rna-struct:GreasePencilHookModifier",
|
|
"rna-struct:GreasePencilLatticeModifier",
|
|
"rna-struct:GreasePencilLengthModifier",
|
|
"rna-struct:GreasePencilMirrorModifier",
|
|
"rna-struct:GreasePencilMultiplyModifier",
|
|
"rna-struct:GreasePencilNoiseModifier",
|
|
"rna-struct:GreasePencilOffsetModifier",
|
|
"rna-struct:GreasePencilOpacityModifier",
|
|
"rna-struct:GreasePencilOutlineModifier",
|
|
"rna-struct:GreasePencilShrinkwrapModifier",
|
|
"rna-struct:GreasePencilSimplifyModifier",
|
|
"rna-struct:GreasePencilSmoothModifier",
|
|
"rna-struct:GreasePencilSubdivModifier",
|
|
"rna-struct:GreasePencilTextureModifier",
|
|
"rna-struct:GreasePencilTimeModifier",
|
|
"rna-struct:GreasePencilTintModifier",
|
|
"rna-struct:GreasePencilWeightAngleModifier",
|
|
"rna-struct:GreasePencilWeightProximityModifier"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1152-000",
|
|
"phase": "1152",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1151-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1152",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1152-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1152-001",
|
|
"phase": "1152",
|
|
"title": "verify modifier reader batch six",
|
|
"kind": "module",
|
|
"owner": "MODIFIER",
|
|
"dependsOn": [
|
|
"WBV2-P1152-000"
|
|
],
|
|
"parityId": "MODIFIER_READER_BATCH_SIX",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-modifier_reader_batch_six",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1152-001.md",
|
|
"behavior": "Verify the MODIFIER_READER_BATCH_SIX batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "MODIFIER_READER_BATCH_SIX",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MODIFIER_READER_BATCH_SIX-READER",
|
|
"CAP-MODIFIER_READER_BATCH_SIX-RECOVERY",
|
|
"CAP-MODIFIER_READER_BATCH_SIX-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_mesh_to_volume.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_particleinstance.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_surface.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_weightvgedit.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_weightvgmix.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_weightvgproximity.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-modifier-reader-multi-fixture-production.spec.ts",
|
|
"tests/files/web/generated/M16-GAP-00081-modifier-MESH_TO_VOLUME.blend",
|
|
"tests/files/web/generated/M16-GAP-00087-modifier-PARTICLE_INSTANCE.blend",
|
|
"tests/files/web/generated/M16-GAP-00098-modifier-SURFACE.blend",
|
|
"tests/files/web/generated/M16-GAP-00103-modifier-VERTEX_WEIGHT_EDIT.blend",
|
|
"tests/files/web/generated/M16-GAP-00104-modifier-VERTEX_WEIGHT_MIX.blend",
|
|
"tests/files/web/generated/M16-GAP-00105-modifier-VERTEX_WEIGHT_PROXIMITY.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"MOD_mesh_to_volume type is read from Blender Main",
|
|
"MOD_particleinstance type is read from Blender Main",
|
|
"MOD_surface type is read from Blender Main",
|
|
"MOD_weightvgedit type is read from Blender Main",
|
|
"MOD_weightvgmix type is read from Blender Main",
|
|
"MOD_weightvgproximity 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1152-001 WBV2_BATCH_FIXTURES='[\"tests/files/web/generated/M16-GAP-00081-modifier-MESH_TO_VOLUME.blend\",\"tests/files/web/generated/M16-GAP-00087-modifier-PARTICLE_INSTANCE.blend\",\"tests/files/web/generated/M16-GAP-00098-modifier-SURFACE.blend\",\"tests/files/web/generated/M16-GAP-00103-modifier-VERTEX_WEIGHT_EDIT.blend\",\"tests/files/web/generated/M16-GAP-00104-modifier-VERTEX_WEIGHT_MIX.blend\",\"tests/files/web/generated/M16-GAP-00105-modifier-VERTEX_WEIGHT_PROXIMITY.blend\"]' WBV2_BATCH_TYPES='[\"MESH_TO_VOLUME\",\"PARTICLE_INSTANCE\",\"SURFACE\",\"VERTEX_WEIGHT_EDIT\",\"VERTEX_WEIGHT_MIX\",\"VERTEX_WEIGHT_PROXIMITY\"]' WBV2_BATCH_UNITS='[\"modifier-source:MOD_mesh_to_volume\",\"modifier-source:MOD_particleinstance\",\"modifier-source:MOD_surface\",\"modifier-source:MOD_weightvgedit\",\"modifier-source:MOD_weightvgmix\",\"modifier-source:MOD_weightvgproximity\",\"rna-struct:MeshToVolumeModifier\",\"rna-struct:ParticleInstanceModifier\",\"rna-struct:SurfaceModifier\",\"rna-struct:VertexWeightEditModifier\",\"rna-struct:VertexWeightMixModifier\",\"rna-struct:VertexWeightProximityModifier\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-modifier-reader-multi-fixture-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1152-001/modifier-reader-batch-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"modifier-source:MOD_mesh_to_volume",
|
|
"modifier-source:MOD_particleinstance",
|
|
"modifier-source:MOD_surface",
|
|
"modifier-source:MOD_weightvgedit",
|
|
"modifier-source:MOD_weightvgmix",
|
|
"modifier-source:MOD_weightvgproximity",
|
|
"rna-struct:MeshToVolumeModifier",
|
|
"rna-struct:ParticleInstanceModifier",
|
|
"rna-struct:SurfaceModifier",
|
|
"rna-struct:VertexWeightEditModifier",
|
|
"rna-struct:VertexWeightMixModifier",
|
|
"rna-struct:VertexWeightProximityModifier"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1153-000",
|
|
"phase": "1153",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1152-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1153",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1153-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1153-001",
|
|
"phase": "1153",
|
|
"title": "reuse verified modifier receipts for shared source utilities",
|
|
"kind": "module",
|
|
"owner": "MODIFIER",
|
|
"dependsOn": [
|
|
"WBV2-P1153-000"
|
|
],
|
|
"parityId": "MODIFIER_SOURCE_DEPENDENCY_REUSE",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-modifier_source_dependency_reuse",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1153-001.md",
|
|
"behavior": "Verify the MODIFIER_SOURCE_DEPENDENCY_REUSE batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "MODIFIER_SOURCE_DEPENDENCY_REUSE",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MODIFIER_SOURCE_DEPENDENCY_REUSE-READER",
|
|
"CAP-MODIFIER_SOURCE_DEPENDENCY_REUSE-RECOVERY",
|
|
"CAP-MODIFIER_SOURCE_DEPENDENCY_REUSE-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_util.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_meshcache_mdd.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_meshcache_pc2.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_meshcache_util.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_weightvg_util.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_array.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_meshcache.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_meshcache.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_meshcache.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_weightvgedit.cc",
|
|
"tests/golden/WBV2-P1151-001/modifier-reader-batch-production.json",
|
|
"tests/golden/WBV2-P1150-001/modifier-reader-batch-production.json",
|
|
"tests/golden/WBV2-P1150-001/modifier-reader-batch-production.json",
|
|
"tests/golden/WBV2-P1150-001/modifier-reader-batch-production.json",
|
|
"tests/golden/WBV2-P1152-001/modifier-reader-batch-production.json",
|
|
"tools/web/reuse-wbv2-source-dependencies.mjs"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1150-001/manifest.json",
|
|
"report": "tests/golden/WBV2-P1150-001/module-receipt.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1151-001/manifest.json",
|
|
"report": "tests/golden/WBV2-P1151-001/module-receipt.json"
|
|
},
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1152-001/manifest.json",
|
|
"report": "tests/golden/WBV2-P1152-001/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [
|
|
{
|
|
"unitId": "modifier-source:MOD_grease_pencil_util",
|
|
"representativeUnitId": "modifier-source:MOD_grease_pencil_array",
|
|
"proofSource": "blender-5.2.0/source/blender/modifiers/intern/MOD_grease_pencil_array.cc",
|
|
"marker": "MOD_grease_pencil_util.hh",
|
|
"productionEvidence": "tests/golden/WBV2-P1151-001/modifier-reader-batch-production.json"
|
|
},
|
|
{
|
|
"unitId": "modifier-source:MOD_meshcache_mdd",
|
|
"representativeUnitId": "modifier-source:MOD_meshcache",
|
|
"proofSource": "blender-5.2.0/source/blender/modifiers/intern/MOD_meshcache.cc",
|
|
"marker": "MOD_meshcache_read_mdd_times",
|
|
"productionEvidence": "tests/golden/WBV2-P1150-001/modifier-reader-batch-production.json"
|
|
},
|
|
{
|
|
"unitId": "modifier-source:MOD_meshcache_pc2",
|
|
"representativeUnitId": "modifier-source:MOD_meshcache",
|
|
"proofSource": "blender-5.2.0/source/blender/modifiers/intern/MOD_meshcache.cc",
|
|
"marker": "MOD_meshcache_read_pc2_times",
|
|
"productionEvidence": "tests/golden/WBV2-P1150-001/modifier-reader-batch-production.json"
|
|
},
|
|
{
|
|
"unitId": "modifier-source:MOD_meshcache_util",
|
|
"representativeUnitId": "modifier-source:MOD_meshcache",
|
|
"proofSource": "blender-5.2.0/source/blender/modifiers/intern/MOD_meshcache.cc",
|
|
"marker": "MOD_meshcache_util.hh",
|
|
"productionEvidence": "tests/golden/WBV2-P1150-001/modifier-reader-batch-production.json"
|
|
},
|
|
{
|
|
"unitId": "modifier-source:MOD_weightvg_util",
|
|
"representativeUnitId": "modifier-source:MOD_weightvgedit",
|
|
"proofSource": "blender-5.2.0/source/blender/modifiers/intern/MOD_weightvgedit.cc",
|
|
"marker": "MOD_weightvg_util.hh",
|
|
"productionEvidence": "tests/golden/WBV2-P1152-001/modifier-reader-batch-production.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"MOD_grease_pencil_util type is read from Blender Main",
|
|
"MOD_meshcache_mdd type is read from Blender Main",
|
|
"MOD_meshcache_pc2 type is read from Blender Main",
|
|
"MOD_meshcache_util type is read from Blender Main",
|
|
"MOD_weightvg_util 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": [
|
|
"node tools/web/reuse-wbv2-source-dependencies.mjs --task WBV2-P1153-001 --write"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1153-001/source-dependency-reuse-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"modifier-source:MOD_grease_pencil_util",
|
|
"modifier-source:MOD_meshcache_mdd",
|
|
"modifier-source:MOD_meshcache_pc2",
|
|
"modifier-source:MOD_meshcache_util",
|
|
"modifier-source:MOD_weightvg_util"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1154-000",
|
|
"phase": "1154",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1153-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1154",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1154-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1154-001",
|
|
"phase": "1154",
|
|
"title": "verify solidify split helper sources",
|
|
"kind": "module",
|
|
"owner": "MODIFIER",
|
|
"dependsOn": [
|
|
"WBV2-P1154-000"
|
|
],
|
|
"parityId": "MODIFIER_SOLIDIFY_HELPER_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-modifier_solidify_dependency_reuse",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1154-001.md",
|
|
"behavior": "Verify the MODIFIER_SOLIDIFY_HELPER_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "MODIFIER_SOLIDIFY_HELPER_BATCH",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MODIFIER_SOLIDIFY_HELPER_BATCH-READER",
|
|
"CAP-MODIFIER_SOLIDIFY_HELPER_BATCH-RECOVERY",
|
|
"CAP-MODIFIER_SOLIDIFY_HELPER_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_solidify_extrude.cc",
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_solidify_nonmanifold.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-modifier-reader-multi-fixture-production.spec.ts",
|
|
"tests/files/web/modifier_generate_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/modifier-source-roundtrip-production.json"
|
|
}
|
|
],
|
|
"positive": [
|
|
"MOD_solidify_extrude type is read from Blender Main",
|
|
"MOD_solidify_nonmanifold 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1154-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1154-001/modifier-reader-batch-production.json WBV2_BATCH_FIXTURE=tests/files/web/modifier_generate_scene.blend WBV2_BATCH_TYPES='[\"SOLIDIFY\"]' WBV2_BATCH_UNITS='[\"modifier-source:MOD_solidify_extrude\",\"modifier-source:MOD_solidify_nonmanifold\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-modifier-reader-multi-fixture-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1154-001/modifier-reader-batch-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"modifier-source:MOD_solidify_extrude",
|
|
"modifier-source:MOD_solidify_nonmanifold"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1155-000",
|
|
"phase": "1155",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1154-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1155",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1155-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1155-001",
|
|
"phase": "1155",
|
|
"title": "verify modifier RNA reader batch",
|
|
"kind": "module",
|
|
"owner": "MODIFIER",
|
|
"dependsOn": [
|
|
"WBV2-P1155-000"
|
|
],
|
|
"parityId": "MODIFIER_RNA_READER_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-modifier_rna_reader_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1155-001.md",
|
|
"behavior": "Verify the MODIFIER_RNA_READER_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "MODIFIER_RNA_READER_BATCH",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MODIFIER_RNA_READER_BATCH-READER",
|
|
"CAP-MODIFIER_RNA_READER_BATCH-RECOVERY",
|
|
"CAP-MODIFIER_RNA_READER_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-modifier-reader-multi-fixture-production.spec.ts",
|
|
"tests/files/web/modifier_grease_pencil_scene.blend",
|
|
"tests/files/web/generated/M16-GAP-00088-modifier-PARTICLE_SYSTEM.blend",
|
|
"tests/files/web/generated/M16-GAP-00041-modifier-DECIMATE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MOD_lineart type is read from Blender Main",
|
|
"MOD_particlesystem type is read from Blender Main",
|
|
"MOD_decimate 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1155-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1155-001/modifier-reader-batch-production.json WBV2_BATCH_FIXTURES='[\"tests/files/web/modifier_grease_pencil_scene.blend\",\"tests/files/web/generated/M16-GAP-00088-modifier-PARTICLE_SYSTEM.blend\",\"tests/files/web/generated/M16-GAP-00041-modifier-DECIMATE.blend\"]' WBV2_BATCH_TYPES='[\"LINEART\",\"PARTICLE_SYSTEM\",\"DECIMATE\"]' WBV2_BATCH_UNITS='[\"rna-struct:GreasePencilLineartModifier\",\"rna-struct:ParticleSystemModifier\",\"rna-struct:DecimateModifier\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-modifier-reader-multi-fixture-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1155-001/modifier-reader-batch-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"rna-struct:GreasePencilLineartModifier",
|
|
"rna-struct:ParticleSystemModifier",
|
|
"rna-struct:DecimateModifier"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1156-000",
|
|
"phase": "1156",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1155-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1156",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1156-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1156-001",
|
|
"phase": "1156",
|
|
"title": "verify volume displace modifier reader",
|
|
"kind": "module",
|
|
"owner": "MODIFIER",
|
|
"dependsOn": [
|
|
"WBV2-P1156-000"
|
|
],
|
|
"parityId": "MODIFIER_VOLUME_DISPLACE_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-modifier_volume_displace_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1156-001.md",
|
|
"behavior": "Verify the MODIFIER_VOLUME_DISPLACE_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "MODIFIER_VOLUME_DISPLACE_BATCH",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MODIFIER_VOLUME_DISPLACE_BATCH-READER",
|
|
"CAP-MODIFIER_VOLUME_DISPLACE_BATCH-RECOVERY",
|
|
"CAP-MODIFIER_VOLUME_DISPLACE_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_volume_displace.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_modifier.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-modifier-reader-multi-fixture-production.spec.ts",
|
|
"tests/files/web/generated/M16-GAP-00106-modifier-VOLUME_DISPLACE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MOD_volume_displace 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1156-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1156-001/modifier-reader-batch-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/M16-GAP-00106-modifier-VOLUME_DISPLACE.blend WBV2_BATCH_TYPES='[\"VOLUME_DISPLACE\"]' WBV2_BATCH_UNITS='[\"modifier-source:MOD_volume_displace\",\"rna-struct:VolumeDisplaceModifier\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-modifier-reader-multi-fixture-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1156-001/modifier-reader-batch-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"modifier-source:MOD_volume_displace",
|
|
"rna-struct:VolumeDisplaceModifier"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1157-000",
|
|
"phase": "1157",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1156-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1157",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1157-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1157-001",
|
|
"phase": "1157",
|
|
"title": "verify shape key point reader",
|
|
"kind": "module",
|
|
"owner": "ANIMATION",
|
|
"dependsOn": [
|
|
"WBV2-P1157-000"
|
|
],
|
|
"parityId": "SHAPE_KEY_POINT_READER_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-shape_key_point_reader_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1157-001.md",
|
|
"behavior": "Verify the SHAPE_KEY_POINT_READER_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "SHAPE_KEY_POINT_READER_BATCH",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-SHAPE_KEY_POINT_READER_BATCH-READER",
|
|
"CAP-SHAPE_KEY_POINT_READER_BATCH-RECOVERY",
|
|
"CAP-SHAPE_KEY_POINT_READER_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_key.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-shape-key-reader-production.spec.ts",
|
|
"tests/files/web/rigged_shape_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1157-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1157-001/shape-key-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/rigged_shape_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"rna-struct:ShapeKeyPoint\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-shape-key-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1157-001/shape-key-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"rna-struct:ShapeKeyPoint"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1158-000",
|
|
"phase": "1158",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1157-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1158",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1158-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1158-001",
|
|
"phase": "1158",
|
|
"title": "verify line style reader batch",
|
|
"kind": "module",
|
|
"owner": "DRAWING",
|
|
"dependsOn": [
|
|
"WBV2-P1158-000"
|
|
],
|
|
"parityId": "LINE_STYLE_READER_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-line_style_reader_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1158-001.md",
|
|
"behavior": "Verify the LINE_STYLE_READER_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "LINE_STYLE_READER_BATCH",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-LINE_STYLE_READER_BATCH-READER",
|
|
"CAP-LINE_STYLE_READER_BATCH-RECOVERY",
|
|
"CAP-LINE_STYLE_READER_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-line-style-reader-production.spec.ts",
|
|
"tests/files/web/generated/M16-GAP-00008-datablock-FreestyleLineStyle.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1158-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1158-001/line-style-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/M16-GAP-00008-datablock-FreestyleLineStyle.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"rna-struct:FreestyleLineStyle\",\"rna-struct:LineStyleModifier\",\"rna-struct:LineStyleAlphaModifier\",\"rna-struct:LineStyleColorModifier\",\"rna-struct:LineStyleGeometryModifier\",\"rna-struct:LineStyleThicknessModifier\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-line-style-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1158-001/line-style-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"rna-struct:FreestyleLineStyle",
|
|
"rna-struct:LineStyleModifier",
|
|
"rna-struct:LineStyleAlphaModifier",
|
|
"rna-struct:LineStyleColorModifier",
|
|
"rna-struct:LineStyleGeometryModifier",
|
|
"rna-struct:LineStyleThicknessModifier"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1159-000",
|
|
"phase": "1159",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1158-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1159",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1159-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1159-001",
|
|
"phase": "1159",
|
|
"title": "verify line style collection reader batch",
|
|
"kind": "module",
|
|
"owner": "DRAWING",
|
|
"dependsOn": [
|
|
"WBV2-P1159-000"
|
|
],
|
|
"parityId": "LINE_STYLE_COLLECTION_READER_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-line_style_collection_reader_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1159-001.md",
|
|
"behavior": "Verify the LINE_STYLE_COLLECTION_READER_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "LINE_STYLE_COLLECTION_READER_BATCH",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-LINE_STYLE_COLLECTION_READER_BATCH-READER",
|
|
"CAP-LINE_STYLE_COLLECTION_READER_BATCH-RECOVERY",
|
|
"CAP-LINE_STYLE_COLLECTION_READER_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_main_api.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-line-style-reader-production.spec.ts",
|
|
"tests/files/web/line_style_modifier_batch_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1159-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1159-001/line-style-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/line_style_modifier_batch_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"rna-struct:BlendDataLineStyles\",\"rna-struct:LineStyleColorModifiers\",\"rna-struct:LineStyleAlphaModifiers\",\"rna-struct:LineStyleThicknessModifiers\",\"rna-struct:LineStyleGeometryModifiers\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-line-style-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1159-001/line-style-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"rna-struct:BlendDataLineStyles",
|
|
"rna-struct:LineStyleColorModifiers",
|
|
"rna-struct:LineStyleAlphaModifiers",
|
|
"rna-struct:LineStyleThicknessModifiers",
|
|
"rna-struct:LineStyleGeometryModifiers"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1160-000",
|
|
"phase": "1160",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1159-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1160",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1160-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1160-001",
|
|
"phase": "1160",
|
|
"title": "verify line style modifier subtype reader batch",
|
|
"kind": "module",
|
|
"owner": "DRAWING",
|
|
"dependsOn": [
|
|
"WBV2-P1160-000"
|
|
],
|
|
"parityId": "LINE_STYLE_SUBTYPE_READER_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-line_style_subtype_reader_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1160-001.md",
|
|
"behavior": "Verify the LINE_STYLE_SUBTYPE_READER_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "LINE_STYLE_SUBTYPE_READER_BATCH",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-LINE_STYLE_SUBTYPE_READER_BATCH-READER",
|
|
"CAP-LINE_STYLE_SUBTYPE_READER_BATCH-RECOVERY",
|
|
"CAP-LINE_STYLE_SUBTYPE_READER_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_linestyle.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-line-style-reader-production.spec.ts",
|
|
"tests/files/web/line_style_subtype_batch_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1160-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1160-001/line-style-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/line_style_subtype_batch_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"rna-struct:LineStyleAlphaModifier_AlongStroke\",\"rna-struct:LineStyleAlphaModifier_CreaseAngle\",\"rna-struct:LineStyleAlphaModifier_Curvature_3D\",\"rna-struct:LineStyleAlphaModifier_DistanceFromCamera\",\"rna-struct:LineStyleAlphaModifier_DistanceFromObject\",\"rna-struct:LineStyleAlphaModifier_Material\",\"rna-struct:LineStyleAlphaModifier_Noise\",\"rna-struct:LineStyleAlphaModifier_Tangent\",\"rna-struct:LineStyleColorModifier_AlongStroke\",\"rna-struct:LineStyleColorModifier_CreaseAngle\",\"rna-struct:LineStyleColorModifier_Curvature_3D\",\"rna-struct:LineStyleColorModifier_DistanceFromCamera\",\"rna-struct:LineStyleColorModifier_DistanceFromObject\",\"rna-struct:LineStyleColorModifier_Material\",\"rna-struct:LineStyleColorModifier_Noise\",\"rna-struct:LineStyleColorModifier_Tangent\",\"rna-struct:LineStyleGeometryModifier_2DOffset\",\"rna-struct:LineStyleGeometryModifier_2DTransform\",\"rna-struct:LineStyleGeometryModifier_BackboneStretcher\",\"rna-struct:LineStyleGeometryModifier_BezierCurve\",\"rna-struct:LineStyleGeometryModifier_Blueprint\",\"rna-struct:LineStyleGeometryModifier_GuidingLines\",\"rna-struct:LineStyleGeometryModifier_PerlinNoise1D\",\"rna-struct:LineStyleGeometryModifier_PerlinNoise2D\",\"rna-struct:LineStyleGeometryModifier_Polygonalization\",\"rna-struct:LineStyleGeometryModifier_Sampling\",\"rna-struct:LineStyleGeometryModifier_Simplification\",\"rna-struct:LineStyleGeometryModifier_SinusDisplacement\",\"rna-struct:LineStyleGeometryModifier_SpatialNoise\",\"rna-struct:LineStyleGeometryModifier_TipRemover\",\"rna-struct:LineStyleThicknessModifier_AlongStroke\",\"rna-struct:LineStyleThicknessModifier_Calligraphy\",\"rna-struct:LineStyleThicknessModifier_CreaseAngle\",\"rna-struct:LineStyleThicknessModifier_Curvature_3D\",\"rna-struct:LineStyleThicknessModifier_DistanceFromCamera\",\"rna-struct:LineStyleThicknessModifier_DistanceFromObject\",\"rna-struct:LineStyleThicknessModifier_Material\",\"rna-struct:LineStyleThicknessModifier_Noise\",\"rna-struct:LineStyleThicknessModifier_Tangent\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-line-style-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1160-001/line-style-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"rna-struct:LineStyleAlphaModifier_AlongStroke",
|
|
"rna-struct:LineStyleAlphaModifier_CreaseAngle",
|
|
"rna-struct:LineStyleAlphaModifier_Curvature_3D",
|
|
"rna-struct:LineStyleAlphaModifier_DistanceFromCamera",
|
|
"rna-struct:LineStyleAlphaModifier_DistanceFromObject",
|
|
"rna-struct:LineStyleAlphaModifier_Material",
|
|
"rna-struct:LineStyleAlphaModifier_Noise",
|
|
"rna-struct:LineStyleAlphaModifier_Tangent",
|
|
"rna-struct:LineStyleColorModifier_AlongStroke",
|
|
"rna-struct:LineStyleColorModifier_CreaseAngle",
|
|
"rna-struct:LineStyleColorModifier_Curvature_3D",
|
|
"rna-struct:LineStyleColorModifier_DistanceFromCamera",
|
|
"rna-struct:LineStyleColorModifier_DistanceFromObject",
|
|
"rna-struct:LineStyleColorModifier_Material",
|
|
"rna-struct:LineStyleColorModifier_Noise",
|
|
"rna-struct:LineStyleColorModifier_Tangent",
|
|
"rna-struct:LineStyleGeometryModifier_2DOffset",
|
|
"rna-struct:LineStyleGeometryModifier_2DTransform",
|
|
"rna-struct:LineStyleGeometryModifier_BackboneStretcher",
|
|
"rna-struct:LineStyleGeometryModifier_BezierCurve",
|
|
"rna-struct:LineStyleGeometryModifier_Blueprint",
|
|
"rna-struct:LineStyleGeometryModifier_GuidingLines",
|
|
"rna-struct:LineStyleGeometryModifier_PerlinNoise1D",
|
|
"rna-struct:LineStyleGeometryModifier_PerlinNoise2D",
|
|
"rna-struct:LineStyleGeometryModifier_Polygonalization",
|
|
"rna-struct:LineStyleGeometryModifier_Sampling",
|
|
"rna-struct:LineStyleGeometryModifier_Simplification",
|
|
"rna-struct:LineStyleGeometryModifier_SinusDisplacement",
|
|
"rna-struct:LineStyleGeometryModifier_SpatialNoise",
|
|
"rna-struct:LineStyleGeometryModifier_TipRemover",
|
|
"rna-struct:LineStyleThicknessModifier_AlongStroke",
|
|
"rna-struct:LineStyleThicknessModifier_Calligraphy",
|
|
"rna-struct:LineStyleThicknessModifier_CreaseAngle",
|
|
"rna-struct:LineStyleThicknessModifier_Curvature_3D",
|
|
"rna-struct:LineStyleThicknessModifier_DistanceFromCamera",
|
|
"rna-struct:LineStyleThicknessModifier_DistanceFromObject",
|
|
"rna-struct:LineStyleThicknessModifier_Material",
|
|
"rna-struct:LineStyleThicknessModifier_Noise",
|
|
"rna-struct:LineStyleThicknessModifier_Tangent"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1161-000",
|
|
"phase": "1161",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1160-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1161",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1161-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1161-001",
|
|
"phase": "1161",
|
|
"title": "verify FCurve modifier subtype reader batch",
|
|
"kind": "module",
|
|
"owner": "ANIMATION",
|
|
"dependsOn": [
|
|
"WBV2-P1161-000"
|
|
],
|
|
"parityId": "FCURVE_MODIFIER_SUBTYPE_READER_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-fcurve_modifier_subtype_reader_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1161-001.md",
|
|
"behavior": "Verify the FCURVE_MODIFIER_SUBTYPE_READER_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"module": {
|
|
"moduleId": "FCURVE_MODIFIER_SUBTYPE_READER_BATCH",
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-FCURVE_MODIFIER_SUBTYPE_READER_BATCH-READER",
|
|
"CAP-FCURVE_MODIFIER_SUBTYPE_READER_BATCH-RECOVERY",
|
|
"CAP-FCURVE_MODIFIER_SUBTYPE_READER_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_fcurve.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_fcurve.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_fcurve.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_fcurve.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_fcurve.cc",
|
|
"blender-5.2.0/source/blender/makesrna/intern/rna_fcurve.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-fcurve-modifier-production.spec.ts",
|
|
"tests/files/web/fcurve_modifier_subtype_batch_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1161-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1161-001/fcurve-modifier-production.json WBV2_BATCH_FIXTURE=tests/files/web/fcurve_modifier_subtype_batch_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"rna-struct:FModifierEnvelope\",\"rna-struct:FModifierGenerator\",\"rna-struct:FModifierLimits\",\"rna-struct:FModifierNoise\",\"rna-struct:FModifierSmooth\",\"rna-struct:FModifierStepped\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-fcurve-modifier-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1161-001/fcurve-modifier-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"rna-struct:FModifierEnvelope",
|
|
"rna-struct:FModifierGenerator",
|
|
"rna-struct:FModifierLimits",
|
|
"rna-struct:FModifierNoise",
|
|
"rna-struct:FModifierSmooth",
|
|
"rna-struct:FModifierStepped"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1162-000",
|
|
"phase": "1162",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1161-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1162",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1162-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1162-001",
|
|
"phase": "1162",
|
|
"title": "verify shape key modifier reader dependency",
|
|
"kind": "module",
|
|
"owner": "MODIFIER",
|
|
"dependsOn": [
|
|
"WBV2-P1162-000"
|
|
],
|
|
"parityId": "MODIFIER_SHAPEKEY_READER_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-modifier_shapekey_reader_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1162-001.md",
|
|
"behavior": "Verify the MODIFIER_SHAPEKEY_READER_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1162-001:MODIFIER_SHAPEKEY_READER_BATCH:f7a317a63fdee0cb",
|
|
"selectedRecordIds": [
|
|
"modifier-source:MOD_shapekey"
|
|
],
|
|
"module": {
|
|
"moduleId": "MODIFIER_SHAPEKEY_READER_BATCH",
|
|
"batchId": "WBV2-P1162-001:MODIFIER_SHAPEKEY_READER_BATCH:f7a317a63fdee0cb",
|
|
"selectedRecordIds": [
|
|
"modifier-source:MOD_shapekey"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MODIFIER_SHAPEKEY_READER_BATCH-READER",
|
|
"CAP-MODIFIER_SHAPEKEY_READER_BATCH-RECOVERY",
|
|
"CAP-MODIFIER_SHAPEKEY_READER_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/modifiers/intern/MOD_shapekey.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-shape-key-reader-production.spec.ts",
|
|
"tests/files/web/rigged_shape_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MOD_shapekey 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1162-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1162-001/shape-key-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/rigged_shape_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"modifier-source:MOD_shapekey\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-shape-key-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1162-001/shape-key-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"modifier-source:MOD_shapekey"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1163-000",
|
|
"phase": "1163",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1162-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1163",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1163-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1163-001",
|
|
"phase": "1163",
|
|
"title": "verify compositor node reader batch",
|
|
"kind": "module",
|
|
"owner": "MEDIA",
|
|
"dependsOn": [
|
|
"WBV2-P1163-000"
|
|
],
|
|
"parityId": "COMPOSITOR_NODE_READER_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-compositor_node_reader_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1163-001.md",
|
|
"behavior": "Verify the COMPOSITOR_NODE_READER_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1163-001:COMPOSITOR_NODE_READER_BATCH:6e59dc4f2b686518",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeGlare",
|
|
"node:CompositorNodeViewer"
|
|
],
|
|
"module": {
|
|
"moduleId": "COMPOSITOR_NODE_READER_BATCH",
|
|
"batchId": "WBV2-P1163-001:COMPOSITOR_NODE_READER_BATCH:6e59dc4f2b686518",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeGlare",
|
|
"node:CompositorNodeViewer"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-COMPOSITOR_NODE_READER_BATCH-READER",
|
|
"CAP-COMPOSITOR_NODE_READER_BATCH-RECOVERY",
|
|
"CAP-COMPOSITOR_NODE_READER_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_glare.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_viewer.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/compositor_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1163-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1163-001/compositor-main-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/compositor_scene.blend WBV2_BATCH_TYPES='[\"CompositorNodeGlare\",\"VIEWER\"]' WBV2_BATCH_UNITS='[\"node:CompositorNodeGlare\",\"node:CompositorNodeViewer\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/compositor-main-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1163-001/compositor-main-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:CompositorNodeGlare",
|
|
"node:CompositorNodeViewer"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1164-000",
|
|
"phase": "1164",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1163-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1164",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1164-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1164-001",
|
|
"phase": "1164",
|
|
"title": "verify native compositor transform blur alpha reader",
|
|
"kind": "module",
|
|
"owner": "MEDIA",
|
|
"dependsOn": [
|
|
"WBV2-P1164-000"
|
|
],
|
|
"parityId": "COMPOSITOR_NATIVE_NODE_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-compositor_native_node_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1164-001.md",
|
|
"behavior": "Verify the COMPOSITOR_NATIVE_NODE_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1164-001:COMPOSITOR_NATIVE_NODE_BATCH:91a76e1ee4077587",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeTransform",
|
|
"node:CompositorNodeBlur",
|
|
"node:CompositorNodeAlphaOver"
|
|
],
|
|
"module": {
|
|
"moduleId": "COMPOSITOR_NATIVE_NODE_BATCH",
|
|
"batchId": "WBV2-P1164-001:COMPOSITOR_NATIVE_NODE_BATCH:91a76e1ee4077587",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeTransform",
|
|
"node:CompositorNodeBlur",
|
|
"node:CompositorNodeAlphaOver"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-COMPOSITOR_NATIVE_NODE_BATCH-READER",
|
|
"CAP-COMPOSITOR_NATIVE_NODE_BATCH-RECOVERY",
|
|
"CAP-COMPOSITOR_NATIVE_NODE_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_transform.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_blur.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_alpha_over.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/compositor_node_batch_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"CompositorNodeTransform type is read from Blender Main",
|
|
"CompositorNodeBlur type is read from Blender Main",
|
|
"CompositorNodeAlphaOver type is read from Blender Main",
|
|
"CompositorNodeViewer 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1164-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1164-001/compositor-main-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/compositor_node_batch_scene.blend WBV2_BATCH_TYPES='[\"CompositorNodeTransform\",\"CompositorNodeBlur\",\"CompositorNodeAlphaOver\",\"VIEWER\"]' WBV2_BATCH_UNITS='[\"node:CompositorNodeTransform\",\"node:CompositorNodeBlur\",\"node:CompositorNodeAlphaOver\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/compositor-main-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1164-001/compositor-main-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:CompositorNodeTransform",
|
|
"node:CompositorNodeBlur",
|
|
"node:CompositorNodeAlphaOver"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1165-000",
|
|
"phase": "1165",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1164-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1165",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1165-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1165-001",
|
|
"phase": "1165",
|
|
"title": "verify auto-generated native compositor reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1165-000"
|
|
],
|
|
"parityId": "AUTO_COMPOSITOR_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_compositor_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1165-001.md",
|
|
"behavior": "Verify the AUTO_COMPOSITOR_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1165-001:AUTO_COMPOSITOR_NATIVE_NODE_READER:f0276fdfa1169691",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeAntiAliasing",
|
|
"node:CompositorNodeBilateralblur",
|
|
"node:CompositorNodeBlankImage",
|
|
"node:CompositorNodeBokehBlur",
|
|
"node:CompositorNodeBokehImage",
|
|
"node:CompositorNodeBoxMask",
|
|
"node:CompositorNodeBrightContrast",
|
|
"node:CompositorNodeChannelMatte"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_COMPOSITOR_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1165-001:AUTO_COMPOSITOR_NATIVE_NODE_READER:f0276fdfa1169691",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeAntiAliasing",
|
|
"node:CompositorNodeBilateralblur",
|
|
"node:CompositorNodeBlankImage",
|
|
"node:CompositorNodeBokehBlur",
|
|
"node:CompositorNodeBokehImage",
|
|
"node:CompositorNodeBoxMask",
|
|
"node:CompositorNodeBrightContrast",
|
|
"node:CompositorNodeChannelMatte"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_anti_aliasing.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_bilateral_blur.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_blank_image.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_bokeh_blur.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_bokeh_image.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_box_mask.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_brightness_contrast.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_channel_key.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-f0276fdfa1169691.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"CompositorNodeAntiAliasing type is read from Blender Main",
|
|
"CompositorNodeBilateralblur type is read from Blender Main",
|
|
"CompositorNodeBlankImage type is read from Blender Main",
|
|
"CompositorNodeBokehBlur type is read from Blender Main",
|
|
"CompositorNodeBokehImage type is read from Blender Main",
|
|
"CompositorNodeBoxMask type is read from Blender Main",
|
|
"CompositorNodeBrightContrast type is read from Blender Main",
|
|
"CompositorNodeChannelMatte 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1165-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1165-001/compositor-main-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-compositor-f0276fdfa1169691.blend WBV2_BATCH_TYPES='[\"CompositorNodeAntiAliasing\",\"CompositorNodeBilateralblur\",\"CompositorNodeBlankImage\",\"CompositorNodeBokehBlur\",\"CompositorNodeBokehImage\",\"CompositorNodeBoxMask\",\"CompositorNodeBrightContrast\",\"CompositorNodeChannelMatte\"]' WBV2_BATCH_UNITS='[\"node:CompositorNodeAntiAliasing\",\"node:CompositorNodeBilateralblur\",\"node:CompositorNodeBlankImage\",\"node:CompositorNodeBokehBlur\",\"node:CompositorNodeBokehImage\",\"node:CompositorNodeBoxMask\",\"node:CompositorNodeBrightContrast\",\"node:CompositorNodeChannelMatte\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/compositor-main-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1165-001/compositor-main-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:CompositorNodeAntiAliasing",
|
|
"node:CompositorNodeBilateralblur",
|
|
"node:CompositorNodeBlankImage",
|
|
"node:CompositorNodeBokehBlur",
|
|
"node:CompositorNodeBokehImage",
|
|
"node:CompositorNodeBoxMask",
|
|
"node:CompositorNodeBrightContrast",
|
|
"node:CompositorNodeChannelMatte"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1166-000",
|
|
"phase": "1166",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1165-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1166",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1166-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1166-001",
|
|
"phase": "1166",
|
|
"title": "verify auto-generated native compositor reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1166-000"
|
|
],
|
|
"parityId": "AUTO_COMPOSITOR_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_compositor_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1166-001.md",
|
|
"behavior": "Verify the AUTO_COMPOSITOR_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1166-001:AUTO_COMPOSITOR_NATIVE_NODE_READER:5b79ae1d2da8300c",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeChromaMatte",
|
|
"node:CompositorNodeColorBalance",
|
|
"node:CompositorNodeColorCorrection",
|
|
"node:CompositorNodeColorMatte",
|
|
"node:CompositorNodeColorSpill",
|
|
"node:CompositorNodeCombineColor",
|
|
"node:CompositorNodeConvertColorSpace",
|
|
"node:CompositorNodeConvertToDisplay"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_COMPOSITOR_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1166-001:AUTO_COMPOSITOR_NATIVE_NODE_READER:5b79ae1d2da8300c",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeChromaMatte",
|
|
"node:CompositorNodeColorBalance",
|
|
"node:CompositorNodeColorCorrection",
|
|
"node:CompositorNodeColorMatte",
|
|
"node:CompositorNodeColorSpill",
|
|
"node:CompositorNodeCombineColor",
|
|
"node:CompositorNodeConvertColorSpace",
|
|
"node:CompositorNodeConvertToDisplay"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_chroma_key.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_color_balance.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_color_correction.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_color_key.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_color_spill.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_combine_color.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_convert_color_space.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_convert_to_display.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-5b79ae1d2da8300c.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"CompositorNodeChromaMatte type is read from Blender Main",
|
|
"CompositorNodeColorBalance type is read from Blender Main",
|
|
"CompositorNodeColorCorrection type is read from Blender Main",
|
|
"CompositorNodeColorMatte type is read from Blender Main",
|
|
"CompositorNodeColorSpill type is read from Blender Main",
|
|
"CompositorNodeCombineColor type is read from Blender Main",
|
|
"CompositorNodeConvertColorSpace type is read from Blender Main",
|
|
"CompositorNodeConvertToDisplay 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1166-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1166-001/compositor-main-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-compositor-5b79ae1d2da8300c.blend WBV2_BATCH_TYPES='[\"CompositorNodeChromaMatte\",\"CompositorNodeColorBalance\",\"CompositorNodeColorCorrection\",\"CompositorNodeColorMatte\",\"CompositorNodeColorSpill\",\"CompositorNodeCombineColor\",\"CompositorNodeConvertColorSpace\",\"CompositorNodeConvertToDisplay\"]' WBV2_BATCH_UNITS='[\"node:CompositorNodeChromaMatte\",\"node:CompositorNodeColorBalance\",\"node:CompositorNodeColorCorrection\",\"node:CompositorNodeColorMatte\",\"node:CompositorNodeColorSpill\",\"node:CompositorNodeCombineColor\",\"node:CompositorNodeConvertColorSpace\",\"node:CompositorNodeConvertToDisplay\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/compositor-main-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1166-001/compositor-main-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:CompositorNodeChromaMatte",
|
|
"node:CompositorNodeColorBalance",
|
|
"node:CompositorNodeColorCorrection",
|
|
"node:CompositorNodeColorMatte",
|
|
"node:CompositorNodeColorSpill",
|
|
"node:CompositorNodeCombineColor",
|
|
"node:CompositorNodeConvertColorSpace",
|
|
"node:CompositorNodeConvertToDisplay"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1167-000",
|
|
"phase": "1167",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1166-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1167",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1167-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1167-001",
|
|
"phase": "1167",
|
|
"title": "verify auto-generated native compositor reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1167-000"
|
|
],
|
|
"parityId": "AUTO_COMPOSITOR_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_compositor_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1167-001.md",
|
|
"behavior": "Verify the AUTO_COMPOSITOR_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1167-001:AUTO_COMPOSITOR_NATIVE_NODE_READER:6c1d64f20df459f4",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeConvolve",
|
|
"node:CompositorNodeCornerPin",
|
|
"node:CompositorNodeCrop",
|
|
"node:CompositorNodeCryptomatte",
|
|
"node:CompositorNodeCryptomatteV2",
|
|
"node:CompositorNodeCurveRGB",
|
|
"node:CompositorNodeDBlur",
|
|
"node:CompositorNodeDefocus"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_COMPOSITOR_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1167-001:AUTO_COMPOSITOR_NATIVE_NODE_READER:6c1d64f20df459f4",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeConvolve",
|
|
"node:CompositorNodeCornerPin",
|
|
"node:CompositorNodeCrop",
|
|
"node:CompositorNodeCryptomatte",
|
|
"node:CompositorNodeCryptomatteV2",
|
|
"node:CompositorNodeCurveRGB",
|
|
"node:CompositorNodeDBlur",
|
|
"node:CompositorNodeDefocus"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_convolve.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_corner_pin.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_crop.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_cryptomatte.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_cryptomatte.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_rgb_curves.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_directional_blur.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_defocus.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-6c1d64f20df459f4.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"CompositorNodeConvolve type is read from Blender Main",
|
|
"CompositorNodeCornerPin type is read from Blender Main",
|
|
"CompositorNodeCrop type is read from Blender Main",
|
|
"CompositorNodeCryptomatte type is read from Blender Main",
|
|
"CompositorNodeCryptomatteV2 type is read from Blender Main",
|
|
"CompositorNodeCurveRGB type is read from Blender Main",
|
|
"CompositorNodeDBlur type is read from Blender Main",
|
|
"CompositorNodeDefocus 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1167-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1167-001/compositor-main-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-compositor-6c1d64f20df459f4.blend WBV2_BATCH_TYPES='[\"CompositorNodeConvolve\",\"CompositorNodeCornerPin\",\"CompositorNodeCrop\",\"CompositorNodeCryptomatte\",\"CompositorNodeCryptomatteV2\",\"CompositorNodeCurveRGB\",\"CompositorNodeDBlur\",\"CompositorNodeDefocus\"]' WBV2_BATCH_UNITS='[\"node:CompositorNodeConvolve\",\"node:CompositorNodeCornerPin\",\"node:CompositorNodeCrop\",\"node:CompositorNodeCryptomatte\",\"node:CompositorNodeCryptomatteV2\",\"node:CompositorNodeCurveRGB\",\"node:CompositorNodeDBlur\",\"node:CompositorNodeDefocus\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/compositor-main-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1167-001/compositor-main-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:CompositorNodeConvolve",
|
|
"node:CompositorNodeCornerPin",
|
|
"node:CompositorNodeCrop",
|
|
"node:CompositorNodeCryptomatte",
|
|
"node:CompositorNodeCryptomatteV2",
|
|
"node:CompositorNodeCurveRGB",
|
|
"node:CompositorNodeDBlur",
|
|
"node:CompositorNodeDefocus"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1168-000",
|
|
"phase": "1168",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1167-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1168",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1168-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1168-001",
|
|
"phase": "1168",
|
|
"title": "verify auto-generated native compositor reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1168-000"
|
|
],
|
|
"parityId": "AUTO_COMPOSITOR_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_compositor_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1168-001.md",
|
|
"behavior": "Verify the AUTO_COMPOSITOR_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1168-001:AUTO_COMPOSITOR_NATIVE_NODE_READER:56e154dff1afd9ba",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeDenoise",
|
|
"node:CompositorNodeDespeckle",
|
|
"node:CompositorNodeDiffMatte",
|
|
"node:CompositorNodeDilateErode",
|
|
"node:CompositorNodeDisplace",
|
|
"node:CompositorNodeDistanceMatte",
|
|
"node:CompositorNodeDoubleEdgeMask",
|
|
"node:CompositorNodeEllipseMask"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_COMPOSITOR_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1168-001:AUTO_COMPOSITOR_NATIVE_NODE_READER:56e154dff1afd9ba",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeDenoise",
|
|
"node:CompositorNodeDespeckle",
|
|
"node:CompositorNodeDiffMatte",
|
|
"node:CompositorNodeDilateErode",
|
|
"node:CompositorNodeDisplace",
|
|
"node:CompositorNodeDistanceMatte",
|
|
"node:CompositorNodeDoubleEdgeMask",
|
|
"node:CompositorNodeEllipseMask"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_denoise.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_despeckle.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_difference_key.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_dilate_erode.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_displace.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_distance_key.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_double_edge_mask.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_ellipse_mask.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-56e154dff1afd9ba.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"CompositorNodeDenoise type is read from Blender Main",
|
|
"CompositorNodeDespeckle type is read from Blender Main",
|
|
"CompositorNodeDiffMatte type is read from Blender Main",
|
|
"CompositorNodeDilateErode type is read from Blender Main",
|
|
"CompositorNodeDisplace type is read from Blender Main",
|
|
"CompositorNodeDistanceMatte type is read from Blender Main",
|
|
"CompositorNodeDoubleEdgeMask type is read from Blender Main",
|
|
"CompositorNodeEllipseMask 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1168-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1168-001/compositor-main-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-compositor-56e154dff1afd9ba.blend WBV2_BATCH_TYPES='[\"CompositorNodeDenoise\",\"CompositorNodeDespeckle\",\"CompositorNodeDiffMatte\",\"CompositorNodeDilateErode\",\"CompositorNodeDisplace\",\"CompositorNodeDistanceMatte\",\"CompositorNodeDoubleEdgeMask\",\"CompositorNodeEllipseMask\"]' WBV2_BATCH_UNITS='[\"node:CompositorNodeDenoise\",\"node:CompositorNodeDespeckle\",\"node:CompositorNodeDiffMatte\",\"node:CompositorNodeDilateErode\",\"node:CompositorNodeDisplace\",\"node:CompositorNodeDistanceMatte\",\"node:CompositorNodeDoubleEdgeMask\",\"node:CompositorNodeEllipseMask\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/compositor-main-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1168-001/compositor-main-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:CompositorNodeDenoise",
|
|
"node:CompositorNodeDespeckle",
|
|
"node:CompositorNodeDiffMatte",
|
|
"node:CompositorNodeDilateErode",
|
|
"node:CompositorNodeDisplace",
|
|
"node:CompositorNodeDistanceMatte",
|
|
"node:CompositorNodeDoubleEdgeMask",
|
|
"node:CompositorNodeEllipseMask"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1169-000",
|
|
"phase": "1169",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1168-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1169",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1169-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1169-001",
|
|
"phase": "1169",
|
|
"title": "verify auto-generated native compositor reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1169-000"
|
|
],
|
|
"parityId": "AUTO_COMPOSITOR_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_compositor_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1169-001.md",
|
|
"behavior": "Verify the AUTO_COMPOSITOR_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1169-001:AUTO_COMPOSITOR_NATIVE_NODE_READER:cd9ae59d0f9640d1",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeFilter",
|
|
"node:CompositorNodeFlip",
|
|
"node:CompositorNodeHueCorrect",
|
|
"node:CompositorNodeHueSat",
|
|
"node:CompositorNodeIDMask"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_COMPOSITOR_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1169-001:AUTO_COMPOSITOR_NATIVE_NODE_READER:cd9ae59d0f9640d1",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeFilter",
|
|
"node:CompositorNodeFlip",
|
|
"node:CompositorNodeHueCorrect",
|
|
"node:CompositorNodeHueSat",
|
|
"node:CompositorNodeIDMask"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_filter.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_flip.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_hue_correct.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_hue_saturation_value.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_id_mask.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-cd9ae59d0f9640d1.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"CompositorNodeFilter type is read from Blender Main",
|
|
"CompositorNodeFlip type is read from Blender Main",
|
|
"CompositorNodeHueCorrect type is read from Blender Main",
|
|
"CompositorNodeHueSat type is read from Blender Main",
|
|
"CompositorNodeIDMask 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1169-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1169-001/compositor-main-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-compositor-cd9ae59d0f9640d1.blend WBV2_BATCH_TYPES='[\"CompositorNodeFilter\",\"CompositorNodeFlip\",\"CompositorNodeHueCorrect\",\"CompositorNodeHueSat\",\"CompositorNodeIDMask\"]' WBV2_BATCH_UNITS='[\"node:CompositorNodeFilter\",\"node:CompositorNodeFlip\",\"node:CompositorNodeHueCorrect\",\"node:CompositorNodeHueSat\",\"node:CompositorNodeIDMask\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/compositor-main-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1169-001/compositor-main-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:CompositorNodeFilter",
|
|
"node:CompositorNodeFlip",
|
|
"node:CompositorNodeHueCorrect",
|
|
"node:CompositorNodeHueSat",
|
|
"node:CompositorNodeIDMask"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1170-000",
|
|
"phase": "1170",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1169-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1170",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1170-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1170-001",
|
|
"phase": "1170",
|
|
"title": "verify auto-generated native compositor reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1170-000"
|
|
],
|
|
"parityId": "AUTO_COMPOSITOR_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_compositor_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1170-001.md",
|
|
"behavior": "Verify the AUTO_COMPOSITOR_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1170-001:AUTO_COMPOSITOR_NATIVE_NODE_READER:8ee7e86684d23363",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeImage",
|
|
"node:CompositorNodeImageCoordinates",
|
|
"node:CompositorNodeImageInfo",
|
|
"node:CompositorNodeInpaint",
|
|
"node:CompositorNodeKeying",
|
|
"node:CompositorNodeKeyingScreen",
|
|
"node:CompositorNodeKuwahara",
|
|
"node:CompositorNodeLensdist"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_COMPOSITOR_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1170-001:AUTO_COMPOSITOR_NATIVE_NODE_READER:8ee7e86684d23363",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeImage",
|
|
"node:CompositorNodeImageCoordinates",
|
|
"node:CompositorNodeImageInfo",
|
|
"node:CompositorNodeInpaint",
|
|
"node:CompositorNodeKeying",
|
|
"node:CompositorNodeKeyingScreen",
|
|
"node:CompositorNodeKuwahara",
|
|
"node:CompositorNodeLensdist"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_image.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_image_coordinates.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_image_info.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_inpaint.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_keying.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_keying_screen.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_kuwahara.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_lens_distortion.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-8ee7e86684d23363.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"CompositorNodeImage type is read from Blender Main",
|
|
"CompositorNodeImageCoordinates type is read from Blender Main",
|
|
"CompositorNodeImageInfo type is read from Blender Main",
|
|
"CompositorNodeInpaint type is read from Blender Main",
|
|
"CompositorNodeKeying type is read from Blender Main",
|
|
"CompositorNodeKeyingScreen type is read from Blender Main",
|
|
"CompositorNodeKuwahara type is read from Blender Main",
|
|
"CompositorNodeLensdist 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1170-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1170-001/compositor-main-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-compositor-8ee7e86684d23363.blend WBV2_BATCH_TYPES='[\"CompositorNodeImage\",\"CompositorNodeImageCoordinates\",\"CompositorNodeImageInfo\",\"CompositorNodeInpaint\",\"CompositorNodeKeying\",\"CompositorNodeKeyingScreen\",\"CompositorNodeKuwahara\",\"CompositorNodeLensdist\"]' WBV2_BATCH_UNITS='[\"node:CompositorNodeImage\",\"node:CompositorNodeImageCoordinates\",\"node:CompositorNodeImageInfo\",\"node:CompositorNodeInpaint\",\"node:CompositorNodeKeying\",\"node:CompositorNodeKeyingScreen\",\"node:CompositorNodeKuwahara\",\"node:CompositorNodeLensdist\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/compositor-main-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1170-001/compositor-main-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:CompositorNodeImage",
|
|
"node:CompositorNodeImageCoordinates",
|
|
"node:CompositorNodeImageInfo",
|
|
"node:CompositorNodeInpaint",
|
|
"node:CompositorNodeKeying",
|
|
"node:CompositorNodeKeyingScreen",
|
|
"node:CompositorNodeKuwahara",
|
|
"node:CompositorNodeLensdist"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1171-000",
|
|
"phase": "1171",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1170-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1171",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1171-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1171-001",
|
|
"phase": "1171",
|
|
"title": "verify auto-generated native compositor reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1171-000"
|
|
],
|
|
"parityId": "AUTO_COMPOSITOR_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_compositor_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1171-001.md",
|
|
"behavior": "Verify the AUTO_COMPOSITOR_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"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"
|
|
],
|
|
"module": {
|
|
"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"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"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"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"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"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1171-001/compositor-main-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:CompositorNodeLevels",
|
|
"node:CompositorNodeLumaMatte",
|
|
"node:CompositorNodeMapUV",
|
|
"node:CompositorNodeMask",
|
|
"node:CompositorNodeMaskToSDF",
|
|
"node:CompositorNodeMovieClip",
|
|
"node:CompositorNodeMovieDistortion",
|
|
"node:CompositorNodeNormal"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1172-000",
|
|
"phase": "1172",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1171-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1172",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1172-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1172-001",
|
|
"phase": "1172",
|
|
"title": "verify auto-generated native compositor reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1172-000"
|
|
],
|
|
"parityId": "AUTO_COMPOSITOR_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_compositor_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1172-001.md",
|
|
"behavior": "Verify the AUTO_COMPOSITOR_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1172-001:AUTO_COMPOSITOR_NATIVE_NODE_READER:bf66c685c7c6fd95",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeNormalize",
|
|
"node:CompositorNodeOutputFile",
|
|
"node:CompositorNodePixelate",
|
|
"node:CompositorNodePlaneTrackDeform",
|
|
"node:CompositorNodePosterize",
|
|
"node:CompositorNodePremulKey",
|
|
"node:CompositorNodeRGBToBW",
|
|
"node:CompositorNodeRLayers"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_COMPOSITOR_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1172-001:AUTO_COMPOSITOR_NATIVE_NODE_READER:bf66c685c7c6fd95",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeNormalize",
|
|
"node:CompositorNodeOutputFile",
|
|
"node:CompositorNodePixelate",
|
|
"node:CompositorNodePlaneTrackDeform",
|
|
"node:CompositorNodePosterize",
|
|
"node:CompositorNodePremulKey",
|
|
"node:CompositorNodeRGBToBW",
|
|
"node:CompositorNodeRLayers"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_normalize.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_file_output.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_pixelate.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_plane_track_deform.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_posterize.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_alpha_convert.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_rgb_to_bw.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_render_layers.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-bf66c685c7c6fd95.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"CompositorNodeNormalize type is read from Blender Main",
|
|
"CompositorNodeOutputFile type is read from Blender Main",
|
|
"CompositorNodePixelate type is read from Blender Main",
|
|
"CompositorNodePlaneTrackDeform type is read from Blender Main",
|
|
"CompositorNodePosterize type is read from Blender Main",
|
|
"CompositorNodePremulKey type is read from Blender Main",
|
|
"CompositorNodeRGBToBW type is read from Blender Main",
|
|
"CompositorNodeRLayers 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1172-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1172-001/compositor-main-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-compositor-bf66c685c7c6fd95.blend WBV2_BATCH_TYPES='[\"CompositorNodeNormalize\",\"CompositorNodeOutputFile\",\"CompositorNodePixelate\",\"CompositorNodePlaneTrackDeform\",\"CompositorNodePosterize\",\"CompositorNodePremulKey\",\"CompositorNodeRGBToBW\",\"CompositorNodeRLayers\"]' WBV2_BATCH_UNITS='[\"node:CompositorNodeNormalize\",\"node:CompositorNodeOutputFile\",\"node:CompositorNodePixelate\",\"node:CompositorNodePlaneTrackDeform\",\"node:CompositorNodePosterize\",\"node:CompositorNodePremulKey\",\"node:CompositorNodeRGBToBW\",\"node:CompositorNodeRLayers\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/compositor-main-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1172-001/compositor-main-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:CompositorNodeNormalize",
|
|
"node:CompositorNodeOutputFile",
|
|
"node:CompositorNodePixelate",
|
|
"node:CompositorNodePlaneTrackDeform",
|
|
"node:CompositorNodePosterize",
|
|
"node:CompositorNodePremulKey",
|
|
"node:CompositorNodeRGBToBW",
|
|
"node:CompositorNodeRLayers"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1173-000",
|
|
"phase": "1173",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1172-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1173",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1173-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1173-001",
|
|
"phase": "1173",
|
|
"title": "verify auto-generated native compositor reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1173-000"
|
|
],
|
|
"parityId": "AUTO_COMPOSITOR_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_compositor_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1173-001.md",
|
|
"behavior": "Verify the AUTO_COMPOSITOR_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1173-001:AUTO_COMPOSITOR_NATIVE_NODE_READER:a1b966b1af421537",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeRelativeToPixel",
|
|
"node:CompositorNodeRotate",
|
|
"node:CompositorNodeScale",
|
|
"node:CompositorNodeSceneTime",
|
|
"node:CompositorNodeSeparateColor",
|
|
"node:CompositorNodeSequencerStripInfo",
|
|
"node:CompositorNodeSetAlpha",
|
|
"node:CompositorNodeSplit"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_COMPOSITOR_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1173-001:AUTO_COMPOSITOR_NATIVE_NODE_READER:a1b966b1af421537",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeRelativeToPixel",
|
|
"node:CompositorNodeRotate",
|
|
"node:CompositorNodeScale",
|
|
"node:CompositorNodeSceneTime",
|
|
"node:CompositorNodeSeparateColor",
|
|
"node:CompositorNodeSequencerStripInfo",
|
|
"node:CompositorNodeSetAlpha",
|
|
"node:CompositorNodeSplit"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_relative_to_pixel.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_rotate.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_scale.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_scene_time.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_separate_color.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_strip_info.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_set_alpha.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_split.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-a1b966b1af421537.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"CompositorNodeRelativeToPixel type is read from Blender Main",
|
|
"CompositorNodeRotate type is read from Blender Main",
|
|
"CompositorNodeScale type is read from Blender Main",
|
|
"CompositorNodeSceneTime type is read from Blender Main",
|
|
"CompositorNodeSeparateColor type is read from Blender Main",
|
|
"CompositorNodeSequencerStripInfo type is read from Blender Main",
|
|
"CompositorNodeSetAlpha type is read from Blender Main",
|
|
"CompositorNodeSplit 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1173-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1173-001/compositor-main-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-compositor-a1b966b1af421537.blend WBV2_BATCH_TYPES='[\"CompositorNodeRelativeToPixel\",\"CompositorNodeRotate\",\"CompositorNodeScale\",\"CompositorNodeSceneTime\",\"CompositorNodeSeparateColor\",\"CompositorNodeSequencerStripInfo\",\"CompositorNodeSetAlpha\",\"CompositorNodeSplit\"]' WBV2_BATCH_UNITS='[\"node:CompositorNodeRelativeToPixel\",\"node:CompositorNodeRotate\",\"node:CompositorNodeScale\",\"node:CompositorNodeSceneTime\",\"node:CompositorNodeSeparateColor\",\"node:CompositorNodeSequencerStripInfo\",\"node:CompositorNodeSetAlpha\",\"node:CompositorNodeSplit\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/compositor-main-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1173-001/compositor-main-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:CompositorNodeRelativeToPixel",
|
|
"node:CompositorNodeRotate",
|
|
"node:CompositorNodeScale",
|
|
"node:CompositorNodeSceneTime",
|
|
"node:CompositorNodeSeparateColor",
|
|
"node:CompositorNodeSequencerStripInfo",
|
|
"node:CompositorNodeSetAlpha",
|
|
"node:CompositorNodeSplit"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1174-000",
|
|
"phase": "1174",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1173-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1174",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1174-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1174-001",
|
|
"phase": "1174",
|
|
"title": "verify auto-generated native compositor reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1174-000"
|
|
],
|
|
"parityId": "AUTO_COMPOSITOR_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_compositor_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1174-001.md",
|
|
"behavior": "Verify the AUTO_COMPOSITOR_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1174-001:AUTO_COMPOSITOR_NATIVE_NODE_READER:8f71e517e24622f2",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeStabilize",
|
|
"node:CompositorNodeStringToImage",
|
|
"node:CompositorNodeSwitch",
|
|
"node:CompositorNodeSwitchView",
|
|
"node:CompositorNodeTime",
|
|
"node:CompositorNodeTonemap",
|
|
"node:CompositorNodeTrackPos",
|
|
"node:CompositorNodeTranslate"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_COMPOSITOR_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1174-001:AUTO_COMPOSITOR_NATIVE_NODE_READER:8f71e517e24622f2",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeStabilize",
|
|
"node:CompositorNodeStringToImage",
|
|
"node:CompositorNodeSwitch",
|
|
"node:CompositorNodeSwitchView",
|
|
"node:CompositorNodeTime",
|
|
"node:CompositorNodeTonemap",
|
|
"node:CompositorNodeTrackPos",
|
|
"node:CompositorNodeTranslate"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_stabilize_2d.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_string_to_image.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_switch.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_switch_view.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_time_curve.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_tone_map.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_track_position.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_translate.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-8f71e517e24622f2.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"CompositorNodeStabilize type is read from Blender Main",
|
|
"CompositorNodeStringToImage type is read from Blender Main",
|
|
"CompositorNodeSwitch type is read from Blender Main",
|
|
"CompositorNodeSwitchView type is read from Blender Main",
|
|
"CompositorNodeTime type is read from Blender Main",
|
|
"CompositorNodeTonemap type is read from Blender Main",
|
|
"CompositorNodeTrackPos type is read from Blender Main",
|
|
"CompositorNodeTranslate 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1174-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1174-001/compositor-main-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-compositor-8f71e517e24622f2.blend WBV2_BATCH_TYPES='[\"CompositorNodeStabilize\",\"CompositorNodeStringToImage\",\"CompositorNodeSwitch\",\"CompositorNodeSwitchView\",\"CompositorNodeTime\",\"CompositorNodeTonemap\",\"CompositorNodeTrackPos\",\"CompositorNodeTranslate\"]' WBV2_BATCH_UNITS='[\"node:CompositorNodeStabilize\",\"node:CompositorNodeStringToImage\",\"node:CompositorNodeSwitch\",\"node:CompositorNodeSwitchView\",\"node:CompositorNodeTime\",\"node:CompositorNodeTonemap\",\"node:CompositorNodeTrackPos\",\"node:CompositorNodeTranslate\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/compositor-main-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1174-001/compositor-main-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:CompositorNodeStabilize",
|
|
"node:CompositorNodeStringToImage",
|
|
"node:CompositorNodeSwitch",
|
|
"node:CompositorNodeSwitchView",
|
|
"node:CompositorNodeTime",
|
|
"node:CompositorNodeTonemap",
|
|
"node:CompositorNodeTrackPos",
|
|
"node:CompositorNodeTranslate"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1175-000",
|
|
"phase": "1175",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1174-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1175",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1175-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1175-001",
|
|
"phase": "1175",
|
|
"title": "verify auto-generated native compositor reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1175-000"
|
|
],
|
|
"parityId": "AUTO_COMPOSITOR_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_compositor_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1175-001.md",
|
|
"behavior": "Verify the AUTO_COMPOSITOR_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1175-001:AUTO_COMPOSITOR_NATIVE_NODE_READER:4c3e128e97498ba4",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeVecBlur",
|
|
"node:CompositorNodeZcombine"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_COMPOSITOR_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1175-001:AUTO_COMPOSITOR_NATIVE_NODE_READER:4c3e128e97498ba4",
|
|
"selectedRecordIds": [
|
|
"node:CompositorNodeVecBlur",
|
|
"node:CompositorNodeZcombine"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_COMPOSITOR_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_vector_blur.cc",
|
|
"blender-5.2.0/source/blender/nodes/composite/nodes/node_composite_depth_combine.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-4c3e128e97498ba4.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"CompositorNodeVecBlur type is read from Blender Main",
|
|
"CompositorNodeZcombine 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1175-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1175-001/compositor-main-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-compositor-4c3e128e97498ba4.blend WBV2_BATCH_TYPES='[\"CompositorNodeVecBlur\",\"CompositorNodeZcombine\"]' WBV2_BATCH_UNITS='[\"node:CompositorNodeVecBlur\",\"node:CompositorNodeZcombine\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/compositor-main-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1175-001/compositor-main-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:CompositorNodeVecBlur",
|
|
"node:CompositorNodeZcombine"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1176-000",
|
|
"phase": "1176",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1175-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1176",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1176-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1176-001",
|
|
"phase": "1176",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1176-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1176-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1176-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1176-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_accumulate_field.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_domain_size.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_statistic.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_bake.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_blur_attribute.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeAccumulateField type is read from Blender Main",
|
|
"GeometryNodeAttributeDomainSize type is read from Blender Main",
|
|
"GeometryNodeAttributeStatistic type is read from Blender Main",
|
|
"GeometryNodeBake type is read from Blender Main",
|
|
"GeometryNodeBlurAttribute 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1176-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1176-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend WBV2_BATCH_TYPES='[\"GeometryNodeAccumulateField\",\"GeometryNodeAttributeDomainSize\",\"GeometryNodeAttributeStatistic\",\"GeometryNodeBake\",\"GeometryNodeBlurAttribute\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeAccumulateField\",\"node:GeometryNodeAttributeDomainSize\",\"node:GeometryNodeAttributeStatistic\",\"node:GeometryNodeBake\",\"node:GeometryNodeBlurAttribute\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1176-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1177-000",
|
|
"phase": "1177",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1176-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1177",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1177-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1177-001",
|
|
"phase": "1177",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1177-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1177-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1177-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1177-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_accumulate_field.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_domain_size.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_statistic.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_bake.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_blur_attribute.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeAccumulateField type is read from Blender Main",
|
|
"GeometryNodeAttributeDomainSize type is read from Blender Main",
|
|
"GeometryNodeAttributeStatistic type is read from Blender Main",
|
|
"GeometryNodeBake type is read from Blender Main",
|
|
"GeometryNodeBlurAttribute 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1177-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1177-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend WBV2_BATCH_TYPES='[\"GeometryNodeAccumulateField\",\"GeometryNodeAttributeDomainSize\",\"GeometryNodeAttributeStatistic\",\"GeometryNodeBake\",\"GeometryNodeBlurAttribute\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeAccumulateField\",\"node:GeometryNodeAttributeDomainSize\",\"node:GeometryNodeAttributeStatistic\",\"node:GeometryNodeBake\",\"node:GeometryNodeBlurAttribute\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1177-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1178-000",
|
|
"phase": "1178",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1177-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1178",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1178-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1178-001",
|
|
"phase": "1178",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1178-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1178-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1178-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1178-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_accumulate_field.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_domain_size.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_statistic.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_bake.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_blur_attribute.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeAccumulateField type is read from Blender Main",
|
|
"GeometryNodeAttributeDomainSize type is read from Blender Main",
|
|
"GeometryNodeAttributeStatistic type is read from Blender Main",
|
|
"GeometryNodeBake type is read from Blender Main",
|
|
"GeometryNodeBlurAttribute 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1178-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1178-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend WBV2_BATCH_TYPES='[\"GeometryNodeAccumulateField\",\"GeometryNodeAttributeDomainSize\",\"GeometryNodeAttributeStatistic\",\"GeometryNodeBake\",\"GeometryNodeBlurAttribute\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeAccumulateField\",\"node:GeometryNodeAttributeDomainSize\",\"node:GeometryNodeAttributeStatistic\",\"node:GeometryNodeBake\",\"node:GeometryNodeBlurAttribute\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1178-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1179-000",
|
|
"phase": "1179",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1178-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1179",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1179-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1179-001",
|
|
"phase": "1179",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1179-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1179-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1179-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1179-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_accumulate_field.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_domain_size.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_statistic.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_bake.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_blur_attribute.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeAccumulateField type is read from Blender Main",
|
|
"GeometryNodeAttributeDomainSize type is read from Blender Main",
|
|
"GeometryNodeAttributeStatistic type is read from Blender Main",
|
|
"GeometryNodeBake type is read from Blender Main",
|
|
"GeometryNodeBlurAttribute 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1179-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1179-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend WBV2_BATCH_TYPES='[\"GeometryNodeAccumulateField\",\"GeometryNodeAttributeDomainSize\",\"GeometryNodeAttributeStatistic\",\"GeometryNodeBake\",\"GeometryNodeBlurAttribute\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeAccumulateField\",\"node:GeometryNodeAttributeDomainSize\",\"node:GeometryNodeAttributeStatistic\",\"node:GeometryNodeBake\",\"node:GeometryNodeBlurAttribute\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1179-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1180-000",
|
|
"phase": "1180",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1179-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1180",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1180-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1180-001",
|
|
"phase": "1180",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1180-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1180-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1180-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1180-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_accumulate_field.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_domain_size.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_statistic.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_bake.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_blur_attribute.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeAccumulateField type is read from Blender Main",
|
|
"GeometryNodeAttributeDomainSize type is read from Blender Main",
|
|
"GeometryNodeAttributeStatistic type is read from Blender Main",
|
|
"GeometryNodeBake type is read from Blender Main",
|
|
"GeometryNodeBlurAttribute 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1180-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1180-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend WBV2_BATCH_TYPES='[\"GeometryNodeAccumulateField\",\"GeometryNodeAttributeDomainSize\",\"GeometryNodeAttributeStatistic\",\"GeometryNodeBake\",\"GeometryNodeBlurAttribute\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeAccumulateField\",\"node:GeometryNodeAttributeDomainSize\",\"node:GeometryNodeAttributeStatistic\",\"node:GeometryNodeBake\",\"node:GeometryNodeBlurAttribute\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1180-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1181-000",
|
|
"phase": "1181",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1180-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1181",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1181-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1181-001",
|
|
"phase": "1181",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1181-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1181-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1181-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1181-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_accumulate_field.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_domain_size.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_statistic.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_bake.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_blur_attribute.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeAccumulateField type is read from Blender Main",
|
|
"GeometryNodeAttributeDomainSize type is read from Blender Main",
|
|
"GeometryNodeAttributeStatistic type is read from Blender Main",
|
|
"GeometryNodeBake type is read from Blender Main",
|
|
"GeometryNodeBlurAttribute 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1181-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1181-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend WBV2_BATCH_TYPES='[\"GeometryNodeAccumulateField\",\"GeometryNodeAttributeDomainSize\",\"GeometryNodeAttributeStatistic\",\"GeometryNodeBake\",\"GeometryNodeBlurAttribute\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeAccumulateField\",\"node:GeometryNodeAttributeDomainSize\",\"node:GeometryNodeAttributeStatistic\",\"node:GeometryNodeBake\",\"node:GeometryNodeBlurAttribute\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1181-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1182-000",
|
|
"phase": "1182",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1181-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1182",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1182-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1182-001",
|
|
"phase": "1182",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1182-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1182-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1182-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1182-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_accumulate_field.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_domain_size.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_statistic.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_bake.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_blur_attribute.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeAccumulateField type is read from Blender Main",
|
|
"GeometryNodeAttributeDomainSize type is read from Blender Main",
|
|
"GeometryNodeAttributeStatistic type is read from Blender Main",
|
|
"GeometryNodeBake type is read from Blender Main",
|
|
"GeometryNodeBlurAttribute 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1182-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1182-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend WBV2_BATCH_TYPES='[\"GeometryNodeAccumulateField\",\"GeometryNodeAttributeDomainSize\",\"GeometryNodeAttributeStatistic\",\"GeometryNodeBake\",\"GeometryNodeBlurAttribute\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeAccumulateField\",\"node:GeometryNodeAttributeDomainSize\",\"node:GeometryNodeAttributeStatistic\",\"node:GeometryNodeBake\",\"node:GeometryNodeBlurAttribute\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1182-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1183-000",
|
|
"phase": "1183",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1182-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1183",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1183-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1183-001",
|
|
"phase": "1183",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1183-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1183-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1183-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1183-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_accumulate_field.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_domain_size.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_statistic.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_bake.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_blur_attribute.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeAccumulateField type is read from Blender Main",
|
|
"GeometryNodeAttributeDomainSize type is read from Blender Main",
|
|
"GeometryNodeAttributeStatistic type is read from Blender Main",
|
|
"GeometryNodeBake type is read from Blender Main",
|
|
"GeometryNodeBlurAttribute 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1183-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1183-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend WBV2_BATCH_TYPES='[\"GeometryNodeAccumulateField\",\"GeometryNodeAttributeDomainSize\",\"GeometryNodeAttributeStatistic\",\"GeometryNodeBake\",\"GeometryNodeBlurAttribute\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeAccumulateField\",\"node:GeometryNodeAttributeDomainSize\",\"node:GeometryNodeAttributeStatistic\",\"node:GeometryNodeBake\",\"node:GeometryNodeBlurAttribute\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1183-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1184-000",
|
|
"phase": "1184",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1183-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1184",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1184-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1184-001",
|
|
"phase": "1184",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1184-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1184-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1184-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1184-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_accumulate_field.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_domain_size.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_statistic.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_bake.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_blur_attribute.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeAccumulateField type is read from Blender Main",
|
|
"GeometryNodeAttributeDomainSize type is read from Blender Main",
|
|
"GeometryNodeAttributeStatistic type is read from Blender Main",
|
|
"GeometryNodeBake type is read from Blender Main",
|
|
"GeometryNodeBlurAttribute 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1184-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1184-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend WBV2_BATCH_TYPES='[\"GeometryNodeAccumulateField\",\"GeometryNodeAttributeDomainSize\",\"GeometryNodeAttributeStatistic\",\"GeometryNodeBake\",\"GeometryNodeBlurAttribute\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeAccumulateField\",\"node:GeometryNodeAttributeDomainSize\",\"node:GeometryNodeAttributeStatistic\",\"node:GeometryNodeBake\",\"node:GeometryNodeBlurAttribute\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1184-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1185-000",
|
|
"phase": "1185",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1184-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1185",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1185-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1185-001",
|
|
"phase": "1185",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1185-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1185-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1185-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1185-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_accumulate_field.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_domain_size.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_statistic.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_bake.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_blur_attribute.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeAccumulateField type is read from Blender Main",
|
|
"GeometryNodeAttributeDomainSize type is read from Blender Main",
|
|
"GeometryNodeAttributeStatistic type is read from Blender Main",
|
|
"GeometryNodeBake type is read from Blender Main",
|
|
"GeometryNodeBlurAttribute 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1185-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1185-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend WBV2_BATCH_TYPES='[\"GeometryNodeAccumulateField\",\"GeometryNodeAttributeDomainSize\",\"GeometryNodeAttributeStatistic\",\"GeometryNodeBake\",\"GeometryNodeBlurAttribute\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeAccumulateField\",\"node:GeometryNodeAttributeDomainSize\",\"node:GeometryNodeAttributeStatistic\",\"node:GeometryNodeBake\",\"node:GeometryNodeBlurAttribute\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1185-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1186-000",
|
|
"phase": "1186",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1185-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1186",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1186-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1186-001",
|
|
"phase": "1186",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1186-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1186-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1186-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1186-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_accumulate_field.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_domain_size.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_statistic.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_bake.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_blur_attribute.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeAccumulateField type is read from Blender Main",
|
|
"GeometryNodeAttributeDomainSize type is read from Blender Main",
|
|
"GeometryNodeAttributeStatistic type is read from Blender Main",
|
|
"GeometryNodeBake type is read from Blender Main",
|
|
"GeometryNodeBlurAttribute 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1186-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1186-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend WBV2_BATCH_TYPES='[\"GeometryNodeAccumulateField\",\"GeometryNodeAttributeDomainSize\",\"GeometryNodeAttributeStatistic\",\"GeometryNodeBake\",\"GeometryNodeBlurAttribute\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeAccumulateField\",\"node:GeometryNodeAttributeDomainSize\",\"node:GeometryNodeAttributeStatistic\",\"node:GeometryNodeBake\",\"node:GeometryNodeBlurAttribute\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1186-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1187-000",
|
|
"phase": "1187",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1186-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1187",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1187-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1187-001",
|
|
"phase": "1187",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1187-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1187-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1187-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1187-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1344290dd2cb9042",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_accumulate_field.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_domain_size.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_statistic.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_bake.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_blur_attribute.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeAccumulateField type is read from Blender Main",
|
|
"GeometryNodeAttributeDomainSize type is read from Blender Main",
|
|
"GeometryNodeAttributeStatistic type is read from Blender Main",
|
|
"GeometryNodeBake type is read from Blender Main",
|
|
"GeometryNodeBlurAttribute 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1187-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1187-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-1344290dd2cb9042.blend WBV2_BATCH_TYPES='[\"GeometryNodeAccumulateField\",\"GeometryNodeAttributeDomainSize\",\"GeometryNodeAttributeStatistic\",\"GeometryNodeBake\",\"GeometryNodeBlurAttribute\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeAccumulateField\",\"node:GeometryNodeAttributeDomainSize\",\"node:GeometryNodeAttributeStatistic\",\"node:GeometryNodeBake\",\"node:GeometryNodeBlurAttribute\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1187-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeAccumulateField",
|
|
"node:GeometryNodeAttributeDomainSize",
|
|
"node:GeometryNodeAttributeStatistic",
|
|
"node:GeometryNodeBake",
|
|
"node:GeometryNodeBlurAttribute"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1188-000",
|
|
"phase": "1188",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1187-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1188",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1188-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1188-001",
|
|
"phase": "1188",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1188-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1188-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1188-001:AUTO_GEOMETRY_NATIVE_NODE_READER:0f87459df8986017",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeBoneInfo",
|
|
"node:GeometryNodeBoundBox",
|
|
"node:GeometryNodeCameraInfo",
|
|
"node:GeometryNodeCaptureAttribute",
|
|
"node:GeometryNodeClosureToList"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1188-001:AUTO_GEOMETRY_NATIVE_NODE_READER:0f87459df8986017",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeBoneInfo",
|
|
"node:GeometryNodeBoundBox",
|
|
"node:GeometryNodeCameraInfo",
|
|
"node:GeometryNodeCaptureAttribute",
|
|
"node:GeometryNodeClosureToList"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_bone_info.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_bounding_box.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_camera_info.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_attribute_capture.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_closure_to_list.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-0f87459df8986017.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeBoneInfo type is read from Blender Main",
|
|
"GeometryNodeBoundBox type is read from Blender Main",
|
|
"GeometryNodeCameraInfo type is read from Blender Main",
|
|
"GeometryNodeCaptureAttribute type is read from Blender Main",
|
|
"GeometryNodeClosureToList 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1188-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1188-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-0f87459df8986017.blend WBV2_BATCH_TYPES='[\"GeometryNodeBoneInfo\",\"GeometryNodeBoundBox\",\"GeometryNodeCameraInfo\",\"GeometryNodeCaptureAttribute\",\"GeometryNodeClosureToList\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeBoneInfo\",\"node:GeometryNodeBoundBox\",\"node:GeometryNodeCameraInfo\",\"node:GeometryNodeCaptureAttribute\",\"node:GeometryNodeClosureToList\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1188-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeBoneInfo",
|
|
"node:GeometryNodeBoundBox",
|
|
"node:GeometryNodeCameraInfo",
|
|
"node:GeometryNodeCaptureAttribute",
|
|
"node:GeometryNodeClosureToList"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1189-000",
|
|
"phase": "1189",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1188-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1189",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1189-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1189-001",
|
|
"phase": "1189",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1189-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1189-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1189-001:AUTO_GEOMETRY_NATIVE_NODE_READER:447074d84f4807db",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeClusterByConnected",
|
|
"node:GeometryNodeClusterByDistance",
|
|
"node:GeometryNodeCollectionChildren",
|
|
"node:GeometryNodeConvexHull",
|
|
"node:GeometryNodeCornersOfEdge"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1189-001:AUTO_GEOMETRY_NATIVE_NODE_READER:447074d84f4807db",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeClusterByConnected",
|
|
"node:GeometryNodeClusterByDistance",
|
|
"node:GeometryNodeCollectionChildren",
|
|
"node:GeometryNodeConvexHull",
|
|
"node:GeometryNodeCornersOfEdge"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_cluster_by_connected.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_cluster_by_distance.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_collection_children.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_convex_hull.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_topology_corners_of_edge.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-447074d84f4807db.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeClusterByConnected type is read from Blender Main",
|
|
"GeometryNodeClusterByDistance type is read from Blender Main",
|
|
"GeometryNodeCollectionChildren type is read from Blender Main",
|
|
"GeometryNodeConvexHull type is read from Blender Main",
|
|
"GeometryNodeCornersOfEdge 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1189-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1189-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-447074d84f4807db.blend WBV2_BATCH_TYPES='[\"GeometryNodeClusterByConnected\",\"GeometryNodeClusterByDistance\",\"GeometryNodeCollectionChildren\",\"GeometryNodeConvexHull\",\"GeometryNodeCornersOfEdge\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeClusterByConnected\",\"node:GeometryNodeClusterByDistance\",\"node:GeometryNodeCollectionChildren\",\"node:GeometryNodeConvexHull\",\"node:GeometryNodeCornersOfEdge\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1189-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeClusterByConnected",
|
|
"node:GeometryNodeClusterByDistance",
|
|
"node:GeometryNodeCollectionChildren",
|
|
"node:GeometryNodeConvexHull",
|
|
"node:GeometryNodeCornersOfEdge"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1190-000",
|
|
"phase": "1190",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1189-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1190",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1190-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1190-001",
|
|
"phase": "1190",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1190-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1190-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1190-001:AUTO_GEOMETRY_NATIVE_NODE_READER:b123b8cea34de98b",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeCornersOfFace",
|
|
"node:GeometryNodeCornersOfVertex",
|
|
"node:GeometryNodeCubeGridTopology",
|
|
"node:GeometryNodeCurveArc",
|
|
"node:GeometryNodeCurveEndpointSelection"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1190-001:AUTO_GEOMETRY_NATIVE_NODE_READER:b123b8cea34de98b",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeCornersOfFace",
|
|
"node:GeometryNodeCornersOfVertex",
|
|
"node:GeometryNodeCubeGridTopology",
|
|
"node:GeometryNodeCurveArc",
|
|
"node:GeometryNodeCurveEndpointSelection"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_topology_corners_of_face.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_topology_corners_of_vertex.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_cube_grid_topology.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_primitive_arc.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_endpoint_selection.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-b123b8cea34de98b.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeCornersOfFace type is read from Blender Main",
|
|
"GeometryNodeCornersOfVertex type is read from Blender Main",
|
|
"GeometryNodeCubeGridTopology type is read from Blender Main",
|
|
"GeometryNodeCurveArc type is read from Blender Main",
|
|
"GeometryNodeCurveEndpointSelection 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1190-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1190-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-b123b8cea34de98b.blend WBV2_BATCH_TYPES='[\"GeometryNodeCornersOfFace\",\"GeometryNodeCornersOfVertex\",\"GeometryNodeCubeGridTopology\",\"GeometryNodeCurveArc\",\"GeometryNodeCurveEndpointSelection\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeCornersOfFace\",\"node:GeometryNodeCornersOfVertex\",\"node:GeometryNodeCubeGridTopology\",\"node:GeometryNodeCurveArc\",\"node:GeometryNodeCurveEndpointSelection\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1190-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeCornersOfFace",
|
|
"node:GeometryNodeCornersOfVertex",
|
|
"node:GeometryNodeCubeGridTopology",
|
|
"node:GeometryNodeCurveArc",
|
|
"node:GeometryNodeCurveEndpointSelection"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1191-000",
|
|
"phase": "1191",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1190-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1191",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1191-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1191-001",
|
|
"phase": "1191",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1191-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1191-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1191-001:AUTO_GEOMETRY_NATIVE_NODE_READER:71424076a2a8f339",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeCurveHandleTypeSelection",
|
|
"node:GeometryNodeCurveLength",
|
|
"node:GeometryNodeCurveOfPoint",
|
|
"node:GeometryNodeCurvePrimitiveBezierSegment",
|
|
"node:GeometryNodeCurvePrimitiveCircle"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1191-001:AUTO_GEOMETRY_NATIVE_NODE_READER:71424076a2a8f339",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeCurveHandleTypeSelection",
|
|
"node:GeometryNodeCurveLength",
|
|
"node:GeometryNodeCurveOfPoint",
|
|
"node:GeometryNodeCurvePrimitiveBezierSegment",
|
|
"node:GeometryNodeCurvePrimitiveCircle"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_handle_type_selection.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_length.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_topology_curve_of_point.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_primitive_bezier_segment.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_primitive_circle.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-71424076a2a8f339.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeCurveHandleTypeSelection type is read from Blender Main",
|
|
"GeometryNodeCurveLength type is read from Blender Main",
|
|
"GeometryNodeCurveOfPoint type is read from Blender Main",
|
|
"GeometryNodeCurvePrimitiveBezierSegment type is read from Blender Main",
|
|
"GeometryNodeCurvePrimitiveCircle 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1191-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1191-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-71424076a2a8f339.blend WBV2_BATCH_TYPES='[\"GeometryNodeCurveHandleTypeSelection\",\"GeometryNodeCurveLength\",\"GeometryNodeCurveOfPoint\",\"GeometryNodeCurvePrimitiveBezierSegment\",\"GeometryNodeCurvePrimitiveCircle\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeCurveHandleTypeSelection\",\"node:GeometryNodeCurveLength\",\"node:GeometryNodeCurveOfPoint\",\"node:GeometryNodeCurvePrimitiveBezierSegment\",\"node:GeometryNodeCurvePrimitiveCircle\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1191-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeCurveHandleTypeSelection",
|
|
"node:GeometryNodeCurveLength",
|
|
"node:GeometryNodeCurveOfPoint",
|
|
"node:GeometryNodeCurvePrimitiveBezierSegment",
|
|
"node:GeometryNodeCurvePrimitiveCircle"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1192-000",
|
|
"phase": "1192",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1191-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1192",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1192-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1192-001",
|
|
"phase": "1192",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1192-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1192-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1192-001:AUTO_GEOMETRY_NATIVE_NODE_READER:c206ba8fc6cf75d5",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeCurvePrimitiveLine",
|
|
"node:GeometryNodeCurvePrimitiveQuadrilateral",
|
|
"node:GeometryNodeCurveQuadraticBezier",
|
|
"node:GeometryNodeCurveSetHandles",
|
|
"node:GeometryNodeCurveSpiral"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1192-001:AUTO_GEOMETRY_NATIVE_NODE_READER:c206ba8fc6cf75d5",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeCurvePrimitiveLine",
|
|
"node:GeometryNodeCurvePrimitiveQuadrilateral",
|
|
"node:GeometryNodeCurveQuadraticBezier",
|
|
"node:GeometryNodeCurveSetHandles",
|
|
"node:GeometryNodeCurveSpiral"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_primitive_line.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_primitive_quadrilateral.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_primitive_quadratic_bezier.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_set_handle_type.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_primitive_spiral.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-c206ba8fc6cf75d5.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeCurvePrimitiveLine type is read from Blender Main",
|
|
"GeometryNodeCurvePrimitiveQuadrilateral type is read from Blender Main",
|
|
"GeometryNodeCurveQuadraticBezier type is read from Blender Main",
|
|
"GeometryNodeCurveSetHandles type is read from Blender Main",
|
|
"GeometryNodeCurveSpiral 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1192-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1192-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-c206ba8fc6cf75d5.blend WBV2_BATCH_TYPES='[\"GeometryNodeCurvePrimitiveLine\",\"GeometryNodeCurvePrimitiveQuadrilateral\",\"GeometryNodeCurveQuadraticBezier\",\"GeometryNodeCurveSetHandles\",\"GeometryNodeCurveSpiral\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeCurvePrimitiveLine\",\"node:GeometryNodeCurvePrimitiveQuadrilateral\",\"node:GeometryNodeCurveQuadraticBezier\",\"node:GeometryNodeCurveSetHandles\",\"node:GeometryNodeCurveSpiral\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1192-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeCurvePrimitiveLine",
|
|
"node:GeometryNodeCurvePrimitiveQuadrilateral",
|
|
"node:GeometryNodeCurveQuadraticBezier",
|
|
"node:GeometryNodeCurveSetHandles",
|
|
"node:GeometryNodeCurveSpiral"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1193-000",
|
|
"phase": "1193",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1192-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1193",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1193-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1193-001",
|
|
"phase": "1193",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1193-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1193-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1193-001:AUTO_GEOMETRY_NATIVE_NODE_READER:2ae9d67e9fb6b5f9",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeCurveSplineType",
|
|
"node:GeometryNodeCurveStar",
|
|
"node:GeometryNodeCurveToMesh",
|
|
"node:GeometryNodeCurveToPoints",
|
|
"node:GeometryNodeCurvesToGreasePencil"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1193-001:AUTO_GEOMETRY_NATIVE_NODE_READER:2ae9d67e9fb6b5f9",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeCurveSplineType",
|
|
"node:GeometryNodeCurveStar",
|
|
"node:GeometryNodeCurveToMesh",
|
|
"node:GeometryNodeCurveToPoints",
|
|
"node:GeometryNodeCurvesToGreasePencil"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_spline_type.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_primitive_star.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_to_mesh.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_to_points.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curves_to_grease_pencil.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-2ae9d67e9fb6b5f9.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeCurveSplineType type is read from Blender Main",
|
|
"GeometryNodeCurveStar type is read from Blender Main",
|
|
"GeometryNodeCurveToMesh type is read from Blender Main",
|
|
"GeometryNodeCurveToPoints type is read from Blender Main",
|
|
"GeometryNodeCurvesToGreasePencil 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1193-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1193-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-2ae9d67e9fb6b5f9.blend WBV2_BATCH_TYPES='[\"GeometryNodeCurveSplineType\",\"GeometryNodeCurveStar\",\"GeometryNodeCurveToMesh\",\"GeometryNodeCurveToPoints\",\"GeometryNodeCurvesToGreasePencil\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeCurveSplineType\",\"node:GeometryNodeCurveStar\",\"node:GeometryNodeCurveToMesh\",\"node:GeometryNodeCurveToPoints\",\"node:GeometryNodeCurvesToGreasePencil\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1193-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeCurveSplineType",
|
|
"node:GeometryNodeCurveStar",
|
|
"node:GeometryNodeCurveToMesh",
|
|
"node:GeometryNodeCurveToPoints",
|
|
"node:GeometryNodeCurvesToGreasePencil"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1194-000",
|
|
"phase": "1194",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1193-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1194",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1194-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1194-001",
|
|
"phase": "1194",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1194-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1194-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1194-001:AUTO_GEOMETRY_NATIVE_NODE_READER:8f6105d06959322c",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeDeformCurvesOnSurface",
|
|
"node:GeometryNodeDeleteGeometry",
|
|
"node:GeometryNodeDistributePointsInGrid",
|
|
"node:GeometryNodeDistributePointsInVolume",
|
|
"node:GeometryNodeDistributePointsOnFaces"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1194-001:AUTO_GEOMETRY_NATIVE_NODE_READER:8f6105d06959322c",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeDeformCurvesOnSurface",
|
|
"node:GeometryNodeDeleteGeometry",
|
|
"node:GeometryNodeDistributePointsInGrid",
|
|
"node:GeometryNodeDistributePointsInVolume",
|
|
"node:GeometryNodeDistributePointsOnFaces"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_deform_curves_on_surface.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_delete_geometry.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_distribute_points_in_grid.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_distribute_points_in_volume.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_distribute_points_on_faces.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-8f6105d06959322c.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeDeformCurvesOnSurface type is read from Blender Main",
|
|
"GeometryNodeDeleteGeometry type is read from Blender Main",
|
|
"GeometryNodeDistributePointsInGrid type is read from Blender Main",
|
|
"GeometryNodeDistributePointsInVolume type is read from Blender Main",
|
|
"GeometryNodeDistributePointsOnFaces 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1194-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1194-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-8f6105d06959322c.blend WBV2_BATCH_TYPES='[\"GeometryNodeDeformCurvesOnSurface\",\"GeometryNodeDeleteGeometry\",\"GeometryNodeDistributePointsInGrid\",\"GeometryNodeDistributePointsInVolume\",\"GeometryNodeDistributePointsOnFaces\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeDeformCurvesOnSurface\",\"node:GeometryNodeDeleteGeometry\",\"node:GeometryNodeDistributePointsInGrid\",\"node:GeometryNodeDistributePointsInVolume\",\"node:GeometryNodeDistributePointsOnFaces\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1194-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeDeformCurvesOnSurface",
|
|
"node:GeometryNodeDeleteGeometry",
|
|
"node:GeometryNodeDistributePointsInGrid",
|
|
"node:GeometryNodeDistributePointsInVolume",
|
|
"node:GeometryNodeDistributePointsOnFaces"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1195-000",
|
|
"phase": "1195",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1194-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1195",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1195-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1195-001",
|
|
"phase": "1195",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1195-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1195-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1195-001:AUTO_GEOMETRY_NATIVE_NODE_READER:35aea559d5d0f343",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeDualMesh",
|
|
"node:GeometryNodeDuplicateElements",
|
|
"node:GeometryNodeEdgePathsToCurves",
|
|
"node:GeometryNodeEdgePathsToSelection",
|
|
"node:GeometryNodeEdgesOfCorner"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1195-001:AUTO_GEOMETRY_NATIVE_NODE_READER:35aea559d5d0f343",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeDualMesh",
|
|
"node:GeometryNodeDuplicateElements",
|
|
"node:GeometryNodeEdgePathsToCurves",
|
|
"node:GeometryNodeEdgePathsToSelection",
|
|
"node:GeometryNodeEdgesOfCorner"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_dual_mesh.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_duplicate_elements.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_edge_paths_to_curves.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_edge_paths_to_selection.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_topology_edges_of_corner.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-35aea559d5d0f343.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeDualMesh type is read from Blender Main",
|
|
"GeometryNodeDuplicateElements type is read from Blender Main",
|
|
"GeometryNodeEdgePathsToCurves type is read from Blender Main",
|
|
"GeometryNodeEdgePathsToSelection type is read from Blender Main",
|
|
"GeometryNodeEdgesOfCorner 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1195-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1195-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-35aea559d5d0f343.blend WBV2_BATCH_TYPES='[\"GeometryNodeDualMesh\",\"GeometryNodeDuplicateElements\",\"GeometryNodeEdgePathsToCurves\",\"GeometryNodeEdgePathsToSelection\",\"GeometryNodeEdgesOfCorner\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeDualMesh\",\"node:GeometryNodeDuplicateElements\",\"node:GeometryNodeEdgePathsToCurves\",\"node:GeometryNodeEdgePathsToSelection\",\"node:GeometryNodeEdgesOfCorner\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1195-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeDualMesh",
|
|
"node:GeometryNodeDuplicateElements",
|
|
"node:GeometryNodeEdgePathsToCurves",
|
|
"node:GeometryNodeEdgePathsToSelection",
|
|
"node:GeometryNodeEdgesOfCorner"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1196-000",
|
|
"phase": "1196",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1195-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1196",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1196-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1196-001",
|
|
"phase": "1196",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1196-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1196-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1196-001:AUTO_GEOMETRY_NATIVE_NODE_READER:96303bc7f7c8d232",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeEdgesOfVertex",
|
|
"node:GeometryNodeEdgesToFaceGroups",
|
|
"node:GeometryNodeExtrudeMesh",
|
|
"node:GeometryNodeFaceOfCorner",
|
|
"node:GeometryNodeFieldAtIndex"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1196-001:AUTO_GEOMETRY_NATIVE_NODE_READER:96303bc7f7c8d232",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeEdgesOfVertex",
|
|
"node:GeometryNodeEdgesToFaceGroups",
|
|
"node:GeometryNodeExtrudeMesh",
|
|
"node:GeometryNodeFaceOfCorner",
|
|
"node:GeometryNodeFieldAtIndex"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_topology_edges_of_vertex.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_edges_to_face_groups.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_extrude_mesh.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_topology_face_of_corner.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_evaluate_at_index.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-96303bc7f7c8d232.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeEdgesOfVertex type is read from Blender Main",
|
|
"GeometryNodeEdgesToFaceGroups type is read from Blender Main",
|
|
"GeometryNodeExtrudeMesh type is read from Blender Main",
|
|
"GeometryNodeFaceOfCorner type is read from Blender Main",
|
|
"GeometryNodeFieldAtIndex 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1196-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1196-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-96303bc7f7c8d232.blend WBV2_BATCH_TYPES='[\"GeometryNodeEdgesOfVertex\",\"GeometryNodeEdgesToFaceGroups\",\"GeometryNodeExtrudeMesh\",\"GeometryNodeFaceOfCorner\",\"GeometryNodeFieldAtIndex\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeEdgesOfVertex\",\"node:GeometryNodeEdgesToFaceGroups\",\"node:GeometryNodeExtrudeMesh\",\"node:GeometryNodeFaceOfCorner\",\"node:GeometryNodeFieldAtIndex\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1196-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeEdgesOfVertex",
|
|
"node:GeometryNodeEdgesToFaceGroups",
|
|
"node:GeometryNodeExtrudeMesh",
|
|
"node:GeometryNodeFaceOfCorner",
|
|
"node:GeometryNodeFieldAtIndex"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1197-000",
|
|
"phase": "1197",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1196-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1197",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1197-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1197-001",
|
|
"phase": "1197",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1197-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1197-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1197-001:AUTO_GEOMETRY_NATIVE_NODE_READER:4e53a3a8ffb6f8a7",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeFieldAverage",
|
|
"node:GeometryNodeFieldMinAndMax",
|
|
"node:GeometryNodeFieldOnDomain",
|
|
"node:GeometryNodeFieldToGrid",
|
|
"node:GeometryNodeFieldToList"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1197-001:AUTO_GEOMETRY_NATIVE_NODE_READER:4e53a3a8ffb6f8a7",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeFieldAverage",
|
|
"node:GeometryNodeFieldMinAndMax",
|
|
"node:GeometryNodeFieldOnDomain",
|
|
"node:GeometryNodeFieldToGrid",
|
|
"node:GeometryNodeFieldToList"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_field_average.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_field_min_and_max.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_evaluate_on_domain.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_field_to_grid.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_field_to_list.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-4e53a3a8ffb6f8a7.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeFieldAverage type is read from Blender Main",
|
|
"GeometryNodeFieldMinAndMax type is read from Blender Main",
|
|
"GeometryNodeFieldOnDomain type is read from Blender Main",
|
|
"GeometryNodeFieldToGrid type is read from Blender Main",
|
|
"GeometryNodeFieldToList 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1197-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1197-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-4e53a3a8ffb6f8a7.blend WBV2_BATCH_TYPES='[\"GeometryNodeFieldAverage\",\"GeometryNodeFieldMinAndMax\",\"GeometryNodeFieldOnDomain\",\"GeometryNodeFieldToGrid\",\"GeometryNodeFieldToList\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeFieldAverage\",\"node:GeometryNodeFieldMinAndMax\",\"node:GeometryNodeFieldOnDomain\",\"node:GeometryNodeFieldToGrid\",\"node:GeometryNodeFieldToList\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1197-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeFieldAverage",
|
|
"node:GeometryNodeFieldMinAndMax",
|
|
"node:GeometryNodeFieldOnDomain",
|
|
"node:GeometryNodeFieldToGrid",
|
|
"node:GeometryNodeFieldToList"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1198-000",
|
|
"phase": "1198",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1197-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1198",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1198-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1198-001",
|
|
"phase": "1198",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1198-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1198-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1198-001:AUTO_GEOMETRY_NATIVE_NODE_READER:6581c99986be795f",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeFieldVariance",
|
|
"node:GeometryNodeFillCurve",
|
|
"node:GeometryNodeFilletCurve",
|
|
"node:GeometryNodeFilterList",
|
|
"node:GeometryNodeFlipFaces"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1198-001:AUTO_GEOMETRY_NATIVE_NODE_READER:6581c99986be795f",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeFieldVariance",
|
|
"node:GeometryNodeFillCurve",
|
|
"node:GeometryNodeFilletCurve",
|
|
"node:GeometryNodeFilterList",
|
|
"node:GeometryNodeFlipFaces"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_field_variance.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_fill.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_fillet.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_filter_list.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_flip_faces.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-6581c99986be795f.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeFieldVariance type is read from Blender Main",
|
|
"GeometryNodeFillCurve type is read from Blender Main",
|
|
"GeometryNodeFilletCurve type is read from Blender Main",
|
|
"GeometryNodeFilterList type is read from Blender Main",
|
|
"GeometryNodeFlipFaces 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1198-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1198-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-6581c99986be795f.blend WBV2_BATCH_TYPES='[\"GeometryNodeFieldVariance\",\"GeometryNodeFillCurve\",\"GeometryNodeFilletCurve\",\"GeometryNodeFilterList\",\"GeometryNodeFlipFaces\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeFieldVariance\",\"node:GeometryNodeFillCurve\",\"node:GeometryNodeFilletCurve\",\"node:GeometryNodeFilterList\",\"node:GeometryNodeFlipFaces\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1198-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeFieldVariance",
|
|
"node:GeometryNodeFillCurve",
|
|
"node:GeometryNodeFilletCurve",
|
|
"node:GeometryNodeFilterList",
|
|
"node:GeometryNodeFlipFaces"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1199-000",
|
|
"phase": "1199",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1198-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1199",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1199-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1199-001",
|
|
"phase": "1199",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1199-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1199-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1199-001:AUTO_GEOMETRY_NATIVE_NODE_READER:240d704df4420718",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeForeachGeometryElementInput",
|
|
"node:GeometryNodeForeachGeometryElementOutput",
|
|
"node:GeometryNodeGeometryToInstance",
|
|
"node:GeometryNodeGetAttributeNames",
|
|
"node:GeometryNodeGetGeometryBundle"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1199-001:AUTO_GEOMETRY_NATIVE_NODE_READER:240d704df4420718",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeForeachGeometryElementInput",
|
|
"node:GeometryNodeForeachGeometryElementOutput",
|
|
"node:GeometryNodeGeometryToInstance",
|
|
"node:GeometryNodeGetAttributeNames",
|
|
"node:GeometryNodeGetGeometryBundle"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_foreach_geometry_element.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_foreach_geometry_element.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_geometry_to_instance.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_get_attribute_names.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_get_geometry_bundle.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-240d704df4420718.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeForeachGeometryElementInput type is read from Blender Main",
|
|
"GeometryNodeForeachGeometryElementOutput type is read from Blender Main",
|
|
"GeometryNodeGeometryToInstance type is read from Blender Main",
|
|
"GeometryNodeGetAttributeNames type is read from Blender Main",
|
|
"GeometryNodeGetGeometryBundle 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1199-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1199-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-240d704df4420718.blend WBV2_BATCH_TYPES='[\"GeometryNodeForeachGeometryElementInput\",\"GeometryNodeForeachGeometryElementOutput\",\"GeometryNodeGeometryToInstance\",\"GeometryNodeGetAttributeNames\",\"GeometryNodeGetGeometryBundle\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeForeachGeometryElementInput\",\"node:GeometryNodeForeachGeometryElementOutput\",\"node:GeometryNodeGeometryToInstance\",\"node:GeometryNodeGetAttributeNames\",\"node:GeometryNodeGetGeometryBundle\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1199-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeForeachGeometryElementInput",
|
|
"node:GeometryNodeForeachGeometryElementOutput",
|
|
"node:GeometryNodeGeometryToInstance",
|
|
"node:GeometryNodeGetAttributeNames",
|
|
"node:GeometryNodeGetGeometryBundle"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1200-000",
|
|
"phase": "1200",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1199-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1200",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1200-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1200-001",
|
|
"phase": "1200",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1200-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1200-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1200-001:AUTO_GEOMETRY_NATIVE_NODE_READER:2657bc0520c4b632",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeGetGeometryComponent",
|
|
"node:GeometryNodeGetNamedGrid",
|
|
"node:GeometryNodeGizmoDial",
|
|
"node:GeometryNodeGizmoLinear",
|
|
"node:GeometryNodeGizmoTransform"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1200-001:AUTO_GEOMETRY_NATIVE_NODE_READER:2657bc0520c4b632",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeGetGeometryComponent",
|
|
"node:GeometryNodeGetNamedGrid",
|
|
"node:GeometryNodeGizmoDial",
|
|
"node:GeometryNodeGizmoLinear",
|
|
"node:GeometryNodeGizmoTransform"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_get_geometry_component.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_get_named_grid.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_gizmo_dial.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_gizmo_linear.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_gizmo_transform.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-2657bc0520c4b632.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeGetGeometryComponent type is read from Blender Main",
|
|
"GeometryNodeGetNamedGrid type is read from Blender Main",
|
|
"GeometryNodeGizmoDial type is read from Blender Main",
|
|
"GeometryNodeGizmoLinear type is read from Blender Main",
|
|
"GeometryNodeGizmoTransform 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1200-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1200-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-2657bc0520c4b632.blend WBV2_BATCH_TYPES='[\"GeometryNodeGetGeometryComponent\",\"GeometryNodeGetNamedGrid\",\"GeometryNodeGizmoDial\",\"GeometryNodeGizmoLinear\",\"GeometryNodeGizmoTransform\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeGetGeometryComponent\",\"node:GeometryNodeGetNamedGrid\",\"node:GeometryNodeGizmoDial\",\"node:GeometryNodeGizmoLinear\",\"node:GeometryNodeGizmoTransform\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1200-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeGetGeometryComponent",
|
|
"node:GeometryNodeGetNamedGrid",
|
|
"node:GeometryNodeGizmoDial",
|
|
"node:GeometryNodeGizmoLinear",
|
|
"node:GeometryNodeGizmoTransform"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1201-000",
|
|
"phase": "1201",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1200-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1201",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1201-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1201-001",
|
|
"phase": "1201",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1201-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1201-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1201-001:AUTO_GEOMETRY_NATIVE_NODE_READER:163fbe66b349eb14",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeGreasePencilToCurves",
|
|
"node:GeometryNodeGridAdvect",
|
|
"node:GeometryNodeGridClip",
|
|
"node:GeometryNodeGridCurl",
|
|
"node:GeometryNodeGridDilateAndErode"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1201-001:AUTO_GEOMETRY_NATIVE_NODE_READER:163fbe66b349eb14",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeGreasePencilToCurves",
|
|
"node:GeometryNodeGridAdvect",
|
|
"node:GeometryNodeGridClip",
|
|
"node:GeometryNodeGridCurl",
|
|
"node:GeometryNodeGridDilateAndErode"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_grease_pencil_to_curves.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_grid_advect.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_grid_clip.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_grid_curl.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_grid_dilate_erode.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-163fbe66b349eb14.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeGreasePencilToCurves type is read from Blender Main",
|
|
"GeometryNodeGridAdvect type is read from Blender Main",
|
|
"GeometryNodeGridClip type is read from Blender Main",
|
|
"GeometryNodeGridCurl type is read from Blender Main",
|
|
"GeometryNodeGridDilateAndErode 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1201-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1201-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-163fbe66b349eb14.blend WBV2_BATCH_TYPES='[\"GeometryNodeGreasePencilToCurves\",\"GeometryNodeGridAdvect\",\"GeometryNodeGridClip\",\"GeometryNodeGridCurl\",\"GeometryNodeGridDilateAndErode\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeGreasePencilToCurves\",\"node:GeometryNodeGridAdvect\",\"node:GeometryNodeGridClip\",\"node:GeometryNodeGridCurl\",\"node:GeometryNodeGridDilateAndErode\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1201-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeGreasePencilToCurves",
|
|
"node:GeometryNodeGridAdvect",
|
|
"node:GeometryNodeGridClip",
|
|
"node:GeometryNodeGridCurl",
|
|
"node:GeometryNodeGridDilateAndErode"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1202-000",
|
|
"phase": "1202",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1201-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1202",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1202-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1202-001",
|
|
"phase": "1202",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1202-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1202-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1202-001:AUTO_GEOMETRY_NATIVE_NODE_READER:5aa18e58ddffee84",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeGridDivergence",
|
|
"node:GeometryNodeGridGradient",
|
|
"node:GeometryNodeGridInfo",
|
|
"node:GeometryNodeGridLaplacian",
|
|
"node:GeometryNodeGridMean"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1202-001:AUTO_GEOMETRY_NATIVE_NODE_READER:5aa18e58ddffee84",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeGridDivergence",
|
|
"node:GeometryNodeGridGradient",
|
|
"node:GeometryNodeGridInfo",
|
|
"node:GeometryNodeGridLaplacian",
|
|
"node:GeometryNodeGridMean"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_grid_divergence.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_grid_gradient.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_grid_info.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_grid_laplacian.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_grid_mean.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-5aa18e58ddffee84.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeGridDivergence type is read from Blender Main",
|
|
"GeometryNodeGridGradient type is read from Blender Main",
|
|
"GeometryNodeGridInfo type is read from Blender Main",
|
|
"GeometryNodeGridLaplacian type is read from Blender Main",
|
|
"GeometryNodeGridMean 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1202-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1202-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-5aa18e58ddffee84.blend WBV2_BATCH_TYPES='[\"GeometryNodeGridDivergence\",\"GeometryNodeGridGradient\",\"GeometryNodeGridInfo\",\"GeometryNodeGridLaplacian\",\"GeometryNodeGridMean\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeGridDivergence\",\"node:GeometryNodeGridGradient\",\"node:GeometryNodeGridInfo\",\"node:GeometryNodeGridLaplacian\",\"node:GeometryNodeGridMean\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1202-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeGridDivergence",
|
|
"node:GeometryNodeGridGradient",
|
|
"node:GeometryNodeGridInfo",
|
|
"node:GeometryNodeGridLaplacian",
|
|
"node:GeometryNodeGridMean"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1203-000",
|
|
"phase": "1203",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1202-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1203",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1203-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1203-001",
|
|
"phase": "1203",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1203-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1203-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1203-001:AUTO_GEOMETRY_NATIVE_NODE_READER:6897ad7bf98e7228",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeGridMedian",
|
|
"node:GeometryNodeGridPrune",
|
|
"node:GeometryNodeGridToMesh",
|
|
"node:GeometryNodeGridToPoints",
|
|
"node:GeometryNodeGridVoxelize"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1203-001:AUTO_GEOMETRY_NATIVE_NODE_READER:6897ad7bf98e7228",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeGridMedian",
|
|
"node:GeometryNodeGridPrune",
|
|
"node:GeometryNodeGridToMesh",
|
|
"node:GeometryNodeGridToPoints",
|
|
"node:GeometryNodeGridVoxelize"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_grid_median.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_grid_prune.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_grid_to_mesh.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_grid_to_points.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_grid_voxelize.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-6897ad7bf98e7228.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeGridMedian type is read from Blender Main",
|
|
"GeometryNodeGridPrune type is read from Blender Main",
|
|
"GeometryNodeGridToMesh type is read from Blender Main",
|
|
"GeometryNodeGridToPoints type is read from Blender Main",
|
|
"GeometryNodeGridVoxelize 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1203-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1203-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-6897ad7bf98e7228.blend WBV2_BATCH_TYPES='[\"GeometryNodeGridMedian\",\"GeometryNodeGridPrune\",\"GeometryNodeGridToMesh\",\"GeometryNodeGridToPoints\",\"GeometryNodeGridVoxelize\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeGridMedian\",\"node:GeometryNodeGridPrune\",\"node:GeometryNodeGridToMesh\",\"node:GeometryNodeGridToPoints\",\"node:GeometryNodeGridVoxelize\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1203-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeGridMedian",
|
|
"node:GeometryNodeGridPrune",
|
|
"node:GeometryNodeGridToMesh",
|
|
"node:GeometryNodeGridToPoints",
|
|
"node:GeometryNodeGridVoxelize"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1204-000",
|
|
"phase": "1204",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1203-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1204",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1204-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1204-001",
|
|
"phase": "1204",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1204-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1204-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1204-001:AUTO_GEOMETRY_NATIVE_NODE_READER:cee66fd20924b9e5",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeImageTexture",
|
|
"node:GeometryNodeImportCSV",
|
|
"node:GeometryNodeImportOBJ",
|
|
"node:GeometryNodeImportPLY",
|
|
"node:GeometryNodeImportSTL"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1204-001:AUTO_GEOMETRY_NATIVE_NODE_READER:cee66fd20924b9e5",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeImageTexture",
|
|
"node:GeometryNodeImportCSV",
|
|
"node:GeometryNodeImportOBJ",
|
|
"node:GeometryNodeImportPLY",
|
|
"node:GeometryNodeImportSTL"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_image_texture.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_import_csv.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_import_obj.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_import_ply.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_import_stl.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-cee66fd20924b9e5.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeImageTexture type is read from Blender Main",
|
|
"GeometryNodeImportCSV type is read from Blender Main",
|
|
"GeometryNodeImportOBJ type is read from Blender Main",
|
|
"GeometryNodeImportPLY type is read from Blender Main",
|
|
"GeometryNodeImportSTL 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1204-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1204-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-cee66fd20924b9e5.blend WBV2_BATCH_TYPES='[\"GeometryNodeImageTexture\",\"GeometryNodeImportCSV\",\"GeometryNodeImportOBJ\",\"GeometryNodeImportPLY\",\"GeometryNodeImportSTL\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeImageTexture\",\"node:GeometryNodeImportCSV\",\"node:GeometryNodeImportOBJ\",\"node:GeometryNodeImportPLY\",\"node:GeometryNodeImportSTL\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1204-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeImageTexture",
|
|
"node:GeometryNodeImportCSV",
|
|
"node:GeometryNodeImportOBJ",
|
|
"node:GeometryNodeImportPLY",
|
|
"node:GeometryNodeImportSTL"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1205-000",
|
|
"phase": "1205",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1204-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1205",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1205-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1205-001",
|
|
"phase": "1205",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1205-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1205-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1205-001:AUTO_GEOMETRY_NATIVE_NODE_READER:e55a1c8c151fc9dc",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeImportText",
|
|
"node:GeometryNodeImportVDB",
|
|
"node:GeometryNodeIndexOfNearest",
|
|
"node:GeometryNodeIndexSwitch",
|
|
"node:GeometryNodeInputActiveCamera"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1205-001:AUTO_GEOMETRY_NATIVE_NODE_READER:e55a1c8c151fc9dc",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeImportText",
|
|
"node:GeometryNodeImportVDB",
|
|
"node:GeometryNodeIndexOfNearest",
|
|
"node:GeometryNodeIndexSwitch",
|
|
"node:GeometryNodeInputActiveCamera"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_import_text.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_import_vdb.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_index_of_nearest.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_index_switch.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_active_camera.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-e55a1c8c151fc9dc.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeImportText type is read from Blender Main",
|
|
"GeometryNodeImportVDB type is read from Blender Main",
|
|
"GeometryNodeIndexOfNearest type is read from Blender Main",
|
|
"GeometryNodeIndexSwitch type is read from Blender Main",
|
|
"GeometryNodeInputActiveCamera 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1205-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1205-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-e55a1c8c151fc9dc.blend WBV2_BATCH_TYPES='[\"GeometryNodeImportText\",\"GeometryNodeImportVDB\",\"GeometryNodeIndexOfNearest\",\"GeometryNodeIndexSwitch\",\"GeometryNodeInputActiveCamera\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeImportText\",\"node:GeometryNodeImportVDB\",\"node:GeometryNodeIndexOfNearest\",\"node:GeometryNodeIndexSwitch\",\"node:GeometryNodeInputActiveCamera\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1205-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeImportText",
|
|
"node:GeometryNodeImportVDB",
|
|
"node:GeometryNodeIndexOfNearest",
|
|
"node:GeometryNodeIndexSwitch",
|
|
"node:GeometryNodeInputActiveCamera"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1206-000",
|
|
"phase": "1206",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1205-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1206",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1206-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1206-001",
|
|
"phase": "1206",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1206-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1206-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1206-001:AUTO_GEOMETRY_NATIVE_NODE_READER:150a227b3433d301",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeInputCollection",
|
|
"node:GeometryNodeInputCurveHandlePositions",
|
|
"node:GeometryNodeInputCurveTilt",
|
|
"node:GeometryNodeInputEdgeSmooth",
|
|
"node:GeometryNodeInputFont"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1206-001:AUTO_GEOMETRY_NATIVE_NODE_READER:150a227b3433d301",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeInputCollection",
|
|
"node:GeometryNodeInputCurveHandlePositions",
|
|
"node:GeometryNodeInputCurveTilt",
|
|
"node:GeometryNodeInputEdgeSmooth",
|
|
"node:GeometryNodeInputFont"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_collection.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_curve_handles.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_curve_tilt.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_edge_smooth.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_font.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-150a227b3433d301.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeInputCollection type is read from Blender Main",
|
|
"GeometryNodeInputCurveHandlePositions type is read from Blender Main",
|
|
"GeometryNodeInputCurveTilt type is read from Blender Main",
|
|
"GeometryNodeInputEdgeSmooth type is read from Blender Main",
|
|
"GeometryNodeInputFont 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1206-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1206-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-150a227b3433d301.blend WBV2_BATCH_TYPES='[\"GeometryNodeInputCollection\",\"GeometryNodeInputCurveHandlePositions\",\"GeometryNodeInputCurveTilt\",\"GeometryNodeInputEdgeSmooth\",\"GeometryNodeInputFont\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeInputCollection\",\"node:GeometryNodeInputCurveHandlePositions\",\"node:GeometryNodeInputCurveTilt\",\"node:GeometryNodeInputEdgeSmooth\",\"node:GeometryNodeInputFont\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1206-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeInputCollection",
|
|
"node:GeometryNodeInputCurveHandlePositions",
|
|
"node:GeometryNodeInputCurveTilt",
|
|
"node:GeometryNodeInputEdgeSmooth",
|
|
"node:GeometryNodeInputFont"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1207-000",
|
|
"phase": "1207",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1206-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1207",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1207-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1207-001",
|
|
"phase": "1207",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1207-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1207-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1207-001:AUTO_GEOMETRY_NATIVE_NODE_READER:32a41ae9caf449dc",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeInputID",
|
|
"node:GeometryNodeInputImage",
|
|
"node:GeometryNodeInputIndex",
|
|
"node:GeometryNodeInputInstanceBounds",
|
|
"node:GeometryNodeInputInstanceReference"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1207-001:AUTO_GEOMETRY_NATIVE_NODE_READER:32a41ae9caf449dc",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeInputID",
|
|
"node:GeometryNodeInputImage",
|
|
"node:GeometryNodeInputIndex",
|
|
"node:GeometryNodeInputInstanceBounds",
|
|
"node:GeometryNodeInputInstanceReference"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_id.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_image.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_index.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_instance_bounds.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_instance_reference.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-32a41ae9caf449dc.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeInputID type is read from Blender Main",
|
|
"GeometryNodeInputImage type is read from Blender Main",
|
|
"GeometryNodeInputIndex type is read from Blender Main",
|
|
"GeometryNodeInputInstanceBounds type is read from Blender Main",
|
|
"GeometryNodeInputInstanceReference 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1207-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1207-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-32a41ae9caf449dc.blend WBV2_BATCH_TYPES='[\"GeometryNodeInputID\",\"GeometryNodeInputImage\",\"GeometryNodeInputIndex\",\"GeometryNodeInputInstanceBounds\",\"GeometryNodeInputInstanceReference\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeInputID\",\"node:GeometryNodeInputImage\",\"node:GeometryNodeInputIndex\",\"node:GeometryNodeInputInstanceBounds\",\"node:GeometryNodeInputInstanceReference\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1207-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeInputID",
|
|
"node:GeometryNodeInputImage",
|
|
"node:GeometryNodeInputIndex",
|
|
"node:GeometryNodeInputInstanceBounds",
|
|
"node:GeometryNodeInputInstanceReference"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1208-000",
|
|
"phase": "1208",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1207-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1208",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1208-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1208-001",
|
|
"phase": "1208",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1208-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1208-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1208-001:AUTO_GEOMETRY_NATIVE_NODE_READER:e4c0acdab580fad4",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeInputInstanceRotation",
|
|
"node:GeometryNodeInputInstanceScale",
|
|
"node:GeometryNodeInputMaterial",
|
|
"node:GeometryNodeInputMaterialIndex",
|
|
"node:GeometryNodeInputMeshEdgeAngle"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1208-001:AUTO_GEOMETRY_NATIVE_NODE_READER:e4c0acdab580fad4",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeInputInstanceRotation",
|
|
"node:GeometryNodeInputInstanceScale",
|
|
"node:GeometryNodeInputMaterial",
|
|
"node:GeometryNodeInputMaterialIndex",
|
|
"node:GeometryNodeInputMeshEdgeAngle"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_instance_rotation.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_instance_scale.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_material.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_material_index.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_mesh_edge_angle.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-e4c0acdab580fad4.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeInputInstanceRotation type is read from Blender Main",
|
|
"GeometryNodeInputInstanceScale type is read from Blender Main",
|
|
"GeometryNodeInputMaterial type is read from Blender Main",
|
|
"GeometryNodeInputMaterialIndex type is read from Blender Main",
|
|
"GeometryNodeInputMeshEdgeAngle 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1208-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1208-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-e4c0acdab580fad4.blend WBV2_BATCH_TYPES='[\"GeometryNodeInputInstanceRotation\",\"GeometryNodeInputInstanceScale\",\"GeometryNodeInputMaterial\",\"GeometryNodeInputMaterialIndex\",\"GeometryNodeInputMeshEdgeAngle\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeInputInstanceRotation\",\"node:GeometryNodeInputInstanceScale\",\"node:GeometryNodeInputMaterial\",\"node:GeometryNodeInputMaterialIndex\",\"node:GeometryNodeInputMeshEdgeAngle\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1208-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeInputInstanceRotation",
|
|
"node:GeometryNodeInputInstanceScale",
|
|
"node:GeometryNodeInputMaterial",
|
|
"node:GeometryNodeInputMaterialIndex",
|
|
"node:GeometryNodeInputMeshEdgeAngle"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1209-000",
|
|
"phase": "1209",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1208-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1209",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1209-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1209-001",
|
|
"phase": "1209",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1209-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1209-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1209-001:AUTO_GEOMETRY_NATIVE_NODE_READER:e28f27c297406a24",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeInputMeshEdgeNeighbors",
|
|
"node:GeometryNodeInputMeshEdgeVertices",
|
|
"node:GeometryNodeInputMeshFaceArea",
|
|
"node:GeometryNodeInputMeshFaceIsPlanar",
|
|
"node:GeometryNodeInputMeshFaceNeighbors"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1209-001:AUTO_GEOMETRY_NATIVE_NODE_READER:e28f27c297406a24",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeInputMeshEdgeNeighbors",
|
|
"node:GeometryNodeInputMeshEdgeVertices",
|
|
"node:GeometryNodeInputMeshFaceArea",
|
|
"node:GeometryNodeInputMeshFaceIsPlanar",
|
|
"node:GeometryNodeInputMeshFaceNeighbors"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_mesh_edge_neighbors.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_mesh_edge_vertices.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_mesh_face_area.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_mesh_face_is_planar.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_mesh_face_neighbors.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-e28f27c297406a24.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeInputMeshEdgeNeighbors type is read from Blender Main",
|
|
"GeometryNodeInputMeshEdgeVertices type is read from Blender Main",
|
|
"GeometryNodeInputMeshFaceArea type is read from Blender Main",
|
|
"GeometryNodeInputMeshFaceIsPlanar type is read from Blender Main",
|
|
"GeometryNodeInputMeshFaceNeighbors 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1209-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1209-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-e28f27c297406a24.blend WBV2_BATCH_TYPES='[\"GeometryNodeInputMeshEdgeNeighbors\",\"GeometryNodeInputMeshEdgeVertices\",\"GeometryNodeInputMeshFaceArea\",\"GeometryNodeInputMeshFaceIsPlanar\",\"GeometryNodeInputMeshFaceNeighbors\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeInputMeshEdgeNeighbors\",\"node:GeometryNodeInputMeshEdgeVertices\",\"node:GeometryNodeInputMeshFaceArea\",\"node:GeometryNodeInputMeshFaceIsPlanar\",\"node:GeometryNodeInputMeshFaceNeighbors\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1209-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeInputMeshEdgeNeighbors",
|
|
"node:GeometryNodeInputMeshEdgeVertices",
|
|
"node:GeometryNodeInputMeshFaceArea",
|
|
"node:GeometryNodeInputMeshFaceIsPlanar",
|
|
"node:GeometryNodeInputMeshFaceNeighbors"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1210-000",
|
|
"phase": "1210",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1209-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1210",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1210-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1210-001",
|
|
"phase": "1210",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1210-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1210-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1210-001:AUTO_GEOMETRY_NATIVE_NODE_READER:94bb44cb6fb6c1c0",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeInputMeshIsland",
|
|
"node:GeometryNodeInputMeshVertexNeighbors",
|
|
"node:GeometryNodeInputNamedAttribute",
|
|
"node:GeometryNodeInputNamedLayerSelection",
|
|
"node:GeometryNodeInputNormal"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1210-001:AUTO_GEOMETRY_NATIVE_NODE_READER:94bb44cb6fb6c1c0",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeInputMeshIsland",
|
|
"node:GeometryNodeInputMeshVertexNeighbors",
|
|
"node:GeometryNodeInputNamedAttribute",
|
|
"node:GeometryNodeInputNamedLayerSelection",
|
|
"node:GeometryNodeInputNormal"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_mesh_island.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_mesh_vertex_neighbors.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_named_attribute.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_named_layer_selection.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_normal.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-94bb44cb6fb6c1c0.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeInputMeshIsland type is read from Blender Main",
|
|
"GeometryNodeInputMeshVertexNeighbors type is read from Blender Main",
|
|
"GeometryNodeInputNamedAttribute type is read from Blender Main",
|
|
"GeometryNodeInputNamedLayerSelection type is read from Blender Main",
|
|
"GeometryNodeInputNormal 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1210-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1210-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-94bb44cb6fb6c1c0.blend WBV2_BATCH_TYPES='[\"GeometryNodeInputMeshIsland\",\"GeometryNodeInputMeshVertexNeighbors\",\"GeometryNodeInputNamedAttribute\",\"GeometryNodeInputNamedLayerSelection\",\"GeometryNodeInputNormal\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeInputMeshIsland\",\"node:GeometryNodeInputMeshVertexNeighbors\",\"node:GeometryNodeInputNamedAttribute\",\"node:GeometryNodeInputNamedLayerSelection\",\"node:GeometryNodeInputNormal\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1210-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeInputMeshIsland",
|
|
"node:GeometryNodeInputMeshVertexNeighbors",
|
|
"node:GeometryNodeInputNamedAttribute",
|
|
"node:GeometryNodeInputNamedLayerSelection",
|
|
"node:GeometryNodeInputNormal"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1211-000",
|
|
"phase": "1211",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1210-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1211",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1211-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1211-001",
|
|
"phase": "1211",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1211-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1211-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1211-001:AUTO_GEOMETRY_NATIVE_NODE_READER:abc1ee2d37430201",
|
|
"selectedRecordIds": [
|
|
"node:FunctionNodeAlignRotationToVector",
|
|
"node:FunctionNodeAxesToRotation",
|
|
"node:FunctionNodeAxisAngleToRotation",
|
|
"node:FunctionNodeCombineMatrix",
|
|
"node:FunctionNodeEulerToRotation"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1211-001:AUTO_GEOMETRY_NATIVE_NODE_READER:abc1ee2d37430201",
|
|
"selectedRecordIds": [
|
|
"node:FunctionNodeAlignRotationToVector",
|
|
"node:FunctionNodeAxesToRotation",
|
|
"node:FunctionNodeAxisAngleToRotation",
|
|
"node:FunctionNodeCombineMatrix",
|
|
"node:FunctionNodeEulerToRotation"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_align_rotation_to_vector.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_axes_to_rotation.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_axis_angle_to_rotation.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_combine_matrix.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_euler_to_rotation.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-abc1ee2d37430201.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"FunctionNodeAlignRotationToVector type is read from Blender Main",
|
|
"FunctionNodeAxesToRotation type is read from Blender Main",
|
|
"FunctionNodeAxisAngleToRotation type is read from Blender Main",
|
|
"FunctionNodeCombineMatrix type is read from Blender Main",
|
|
"FunctionNodeEulerToRotation 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1211-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1211-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-abc1ee2d37430201.blend WBV2_BATCH_TYPES='[\"FunctionNodeAlignRotationToVector\",\"FunctionNodeAxesToRotation\",\"FunctionNodeAxisAngleToRotation\",\"FunctionNodeCombineMatrix\",\"FunctionNodeEulerToRotation\"]' WBV2_BATCH_UNITS='[\"node:FunctionNodeAlignRotationToVector\",\"node:FunctionNodeAxesToRotation\",\"node:FunctionNodeAxisAngleToRotation\",\"node:FunctionNodeCombineMatrix\",\"node:FunctionNodeEulerToRotation\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1211-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:FunctionNodeAlignRotationToVector",
|
|
"node:FunctionNodeAxesToRotation",
|
|
"node:FunctionNodeAxisAngleToRotation",
|
|
"node:FunctionNodeCombineMatrix",
|
|
"node:FunctionNodeEulerToRotation"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1212-000",
|
|
"phase": "1212",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1211-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1212",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1212-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1212-001",
|
|
"phase": "1212",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1212-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1212-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1212-001:AUTO_GEOMETRY_NATIVE_NODE_READER:3cfb811ea55c672e",
|
|
"selectedRecordIds": [
|
|
"node:FunctionNodeFindInString",
|
|
"node:FunctionNodeFormatString",
|
|
"node:FunctionNodeInputBool",
|
|
"node:FunctionNodeInputInt",
|
|
"node:FunctionNodeInputIntVector"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1212-001:AUTO_GEOMETRY_NATIVE_NODE_READER:3cfb811ea55c672e",
|
|
"selectedRecordIds": [
|
|
"node:FunctionNodeFindInString",
|
|
"node:FunctionNodeFormatString",
|
|
"node:FunctionNodeInputBool",
|
|
"node:FunctionNodeInputInt",
|
|
"node:FunctionNodeInputIntVector"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_find_in_string.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_format_string.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_input_bool.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_input_int.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_input_int_vector.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-3cfb811ea55c672e.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"FunctionNodeFindInString type is read from Blender Main",
|
|
"FunctionNodeFormatString type is read from Blender Main",
|
|
"FunctionNodeInputBool type is read from Blender Main",
|
|
"FunctionNodeInputInt type is read from Blender Main",
|
|
"FunctionNodeInputIntVector 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1212-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1212-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-3cfb811ea55c672e.blend WBV2_BATCH_TYPES='[\"FunctionNodeFindInString\",\"FunctionNodeFormatString\",\"FunctionNodeInputBool\",\"FunctionNodeInputInt\",\"FunctionNodeInputIntVector\"]' WBV2_BATCH_UNITS='[\"node:FunctionNodeFindInString\",\"node:FunctionNodeFormatString\",\"node:FunctionNodeInputBool\",\"node:FunctionNodeInputInt\",\"node:FunctionNodeInputIntVector\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1212-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:FunctionNodeFindInString",
|
|
"node:FunctionNodeFormatString",
|
|
"node:FunctionNodeInputBool",
|
|
"node:FunctionNodeInputInt",
|
|
"node:FunctionNodeInputIntVector"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1213-000",
|
|
"phase": "1213",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1212-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1213",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1213-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1213-001",
|
|
"phase": "1213",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1213-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1213-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1213-001:AUTO_GEOMETRY_NATIVE_NODE_READER:88ba8e6e3716dd8d",
|
|
"selectedRecordIds": [
|
|
"node:FunctionNodeInputMenu",
|
|
"node:FunctionNodeInputRotation",
|
|
"node:FunctionNodeInputSpecialCharacters",
|
|
"node:FunctionNodeInputString",
|
|
"node:FunctionNodeInputVector"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1213-001:AUTO_GEOMETRY_NATIVE_NODE_READER:88ba8e6e3716dd8d",
|
|
"selectedRecordIds": [
|
|
"node:FunctionNodeInputMenu",
|
|
"node:FunctionNodeInputRotation",
|
|
"node:FunctionNodeInputSpecialCharacters",
|
|
"node:FunctionNodeInputString",
|
|
"node:FunctionNodeInputVector"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_input_menu.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_input_rotation.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_input_special_characters.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_input_string.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_input_vector.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-88ba8e6e3716dd8d.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"FunctionNodeInputMenu type is read from Blender Main",
|
|
"FunctionNodeInputRotation type is read from Blender Main",
|
|
"FunctionNodeInputSpecialCharacters type is read from Blender Main",
|
|
"FunctionNodeInputString type is read from Blender Main",
|
|
"FunctionNodeInputVector 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1213-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1213-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-88ba8e6e3716dd8d.blend WBV2_BATCH_TYPES='[\"FunctionNodeInputMenu\",\"FunctionNodeInputRotation\",\"FunctionNodeInputSpecialCharacters\",\"FunctionNodeInputString\",\"FunctionNodeInputVector\"]' WBV2_BATCH_UNITS='[\"node:FunctionNodeInputMenu\",\"node:FunctionNodeInputRotation\",\"node:FunctionNodeInputSpecialCharacters\",\"node:FunctionNodeInputString\",\"node:FunctionNodeInputVector\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1213-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:FunctionNodeInputMenu",
|
|
"node:FunctionNodeInputRotation",
|
|
"node:FunctionNodeInputSpecialCharacters",
|
|
"node:FunctionNodeInputString",
|
|
"node:FunctionNodeInputVector"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1214-000",
|
|
"phase": "1214",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1213-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1214",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1214-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1214-001",
|
|
"phase": "1214",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1214-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1214-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1214-001:AUTO_GEOMETRY_NATIVE_NODE_READER:7d31b4b0866780ae",
|
|
"selectedRecordIds": [
|
|
"node:FunctionNodeInvertMatrix",
|
|
"node:FunctionNodeInvertRotation",
|
|
"node:FunctionNodeMatchString",
|
|
"node:FunctionNodeMatrixDeterminant",
|
|
"node:FunctionNodeMatrixMultiply"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1214-001:AUTO_GEOMETRY_NATIVE_NODE_READER:7d31b4b0866780ae",
|
|
"selectedRecordIds": [
|
|
"node:FunctionNodeInvertMatrix",
|
|
"node:FunctionNodeInvertRotation",
|
|
"node:FunctionNodeMatchString",
|
|
"node:FunctionNodeMatrixDeterminant",
|
|
"node:FunctionNodeMatrixMultiply"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_invert_matrix.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_invert_rotation.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_match_string.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_matrix_determinant.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_matrix_multiply.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-7d31b4b0866780ae.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"FunctionNodeInvertMatrix type is read from Blender Main",
|
|
"FunctionNodeInvertRotation type is read from Blender Main",
|
|
"FunctionNodeMatchString type is read from Blender Main",
|
|
"FunctionNodeMatrixDeterminant type is read from Blender Main",
|
|
"FunctionNodeMatrixMultiply 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1214-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1214-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-7d31b4b0866780ae.blend WBV2_BATCH_TYPES='[\"FunctionNodeInvertMatrix\",\"FunctionNodeInvertRotation\",\"FunctionNodeMatchString\",\"FunctionNodeMatrixDeterminant\",\"FunctionNodeMatrixMultiply\"]' WBV2_BATCH_UNITS='[\"node:FunctionNodeInvertMatrix\",\"node:FunctionNodeInvertRotation\",\"node:FunctionNodeMatchString\",\"node:FunctionNodeMatrixDeterminant\",\"node:FunctionNodeMatrixMultiply\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1214-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:FunctionNodeInvertMatrix",
|
|
"node:FunctionNodeInvertRotation",
|
|
"node:FunctionNodeMatchString",
|
|
"node:FunctionNodeMatrixDeterminant",
|
|
"node:FunctionNodeMatrixMultiply"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1215-000",
|
|
"phase": "1215",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1214-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1215",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1215-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1215-001",
|
|
"phase": "1215",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1215-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1215-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1215-001:AUTO_GEOMETRY_NATIVE_NODE_READER:0a8d3bb55b10e188",
|
|
"selectedRecordIds": [
|
|
"node:FunctionNodeProjectPoint",
|
|
"node:FunctionNodeQuaternionToRotation",
|
|
"node:FunctionNodeReplaceString",
|
|
"node:FunctionNodeReverseString",
|
|
"node:FunctionNodeRotateRotation"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1215-001:AUTO_GEOMETRY_NATIVE_NODE_READER:0a8d3bb55b10e188",
|
|
"selectedRecordIds": [
|
|
"node:FunctionNodeProjectPoint",
|
|
"node:FunctionNodeQuaternionToRotation",
|
|
"node:FunctionNodeReplaceString",
|
|
"node:FunctionNodeReverseString",
|
|
"node:FunctionNodeRotateRotation"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_project_point.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_quaternion_to_rotation.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_replace_string.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_reverse_string.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_rotate_rotation.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-0a8d3bb55b10e188.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"FunctionNodeProjectPoint type is read from Blender Main",
|
|
"FunctionNodeQuaternionToRotation type is read from Blender Main",
|
|
"FunctionNodeReplaceString type is read from Blender Main",
|
|
"FunctionNodeReverseString type is read from Blender Main",
|
|
"FunctionNodeRotateRotation 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1215-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1215-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-0a8d3bb55b10e188.blend WBV2_BATCH_TYPES='[\"FunctionNodeProjectPoint\",\"FunctionNodeQuaternionToRotation\",\"FunctionNodeReplaceString\",\"FunctionNodeReverseString\",\"FunctionNodeRotateRotation\"]' WBV2_BATCH_UNITS='[\"node:FunctionNodeProjectPoint\",\"node:FunctionNodeQuaternionToRotation\",\"node:FunctionNodeReplaceString\",\"node:FunctionNodeReverseString\",\"node:FunctionNodeRotateRotation\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1215-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:FunctionNodeProjectPoint",
|
|
"node:FunctionNodeQuaternionToRotation",
|
|
"node:FunctionNodeReplaceString",
|
|
"node:FunctionNodeReverseString",
|
|
"node:FunctionNodeRotateRotation"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1216-000",
|
|
"phase": "1216",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1215-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1216",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1216-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1216-001",
|
|
"phase": "1216",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1216-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1216-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1216-001:AUTO_GEOMETRY_NATIVE_NODE_READER:c598026385cc94dc",
|
|
"selectedRecordIds": [
|
|
"node:FunctionNodeRotateVector",
|
|
"node:FunctionNodeRotationToAxisAngle",
|
|
"node:FunctionNodeRotationToEuler",
|
|
"node:FunctionNodeRotationToQuaternion",
|
|
"node:FunctionNodeSeparateMatrix"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1216-001:AUTO_GEOMETRY_NATIVE_NODE_READER:c598026385cc94dc",
|
|
"selectedRecordIds": [
|
|
"node:FunctionNodeRotateVector",
|
|
"node:FunctionNodeRotationToAxisAngle",
|
|
"node:FunctionNodeRotationToEuler",
|
|
"node:FunctionNodeRotationToQuaternion",
|
|
"node:FunctionNodeSeparateMatrix"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_rotate_vector.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_rotation_to_axis_angle.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_rotation_to_euler.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_rotation_to_quaternion.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_separate_matrix.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-c598026385cc94dc.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"FunctionNodeRotateVector type is read from Blender Main",
|
|
"FunctionNodeRotationToAxisAngle type is read from Blender Main",
|
|
"FunctionNodeRotationToEuler type is read from Blender Main",
|
|
"FunctionNodeRotationToQuaternion type is read from Blender Main",
|
|
"FunctionNodeSeparateMatrix 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1216-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1216-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-c598026385cc94dc.blend WBV2_BATCH_TYPES='[\"FunctionNodeRotateVector\",\"FunctionNodeRotationToAxisAngle\",\"FunctionNodeRotationToEuler\",\"FunctionNodeRotationToQuaternion\",\"FunctionNodeSeparateMatrix\"]' WBV2_BATCH_UNITS='[\"node:FunctionNodeRotateVector\",\"node:FunctionNodeRotationToAxisAngle\",\"node:FunctionNodeRotationToEuler\",\"node:FunctionNodeRotationToQuaternion\",\"node:FunctionNodeSeparateMatrix\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1216-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:FunctionNodeRotateVector",
|
|
"node:FunctionNodeRotationToAxisAngle",
|
|
"node:FunctionNodeRotationToEuler",
|
|
"node:FunctionNodeRotationToQuaternion",
|
|
"node:FunctionNodeSeparateMatrix"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1217-000",
|
|
"phase": "1217",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1216-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1217",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1217-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1217-001",
|
|
"phase": "1217",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1217-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1217-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1217-001:AUTO_GEOMETRY_NATIVE_NODE_READER:dbc0fb8bb88f3d37",
|
|
"selectedRecordIds": [
|
|
"node:FunctionNodeSetStringCase",
|
|
"node:FunctionNodeSliceString",
|
|
"node:FunctionNodeStringLength",
|
|
"node:FunctionNodeStringToValue",
|
|
"node:FunctionNodeTransformDirection"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1217-001:AUTO_GEOMETRY_NATIVE_NODE_READER:dbc0fb8bb88f3d37",
|
|
"selectedRecordIds": [
|
|
"node:FunctionNodeSetStringCase",
|
|
"node:FunctionNodeSliceString",
|
|
"node:FunctionNodeStringLength",
|
|
"node:FunctionNodeStringToValue",
|
|
"node:FunctionNodeTransformDirection"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_set_string_case.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_slice_string.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_string_length.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_string_to_value.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_transform_direction.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-dbc0fb8bb88f3d37.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"FunctionNodeSetStringCase type is read from Blender Main",
|
|
"FunctionNodeSliceString type is read from Blender Main",
|
|
"FunctionNodeStringLength type is read from Blender Main",
|
|
"FunctionNodeStringToValue type is read from Blender Main",
|
|
"FunctionNodeTransformDirection 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1217-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1217-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-dbc0fb8bb88f3d37.blend WBV2_BATCH_TYPES='[\"FunctionNodeSetStringCase\",\"FunctionNodeSliceString\",\"FunctionNodeStringLength\",\"FunctionNodeStringToValue\",\"FunctionNodeTransformDirection\"]' WBV2_BATCH_UNITS='[\"node:FunctionNodeSetStringCase\",\"node:FunctionNodeSliceString\",\"node:FunctionNodeStringLength\",\"node:FunctionNodeStringToValue\",\"node:FunctionNodeTransformDirection\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1217-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:FunctionNodeSetStringCase",
|
|
"node:FunctionNodeSliceString",
|
|
"node:FunctionNodeStringLength",
|
|
"node:FunctionNodeStringToValue",
|
|
"node:FunctionNodeTransformDirection"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1218-000",
|
|
"phase": "1218",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1217-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1218",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1218-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1218-001",
|
|
"phase": "1218",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1218-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1218-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1218-001:AUTO_GEOMETRY_NATIVE_NODE_READER:34abb58eedf43c5f",
|
|
"selectedRecordIds": [
|
|
"node:FunctionNodeTransformPoint",
|
|
"node:FunctionNodeTransposeMatrix",
|
|
"node:FunctionNodeTrimString",
|
|
"node:FunctionNodeValueToString",
|
|
"node:GeometryNodeInputObject"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1218-001:AUTO_GEOMETRY_NATIVE_NODE_READER:34abb58eedf43c5f",
|
|
"selectedRecordIds": [
|
|
"node:FunctionNodeTransformPoint",
|
|
"node:FunctionNodeTransposeMatrix",
|
|
"node:FunctionNodeTrimString",
|
|
"node:FunctionNodeValueToString",
|
|
"node:GeometryNodeInputObject"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_transform_point.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_transpose_matrix.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_trim_string.cc",
|
|
"blender-5.2.0/source/blender/nodes/function/nodes/node_fn_value_to_string.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_object.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-34abb58eedf43c5f.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"FunctionNodeTransformPoint type is read from Blender Main",
|
|
"FunctionNodeTransposeMatrix type is read from Blender Main",
|
|
"FunctionNodeTrimString type is read from Blender Main",
|
|
"FunctionNodeValueToString type is read from Blender Main",
|
|
"GeometryNodeInputObject 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1218-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1218-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-34abb58eedf43c5f.blend WBV2_BATCH_TYPES='[\"FunctionNodeTransformPoint\",\"FunctionNodeTransposeMatrix\",\"FunctionNodeTrimString\",\"FunctionNodeValueToString\",\"GeometryNodeInputObject\"]' WBV2_BATCH_UNITS='[\"node:FunctionNodeTransformPoint\",\"node:FunctionNodeTransposeMatrix\",\"node:FunctionNodeTrimString\",\"node:FunctionNodeValueToString\",\"node:GeometryNodeInputObject\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1218-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:FunctionNodeTransformPoint",
|
|
"node:FunctionNodeTransposeMatrix",
|
|
"node:FunctionNodeTrimString",
|
|
"node:FunctionNodeValueToString",
|
|
"node:GeometryNodeInputObject"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1219-000",
|
|
"phase": "1219",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1218-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1219",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1219-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1219-001",
|
|
"phase": "1219",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1219-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1219-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1219-001:AUTO_GEOMETRY_NATIVE_NODE_READER:3cccf2d7fb85d3b8",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeInputPosition",
|
|
"node:GeometryNodeInputRadius",
|
|
"node:GeometryNodeInputSceneTime",
|
|
"node:GeometryNodeInputShadeSmooth",
|
|
"node:GeometryNodeInputShortestEdgePaths"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1219-001:AUTO_GEOMETRY_NATIVE_NODE_READER:3cccf2d7fb85d3b8",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeInputPosition",
|
|
"node:GeometryNodeInputRadius",
|
|
"node:GeometryNodeInputSceneTime",
|
|
"node:GeometryNodeInputShadeSmooth",
|
|
"node:GeometryNodeInputShortestEdgePaths"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_position.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_radius.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_scene_time.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_face_smooth.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_shortest_edge_paths.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-3cccf2d7fb85d3b8.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeInputPosition type is read from Blender Main",
|
|
"GeometryNodeInputRadius type is read from Blender Main",
|
|
"GeometryNodeInputSceneTime type is read from Blender Main",
|
|
"GeometryNodeInputShadeSmooth type is read from Blender Main",
|
|
"GeometryNodeInputShortestEdgePaths 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1219-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1219-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-3cccf2d7fb85d3b8.blend WBV2_BATCH_TYPES='[\"GeometryNodeInputPosition\",\"GeometryNodeInputRadius\",\"GeometryNodeInputSceneTime\",\"GeometryNodeInputShadeSmooth\",\"GeometryNodeInputShortestEdgePaths\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeInputPosition\",\"node:GeometryNodeInputRadius\",\"node:GeometryNodeInputSceneTime\",\"node:GeometryNodeInputShadeSmooth\",\"node:GeometryNodeInputShortestEdgePaths\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1219-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeInputPosition",
|
|
"node:GeometryNodeInputRadius",
|
|
"node:GeometryNodeInputSceneTime",
|
|
"node:GeometryNodeInputShadeSmooth",
|
|
"node:GeometryNodeInputShortestEdgePaths"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1220-000",
|
|
"phase": "1220",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1219-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1220",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1220-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1220-001",
|
|
"phase": "1220",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1220-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1220-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1220-001:AUTO_GEOMETRY_NATIVE_NODE_READER:8d0f07a9289283d0",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeInputSplineCyclic",
|
|
"node:GeometryNodeInputSplineResolution",
|
|
"node:GeometryNodeInputTangent",
|
|
"node:GeometryNodeInputVoxelIndex",
|
|
"node:GeometryNodeInstanceOnPoints"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1220-001:AUTO_GEOMETRY_NATIVE_NODE_READER:8d0f07a9289283d0",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeInputSplineCyclic",
|
|
"node:GeometryNodeInputSplineResolution",
|
|
"node:GeometryNodeInputTangent",
|
|
"node:GeometryNodeInputVoxelIndex",
|
|
"node:GeometryNodeInstanceOnPoints"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_spline_cyclic.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_spline_resolution.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_tangent.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_voxel_index.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_instance_on_points.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-8d0f07a9289283d0.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeInputSplineCyclic type is read from Blender Main",
|
|
"GeometryNodeInputSplineResolution type is read from Blender Main",
|
|
"GeometryNodeInputTangent type is read from Blender Main",
|
|
"GeometryNodeInputVoxelIndex type is read from Blender Main",
|
|
"GeometryNodeInstanceOnPoints 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1220-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1220-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-8d0f07a9289283d0.blend WBV2_BATCH_TYPES='[\"GeometryNodeInputSplineCyclic\",\"GeometryNodeInputSplineResolution\",\"GeometryNodeInputTangent\",\"GeometryNodeInputVoxelIndex\",\"GeometryNodeInstanceOnPoints\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeInputSplineCyclic\",\"node:GeometryNodeInputSplineResolution\",\"node:GeometryNodeInputTangent\",\"node:GeometryNodeInputVoxelIndex\",\"node:GeometryNodeInstanceOnPoints\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1220-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeInputSplineCyclic",
|
|
"node:GeometryNodeInputSplineResolution",
|
|
"node:GeometryNodeInputTangent",
|
|
"node:GeometryNodeInputVoxelIndex",
|
|
"node:GeometryNodeInstanceOnPoints"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1221-000",
|
|
"phase": "1221",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1220-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1221",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1221-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1221-001",
|
|
"phase": "1221",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1221-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1221-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1221-001:AUTO_GEOMETRY_NATIVE_NODE_READER:c30b3d2a341bc8b1",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeInstanceTransform",
|
|
"node:GeometryNodeInstancesToPoints",
|
|
"node:GeometryNodeInterpolateCurves",
|
|
"node:GeometryNodeIsViewport",
|
|
"node:GeometryNodeListGetItem"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1221-001:AUTO_GEOMETRY_NATIVE_NODE_READER:c30b3d2a341bc8b1",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeInstanceTransform",
|
|
"node:GeometryNodeInstancesToPoints",
|
|
"node:GeometryNodeInterpolateCurves",
|
|
"node:GeometryNodeIsViewport",
|
|
"node:GeometryNodeListGetItem"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_instance_transform.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_instances_to_points.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_interpolate_curves.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_is_viewport.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_list_get_item.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-c30b3d2a341bc8b1.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeInstanceTransform type is read from Blender Main",
|
|
"GeometryNodeInstancesToPoints type is read from Blender Main",
|
|
"GeometryNodeInterpolateCurves type is read from Blender Main",
|
|
"GeometryNodeIsViewport type is read from Blender Main",
|
|
"GeometryNodeListGetItem 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1221-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1221-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-c30b3d2a341bc8b1.blend WBV2_BATCH_TYPES='[\"GeometryNodeInstanceTransform\",\"GeometryNodeInstancesToPoints\",\"GeometryNodeInterpolateCurves\",\"GeometryNodeIsViewport\",\"GeometryNodeListGetItem\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeInstanceTransform\",\"node:GeometryNodeInstancesToPoints\",\"node:GeometryNodeInterpolateCurves\",\"node:GeometryNodeIsViewport\",\"node:GeometryNodeListGetItem\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1221-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeInstanceTransform",
|
|
"node:GeometryNodeInstancesToPoints",
|
|
"node:GeometryNodeInterpolateCurves",
|
|
"node:GeometryNodeIsViewport",
|
|
"node:GeometryNodeListGetItem"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1222-000",
|
|
"phase": "1222",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1221-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1222",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1222-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1222-001",
|
|
"phase": "1222",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1222-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1222-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1222-001:AUTO_GEOMETRY_NATIVE_NODE_READER:838d8958e4b989d1",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeListLength",
|
|
"node:GeometryNodeMaterialSelection",
|
|
"node:GeometryNodeMenuSwitch",
|
|
"node:GeometryNodeMergeByDistance",
|
|
"node:GeometryNodeMergeLayers"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1222-001:AUTO_GEOMETRY_NATIVE_NODE_READER:838d8958e4b989d1",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeListLength",
|
|
"node:GeometryNodeMaterialSelection",
|
|
"node:GeometryNodeMenuSwitch",
|
|
"node:GeometryNodeMergeByDistance",
|
|
"node:GeometryNodeMergeLayers"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_list_length.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_material_selection.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_menu_switch.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_merge_by_distance.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_merge_layers.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-838d8958e4b989d1.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeListLength type is read from Blender Main",
|
|
"GeometryNodeMaterialSelection type is read from Blender Main",
|
|
"GeometryNodeMenuSwitch type is read from Blender Main",
|
|
"GeometryNodeMergeByDistance type is read from Blender Main",
|
|
"GeometryNodeMergeLayers 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1222-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1222-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-838d8958e4b989d1.blend WBV2_BATCH_TYPES='[\"GeometryNodeListLength\",\"GeometryNodeMaterialSelection\",\"GeometryNodeMenuSwitch\",\"GeometryNodeMergeByDistance\",\"GeometryNodeMergeLayers\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeListLength\",\"node:GeometryNodeMaterialSelection\",\"node:GeometryNodeMenuSwitch\",\"node:GeometryNodeMergeByDistance\",\"node:GeometryNodeMergeLayers\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1222-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeListLength",
|
|
"node:GeometryNodeMaterialSelection",
|
|
"node:GeometryNodeMenuSwitch",
|
|
"node:GeometryNodeMergeByDistance",
|
|
"node:GeometryNodeMergeLayers"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1223-000",
|
|
"phase": "1223",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1222-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1223",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1223-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1223-001",
|
|
"phase": "1223",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1223-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1223-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1223-001:AUTO_GEOMETRY_NATIVE_NODE_READER:c3b7b0656afe6a91",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeMergePoints",
|
|
"node:GeometryNodeMeshBevel",
|
|
"node:GeometryNodeMeshBoolean",
|
|
"node:GeometryNodeMeshCircle",
|
|
"node:GeometryNodeMeshCone"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1223-001:AUTO_GEOMETRY_NATIVE_NODE_READER:c3b7b0656afe6a91",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeMergePoints",
|
|
"node:GeometryNodeMeshBevel",
|
|
"node:GeometryNodeMeshBoolean",
|
|
"node:GeometryNodeMeshCircle",
|
|
"node:GeometryNodeMeshCone"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_merge_points.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_bevel.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_boolean.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_circle.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_cone.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-c3b7b0656afe6a91.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeMergePoints type is read from Blender Main",
|
|
"GeometryNodeMeshBevel type is read from Blender Main",
|
|
"GeometryNodeMeshBoolean type is read from Blender Main",
|
|
"GeometryNodeMeshCircle type is read from Blender Main",
|
|
"GeometryNodeMeshCone 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1223-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1223-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-c3b7b0656afe6a91.blend WBV2_BATCH_TYPES='[\"GeometryNodeMergePoints\",\"GeometryNodeMeshBevel\",\"GeometryNodeMeshBoolean\",\"GeometryNodeMeshCircle\",\"GeometryNodeMeshCone\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeMergePoints\",\"node:GeometryNodeMeshBevel\",\"node:GeometryNodeMeshBoolean\",\"node:GeometryNodeMeshCircle\",\"node:GeometryNodeMeshCone\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1223-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeMergePoints",
|
|
"node:GeometryNodeMeshBevel",
|
|
"node:GeometryNodeMeshBoolean",
|
|
"node:GeometryNodeMeshCircle",
|
|
"node:GeometryNodeMeshCone"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1224-000",
|
|
"phase": "1224",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1223-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1224",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1224-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1224-001",
|
|
"phase": "1224",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1224-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1224-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1224-001:AUTO_GEOMETRY_NATIVE_NODE_READER:0dca701c57915fc7",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeMeshCube",
|
|
"node:GeometryNodeMeshCylinder",
|
|
"node:GeometryNodeMeshFaceSetBoundaries",
|
|
"node:GeometryNodeMeshGrid",
|
|
"node:GeometryNodeMeshIcoSphere"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1224-001:AUTO_GEOMETRY_NATIVE_NODE_READER:0dca701c57915fc7",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeMeshCube",
|
|
"node:GeometryNodeMeshCylinder",
|
|
"node:GeometryNodeMeshFaceSetBoundaries",
|
|
"node:GeometryNodeMeshGrid",
|
|
"node:GeometryNodeMeshIcoSphere"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_cube.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_cylinder.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_face_group_boundaries.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_grid.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_ico_sphere.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-0dca701c57915fc7.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeMeshCube type is read from Blender Main",
|
|
"GeometryNodeMeshCylinder type is read from Blender Main",
|
|
"GeometryNodeMeshFaceSetBoundaries type is read from Blender Main",
|
|
"GeometryNodeMeshGrid type is read from Blender Main",
|
|
"GeometryNodeMeshIcoSphere 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1224-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1224-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-0dca701c57915fc7.blend WBV2_BATCH_TYPES='[\"GeometryNodeMeshCube\",\"GeometryNodeMeshCylinder\",\"GeometryNodeMeshFaceSetBoundaries\",\"GeometryNodeMeshGrid\",\"GeometryNodeMeshIcoSphere\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeMeshCube\",\"node:GeometryNodeMeshCylinder\",\"node:GeometryNodeMeshFaceSetBoundaries\",\"node:GeometryNodeMeshGrid\",\"node:GeometryNodeMeshIcoSphere\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1224-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeMeshCube",
|
|
"node:GeometryNodeMeshCylinder",
|
|
"node:GeometryNodeMeshFaceSetBoundaries",
|
|
"node:GeometryNodeMeshGrid",
|
|
"node:GeometryNodeMeshIcoSphere"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1225-000",
|
|
"phase": "1225",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1224-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1225",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1225-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1225-001",
|
|
"phase": "1225",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1225-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1225-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1225-001:AUTO_GEOMETRY_NATIVE_NODE_READER:142ee68a2ed9492b",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeMeshLine",
|
|
"node:GeometryNodeMeshToCurve",
|
|
"node:GeometryNodeMeshToDensityGrid",
|
|
"node:GeometryNodeMeshToPoints",
|
|
"node:GeometryNodeMeshToSDFGrid"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1225-001:AUTO_GEOMETRY_NATIVE_NODE_READER:142ee68a2ed9492b",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeMeshLine",
|
|
"node:GeometryNodeMeshToCurve",
|
|
"node:GeometryNodeMeshToDensityGrid",
|
|
"node:GeometryNodeMeshToPoints",
|
|
"node:GeometryNodeMeshToSDFGrid"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_line.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_to_curve.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_to_density_grid.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_to_points.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_to_sdf_grid.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-142ee68a2ed9492b.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeMeshLine type is read from Blender Main",
|
|
"GeometryNodeMeshToCurve type is read from Blender Main",
|
|
"GeometryNodeMeshToDensityGrid type is read from Blender Main",
|
|
"GeometryNodeMeshToPoints type is read from Blender Main",
|
|
"GeometryNodeMeshToSDFGrid 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1225-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1225-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-142ee68a2ed9492b.blend WBV2_BATCH_TYPES='[\"GeometryNodeMeshLine\",\"GeometryNodeMeshToCurve\",\"GeometryNodeMeshToDensityGrid\",\"GeometryNodeMeshToPoints\",\"GeometryNodeMeshToSDFGrid\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeMeshLine\",\"node:GeometryNodeMeshToCurve\",\"node:GeometryNodeMeshToDensityGrid\",\"node:GeometryNodeMeshToPoints\",\"node:GeometryNodeMeshToSDFGrid\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1225-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeMeshLine",
|
|
"node:GeometryNodeMeshToCurve",
|
|
"node:GeometryNodeMeshToDensityGrid",
|
|
"node:GeometryNodeMeshToPoints",
|
|
"node:GeometryNodeMeshToSDFGrid"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1226-000",
|
|
"phase": "1226",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1225-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1226",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1226-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1226-001",
|
|
"phase": "1226",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1226-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1226-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1226-001:AUTO_GEOMETRY_NATIVE_NODE_READER:abb1c596d4ee21b2",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeMeshToVolume",
|
|
"node:GeometryNodeMeshUVSphere",
|
|
"node:GeometryNodeOffsetCornerInFace",
|
|
"node:GeometryNodeOffsetPointInCurve",
|
|
"node:GeometryNodePoints"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1226-001:AUTO_GEOMETRY_NATIVE_NODE_READER:abb1c596d4ee21b2",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeMeshToVolume",
|
|
"node:GeometryNodeMeshUVSphere",
|
|
"node:GeometryNodeOffsetCornerInFace",
|
|
"node:GeometryNodeOffsetPointInCurve",
|
|
"node:GeometryNodePoints"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_to_volume.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_uv_sphere.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_topology_offset_corner_in_face.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_offset_point_in_curve.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_points.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-abb1c596d4ee21b2.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeMeshToVolume type is read from Blender Main",
|
|
"GeometryNodeMeshUVSphere type is read from Blender Main",
|
|
"GeometryNodeOffsetCornerInFace type is read from Blender Main",
|
|
"GeometryNodeOffsetPointInCurve type is read from Blender Main",
|
|
"GeometryNodePoints 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1226-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1226-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-abb1c596d4ee21b2.blend WBV2_BATCH_TYPES='[\"GeometryNodeMeshToVolume\",\"GeometryNodeMeshUVSphere\",\"GeometryNodeOffsetCornerInFace\",\"GeometryNodeOffsetPointInCurve\",\"GeometryNodePoints\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeMeshToVolume\",\"node:GeometryNodeMeshUVSphere\",\"node:GeometryNodeOffsetCornerInFace\",\"node:GeometryNodeOffsetPointInCurve\",\"node:GeometryNodePoints\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1226-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeMeshToVolume",
|
|
"node:GeometryNodeMeshUVSphere",
|
|
"node:GeometryNodeOffsetCornerInFace",
|
|
"node:GeometryNodeOffsetPointInCurve",
|
|
"node:GeometryNodePoints"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1227-000",
|
|
"phase": "1227",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1226-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1227",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1227-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1227-001",
|
|
"phase": "1227",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1227-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1227-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1227-001:AUTO_GEOMETRY_NATIVE_NODE_READER:81deda73b9188c10",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodePointsOfCurve",
|
|
"node:GeometryNodePointsToCurves",
|
|
"node:GeometryNodePointsToSDFGrid",
|
|
"node:GeometryNodePointsToVertices",
|
|
"node:GeometryNodePointsToVolume"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1227-001:AUTO_GEOMETRY_NATIVE_NODE_READER:81deda73b9188c10",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodePointsOfCurve",
|
|
"node:GeometryNodePointsToCurves",
|
|
"node:GeometryNodePointsToSDFGrid",
|
|
"node:GeometryNodePointsToVertices",
|
|
"node:GeometryNodePointsToVolume"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_topology_points_of_curve.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_points_to_curves.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_points_to_sdf_grid.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_points_to_vertices.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_points_to_volume.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-81deda73b9188c10.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodePointsOfCurve type is read from Blender Main",
|
|
"GeometryNodePointsToCurves type is read from Blender Main",
|
|
"GeometryNodePointsToSDFGrid type is read from Blender Main",
|
|
"GeometryNodePointsToVertices type is read from Blender Main",
|
|
"GeometryNodePointsToVolume 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1227-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1227-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-81deda73b9188c10.blend WBV2_BATCH_TYPES='[\"GeometryNodePointsOfCurve\",\"GeometryNodePointsToCurves\",\"GeometryNodePointsToSDFGrid\",\"GeometryNodePointsToVertices\",\"GeometryNodePointsToVolume\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodePointsOfCurve\",\"node:GeometryNodePointsToCurves\",\"node:GeometryNodePointsToSDFGrid\",\"node:GeometryNodePointsToVertices\",\"node:GeometryNodePointsToVolume\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1227-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodePointsOfCurve",
|
|
"node:GeometryNodePointsToCurves",
|
|
"node:GeometryNodePointsToSDFGrid",
|
|
"node:GeometryNodePointsToVertices",
|
|
"node:GeometryNodePointsToVolume"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1228-000",
|
|
"phase": "1228",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1227-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1228",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1228-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1228-001",
|
|
"phase": "1228",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1228-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1228-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1228-001:AUTO_GEOMETRY_NATIVE_NODE_READER:6b022a1a8e99f7fd",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeProximity",
|
|
"node:GeometryNodeRaycast",
|
|
"node:GeometryNodeRemoveAttribute",
|
|
"node:GeometryNodeRenameAttribute",
|
|
"node:GeometryNodeRepeatInput"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1228-001:AUTO_GEOMETRY_NATIVE_NODE_READER:6b022a1a8e99f7fd",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeProximity",
|
|
"node:GeometryNodeRaycast",
|
|
"node:GeometryNodeRemoveAttribute",
|
|
"node:GeometryNodeRenameAttribute",
|
|
"node:GeometryNodeRepeatInput"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_proximity.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_raycast.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_remove_attribute.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_rename_attribute.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_repeat.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-6b022a1a8e99f7fd.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeProximity type is read from Blender Main",
|
|
"GeometryNodeRaycast type is read from Blender Main",
|
|
"GeometryNodeRemoveAttribute type is read from Blender Main",
|
|
"GeometryNodeRenameAttribute type is read from Blender Main",
|
|
"GeometryNodeRepeatInput 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1228-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1228-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-6b022a1a8e99f7fd.blend WBV2_BATCH_TYPES='[\"GeometryNodeProximity\",\"GeometryNodeRaycast\",\"GeometryNodeRemoveAttribute\",\"GeometryNodeRenameAttribute\",\"GeometryNodeRepeatInput\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeProximity\",\"node:GeometryNodeRaycast\",\"node:GeometryNodeRemoveAttribute\",\"node:GeometryNodeRenameAttribute\",\"node:GeometryNodeRepeatInput\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1228-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeProximity",
|
|
"node:GeometryNodeRaycast",
|
|
"node:GeometryNodeRemoveAttribute",
|
|
"node:GeometryNodeRenameAttribute",
|
|
"node:GeometryNodeRepeatInput"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1229-000",
|
|
"phase": "1229",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1228-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1229",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1229-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1229-001",
|
|
"phase": "1229",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1229-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1229-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1229-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1323c437a10e245b",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeRepeatOutput"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1229-001:AUTO_GEOMETRY_NATIVE_NODE_READER:1323c437a10e245b",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeRepeatOutput"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_repeat.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-1323c437a10e245b.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeRepeatOutput 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1229-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1229-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-1323c437a10e245b.blend WBV2_BATCH_TYPES='[\"GeometryNodeRepeatOutput\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeRepeatOutput\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1229-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeRepeatOutput"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1230-000",
|
|
"phase": "1230",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1229-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1230",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1230-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1230-001",
|
|
"phase": "1230",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1230-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1230-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1230-001:AUTO_GEOMETRY_NATIVE_NODE_READER:bb5c9b89367c9d6d",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeReplaceMaterial",
|
|
"node:GeometryNodeResampleCurve",
|
|
"node:GeometryNodeReverseCurve",
|
|
"node:GeometryNodeRotateInstances",
|
|
"node:GeometryNodeSDFGridBoolean"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1230-001:AUTO_GEOMETRY_NATIVE_NODE_READER:bb5c9b89367c9d6d",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeReplaceMaterial",
|
|
"node:GeometryNodeResampleCurve",
|
|
"node:GeometryNodeReverseCurve",
|
|
"node:GeometryNodeRotateInstances",
|
|
"node:GeometryNodeSDFGridBoolean"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_material_replace.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_resample.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_reverse.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_rotate_instances.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_sdf_grid_boolean.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-bb5c9b89367c9d6d.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeReplaceMaterial type is read from Blender Main",
|
|
"GeometryNodeResampleCurve type is read from Blender Main",
|
|
"GeometryNodeReverseCurve type is read from Blender Main",
|
|
"GeometryNodeRotateInstances type is read from Blender Main",
|
|
"GeometryNodeSDFGridBoolean 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1230-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1230-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-bb5c9b89367c9d6d.blend WBV2_BATCH_TYPES='[\"GeometryNodeReplaceMaterial\",\"GeometryNodeResampleCurve\",\"GeometryNodeReverseCurve\",\"GeometryNodeRotateInstances\",\"GeometryNodeSDFGridBoolean\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeReplaceMaterial\",\"node:GeometryNodeResampleCurve\",\"node:GeometryNodeReverseCurve\",\"node:GeometryNodeRotateInstances\",\"node:GeometryNodeSDFGridBoolean\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1230-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeReplaceMaterial",
|
|
"node:GeometryNodeResampleCurve",
|
|
"node:GeometryNodeReverseCurve",
|
|
"node:GeometryNodeRotateInstances",
|
|
"node:GeometryNodeSDFGridBoolean"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1231-000",
|
|
"phase": "1231",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1230-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1231",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1231-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1231-001",
|
|
"phase": "1231",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1231-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1231-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1231-001:AUTO_GEOMETRY_NATIVE_NODE_READER:4e423b626a07145e",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeSDFGridFillet",
|
|
"node:GeometryNodeSDFGridLaplacian",
|
|
"node:GeometryNodeSDFGridMean",
|
|
"node:GeometryNodeSDFGridMeanCurvature",
|
|
"node:GeometryNodeSDFGridMedian"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1231-001:AUTO_GEOMETRY_NATIVE_NODE_READER:4e423b626a07145e",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeSDFGridFillet",
|
|
"node:GeometryNodeSDFGridLaplacian",
|
|
"node:GeometryNodeSDFGridMean",
|
|
"node:GeometryNodeSDFGridMeanCurvature",
|
|
"node:GeometryNodeSDFGridMedian"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_sdf_grid_fillet.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_sdf_grid_laplacian.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_sdf_grid_mean.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_sdf_grid_mean_curvature.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_sdf_grid_median.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-4e423b626a07145e.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeSDFGridFillet type is read from Blender Main",
|
|
"GeometryNodeSDFGridLaplacian type is read from Blender Main",
|
|
"GeometryNodeSDFGridMean type is read from Blender Main",
|
|
"GeometryNodeSDFGridMeanCurvature type is read from Blender Main",
|
|
"GeometryNodeSDFGridMedian 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1231-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1231-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-4e423b626a07145e.blend WBV2_BATCH_TYPES='[\"GeometryNodeSDFGridFillet\",\"GeometryNodeSDFGridLaplacian\",\"GeometryNodeSDFGridMean\",\"GeometryNodeSDFGridMeanCurvature\",\"GeometryNodeSDFGridMedian\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeSDFGridFillet\",\"node:GeometryNodeSDFGridLaplacian\",\"node:GeometryNodeSDFGridMean\",\"node:GeometryNodeSDFGridMeanCurvature\",\"node:GeometryNodeSDFGridMedian\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1231-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeSDFGridFillet",
|
|
"node:GeometryNodeSDFGridLaplacian",
|
|
"node:GeometryNodeSDFGridMean",
|
|
"node:GeometryNodeSDFGridMeanCurvature",
|
|
"node:GeometryNodeSDFGridMedian"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1232-000",
|
|
"phase": "1232",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1231-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1232",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1232-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1232-001",
|
|
"phase": "1232",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1232-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1232-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1232-001:AUTO_GEOMETRY_NATIVE_NODE_READER:404eb303152ba922",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeSDFGridOffset",
|
|
"node:GeometryNodeSampleCurve",
|
|
"node:GeometryNodeSampleGrid",
|
|
"node:GeometryNodeSampleGridIndex",
|
|
"node:GeometryNodeSampleIndex"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1232-001:AUTO_GEOMETRY_NATIVE_NODE_READER:404eb303152ba922",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeSDFGridOffset",
|
|
"node:GeometryNodeSampleCurve",
|
|
"node:GeometryNodeSampleGrid",
|
|
"node:GeometryNodeSampleGridIndex",
|
|
"node:GeometryNodeSampleIndex"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_sdf_grid_offset.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_sample.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_sample_grid.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_sample_grid_index.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_sample_index.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-404eb303152ba922.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeSDFGridOffset type is read from Blender Main",
|
|
"GeometryNodeSampleCurve type is read from Blender Main",
|
|
"GeometryNodeSampleGrid type is read from Blender Main",
|
|
"GeometryNodeSampleGridIndex type is read from Blender Main",
|
|
"GeometryNodeSampleIndex 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1232-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1232-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-404eb303152ba922.blend WBV2_BATCH_TYPES='[\"GeometryNodeSDFGridOffset\",\"GeometryNodeSampleCurve\",\"GeometryNodeSampleGrid\",\"GeometryNodeSampleGridIndex\",\"GeometryNodeSampleIndex\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeSDFGridOffset\",\"node:GeometryNodeSampleCurve\",\"node:GeometryNodeSampleGrid\",\"node:GeometryNodeSampleGridIndex\",\"node:GeometryNodeSampleIndex\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1232-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeSDFGridOffset",
|
|
"node:GeometryNodeSampleCurve",
|
|
"node:GeometryNodeSampleGrid",
|
|
"node:GeometryNodeSampleGridIndex",
|
|
"node:GeometryNodeSampleIndex"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1233-000",
|
|
"phase": "1233",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1232-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1233",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1233-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1233-001",
|
|
"phase": "1233",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1233-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1233-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1233-001:AUTO_GEOMETRY_NATIVE_NODE_READER:529a042eb604c0e1",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeSampleNearest",
|
|
"node:GeometryNodeSampleNearestSurface",
|
|
"node:GeometryNodeSampleSoundFrequencies",
|
|
"node:GeometryNodeSampleUVSurface",
|
|
"node:GeometryNodeScaleElements"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1233-001:AUTO_GEOMETRY_NATIVE_NODE_READER:529a042eb604c0e1",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeSampleNearest",
|
|
"node:GeometryNodeSampleNearestSurface",
|
|
"node:GeometryNodeSampleSoundFrequencies",
|
|
"node:GeometryNodeSampleUVSurface",
|
|
"node:GeometryNodeScaleElements"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_sample_nearest.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_sample_nearest_surface.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_sample_sound_frequencies.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_sample_uv_surface.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_scale_elements.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-529a042eb604c0e1.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeSampleNearest type is read from Blender Main",
|
|
"GeometryNodeSampleNearestSurface type is read from Blender Main",
|
|
"GeometryNodeSampleSoundFrequencies type is read from Blender Main",
|
|
"GeometryNodeSampleUVSurface type is read from Blender Main",
|
|
"GeometryNodeScaleElements 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1233-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1233-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-529a042eb604c0e1.blend WBV2_BATCH_TYPES='[\"GeometryNodeSampleNearest\",\"GeometryNodeSampleNearestSurface\",\"GeometryNodeSampleSoundFrequencies\",\"GeometryNodeSampleUVSurface\",\"GeometryNodeScaleElements\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeSampleNearest\",\"node:GeometryNodeSampleNearestSurface\",\"node:GeometryNodeSampleSoundFrequencies\",\"node:GeometryNodeSampleUVSurface\",\"node:GeometryNodeScaleElements\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1233-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeSampleNearest",
|
|
"node:GeometryNodeSampleNearestSurface",
|
|
"node:GeometryNodeSampleSoundFrequencies",
|
|
"node:GeometryNodeSampleUVSurface",
|
|
"node:GeometryNodeScaleElements"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1234-000",
|
|
"phase": "1234",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1233-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1234",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1234-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1234-001",
|
|
"phase": "1234",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1234-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1234-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1234-001:AUTO_GEOMETRY_NATIVE_NODE_READER:ad9e5b4bf235659f",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeScaleInstances",
|
|
"node:GeometryNodeSelfObject",
|
|
"node:GeometryNodeSeparateComponents",
|
|
"node:GeometryNodeSetCurveHandlePositions",
|
|
"node:GeometryNodeSetCurveNormal"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1234-001:AUTO_GEOMETRY_NATIVE_NODE_READER:ad9e5b4bf235659f",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeScaleInstances",
|
|
"node:GeometryNodeSelfObject",
|
|
"node:GeometryNodeSeparateComponents",
|
|
"node:GeometryNodeSetCurveHandlePositions",
|
|
"node:GeometryNodeSetCurveNormal"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_scale_instances.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_self_object.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_separate_components.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_curve_handles.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_curve_normal.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-ad9e5b4bf235659f.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeScaleInstances type is read from Blender Main",
|
|
"GeometryNodeSelfObject type is read from Blender Main",
|
|
"GeometryNodeSeparateComponents type is read from Blender Main",
|
|
"GeometryNodeSetCurveHandlePositions type is read from Blender Main",
|
|
"GeometryNodeSetCurveNormal 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1234-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1234-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-ad9e5b4bf235659f.blend WBV2_BATCH_TYPES='[\"GeometryNodeScaleInstances\",\"GeometryNodeSelfObject\",\"GeometryNodeSeparateComponents\",\"GeometryNodeSetCurveHandlePositions\",\"GeometryNodeSetCurveNormal\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeScaleInstances\",\"node:GeometryNodeSelfObject\",\"node:GeometryNodeSeparateComponents\",\"node:GeometryNodeSetCurveHandlePositions\",\"node:GeometryNodeSetCurveNormal\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1234-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeScaleInstances",
|
|
"node:GeometryNodeSelfObject",
|
|
"node:GeometryNodeSeparateComponents",
|
|
"node:GeometryNodeSetCurveHandlePositions",
|
|
"node:GeometryNodeSetCurveNormal"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1235-000",
|
|
"phase": "1235",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1234-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1235",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1235-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1235-001",
|
|
"phase": "1235",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1235-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1235-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1235-001:AUTO_GEOMETRY_NATIVE_NODE_READER:91beafd1d1c04670",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeSetCurveRadius",
|
|
"node:GeometryNodeSetCurveTilt",
|
|
"node:GeometryNodeSetGeometryBundle",
|
|
"node:GeometryNodeSetGeometryName",
|
|
"node:GeometryNodeSetGreasePencilColor"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1235-001:AUTO_GEOMETRY_NATIVE_NODE_READER:91beafd1d1c04670",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeSetCurveRadius",
|
|
"node:GeometryNodeSetCurveTilt",
|
|
"node:GeometryNodeSetGeometryBundle",
|
|
"node:GeometryNodeSetGeometryName",
|
|
"node:GeometryNodeSetGreasePencilColor"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_curve_radius.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_curve_tilt.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_geometry_bundle.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_geometry_name.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_grease_pencil_color.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-91beafd1d1c04670.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeSetCurveRadius type is read from Blender Main",
|
|
"GeometryNodeSetCurveTilt type is read from Blender Main",
|
|
"GeometryNodeSetGeometryBundle type is read from Blender Main",
|
|
"GeometryNodeSetGeometryName type is read from Blender Main",
|
|
"GeometryNodeSetGreasePencilColor 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1235-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1235-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-91beafd1d1c04670.blend WBV2_BATCH_TYPES='[\"GeometryNodeSetCurveRadius\",\"GeometryNodeSetCurveTilt\",\"GeometryNodeSetGeometryBundle\",\"GeometryNodeSetGeometryName\",\"GeometryNodeSetGreasePencilColor\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeSetCurveRadius\",\"node:GeometryNodeSetCurveTilt\",\"node:GeometryNodeSetGeometryBundle\",\"node:GeometryNodeSetGeometryName\",\"node:GeometryNodeSetGreasePencilColor\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1235-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeSetCurveRadius",
|
|
"node:GeometryNodeSetCurveTilt",
|
|
"node:GeometryNodeSetGeometryBundle",
|
|
"node:GeometryNodeSetGeometryName",
|
|
"node:GeometryNodeSetGreasePencilColor"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1236-000",
|
|
"phase": "1236",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1235-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1236",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1236-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1236-001",
|
|
"phase": "1236",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1236-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1236-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1236-001:AUTO_GEOMETRY_NATIVE_NODE_READER:b7b77a5dec80a14d",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeSetGreasePencilDepth",
|
|
"node:GeometryNodeSetGreasePencilSoftness",
|
|
"node:GeometryNodeSetGridBackground",
|
|
"node:GeometryNodeSetGridTransform",
|
|
"node:GeometryNodeSetID"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1236-001:AUTO_GEOMETRY_NATIVE_NODE_READER:b7b77a5dec80a14d",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeSetGreasePencilDepth",
|
|
"node:GeometryNodeSetGreasePencilSoftness",
|
|
"node:GeometryNodeSetGridBackground",
|
|
"node:GeometryNodeSetGridTransform",
|
|
"node:GeometryNodeSetID"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_grease_pencil_depth_mode.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_grease_pencil_softness.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_grid_background.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_grid_transform.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_id.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-b7b77a5dec80a14d.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeSetGreasePencilDepth type is read from Blender Main",
|
|
"GeometryNodeSetGreasePencilSoftness type is read from Blender Main",
|
|
"GeometryNodeSetGridBackground type is read from Blender Main",
|
|
"GeometryNodeSetGridTransform type is read from Blender Main",
|
|
"GeometryNodeSetID 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1236-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1236-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-b7b77a5dec80a14d.blend WBV2_BATCH_TYPES='[\"GeometryNodeSetGreasePencilDepth\",\"GeometryNodeSetGreasePencilSoftness\",\"GeometryNodeSetGridBackground\",\"GeometryNodeSetGridTransform\",\"GeometryNodeSetID\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeSetGreasePencilDepth\",\"node:GeometryNodeSetGreasePencilSoftness\",\"node:GeometryNodeSetGridBackground\",\"node:GeometryNodeSetGridTransform\",\"node:GeometryNodeSetID\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1236-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeSetGreasePencilDepth",
|
|
"node:GeometryNodeSetGreasePencilSoftness",
|
|
"node:GeometryNodeSetGridBackground",
|
|
"node:GeometryNodeSetGridTransform",
|
|
"node:GeometryNodeSetID"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1237-000",
|
|
"phase": "1237",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1236-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1237",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1237-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1237-001",
|
|
"phase": "1237",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1237-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1237-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1237-001:AUTO_GEOMETRY_NATIVE_NODE_READER:95ccfa5892bb7a33",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeSetInstanceTransform",
|
|
"node:GeometryNodeSetMaterial",
|
|
"node:GeometryNodeSetMaterialIndex",
|
|
"node:GeometryNodeSetMeshNormal",
|
|
"node:GeometryNodeSetNURBSOrder"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1237-001:AUTO_GEOMETRY_NATIVE_NODE_READER:95ccfa5892bb7a33",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeSetInstanceTransform",
|
|
"node:GeometryNodeSetMaterial",
|
|
"node:GeometryNodeSetMaterialIndex",
|
|
"node:GeometryNodeSetMeshNormal",
|
|
"node:GeometryNodeSetNURBSOrder"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_instance_transform.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_material.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_material_index.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_mesh_normal.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_nurbs_order.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-95ccfa5892bb7a33.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeSetInstanceTransform type is read from Blender Main",
|
|
"GeometryNodeSetMaterial type is read from Blender Main",
|
|
"GeometryNodeSetMaterialIndex type is read from Blender Main",
|
|
"GeometryNodeSetMeshNormal type is read from Blender Main",
|
|
"GeometryNodeSetNURBSOrder 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1237-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1237-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-95ccfa5892bb7a33.blend WBV2_BATCH_TYPES='[\"GeometryNodeSetInstanceTransform\",\"GeometryNodeSetMaterial\",\"GeometryNodeSetMaterialIndex\",\"GeometryNodeSetMeshNormal\",\"GeometryNodeSetNURBSOrder\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeSetInstanceTransform\",\"node:GeometryNodeSetMaterial\",\"node:GeometryNodeSetMaterialIndex\",\"node:GeometryNodeSetMeshNormal\",\"node:GeometryNodeSetNURBSOrder\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1237-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeSetInstanceTransform",
|
|
"node:GeometryNodeSetMaterial",
|
|
"node:GeometryNodeSetMaterialIndex",
|
|
"node:GeometryNodeSetMeshNormal",
|
|
"node:GeometryNodeSetNURBSOrder"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1238-000",
|
|
"phase": "1238",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1237-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1238",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1238-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1238-001",
|
|
"phase": "1238",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1238-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1238-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1238-001:AUTO_GEOMETRY_NATIVE_NODE_READER:8d3751cce437cb33",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeSetNURBSWeight",
|
|
"node:GeometryNodeSetPointRadius",
|
|
"node:GeometryNodeSetShadeSmooth",
|
|
"node:GeometryNodeSetSplineCyclic",
|
|
"node:GeometryNodeSetSplineResolution"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1238-001:AUTO_GEOMETRY_NATIVE_NODE_READER:8d3751cce437cb33",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeSetNURBSWeight",
|
|
"node:GeometryNodeSetPointRadius",
|
|
"node:GeometryNodeSetShadeSmooth",
|
|
"node:GeometryNodeSetSplineCyclic",
|
|
"node:GeometryNodeSetSplineResolution"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_nurbs_weight.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_point_radius.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_shade_smooth.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_spline_cyclic.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_set_spline_resolution.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-8d3751cce437cb33.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeSetNURBSWeight type is read from Blender Main",
|
|
"GeometryNodeSetPointRadius type is read from Blender Main",
|
|
"GeometryNodeSetShadeSmooth type is read from Blender Main",
|
|
"GeometryNodeSetSplineCyclic type is read from Blender Main",
|
|
"GeometryNodeSetSplineResolution 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1238-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1238-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-8d3751cce437cb33.blend WBV2_BATCH_TYPES='[\"GeometryNodeSetNURBSWeight\",\"GeometryNodeSetPointRadius\",\"GeometryNodeSetShadeSmooth\",\"GeometryNodeSetSplineCyclic\",\"GeometryNodeSetSplineResolution\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeSetNURBSWeight\",\"node:GeometryNodeSetPointRadius\",\"node:GeometryNodeSetShadeSmooth\",\"node:GeometryNodeSetSplineCyclic\",\"node:GeometryNodeSetSplineResolution\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1238-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeSetNURBSWeight",
|
|
"node:GeometryNodeSetPointRadius",
|
|
"node:GeometryNodeSetShadeSmooth",
|
|
"node:GeometryNodeSetSplineCyclic",
|
|
"node:GeometryNodeSetSplineResolution"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1239-000",
|
|
"phase": "1239",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1238-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1239",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1239-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1239-001",
|
|
"phase": "1239",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1239-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1239-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1239-001:AUTO_GEOMETRY_NATIVE_NODE_READER:2de2c5e6ce0c4914",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeSortElements",
|
|
"node:GeometryNodeSortList",
|
|
"node:GeometryNodeSplineLength",
|
|
"node:GeometryNodeSplineParameter",
|
|
"node:GeometryNodeSplitEdges"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1239-001:AUTO_GEOMETRY_NATIVE_NODE_READER:2de2c5e6ce0c4914",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeSortElements",
|
|
"node:GeometryNodeSortList",
|
|
"node:GeometryNodeSplineLength",
|
|
"node:GeometryNodeSplineParameter",
|
|
"node:GeometryNodeSplitEdges"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_sort_elements.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_sort_list.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_input_spline_length.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_spline_parameter.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_edge_split.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-2de2c5e6ce0c4914.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeSortElements type is read from Blender Main",
|
|
"GeometryNodeSortList type is read from Blender Main",
|
|
"GeometryNodeSplineLength type is read from Blender Main",
|
|
"GeometryNodeSplineParameter type is read from Blender Main",
|
|
"GeometryNodeSplitEdges 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1239-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1239-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-2de2c5e6ce0c4914.blend WBV2_BATCH_TYPES='[\"GeometryNodeSortElements\",\"GeometryNodeSortList\",\"GeometryNodeSplineLength\",\"GeometryNodeSplineParameter\",\"GeometryNodeSplitEdges\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeSortElements\",\"node:GeometryNodeSortList\",\"node:GeometryNodeSplineLength\",\"node:GeometryNodeSplineParameter\",\"node:GeometryNodeSplitEdges\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1239-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeSortElements",
|
|
"node:GeometryNodeSortList",
|
|
"node:GeometryNodeSplineLength",
|
|
"node:GeometryNodeSplineParameter",
|
|
"node:GeometryNodeSplitEdges"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1240-000",
|
|
"phase": "1240",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1239-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1240",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1240-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1240-001",
|
|
"phase": "1240",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1240-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1240-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1240-001:AUTO_GEOMETRY_NATIVE_NODE_READER:70077c253f8e9738",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeSplitToInstances",
|
|
"node:GeometryNodeStoreNamedGrid",
|
|
"node:GeometryNodeStringJoin",
|
|
"node:GeometryNodeStringToCurves",
|
|
"node:GeometryNodeSubdivideCurve"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1240-001:AUTO_GEOMETRY_NATIVE_NODE_READER:70077c253f8e9738",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeSplitToInstances",
|
|
"node:GeometryNodeStoreNamedGrid",
|
|
"node:GeometryNodeStringJoin",
|
|
"node:GeometryNodeStringToCurves",
|
|
"node:GeometryNodeSubdivideCurve"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_split_to_instances.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_store_named_grid.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_string_join.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_string_to_curves.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_subdivide.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-70077c253f8e9738.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeSplitToInstances type is read from Blender Main",
|
|
"GeometryNodeStoreNamedGrid type is read from Blender Main",
|
|
"GeometryNodeStringJoin type is read from Blender Main",
|
|
"GeometryNodeStringToCurves type is read from Blender Main",
|
|
"GeometryNodeSubdivideCurve 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1240-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1240-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-70077c253f8e9738.blend WBV2_BATCH_TYPES='[\"GeometryNodeSplitToInstances\",\"GeometryNodeStoreNamedGrid\",\"GeometryNodeStringJoin\",\"GeometryNodeStringToCurves\",\"GeometryNodeSubdivideCurve\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeSplitToInstances\",\"node:GeometryNodeStoreNamedGrid\",\"node:GeometryNodeStringJoin\",\"node:GeometryNodeStringToCurves\",\"node:GeometryNodeSubdivideCurve\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1240-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeSplitToInstances",
|
|
"node:GeometryNodeStoreNamedGrid",
|
|
"node:GeometryNodeStringJoin",
|
|
"node:GeometryNodeStringToCurves",
|
|
"node:GeometryNodeSubdivideCurve"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1241-000",
|
|
"phase": "1241",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1240-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1241",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1241-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1241-001",
|
|
"phase": "1241",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1241-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1241-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1241-001:AUTO_GEOMETRY_NATIVE_NODE_READER:518360e680870ecc",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeSubdivideMesh",
|
|
"node:GeometryNodeSubdivisionSurface",
|
|
"node:GeometryNodeSwitch",
|
|
"node:GeometryNodeTagFilter",
|
|
"node:GeometryNodeTool3DCursor"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1241-001:AUTO_GEOMETRY_NATIVE_NODE_READER:518360e680870ecc",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeSubdivideMesh",
|
|
"node:GeometryNodeSubdivisionSurface",
|
|
"node:GeometryNodeSwitch",
|
|
"node:GeometryNodeTagFilter",
|
|
"node:GeometryNodeTool3DCursor"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_subdivide.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_subdivision_surface.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_switch.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_tag_filter.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_tool_3d_cursor.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-518360e680870ecc.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeSubdivideMesh type is read from Blender Main",
|
|
"GeometryNodeSubdivisionSurface type is read from Blender Main",
|
|
"GeometryNodeSwitch type is read from Blender Main",
|
|
"GeometryNodeTagFilter type is read from Blender Main",
|
|
"GeometryNodeTool3DCursor 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1241-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1241-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-518360e680870ecc.blend WBV2_BATCH_TYPES='[\"GeometryNodeSubdivideMesh\",\"GeometryNodeSubdivisionSurface\",\"GeometryNodeSwitch\",\"GeometryNodeTagFilter\",\"GeometryNodeTool3DCursor\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeSubdivideMesh\",\"node:GeometryNodeSubdivisionSurface\",\"node:GeometryNodeSwitch\",\"node:GeometryNodeTagFilter\",\"node:GeometryNodeTool3DCursor\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1241-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeSubdivideMesh",
|
|
"node:GeometryNodeSubdivisionSurface",
|
|
"node:GeometryNodeSwitch",
|
|
"node:GeometryNodeTagFilter",
|
|
"node:GeometryNodeTool3DCursor"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1242-000",
|
|
"phase": "1242",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1241-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1242",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1242-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1242-001",
|
|
"phase": "1242",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1242-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1242-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1242-001:AUTO_GEOMETRY_NATIVE_NODE_READER:f355dda8099b8a6f",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeToolActiveElement",
|
|
"node:GeometryNodeToolFaceSet",
|
|
"node:GeometryNodeToolMousePosition",
|
|
"node:GeometryNodeToolSelection",
|
|
"node:GeometryNodeToolSetFaceSet"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1242-001:AUTO_GEOMETRY_NATIVE_NODE_READER:f355dda8099b8a6f",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeToolActiveElement",
|
|
"node:GeometryNodeToolFaceSet",
|
|
"node:GeometryNodeToolMousePosition",
|
|
"node:GeometryNodeToolSelection",
|
|
"node:GeometryNodeToolSetFaceSet"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_tool_active_element.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_tool_face_set.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mouse_position.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_tool_selection.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_tool_set_face_set.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-f355dda8099b8a6f.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeToolActiveElement type is read from Blender Main",
|
|
"GeometryNodeToolFaceSet type is read from Blender Main",
|
|
"GeometryNodeToolMousePosition type is read from Blender Main",
|
|
"GeometryNodeToolSelection type is read from Blender Main",
|
|
"GeometryNodeToolSetFaceSet 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1242-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1242-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-f355dda8099b8a6f.blend WBV2_BATCH_TYPES='[\"GeometryNodeToolActiveElement\",\"GeometryNodeToolFaceSet\",\"GeometryNodeToolMousePosition\",\"GeometryNodeToolSelection\",\"GeometryNodeToolSetFaceSet\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeToolActiveElement\",\"node:GeometryNodeToolFaceSet\",\"node:GeometryNodeToolMousePosition\",\"node:GeometryNodeToolSelection\",\"node:GeometryNodeToolSetFaceSet\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1242-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeToolActiveElement",
|
|
"node:GeometryNodeToolFaceSet",
|
|
"node:GeometryNodeToolMousePosition",
|
|
"node:GeometryNodeToolSelection",
|
|
"node:GeometryNodeToolSetFaceSet"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1243-000",
|
|
"phase": "1243",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1242-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1243",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1243-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1243-001",
|
|
"phase": "1243",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1243-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1243-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1243-001:AUTO_GEOMETRY_NATIVE_NODE_READER:6399364bfcbc157c",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeToolSetSelection",
|
|
"node:GeometryNodeTransferAttributes",
|
|
"node:GeometryNodeTranslateInstances",
|
|
"node:GeometryNodeTriangulate",
|
|
"node:GeometryNodeTrimCurve"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1243-001:AUTO_GEOMETRY_NATIVE_NODE_READER:6399364bfcbc157c",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeToolSetSelection",
|
|
"node:GeometryNodeTransferAttributes",
|
|
"node:GeometryNodeTranslateInstances",
|
|
"node:GeometryNodeTriangulate",
|
|
"node:GeometryNodeTrimCurve"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_tool_set_selection.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_transfer_attributes.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_translate_instances.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_triangulate.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_curve_trim.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-6399364bfcbc157c.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeToolSetSelection type is read from Blender Main",
|
|
"GeometryNodeTransferAttributes type is read from Blender Main",
|
|
"GeometryNodeTranslateInstances type is read from Blender Main",
|
|
"GeometryNodeTriangulate type is read from Blender Main",
|
|
"GeometryNodeTrimCurve 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1243-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1243-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-6399364bfcbc157c.blend WBV2_BATCH_TYPES='[\"GeometryNodeToolSetSelection\",\"GeometryNodeTransferAttributes\",\"GeometryNodeTranslateInstances\",\"GeometryNodeTriangulate\",\"GeometryNodeTrimCurve\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeToolSetSelection\",\"node:GeometryNodeTransferAttributes\",\"node:GeometryNodeTranslateInstances\",\"node:GeometryNodeTriangulate\",\"node:GeometryNodeTrimCurve\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1243-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeToolSetSelection",
|
|
"node:GeometryNodeTransferAttributes",
|
|
"node:GeometryNodeTranslateInstances",
|
|
"node:GeometryNodeTriangulate",
|
|
"node:GeometryNodeTrimCurve"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1244-000",
|
|
"phase": "1244",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1243-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1244",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1244-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1244-001",
|
|
"phase": "1244",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1244-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1244-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1244-001:AUTO_GEOMETRY_NATIVE_NODE_READER:b2e40edae0bea18d",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeUVPackIslands",
|
|
"node:GeometryNodeUVTangent",
|
|
"node:GeometryNodeUVUnwrap",
|
|
"node:GeometryNodeVertexOfCorner",
|
|
"node:GeometryNodeViewer"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1244-001:AUTO_GEOMETRY_NATIVE_NODE_READER:b2e40edae0bea18d",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeUVPackIslands",
|
|
"node:GeometryNodeUVTangent",
|
|
"node:GeometryNodeUVUnwrap",
|
|
"node:GeometryNodeVertexOfCorner",
|
|
"node:GeometryNodeViewer"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_uv_pack_islands.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_uv_tangent.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_uv_unwrap.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_topology_vertex_of_corner.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_viewer.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-b2e40edae0bea18d.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeUVPackIslands type is read from Blender Main",
|
|
"GeometryNodeUVTangent type is read from Blender Main",
|
|
"GeometryNodeUVUnwrap type is read from Blender Main",
|
|
"GeometryNodeVertexOfCorner type is read from Blender Main",
|
|
"GeometryNodeViewer 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1244-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1244-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-b2e40edae0bea18d.blend WBV2_BATCH_TYPES='[\"GeometryNodeUVPackIslands\",\"GeometryNodeUVTangent\",\"GeometryNodeUVUnwrap\",\"GeometryNodeVertexOfCorner\",\"GeometryNodeViewer\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeUVPackIslands\",\"node:GeometryNodeUVTangent\",\"node:GeometryNodeUVUnwrap\",\"node:GeometryNodeVertexOfCorner\",\"node:GeometryNodeViewer\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1244-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeUVPackIslands",
|
|
"node:GeometryNodeUVTangent",
|
|
"node:GeometryNodeUVUnwrap",
|
|
"node:GeometryNodeVertexOfCorner",
|
|
"node:GeometryNodeViewer"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1245-000",
|
|
"phase": "1245",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1244-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1245",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1245-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1245-001",
|
|
"phase": "1245",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1245-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1245-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1245-001:AUTO_GEOMETRY_NATIVE_NODE_READER:06a9b0a82fc0bc5b",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeViewportTransform",
|
|
"node:GeometryNodeVolumeCube",
|
|
"node:GeometryNodeVolumeToMesh",
|
|
"node:GeometryNodeWarning",
|
|
"node:GeometryNodeXPBDSolver"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1245-001:AUTO_GEOMETRY_NATIVE_NODE_READER:06a9b0a82fc0bc5b",
|
|
"selectedRecordIds": [
|
|
"node:GeometryNodeViewportTransform",
|
|
"node:GeometryNodeVolumeCube",
|
|
"node:GeometryNodeVolumeToMesh",
|
|
"node:GeometryNodeWarning",
|
|
"node:GeometryNodeXPBDSolver"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_viewport_transform.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_volume_cube.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_volume_to_mesh.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_warning.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_xpbd_solver.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-06a9b0a82fc0bc5b.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GeometryNodeViewportTransform type is read from Blender Main",
|
|
"GeometryNodeVolumeCube type is read from Blender Main",
|
|
"GeometryNodeVolumeToMesh type is read from Blender Main",
|
|
"GeometryNodeWarning type is read from Blender Main",
|
|
"GeometryNodeXPBDSolver 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1245-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1245-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-06a9b0a82fc0bc5b.blend WBV2_BATCH_TYPES='[\"GeometryNodeViewportTransform\",\"GeometryNodeVolumeCube\",\"GeometryNodeVolumeToMesh\",\"GeometryNodeWarning\",\"GeometryNodeXPBDSolver\"]' WBV2_BATCH_UNITS='[\"node:GeometryNodeViewportTransform\",\"node:GeometryNodeVolumeCube\",\"node:GeometryNodeVolumeToMesh\",\"node:GeometryNodeWarning\",\"node:GeometryNodeXPBDSolver\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1245-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:GeometryNodeViewportTransform",
|
|
"node:GeometryNodeVolumeCube",
|
|
"node:GeometryNodeVolumeToMesh",
|
|
"node:GeometryNodeWarning",
|
|
"node:GeometryNodeXPBDSolver"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1246-000",
|
|
"phase": "1246",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1245-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1246",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1246-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1246-001",
|
|
"phase": "1246",
|
|
"title": "verify auto-generated native shader node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1246-000"
|
|
],
|
|
"parityId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_shader_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1246-001.md",
|
|
"behavior": "Verify the AUTO_SHADER_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1246-001:AUTO_SHADER_NATIVE_NODE_READER:6084b65cc9b4dd13",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeAddShader",
|
|
"node:ShaderNodeAmbientOcclusion",
|
|
"node:ShaderNodeAttribute",
|
|
"node:ShaderNodeBackground",
|
|
"node:ShaderNodeBevel"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1246-001:AUTO_SHADER_NATIVE_NODE_READER:6084b65cc9b4dd13",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeAddShader",
|
|
"node:ShaderNodeAmbientOcclusion",
|
|
"node:ShaderNodeAttribute",
|
|
"node:ShaderNodeBackground",
|
|
"node:ShaderNodeBevel"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_add_shader.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_ambient_occlusion.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_attribute.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_background.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_bevel.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-6084b65cc9b4dd13.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ShaderNodeAddShader type is read from Blender Main",
|
|
"ShaderNodeAmbientOcclusion type is read from Blender Main",
|
|
"ShaderNodeAttribute type is read from Blender Main",
|
|
"ShaderNodeBackground type is read from Blender Main",
|
|
"ShaderNodeBevel 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1246-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1246-001/shader-main-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-shader-6084b65cc9b4dd13.blend WBV2_BATCH_TYPES='[\"ShaderNodeAddShader\",\"ShaderNodeAmbientOcclusion\",\"ShaderNodeAttribute\",\"ShaderNodeBackground\",\"ShaderNodeBevel\"]' WBV2_BATCH_UNITS='[\"node:ShaderNodeAddShader\",\"node:ShaderNodeAmbientOcclusion\",\"node:ShaderNodeAttribute\",\"node:ShaderNodeBackground\",\"node:ShaderNodeBevel\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 web/tests/e2e/shader-main-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1246-001/shader-main-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:ShaderNodeAddShader",
|
|
"node:ShaderNodeAmbientOcclusion",
|
|
"node:ShaderNodeAttribute",
|
|
"node:ShaderNodeBackground",
|
|
"node:ShaderNodeBevel"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1247-000",
|
|
"phase": "1247",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1246-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1247",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1247-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1247-001",
|
|
"phase": "1247",
|
|
"title": "verify auto-generated native shader node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1247-000"
|
|
],
|
|
"parityId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_shader_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1247-001.md",
|
|
"behavior": "Verify the AUTO_SHADER_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1247-001:AUTO_SHADER_NATIVE_NODE_READER:492bd603ac3e7b39",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeBlackbody",
|
|
"node:ShaderNodeBrightContrast",
|
|
"node:ShaderNodeBsdfAnisotropic",
|
|
"node:ShaderNodeBsdfDiffuse",
|
|
"node:ShaderNodeBsdfGlass"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1247-001:AUTO_SHADER_NATIVE_NODE_READER:492bd603ac3e7b39",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeBlackbody",
|
|
"node:ShaderNodeBrightContrast",
|
|
"node:ShaderNodeBsdfAnisotropic",
|
|
"node:ShaderNodeBsdfDiffuse",
|
|
"node:ShaderNodeBsdfGlass"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_blackbody.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_brightness.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_bsdf_glossy.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_bsdf_glass.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-492bd603ac3e7b39.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ShaderNodeBlackbody type is read from Blender Main",
|
|
"ShaderNodeBrightContrast type is read from Blender Main",
|
|
"ShaderNodeBsdfAnisotropic type is read from Blender Main",
|
|
"ShaderNodeBsdfDiffuse type is read from Blender Main",
|
|
"ShaderNodeBsdfGlass 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1247-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1247-001/shader-main-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-shader-492bd603ac3e7b39.blend WBV2_BATCH_TYPES='[\"ShaderNodeBlackbody\",\"ShaderNodeBrightContrast\",\"ShaderNodeBsdfAnisotropic\",\"ShaderNodeBsdfDiffuse\",\"ShaderNodeBsdfGlass\"]' WBV2_BATCH_UNITS='[\"node:ShaderNodeBlackbody\",\"node:ShaderNodeBrightContrast\",\"node:ShaderNodeBsdfAnisotropic\",\"node:ShaderNodeBsdfDiffuse\",\"node:ShaderNodeBsdfGlass\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/shader-main-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1247-001/shader-main-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:ShaderNodeBlackbody",
|
|
"node:ShaderNodeBrightContrast",
|
|
"node:ShaderNodeBsdfAnisotropic",
|
|
"node:ShaderNodeBsdfDiffuse",
|
|
"node:ShaderNodeBsdfGlass"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1248-000",
|
|
"phase": "1248",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1247-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1248",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1248-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1248-001",
|
|
"phase": "1248",
|
|
"title": "verify auto-generated native shader node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1248-000"
|
|
],
|
|
"parityId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_shader_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1248-001.md",
|
|
"behavior": "Verify the AUTO_SHADER_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1248-001:AUTO_SHADER_NATIVE_NODE_READER:5d3fdcd95f8dcb4a",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeBsdfHair",
|
|
"node:ShaderNodeBsdfHairPrincipled",
|
|
"node:ShaderNodeBsdfMetallic",
|
|
"node:ShaderNodeBsdfRayPortal",
|
|
"node:ShaderNodeBsdfRefraction"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1248-001:AUTO_SHADER_NATIVE_NODE_READER:5d3fdcd95f8dcb4a",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeBsdfHair",
|
|
"node:ShaderNodeBsdfHairPrincipled",
|
|
"node:ShaderNodeBsdfMetallic",
|
|
"node:ShaderNodeBsdfRayPortal",
|
|
"node:ShaderNodeBsdfRefraction"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_bsdf_hair.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_bsdf_hair_principled.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_bsdf_metallic.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_bsdf_ray_portal.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_bsdf_refraction.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-5d3fdcd95f8dcb4a.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ShaderNodeBsdfHair type is read from Blender Main",
|
|
"ShaderNodeBsdfHairPrincipled type is read from Blender Main",
|
|
"ShaderNodeBsdfMetallic type is read from Blender Main",
|
|
"ShaderNodeBsdfRayPortal type is read from Blender Main",
|
|
"ShaderNodeBsdfRefraction 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1248-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1248-001/shader-main-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-shader-5d3fdcd95f8dcb4a.blend WBV2_BATCH_TYPES='[\"ShaderNodeBsdfHair\",\"ShaderNodeBsdfHairPrincipled\",\"ShaderNodeBsdfMetallic\",\"ShaderNodeBsdfRayPortal\",\"ShaderNodeBsdfRefraction\"]' WBV2_BATCH_UNITS='[\"node:ShaderNodeBsdfHair\",\"node:ShaderNodeBsdfHairPrincipled\",\"node:ShaderNodeBsdfMetallic\",\"node:ShaderNodeBsdfRayPortal\",\"node:ShaderNodeBsdfRefraction\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/shader-main-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1248-001/shader-main-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:ShaderNodeBsdfHair",
|
|
"node:ShaderNodeBsdfHairPrincipled",
|
|
"node:ShaderNodeBsdfMetallic",
|
|
"node:ShaderNodeBsdfRayPortal",
|
|
"node:ShaderNodeBsdfRefraction"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1249-000",
|
|
"phase": "1249",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1248-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1249",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1249-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1249-001",
|
|
"phase": "1249",
|
|
"title": "verify auto-generated native shader node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1249-000"
|
|
],
|
|
"parityId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_shader_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1249-001.md",
|
|
"behavior": "Verify the AUTO_SHADER_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1249-001:AUTO_SHADER_NATIVE_NODE_READER:3dd8ce20c676372b",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeBsdfSheen",
|
|
"node:ShaderNodeBsdfToon",
|
|
"node:ShaderNodeBsdfTranslucent",
|
|
"node:ShaderNodeBsdfTransparent",
|
|
"node:ShaderNodeBump"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1249-001:AUTO_SHADER_NATIVE_NODE_READER:3dd8ce20c676372b",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeBsdfSheen",
|
|
"node:ShaderNodeBsdfToon",
|
|
"node:ShaderNodeBsdfTranslucent",
|
|
"node:ShaderNodeBsdfTransparent",
|
|
"node:ShaderNodeBump"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_bsdf_sheen.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_bsdf_toon.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_bsdf_translucent.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_bsdf_transparent.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_bump.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-3dd8ce20c676372b.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ShaderNodeBsdfSheen type is read from Blender Main",
|
|
"ShaderNodeBsdfToon type is read from Blender Main",
|
|
"ShaderNodeBsdfTranslucent type is read from Blender Main",
|
|
"ShaderNodeBsdfTransparent type is read from Blender Main",
|
|
"ShaderNodeBump 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1249-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1249-001/shader-main-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-shader-3dd8ce20c676372b.blend WBV2_BATCH_TYPES='[\"ShaderNodeBsdfSheen\",\"ShaderNodeBsdfToon\",\"ShaderNodeBsdfTranslucent\",\"ShaderNodeBsdfTransparent\",\"ShaderNodeBump\"]' WBV2_BATCH_UNITS='[\"node:ShaderNodeBsdfSheen\",\"node:ShaderNodeBsdfToon\",\"node:ShaderNodeBsdfTranslucent\",\"node:ShaderNodeBsdfTransparent\",\"node:ShaderNodeBump\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/shader-main-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1249-001/shader-main-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:ShaderNodeBsdfSheen",
|
|
"node:ShaderNodeBsdfToon",
|
|
"node:ShaderNodeBsdfTranslucent",
|
|
"node:ShaderNodeBsdfTransparent",
|
|
"node:ShaderNodeBump"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1250-000",
|
|
"phase": "1250",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1249-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1250",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1250-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1250-001",
|
|
"phase": "1250",
|
|
"title": "verify auto-generated native shader node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1250-000"
|
|
],
|
|
"parityId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_shader_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1250-001.md",
|
|
"behavior": "Verify the AUTO_SHADER_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1250-001:AUTO_SHADER_NATIVE_NODE_READER:4962cd49b587a2f9",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeCameraData",
|
|
"node:ShaderNodeClamp",
|
|
"node:ShaderNodeCombineColor",
|
|
"node:ShaderNodeCombineXYZ",
|
|
"node:ShaderNodeDisplacement"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1250-001:AUTO_SHADER_NATIVE_NODE_READER:4962cd49b587a2f9",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeCameraData",
|
|
"node:ShaderNodeClamp",
|
|
"node:ShaderNodeCombineColor",
|
|
"node:ShaderNodeCombineXYZ",
|
|
"node:ShaderNodeDisplacement"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_camera.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_clamp.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_sepcomb_color.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_sepcomb_xyz.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_displacement.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-4962cd49b587a2f9.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ShaderNodeCameraData type is read from Blender Main",
|
|
"ShaderNodeClamp type is read from Blender Main",
|
|
"ShaderNodeCombineColor type is read from Blender Main",
|
|
"ShaderNodeCombineXYZ type is read from Blender Main",
|
|
"ShaderNodeDisplacement 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1250-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1250-001/shader-main-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-shader-4962cd49b587a2f9.blend WBV2_BATCH_TYPES='[\"ShaderNodeCameraData\",\"ShaderNodeClamp\",\"ShaderNodeCombineColor\",\"ShaderNodeCombineXYZ\",\"ShaderNodeDisplacement\"]' WBV2_BATCH_UNITS='[\"node:ShaderNodeCameraData\",\"node:ShaderNodeClamp\",\"node:ShaderNodeCombineColor\",\"node:ShaderNodeCombineXYZ\",\"node:ShaderNodeDisplacement\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/shader-main-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1250-001/shader-main-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:ShaderNodeCameraData",
|
|
"node:ShaderNodeClamp",
|
|
"node:ShaderNodeCombineColor",
|
|
"node:ShaderNodeCombineXYZ",
|
|
"node:ShaderNodeDisplacement"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1251-000",
|
|
"phase": "1251",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1250-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1251",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1251-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1251-001",
|
|
"phase": "1251",
|
|
"title": "verify auto-generated native shader node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1251-000"
|
|
],
|
|
"parityId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_shader_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1251-001.md",
|
|
"behavior": "Verify the AUTO_SHADER_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1251-001:AUTO_SHADER_NATIVE_NODE_READER:2367477c6dfff68d",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeEeveeSpecular",
|
|
"node:ShaderNodeEmission",
|
|
"node:ShaderNodeFloatCurve",
|
|
"node:ShaderNodeFresnel",
|
|
"node:ShaderNodeGamma"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1251-001:AUTO_SHADER_NATIVE_NODE_READER:2367477c6dfff68d",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeEeveeSpecular",
|
|
"node:ShaderNodeEmission",
|
|
"node:ShaderNodeFloatCurve",
|
|
"node:ShaderNodeFresnel",
|
|
"node:ShaderNodeGamma"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_eevee_specular.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_emission.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_curves.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_fresnel.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_gamma.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-2367477c6dfff68d.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ShaderNodeEeveeSpecular type is read from Blender Main",
|
|
"ShaderNodeEmission type is read from Blender Main",
|
|
"ShaderNodeFloatCurve type is read from Blender Main",
|
|
"ShaderNodeFresnel type is read from Blender Main",
|
|
"ShaderNodeGamma 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1251-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1251-001/shader-main-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-shader-2367477c6dfff68d.blend WBV2_BATCH_TYPES='[\"ShaderNodeEeveeSpecular\",\"ShaderNodeEmission\",\"ShaderNodeFloatCurve\",\"ShaderNodeFresnel\",\"ShaderNodeGamma\"]' WBV2_BATCH_UNITS='[\"node:ShaderNodeEeveeSpecular\",\"node:ShaderNodeEmission\",\"node:ShaderNodeFloatCurve\",\"node:ShaderNodeFresnel\",\"node:ShaderNodeGamma\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/shader-main-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1251-001/shader-main-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:ShaderNodeEeveeSpecular",
|
|
"node:ShaderNodeEmission",
|
|
"node:ShaderNodeFloatCurve",
|
|
"node:ShaderNodeFresnel",
|
|
"node:ShaderNodeGamma"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1252-000",
|
|
"phase": "1252",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1251-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1252",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1252-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1252-001",
|
|
"phase": "1252",
|
|
"title": "verify auto-generated native shader node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1252-000"
|
|
],
|
|
"parityId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_shader_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1252-001.md",
|
|
"behavior": "Verify the AUTO_SHADER_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1252-001:AUTO_SHADER_NATIVE_NODE_READER:f8e029f92dbfd33d",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeHairInfo",
|
|
"node:ShaderNodeHoldout",
|
|
"node:ShaderNodeHueSaturation",
|
|
"node:ShaderNodeInvert",
|
|
"node:ShaderNodeLayerWeight"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1252-001:AUTO_SHADER_NATIVE_NODE_READER:f8e029f92dbfd33d",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeHairInfo",
|
|
"node:ShaderNodeHoldout",
|
|
"node:ShaderNodeHueSaturation",
|
|
"node:ShaderNodeInvert",
|
|
"node:ShaderNodeLayerWeight"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_hair_info.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_holdout.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_hueSatVal.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_invert.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_layer_weight.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-f8e029f92dbfd33d.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ShaderNodeHairInfo type is read from Blender Main",
|
|
"ShaderNodeHoldout type is read from Blender Main",
|
|
"ShaderNodeHueSaturation type is read from Blender Main",
|
|
"ShaderNodeInvert type is read from Blender Main",
|
|
"ShaderNodeLayerWeight 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1252-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1252-001/shader-main-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-shader-f8e029f92dbfd33d.blend WBV2_BATCH_TYPES='[\"ShaderNodeHairInfo\",\"ShaderNodeHoldout\",\"ShaderNodeHueSaturation\",\"ShaderNodeInvert\",\"ShaderNodeLayerWeight\"]' WBV2_BATCH_UNITS='[\"node:ShaderNodeHairInfo\",\"node:ShaderNodeHoldout\",\"node:ShaderNodeHueSaturation\",\"node:ShaderNodeInvert\",\"node:ShaderNodeLayerWeight\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/shader-main-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1252-001/shader-main-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:ShaderNodeHairInfo",
|
|
"node:ShaderNodeHoldout",
|
|
"node:ShaderNodeHueSaturation",
|
|
"node:ShaderNodeInvert",
|
|
"node:ShaderNodeLayerWeight"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1253-000",
|
|
"phase": "1253",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1252-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1253",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1253-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1253-001",
|
|
"phase": "1253",
|
|
"title": "verify auto-generated native shader node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1253-000"
|
|
],
|
|
"parityId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_shader_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1253-001.md",
|
|
"behavior": "Verify the AUTO_SHADER_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1253-001:AUTO_SHADER_NATIVE_NODE_READER:c56bc2ebdfa34be7",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeLightFalloff",
|
|
"node:ShaderNodeLightPath",
|
|
"node:ShaderNodeMapRange",
|
|
"node:ShaderNodeMapping",
|
|
"node:ShaderNodeMix"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1253-001:AUTO_SHADER_NATIVE_NODE_READER:c56bc2ebdfa34be7",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeLightFalloff",
|
|
"node:ShaderNodeLightPath",
|
|
"node:ShaderNodeMapRange",
|
|
"node:ShaderNodeMapping",
|
|
"node:ShaderNodeMix"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_light_falloff.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_light_path.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_map_range.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_mapping.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_mix.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-c56bc2ebdfa34be7.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ShaderNodeLightFalloff type is read from Blender Main",
|
|
"ShaderNodeLightPath type is read from Blender Main",
|
|
"ShaderNodeMapRange type is read from Blender Main",
|
|
"ShaderNodeMapping type is read from Blender Main",
|
|
"ShaderNodeMix 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1253-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1253-001/shader-main-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-shader-c56bc2ebdfa34be7.blend WBV2_BATCH_TYPES='[\"ShaderNodeLightFalloff\",\"ShaderNodeLightPath\",\"ShaderNodeMapRange\",\"ShaderNodeMapping\",\"ShaderNodeMix\"]' WBV2_BATCH_UNITS='[\"node:ShaderNodeLightFalloff\",\"node:ShaderNodeLightPath\",\"node:ShaderNodeMapRange\",\"node:ShaderNodeMapping\",\"node:ShaderNodeMix\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/shader-main-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1253-001/shader-main-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:ShaderNodeLightFalloff",
|
|
"node:ShaderNodeLightPath",
|
|
"node:ShaderNodeMapRange",
|
|
"node:ShaderNodeMapping",
|
|
"node:ShaderNodeMix"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1254-000",
|
|
"phase": "1254",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1253-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1254",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1254-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1254-001",
|
|
"phase": "1254",
|
|
"title": "verify auto-generated native shader node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1254-000"
|
|
],
|
|
"parityId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_shader_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1254-001.md",
|
|
"behavior": "Verify the AUTO_SHADER_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1254-001:AUTO_SHADER_NATIVE_NODE_READER:dbc531eb397b06df",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeMixRGB",
|
|
"node:ShaderNodeMixShader",
|
|
"node:ShaderNodeNewGeometry",
|
|
"node:ShaderNodeNormal",
|
|
"node:ShaderNodeObjectInfo"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1254-001:AUTO_SHADER_NATIVE_NODE_READER:dbc531eb397b06df",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeMixRGB",
|
|
"node:ShaderNodeMixShader",
|
|
"node:ShaderNodeNewGeometry",
|
|
"node:ShaderNodeNormal",
|
|
"node:ShaderNodeObjectInfo"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_mix_rgb.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_mix_shader.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_geometry.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_normal.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_object_info.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-dbc531eb397b06df.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ShaderNodeMixRGB type is read from Blender Main",
|
|
"ShaderNodeMixShader type is read from Blender Main",
|
|
"ShaderNodeNewGeometry type is read from Blender Main",
|
|
"ShaderNodeNormal type is read from Blender Main",
|
|
"ShaderNodeObjectInfo 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1254-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1254-001/shader-main-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-shader-dbc531eb397b06df.blend WBV2_BATCH_TYPES='[\"ShaderNodeMixRGB\",\"ShaderNodeMixShader\",\"ShaderNodeNewGeometry\",\"ShaderNodeNormal\",\"ShaderNodeObjectInfo\"]' WBV2_BATCH_UNITS='[\"node:ShaderNodeMixRGB\",\"node:ShaderNodeMixShader\",\"node:ShaderNodeNewGeometry\",\"node:ShaderNodeNormal\",\"node:ShaderNodeObjectInfo\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/shader-main-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1254-001/shader-main-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:ShaderNodeMixRGB",
|
|
"node:ShaderNodeMixShader",
|
|
"node:ShaderNodeNewGeometry",
|
|
"node:ShaderNodeNormal",
|
|
"node:ShaderNodeObjectInfo"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1255-000",
|
|
"phase": "1255",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1254-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1255",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1255-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1255-001",
|
|
"phase": "1255",
|
|
"title": "verify auto-generated native shader node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1255-000"
|
|
],
|
|
"parityId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_shader_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1255-001.md",
|
|
"behavior": "Verify the AUTO_SHADER_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1255-001:AUTO_SHADER_NATIVE_NODE_READER:dd18d1b1e2d07fd3",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeOutputAOV",
|
|
"node:ShaderNodeOutputLight",
|
|
"node:ShaderNodeOutputLineStyle",
|
|
"node:ShaderNodeOutputWorld",
|
|
"node:ShaderNodeParticleInfo"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1255-001:AUTO_SHADER_NATIVE_NODE_READER:dd18d1b1e2d07fd3",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeOutputAOV",
|
|
"node:ShaderNodeOutputLight",
|
|
"node:ShaderNodeOutputLineStyle",
|
|
"node:ShaderNodeOutputWorld",
|
|
"node:ShaderNodeParticleInfo"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_output_aov.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_output_light.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_output_linestyle.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_output_world.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_particle_info.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-dd18d1b1e2d07fd3.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ShaderNodeOutputAOV type is read from Blender Main",
|
|
"ShaderNodeOutputLight type is read from Blender Main",
|
|
"ShaderNodeOutputLineStyle type is read from Blender Main",
|
|
"ShaderNodeOutputWorld type is read from Blender Main",
|
|
"ShaderNodeParticleInfo 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1255-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1255-001/shader-main-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-shader-dd18d1b1e2d07fd3.blend WBV2_BATCH_TYPES='[\"ShaderNodeOutputAOV\",\"ShaderNodeOutputLight\",\"ShaderNodeOutputLineStyle\",\"ShaderNodeOutputWorld\",\"ShaderNodeParticleInfo\"]' WBV2_BATCH_UNITS='[\"node:ShaderNodeOutputAOV\",\"node:ShaderNodeOutputLight\",\"node:ShaderNodeOutputLineStyle\",\"node:ShaderNodeOutputWorld\",\"node:ShaderNodeParticleInfo\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/shader-main-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1255-001/shader-main-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:ShaderNodeOutputAOV",
|
|
"node:ShaderNodeOutputLight",
|
|
"node:ShaderNodeOutputLineStyle",
|
|
"node:ShaderNodeOutputWorld",
|
|
"node:ShaderNodeParticleInfo"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1256-000",
|
|
"phase": "1256",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1255-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1256",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1256-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1256-001",
|
|
"phase": "1256",
|
|
"title": "verify auto-generated native shader node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1256-000"
|
|
],
|
|
"parityId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_shader_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1256-001.md",
|
|
"behavior": "Verify the AUTO_SHADER_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1256-001:AUTO_SHADER_NATIVE_NODE_READER:d37c82dd11ef35c6",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodePointInfo",
|
|
"node:ShaderNodeRGBCurve",
|
|
"node:ShaderNodeRGBToBW",
|
|
"node:ShaderNodeRadialTiling",
|
|
"node:ShaderNodeRaycast"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1256-001:AUTO_SHADER_NATIVE_NODE_READER:d37c82dd11ef35c6",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodePointInfo",
|
|
"node:ShaderNodeRGBCurve",
|
|
"node:ShaderNodeRGBToBW",
|
|
"node:ShaderNodeRadialTiling",
|
|
"node:ShaderNodeRaycast"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_point_info.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_curves.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_rgb_to_bw.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_radial_tiling.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_raycast.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-d37c82dd11ef35c6.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ShaderNodePointInfo type is read from Blender Main",
|
|
"ShaderNodeRGBCurve type is read from Blender Main",
|
|
"ShaderNodeRGBToBW type is read from Blender Main",
|
|
"ShaderNodeRadialTiling type is read from Blender Main",
|
|
"ShaderNodeRaycast 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1256-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1256-001/shader-main-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-shader-d37c82dd11ef35c6.blend WBV2_BATCH_TYPES='[\"ShaderNodePointInfo\",\"ShaderNodeRGBCurve\",\"ShaderNodeRGBToBW\",\"ShaderNodeRadialTiling\",\"ShaderNodeRaycast\"]' WBV2_BATCH_UNITS='[\"node:ShaderNodePointInfo\",\"node:ShaderNodeRGBCurve\",\"node:ShaderNodeRGBToBW\",\"node:ShaderNodeRadialTiling\",\"node:ShaderNodeRaycast\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/shader-main-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1256-001/shader-main-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:ShaderNodePointInfo",
|
|
"node:ShaderNodeRGBCurve",
|
|
"node:ShaderNodeRGBToBW",
|
|
"node:ShaderNodeRadialTiling",
|
|
"node:ShaderNodeRaycast"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1257-000",
|
|
"phase": "1257",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1256-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1257",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1257-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1257-001",
|
|
"phase": "1257",
|
|
"title": "verify auto-generated native shader node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1257-000"
|
|
],
|
|
"parityId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_shader_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1257-001.md",
|
|
"behavior": "Verify the AUTO_SHADER_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1257-001:AUTO_SHADER_NATIVE_NODE_READER:faed565343c54fcc",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeScript",
|
|
"node:ShaderNodeSeparateColor",
|
|
"node:ShaderNodeSeparateXYZ",
|
|
"node:ShaderNodeShaderToRGB",
|
|
"node:ShaderNodeSqueeze"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1257-001:AUTO_SHADER_NATIVE_NODE_READER:faed565343c54fcc",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeScript",
|
|
"node:ShaderNodeSeparateColor",
|
|
"node:ShaderNodeSeparateXYZ",
|
|
"node:ShaderNodeShaderToRGB",
|
|
"node:ShaderNodeSqueeze"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_script.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_sepcomb_color.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_sepcomb_xyz.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_shader_to_rgb.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_squeeze.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-faed565343c54fcc.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ShaderNodeScript type is read from Blender Main",
|
|
"ShaderNodeSeparateColor type is read from Blender Main",
|
|
"ShaderNodeSeparateXYZ type is read from Blender Main",
|
|
"ShaderNodeShaderToRGB type is read from Blender Main",
|
|
"ShaderNodeSqueeze 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1257-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1257-001/shader-main-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-shader-faed565343c54fcc.blend WBV2_BATCH_TYPES='[\"ShaderNodeScript\",\"ShaderNodeSeparateColor\",\"ShaderNodeSeparateXYZ\",\"ShaderNodeShaderToRGB\",\"ShaderNodeSqueeze\"]' WBV2_BATCH_UNITS='[\"node:ShaderNodeScript\",\"node:ShaderNodeSeparateColor\",\"node:ShaderNodeSeparateXYZ\",\"node:ShaderNodeShaderToRGB\",\"node:ShaderNodeSqueeze\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/shader-main-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1257-001/shader-main-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:ShaderNodeScript",
|
|
"node:ShaderNodeSeparateColor",
|
|
"node:ShaderNodeSeparateXYZ",
|
|
"node:ShaderNodeShaderToRGB",
|
|
"node:ShaderNodeSqueeze"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1258-000",
|
|
"phase": "1258",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1257-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1258",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1258-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1258-001",
|
|
"phase": "1258",
|
|
"title": "verify auto-generated native shader node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1258-000"
|
|
],
|
|
"parityId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_shader_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1258-001.md",
|
|
"behavior": "Verify the AUTO_SHADER_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1258-001:AUTO_SHADER_NATIVE_NODE_READER:7a417f3a8bc48b94",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeSubsurfaceScattering",
|
|
"node:ShaderNodeTangent",
|
|
"node:ShaderNodeTexBrick",
|
|
"node:ShaderNodeTexChecker",
|
|
"node:ShaderNodeTexCoord"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1258-001:AUTO_SHADER_NATIVE_NODE_READER:7a417f3a8bc48b94",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeSubsurfaceScattering",
|
|
"node:ShaderNodeTangent",
|
|
"node:ShaderNodeTexBrick",
|
|
"node:ShaderNodeTexChecker",
|
|
"node:ShaderNodeTexCoord"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_subsurface_scattering.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tangent.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_brick.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_checker.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_coord.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-7a417f3a8bc48b94.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ShaderNodeSubsurfaceScattering type is read from Blender Main",
|
|
"ShaderNodeTangent type is read from Blender Main",
|
|
"ShaderNodeTexBrick type is read from Blender Main",
|
|
"ShaderNodeTexChecker type is read from Blender Main",
|
|
"ShaderNodeTexCoord 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1258-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1258-001/shader-main-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-shader-7a417f3a8bc48b94.blend WBV2_BATCH_TYPES='[\"ShaderNodeSubsurfaceScattering\",\"ShaderNodeTangent\",\"ShaderNodeTexBrick\",\"ShaderNodeTexChecker\",\"ShaderNodeTexCoord\"]' WBV2_BATCH_UNITS='[\"node:ShaderNodeSubsurfaceScattering\",\"node:ShaderNodeTangent\",\"node:ShaderNodeTexBrick\",\"node:ShaderNodeTexChecker\",\"node:ShaderNodeTexCoord\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/shader-main-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1258-001/shader-main-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:ShaderNodeSubsurfaceScattering",
|
|
"node:ShaderNodeTangent",
|
|
"node:ShaderNodeTexBrick",
|
|
"node:ShaderNodeTexChecker",
|
|
"node:ShaderNodeTexCoord"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1259-000",
|
|
"phase": "1259",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1258-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1259",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1259-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1259-001",
|
|
"phase": "1259",
|
|
"title": "verify auto-generated native shader node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1259-000"
|
|
],
|
|
"parityId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_shader_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1259-001.md",
|
|
"behavior": "Verify the AUTO_SHADER_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1259-001:AUTO_SHADER_NATIVE_NODE_READER:12916e971f5275c9",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeTexEnvironment",
|
|
"node:ShaderNodeTexGabor",
|
|
"node:ShaderNodeTexGradient",
|
|
"node:ShaderNodeTexIES",
|
|
"node:ShaderNodeTexMagic"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1259-001:AUTO_SHADER_NATIVE_NODE_READER:12916e971f5275c9",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeTexEnvironment",
|
|
"node:ShaderNodeTexGabor",
|
|
"node:ShaderNodeTexGradient",
|
|
"node:ShaderNodeTexIES",
|
|
"node:ShaderNodeTexMagic"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_environment.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_gabor.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_gradient.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_ies_light.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_magic.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-12916e971f5275c9.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ShaderNodeTexEnvironment type is read from Blender Main",
|
|
"ShaderNodeTexGabor type is read from Blender Main",
|
|
"ShaderNodeTexGradient type is read from Blender Main",
|
|
"ShaderNodeTexIES type is read from Blender Main",
|
|
"ShaderNodeTexMagic type is read from Blender Main",
|
|
"shared RNA metadata is preserved",
|
|
"save/reopen preserves the batch metadata"
|
|
],
|
|
"negative": [
|
|
"malformed blend is rejected without Main mutation",
|
|
"unsupported batch data fails closed",
|
|
"non-finite metadata is not synthesized"
|
|
],
|
|
"recovery": [
|
|
"save/reopen",
|
|
"worker termination",
|
|
"deterministic second read"
|
|
],
|
|
"commands": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1259-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1259-001/shader-main-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-shader-12916e971f5275c9.blend WBV2_BATCH_TYPES='[\"ShaderNodeTexEnvironment\",\"ShaderNodeTexGabor\",\"ShaderNodeTexGradient\",\"ShaderNodeTexIES\",\"ShaderNodeTexMagic\"]' WBV2_BATCH_UNITS='[\"node:ShaderNodeTexEnvironment\",\"node:ShaderNodeTexGabor\",\"node:ShaderNodeTexGradient\",\"node:ShaderNodeTexIES\",\"node:ShaderNodeTexMagic\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/shader-main-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1259-001/shader-main-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:ShaderNodeTexEnvironment",
|
|
"node:ShaderNodeTexGabor",
|
|
"node:ShaderNodeTexGradient",
|
|
"node:ShaderNodeTexIES",
|
|
"node:ShaderNodeTexMagic"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1260-000",
|
|
"phase": "1260",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1259-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1260",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1260-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1260-001",
|
|
"phase": "1260",
|
|
"title": "verify auto-generated native shader node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1260-000"
|
|
],
|
|
"parityId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_shader_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1260-001.md",
|
|
"behavior": "Verify the AUTO_SHADER_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1260-001:AUTO_SHADER_NATIVE_NODE_READER:f4926931c181f625",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeTexNoise",
|
|
"node:ShaderNodeTexSky",
|
|
"node:ShaderNodeTexVoronoi",
|
|
"node:ShaderNodeTexWave",
|
|
"node:ShaderNodeTexWhiteNoise"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1260-001:AUTO_SHADER_NATIVE_NODE_READER:f4926931c181f625",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeTexNoise",
|
|
"node:ShaderNodeTexSky",
|
|
"node:ShaderNodeTexVoronoi",
|
|
"node:ShaderNodeTexWave",
|
|
"node:ShaderNodeTexWhiteNoise"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_noise.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_sky.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_voronoi.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_wave.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_tex_white_noise.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-f4926931c181f625.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ShaderNodeTexNoise type is read from Blender Main",
|
|
"ShaderNodeTexSky type is read from Blender Main",
|
|
"ShaderNodeTexVoronoi type is read from Blender Main",
|
|
"ShaderNodeTexWave type is read from Blender Main",
|
|
"ShaderNodeTexWhiteNoise 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1260-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1260-001/shader-main-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-shader-f4926931c181f625.blend WBV2_BATCH_TYPES='[\"ShaderNodeTexNoise\",\"ShaderNodeTexSky\",\"ShaderNodeTexVoronoi\",\"ShaderNodeTexWave\",\"ShaderNodeTexWhiteNoise\"]' WBV2_BATCH_UNITS='[\"node:ShaderNodeTexNoise\",\"node:ShaderNodeTexSky\",\"node:ShaderNodeTexVoronoi\",\"node:ShaderNodeTexWave\",\"node:ShaderNodeTexWhiteNoise\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/shader-main-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1260-001/shader-main-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:ShaderNodeTexNoise",
|
|
"node:ShaderNodeTexSky",
|
|
"node:ShaderNodeTexVoronoi",
|
|
"node:ShaderNodeTexWave",
|
|
"node:ShaderNodeTexWhiteNoise"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1261-000",
|
|
"phase": "1261",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1260-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1261",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1261-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1261-001",
|
|
"phase": "1261",
|
|
"title": "verify auto-generated native shader node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1261-000"
|
|
],
|
|
"parityId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_shader_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1261-001.md",
|
|
"behavior": "Verify the AUTO_SHADER_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1261-001:AUTO_SHADER_NATIVE_NODE_READER:6d9e771d681131cb",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeUVAlongStroke",
|
|
"node:ShaderNodeUVMap",
|
|
"node:ShaderNodeValToRGB",
|
|
"node:ShaderNodeVectorCurve",
|
|
"node:ShaderNodeVectorDisplacement"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1261-001:AUTO_SHADER_NATIVE_NODE_READER:6d9e771d681131cb",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeUVAlongStroke",
|
|
"node:ShaderNodeUVMap",
|
|
"node:ShaderNodeValToRGB",
|
|
"node:ShaderNodeVectorCurve",
|
|
"node:ShaderNodeVectorDisplacement"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_uv_along_stroke.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_uvmap.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_color_ramp.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_curves.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_vector_displacement.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-6d9e771d681131cb.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ShaderNodeUVAlongStroke type is read from Blender Main",
|
|
"ShaderNodeUVMap type is read from Blender Main",
|
|
"ShaderNodeValToRGB type is read from Blender Main",
|
|
"ShaderNodeVectorCurve type is read from Blender Main",
|
|
"ShaderNodeVectorDisplacement 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1261-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1261-001/shader-main-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-shader-6d9e771d681131cb.blend WBV2_BATCH_TYPES='[\"ShaderNodeUVAlongStroke\",\"ShaderNodeUVMap\",\"ShaderNodeValToRGB\",\"ShaderNodeVectorCurve\",\"ShaderNodeVectorDisplacement\"]' WBV2_BATCH_UNITS='[\"node:ShaderNodeUVAlongStroke\",\"node:ShaderNodeUVMap\",\"node:ShaderNodeValToRGB\",\"node:ShaderNodeVectorCurve\",\"node:ShaderNodeVectorDisplacement\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/shader-main-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1261-001/shader-main-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:ShaderNodeUVAlongStroke",
|
|
"node:ShaderNodeUVMap",
|
|
"node:ShaderNodeValToRGB",
|
|
"node:ShaderNodeVectorCurve",
|
|
"node:ShaderNodeVectorDisplacement"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1262-000",
|
|
"phase": "1262",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1261-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1262",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1262-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1262-001",
|
|
"phase": "1262",
|
|
"title": "verify auto-generated native shader node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1262-000"
|
|
],
|
|
"parityId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_shader_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1262-001.md",
|
|
"behavior": "Verify the AUTO_SHADER_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1262-001:AUTO_SHADER_NATIVE_NODE_READER:1bb60b193dc412e6",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeVectorMath",
|
|
"node:ShaderNodeVectorRotate",
|
|
"node:ShaderNodeVectorTransform",
|
|
"node:ShaderNodeVertexColor",
|
|
"node:ShaderNodeVolumeAbsorption"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1262-001:AUTO_SHADER_NATIVE_NODE_READER:1bb60b193dc412e6",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeVectorMath",
|
|
"node:ShaderNodeVectorRotate",
|
|
"node:ShaderNodeVectorTransform",
|
|
"node:ShaderNodeVertexColor",
|
|
"node:ShaderNodeVolumeAbsorption"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_vector_math.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_vector_rotate.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_vector_transform.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_vertex_color.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_volume_absorption.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-1bb60b193dc412e6.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ShaderNodeVectorMath type is read from Blender Main",
|
|
"ShaderNodeVectorRotate type is read from Blender Main",
|
|
"ShaderNodeVectorTransform type is read from Blender Main",
|
|
"ShaderNodeVertexColor type is read from Blender Main",
|
|
"ShaderNodeVolumeAbsorption 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1262-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1262-001/shader-main-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-shader-1bb60b193dc412e6.blend WBV2_BATCH_TYPES='[\"ShaderNodeVectorMath\",\"ShaderNodeVectorRotate\",\"ShaderNodeVectorTransform\",\"ShaderNodeVertexColor\",\"ShaderNodeVolumeAbsorption\"]' WBV2_BATCH_UNITS='[\"node:ShaderNodeVectorMath\",\"node:ShaderNodeVectorRotate\",\"node:ShaderNodeVectorTransform\",\"node:ShaderNodeVertexColor\",\"node:ShaderNodeVolumeAbsorption\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/shader-main-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1262-001/shader-main-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:ShaderNodeVectorMath",
|
|
"node:ShaderNodeVectorRotate",
|
|
"node:ShaderNodeVectorTransform",
|
|
"node:ShaderNodeVertexColor",
|
|
"node:ShaderNodeVolumeAbsorption"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1263-000",
|
|
"phase": "1263",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1262-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1263",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1263-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1263-001",
|
|
"phase": "1263",
|
|
"title": "verify auto-generated native shader node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1263-000"
|
|
],
|
|
"parityId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_shader_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1263-001.md",
|
|
"behavior": "Verify the AUTO_SHADER_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1263-001:AUTO_SHADER_NATIVE_NODE_READER:1b947fc2cfa44cfc",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeVolumeCoefficients",
|
|
"node:ShaderNodeVolumeInfo",
|
|
"node:ShaderNodeVolumePrincipled",
|
|
"node:ShaderNodeVolumeScatter",
|
|
"node:ShaderNodeWavelength"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1263-001:AUTO_SHADER_NATIVE_NODE_READER:1b947fc2cfa44cfc",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeVolumeCoefficients",
|
|
"node:ShaderNodeVolumeInfo",
|
|
"node:ShaderNodeVolumePrincipled",
|
|
"node:ShaderNodeVolumeScatter",
|
|
"node:ShaderNodeWavelength"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_volume_coefficients.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_volume_info.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_volume_principled.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_volume_scatter.cc",
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_wavelength.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-1b947fc2cfa44cfc.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ShaderNodeVolumeCoefficients type is read from Blender Main",
|
|
"ShaderNodeVolumeInfo type is read from Blender Main",
|
|
"ShaderNodeVolumePrincipled type is read from Blender Main",
|
|
"ShaderNodeVolumeScatter type is read from Blender Main",
|
|
"ShaderNodeWavelength 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1263-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1263-001/shader-main-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-shader-1b947fc2cfa44cfc.blend WBV2_BATCH_TYPES='[\"ShaderNodeVolumeCoefficients\",\"ShaderNodeVolumeInfo\",\"ShaderNodeVolumePrincipled\",\"ShaderNodeVolumeScatter\",\"ShaderNodeWavelength\"]' WBV2_BATCH_UNITS='[\"node:ShaderNodeVolumeCoefficients\",\"node:ShaderNodeVolumeInfo\",\"node:ShaderNodeVolumePrincipled\",\"node:ShaderNodeVolumeScatter\",\"node:ShaderNodeWavelength\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/shader-main-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1263-001/shader-main-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:ShaderNodeVolumeCoefficients",
|
|
"node:ShaderNodeVolumeInfo",
|
|
"node:ShaderNodeVolumePrincipled",
|
|
"node:ShaderNodeVolumeScatter",
|
|
"node:ShaderNodeWavelength"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1264-000",
|
|
"phase": "1264",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1263-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1264",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1264-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1264-001",
|
|
"phase": "1264",
|
|
"title": "verify auto-generated native shader node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1264-000"
|
|
],
|
|
"parityId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_shader_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1264-001.md",
|
|
"behavior": "Verify the AUTO_SHADER_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1264-001:AUTO_SHADER_NATIVE_NODE_READER:bc4cce1c19a5ca22",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeWireframe"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_SHADER_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1264-001:AUTO_SHADER_NATIVE_NODE_READER:bc4cce1c19a5ca22",
|
|
"selectedRecordIds": [
|
|
"node:ShaderNodeWireframe"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_SHADER_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/shader/nodes/node_shader_wireframe.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/shader-main-reader-production.spec.ts",
|
|
"tests/files/web/generated/wbv2-shader-bc4cce1c19a5ca22.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ShaderNodeWireframe 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": [
|
|
"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",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1264-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1264-001/shader-main-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-shader-bc4cce1c19a5ca22.blend WBV2_BATCH_TYPES='[\"ShaderNodeWireframe\"]' WBV2_BATCH_UNITS='[\"node:ShaderNodeWireframe\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/shader-main-reader-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1264-001/shader-main-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:ShaderNodeWireframe"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1265-000",
|
|
"phase": "1265",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1264-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1265",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1265-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1265-001",
|
|
"phase": "1265",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1265-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1265-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1265-001:AUTO_GEOMETRY_NATIVE_NODE_READER:551d56ed177090bf",
|
|
"selectedRecordIds": [
|
|
"node:NodeClosureInput",
|
|
"node:NodeClosureOutput",
|
|
"node:NodeCombineBundle",
|
|
"node:NodeEnableOutput",
|
|
"node:NodeEvaluateClosure"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1265-001:AUTO_GEOMETRY_NATIVE_NODE_READER:551d56ed177090bf",
|
|
"selectedRecordIds": [
|
|
"node:NodeClosureInput",
|
|
"node:NodeClosureOutput",
|
|
"node:NodeCombineBundle",
|
|
"node:NodeEnableOutput",
|
|
"node:NodeEvaluateClosure"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_closure.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_closure.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_combine_bundle.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_enable_output.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_evaluate_closure.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-551d56ed177090bf.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"NodeClosureInput type is read from Blender Main",
|
|
"NodeClosureOutput type is read from Blender Main",
|
|
"NodeCombineBundle type is read from Blender Main",
|
|
"NodeEnableOutput type is read from Blender Main",
|
|
"NodeEvaluateClosure 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1265-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1265-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-551d56ed177090bf.blend WBV2_BATCH_TYPES='[\"NodeClosureInput\",\"NodeClosureOutput\",\"NodeCombineBundle\",\"NodeEnableOutput\",\"NodeEvaluateClosure\"]' WBV2_BATCH_UNITS='[\"node:NodeClosureInput\",\"node:NodeClosureOutput\",\"node:NodeCombineBundle\",\"node:NodeEnableOutput\",\"node:NodeEvaluateClosure\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1265-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:NodeClosureInput",
|
|
"node:NodeClosureOutput",
|
|
"node:NodeCombineBundle",
|
|
"node:NodeEnableOutput",
|
|
"node:NodeEvaluateClosure"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1266-000",
|
|
"phase": "1266",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1265-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1266",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1266-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1266-001",
|
|
"phase": "1266",
|
|
"title": "verify auto-generated native geometry node reader batch",
|
|
"kind": "module",
|
|
"owner": "NODES",
|
|
"dependsOn": [
|
|
"WBV2-P1266-000"
|
|
],
|
|
"parityId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-auto_geometry_native_node_reader",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1266-001.md",
|
|
"behavior": "Verify the AUTO_GEOMETRY_NATIVE_NODE_READER batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1266-001:AUTO_GEOMETRY_NATIVE_NODE_READER:dd34d5c436c86d44",
|
|
"selectedRecordIds": [
|
|
"node:NodeGetBundleItem",
|
|
"node:NodeGetNestedBundlePaths",
|
|
"node:NodeJoinBundle",
|
|
"node:NodeSeparateBundle",
|
|
"node:NodeStoreBundleItem"
|
|
],
|
|
"module": {
|
|
"moduleId": "AUTO_GEOMETRY_NATIVE_NODE_READER",
|
|
"batchId": "WBV2-P1266-001:AUTO_GEOMETRY_NATIVE_NODE_READER:dd34d5c436c86d44",
|
|
"selectedRecordIds": [
|
|
"node:NodeGetBundleItem",
|
|
"node:NodeGetNestedBundlePaths",
|
|
"node:NodeJoinBundle",
|
|
"node:NodeSeparateBundle",
|
|
"node:NodeStoreBundleItem"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-READER",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-RECOVERY",
|
|
"CAP-AUTO_GEOMETRY_NATIVE_NODE_READER-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_get_bundle_item.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_get_nested_bundle_paths.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_join_bundle.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_separate_bundle.cc",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_store_bundle_item.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/geometry-node-main-reader.spec.ts",
|
|
"tests/files/web/generated/wbv2-geometry-dd34d5c436c86d44.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"NodeGetBundleItem type is read from Blender Main",
|
|
"NodeGetNestedBundlePaths type is read from Blender Main",
|
|
"NodeJoinBundle type is read from Blender Main",
|
|
"NodeSeparateBundle type is read from Blender Main",
|
|
"NodeStoreBundleItem 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1266-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1266-001/geometry-node-reader-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/wbv2-geometry-dd34d5c436c86d44.blend WBV2_BATCH_TYPES='[\"NodeGetBundleItem\",\"NodeGetNestedBundlePaths\",\"NodeJoinBundle\",\"NodeSeparateBundle\",\"NodeStoreBundleItem\"]' WBV2_BATCH_UNITS='[\"node:NodeGetBundleItem\",\"node:NodeGetNestedBundlePaths\",\"node:NodeJoinBundle\",\"node:NodeSeparateBundle\",\"node:NodeStoreBundleItem\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/geometry-node-main-reader.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1266-001/geometry-node-reader-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"node:NodeGetBundleItem",
|
|
"node:NodeGetNestedBundlePaths",
|
|
"node:NodeJoinBundle",
|
|
"node:NodeSeparateBundle",
|
|
"node:NodeStoreBundleItem"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1267-000",
|
|
"phase": "1267",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1266-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1267",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1267-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1267-001",
|
|
"phase": "1267",
|
|
"title": "verify animation frame operator through native Main",
|
|
"kind": "module",
|
|
"owner": "ANIMATION",
|
|
"dependsOn": [
|
|
"WBV2-P1267-000"
|
|
],
|
|
"parityId": "ANIMATION_FRAME_OPERATOR_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-animation_frame_operator_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1267-001.md",
|
|
"behavior": "Verify the ANIMATION_FRAME_OPERATOR_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1267-001:ANIMATION_FRAME_OPERATOR_BATCH:de7916b0744d74c6",
|
|
"selectedRecordIds": [
|
|
"operator:ANIM_OT_change_frame"
|
|
],
|
|
"module": {
|
|
"moduleId": "ANIMATION_FRAME_OPERATOR_BATCH",
|
|
"batchId": "WBV2-P1267-001:ANIMATION_FRAME_OPERATOR_BATCH:de7916b0744d74c6",
|
|
"selectedRecordIds": [
|
|
"operator:ANIM_OT_change_frame"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-ANIMATION_FRAME_OPERATOR_BATCH-READER",
|
|
"CAP-ANIMATION_FRAME_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-ANIMATION_FRAME_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/animation/anim_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-fcurve-sample-production.spec.ts",
|
|
"tests/files/web/generated/M16-GAP-00161-action-fcurve-samples.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ANIM_OT_change_frame 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1267-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1267-001/fcurve-sample-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/M16-GAP-00161-action-fcurve-samples.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:ANIM_OT_change_frame\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-fcurve-sample-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1267-001/fcurve-sample-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:ANIM_OT_change_frame"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1268-000",
|
|
"phase": "1268",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1267-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1268",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1268-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1268-001",
|
|
"phase": "1268",
|
|
"title": "verify object duplicate operator through native Main",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1268-000"
|
|
],
|
|
"parityId": "OBJECT_DUPLICATE_OPERATOR_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_duplicate_operator_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1268-001.md",
|
|
"behavior": "Verify the OBJECT_DUPLICATE_OPERATOR_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1268-001:OBJECT_DUPLICATE_OPERATOR_BATCH:7d2be765d4b45aef",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_duplicate"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DUPLICATE_OPERATOR_BATCH",
|
|
"batchId": "WBV2-P1268-001:OBJECT_DUPLICATE_OPERATOR_BATCH:7d2be765d4b45aef",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_duplicate"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_OPERATOR_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"OBJECT_OT_duplicate 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1268-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1268-001/object-duplicate-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:OBJECT_OT_duplicate\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-duplicate-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1268-001/object-duplicate-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:OBJECT_OT_duplicate"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1269-000",
|
|
"phase": "1269",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1268-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1269",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1269-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1269-001",
|
|
"phase": "1269",
|
|
"title": "verify object delete operator through native Main",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1269-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_OPERATOR_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_operator_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1269-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_OPERATOR_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1269-001:OBJECT_DELETE_OPERATOR_BATCH:07b557a0d42ec2f1",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_OPERATOR_BATCH",
|
|
"batchId": "WBV2-P1269-001:OBJECT_DELETE_OPERATOR_BATCH:07b557a0d42ec2f1",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_OPERATOR_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"OBJECT_OT_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1269-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1269-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:OBJECT_OT_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1269-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:OBJECT_OT_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1270-000",
|
|
"phase": "1270",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1269-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1270",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1270-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1270-001",
|
|
"phase": "1270",
|
|
"title": "verify object visibility operator through native Main",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1270-000"
|
|
],
|
|
"parityId": "OBJECT_VISIBILITY_OPERATOR_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_visibility_operator_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1270-001.md",
|
|
"behavior": "Verify the OBJECT_VISIBILITY_OPERATOR_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1270-001:OBJECT_VISIBILITY_OPERATOR_BATCH:4256b7cd408959f9",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_hide_view_set"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_VISIBILITY_OPERATOR_BATCH",
|
|
"batchId": "WBV2-P1270-001:OBJECT_VISIBILITY_OPERATOR_BATCH:4256b7cd408959f9",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_hide_view_set"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_VISIBILITY_OPERATOR_BATCH-READER",
|
|
"CAP-OBJECT_VISIBILITY_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-OBJECT_VISIBILITY_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-visibility-batch-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-002-OBJECT.TRANSFORM_HIERARCHY.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"OBJECT_OT_hide_view_set 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1270-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1270-001/object-visibility-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-002-OBJECT.TRANSFORM_HIERARCHY.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:OBJECT_OT_hide_view_set\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-visibility-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1270-001/object-visibility-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:OBJECT_OT_hide_view_set"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1271-000",
|
|
"phase": "1271",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1270-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1271",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1271-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1271-001",
|
|
"phase": "1271",
|
|
"title": "verify collection create operator through native Main",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1271-000"
|
|
],
|
|
"parityId": "OBJECT_COLLECTION_CREATE_OPERATOR_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_collection_create_operator_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1271-001.md",
|
|
"behavior": "Verify the OBJECT_COLLECTION_CREATE_OPERATOR_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1271-001:OBJECT_COLLECTION_CREATE_OPERATOR_BATCH:30c00e81f46ca5c3",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_collection_add"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_COLLECTION_CREATE_OPERATOR_BATCH",
|
|
"batchId": "WBV2-P1271-001:OBJECT_COLLECTION_CREATE_OPERATOR_BATCH:30c00e81f46ca5c3",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_collection_add"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_COLLECTION_CREATE_OPERATOR_BATCH-READER",
|
|
"CAP-OBJECT_COLLECTION_CREATE_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-OBJECT_COLLECTION_CREATE_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-collection-create-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"OBJECT_OT_collection_add 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1271-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1271-001/collection-create-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:OBJECT_OT_collection_add\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-collection-create-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1271-001/collection-create-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:OBJECT_OT_collection_add"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1272-000",
|
|
"phase": "1272",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1271-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1272",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1272-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1272-001",
|
|
"phase": "1272",
|
|
"title": "verify object parent operator through native Main",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1272-000"
|
|
],
|
|
"parityId": "OBJECT_PARENT_OPERATOR_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_parent_operator_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1272-001.md",
|
|
"behavior": "Verify the OBJECT_PARENT_OPERATOR_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1272-001:OBJECT_PARENT_OPERATOR_BATCH:362256be314bcbe6",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_parent_set"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_PARENT_OPERATOR_BATCH",
|
|
"batchId": "WBV2-P1272-001:OBJECT_PARENT_OPERATOR_BATCH:362256be314bcbe6",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_parent_set"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_PARENT_OPERATOR_BATCH-READER",
|
|
"CAP-OBJECT_PARENT_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-OBJECT_PARENT_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-parent-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"OBJECT_OT_parent_set 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1272-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1272-001/object-parent-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:OBJECT_OT_parent_set\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-parent-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1272-001/object-parent-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:OBJECT_OT_parent_set"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1273-000",
|
|
"phase": "1273",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1272-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1273",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1273-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1273-001",
|
|
"phase": "1273",
|
|
"title": "verify primitive cube operator through native Main",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1273-000"
|
|
],
|
|
"parityId": "MESH_PRIMITIVE_CUBE_OPERATOR_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_primitive_cube_operator_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1273-001.md",
|
|
"behavior": "Verify the MESH_PRIMITIVE_CUBE_OPERATOR_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1273-001:MESH_PRIMITIVE_CUBE_OPERATOR_BATCH:451cdcaa70551f8f",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_primitive_cube_add"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_PRIMITIVE_CUBE_OPERATOR_BATCH",
|
|
"batchId": "WBV2-P1273-001:MESH_PRIMITIVE_CUBE_OPERATOR_BATCH:451cdcaa70551f8f",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_primitive_cube_add"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_PRIMITIVE_CUBE_OPERATOR_BATCH-READER",
|
|
"CAP-MESH_PRIMITIVE_CUBE_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-MESH_PRIMITIVE_CUBE_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-primitive-cube-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_primitive_cube_add 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1273-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1273-001/primitive-cube-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:MESH_OT_primitive_cube_add\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-primitive-cube-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1273-001/primitive-cube-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:MESH_OT_primitive_cube_add"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1274-000",
|
|
"phase": "1274",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1273-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1274",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1274-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1274-001",
|
|
"phase": "1274",
|
|
"title": "verify object move collection operator through native Main",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1274-000"
|
|
],
|
|
"parityId": "OBJECT_MOVE_COLLECTION_OPERATOR_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_move_collection_operator_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1274-001.md",
|
|
"behavior": "Verify the OBJECT_MOVE_COLLECTION_OPERATOR_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1274-001:OBJECT_MOVE_COLLECTION_OPERATOR_BATCH:c60f51c2f088361e",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_move_to_collection"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_MOVE_COLLECTION_OPERATOR_BATCH",
|
|
"batchId": "WBV2-P1274-001:OBJECT_MOVE_COLLECTION_OPERATOR_BATCH:c60f51c2f088361e",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_move_to_collection"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_MOVE_COLLECTION_OPERATOR_BATCH-READER",
|
|
"CAP-OBJECT_MOVE_COLLECTION_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-OBJECT_MOVE_COLLECTION_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-move-batch-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P24-001-OBJECT_OPERATIONS.MOVE_COLLECTION.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"OBJECT_OT_move_to_collection 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1274-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1274-001/object-move-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P24-001-OBJECT_OPERATIONS.MOVE_COLLECTION.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:OBJECT_OT_move_to_collection\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-move-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1274-001/object-move-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:OBJECT_OT_move_to_collection"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1275-000",
|
|
"phase": "1275",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1274-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1275",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1275-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1275-001",
|
|
"phase": "1275",
|
|
"title": "verify object visibility clear operator through native Main",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1275-000"
|
|
],
|
|
"parityId": "OBJECT_VISIBILITY_CLEAR_OPERATOR_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_visibility_clear_operator_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1275-001.md",
|
|
"behavior": "Verify the OBJECT_VISIBILITY_CLEAR_OPERATOR_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1275-001:OBJECT_VISIBILITY_CLEAR_OPERATOR_BATCH:e4871b703871cd02",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_hide_view_clear"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_VISIBILITY_CLEAR_OPERATOR_BATCH",
|
|
"batchId": "WBV2-P1275-001:OBJECT_VISIBILITY_CLEAR_OPERATOR_BATCH:e4871b703871cd02",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_hide_view_clear"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_VISIBILITY_CLEAR_OPERATOR_BATCH-READER",
|
|
"CAP-OBJECT_VISIBILITY_CLEAR_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-OBJECT_VISIBILITY_CLEAR_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-visibility-clear-batch-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-002-OBJECT.TRANSFORM_HIERARCHY.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"OBJECT_OT_hide_view_clear 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1275-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1275-001/object-visibility-clear-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-002-OBJECT.TRANSFORM_HIERARCHY.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:OBJECT_OT_hide_view_clear\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-visibility-clear-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1275-001/object-visibility-clear-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:OBJECT_OT_hide_view_clear"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1276-000",
|
|
"phase": "1276",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1275-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1276",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1276-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1276-001",
|
|
"phase": "1276",
|
|
"title": "verify object transform apply operator through native Main",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1276-000"
|
|
],
|
|
"parityId": "OBJECT_TRANSFORM_APPLY_OPERATOR_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_transform_apply_operator_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1276-001.md",
|
|
"behavior": "Verify the OBJECT_TRANSFORM_APPLY_OPERATOR_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1276-001:OBJECT_TRANSFORM_APPLY_OPERATOR_BATCH:755c29f7c83e7e61",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_transform_apply"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_TRANSFORM_APPLY_OPERATOR_BATCH",
|
|
"batchId": "WBV2-P1276-001:OBJECT_TRANSFORM_APPLY_OPERATOR_BATCH:755c29f7c83e7e61",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_transform_apply"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_TRANSFORM_APPLY_OPERATOR_BATCH-READER",
|
|
"CAP-OBJECT_TRANSFORM_APPLY_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-OBJECT_TRANSFORM_APPLY_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-transform-apply-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"OBJECT_OT_transform_apply 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1276-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1276-001/object-transform-apply-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:OBJECT_OT_transform_apply\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-transform-apply-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1276-001/object-transform-apply-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:OBJECT_OT_transform_apply"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1277-000",
|
|
"phase": "1277",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1276-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1277",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1277-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1277-001",
|
|
"phase": "1277",
|
|
"title": "verify mesh bevel operator through native Main",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1277-000"
|
|
],
|
|
"parityId": "MESH_BEVEL_OPERATOR_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_bevel_operator_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1277-001.md",
|
|
"behavior": "Verify the MESH_BEVEL_OPERATOR_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1277-001:MESH_BEVEL_OPERATOR_BATCH:ff54da8bdac6a382",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_bevel"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_BEVEL_OPERATOR_BATCH",
|
|
"batchId": "WBV2-P1277-001:MESH_BEVEL_OPERATOR_BATCH:ff54da8bdac6a382",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_bevel"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_BEVEL_OPERATOR_BATCH-READER",
|
|
"CAP-MESH_BEVEL_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-MESH_BEVEL_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_bevel 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1277-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1277-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=BEVEL WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:MESH_OT_bevel\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1277-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:MESH_OT_bevel"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1278-000",
|
|
"phase": "1278",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1277-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1278",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1278-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1278-001",
|
|
"phase": "1278",
|
|
"title": "verify mesh inset operator through native Main",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1278-000"
|
|
],
|
|
"parityId": "MESH_INSET_OPERATOR_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_inset_operator_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1278-001.md",
|
|
"behavior": "Verify the MESH_INSET_OPERATOR_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1278-001:MESH_INSET_OPERATOR_BATCH:152b6ff293359f2b",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_inset"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_INSET_OPERATOR_BATCH",
|
|
"batchId": "WBV2-P1278-001:MESH_INSET_OPERATOR_BATCH:152b6ff293359f2b",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_inset"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_INSET_OPERATOR_BATCH-READER",
|
|
"CAP-MESH_INSET_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-MESH_INSET_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_inset 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1278-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1278-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=INSET WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:MESH_OT_inset\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1278-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:MESH_OT_inset"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1279-000",
|
|
"phase": "1279",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1278-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1279",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1279-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1279-001",
|
|
"phase": "1279",
|
|
"title": "verify mesh loop cut operator through native Main",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1279-000"
|
|
],
|
|
"parityId": "MESH_LOOPCUT_OPERATOR_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_loopcut_operator_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1279-001.md",
|
|
"behavior": "Verify the MESH_LOOPCUT_OPERATOR_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1279-001:MESH_LOOPCUT_OPERATOR_BATCH:dd29399cd0368e44",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_loopcut"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_LOOPCUT_OPERATOR_BATCH",
|
|
"batchId": "WBV2-P1279-001:MESH_LOOPCUT_OPERATOR_BATCH:dd29399cd0368e44",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_loopcut"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_LOOPCUT_OPERATOR_BATCH-READER",
|
|
"CAP-MESH_LOOPCUT_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-MESH_LOOPCUT_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_loopcut 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1279-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1279-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=LOOP_CUT WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:MESH_OT_loopcut\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1279-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:MESH_OT_loopcut"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1280-000",
|
|
"phase": "1280",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1279-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1280",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1280-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1280-001",
|
|
"phase": "1280",
|
|
"title": "verify mesh extrude operator through native Main",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1280-000"
|
|
],
|
|
"parityId": "MESH_EXTRUDE_OPERATOR_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_extrude_operator_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1280-001.md",
|
|
"behavior": "Verify the MESH_EXTRUDE_OPERATOR_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1280-001:MESH_EXTRUDE_OPERATOR_BATCH:f4172e6b8ddbcf8b",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_extrude_region"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_EXTRUDE_OPERATOR_BATCH",
|
|
"batchId": "WBV2-P1280-001:MESH_EXTRUDE_OPERATOR_BATCH:f4172e6b8ddbcf8b",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_extrude_region"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_OPERATOR_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_extrude_region 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1280-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1280-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=EXTRUDE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:MESH_OT_extrude_region\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1280-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:MESH_OT_extrude_region"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1281-000",
|
|
"phase": "1281",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1280-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1281",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1281-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1281-001",
|
|
"phase": "1281",
|
|
"title": "verify mesh dissolve operator through native Main",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1281-000"
|
|
],
|
|
"parityId": "MESH_DISSOLVE_OPERATOR_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_dissolve_operator_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1281-001.md",
|
|
"behavior": "Verify the MESH_DISSOLVE_OPERATOR_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1281-001:MESH_DISSOLVE_OPERATOR_BATCH:5c5a52ee6203548e",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_dissolve_edges"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_DISSOLVE_OPERATOR_BATCH",
|
|
"batchId": "WBV2-P1281-001:MESH_DISSOLVE_OPERATOR_BATCH:5c5a52ee6203548e",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_dissolve_edges"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_DISSOLVE_OPERATOR_BATCH-READER",
|
|
"CAP-MESH_DISSOLVE_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-MESH_DISSOLVE_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_dissolve_edges 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1281-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1281-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=DISSOLVE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:MESH_OT_dissolve_edges\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1281-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:MESH_OT_dissolve_edges"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1282-000",
|
|
"phase": "1282",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1281-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1282",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1282-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1282-001",
|
|
"phase": "1282",
|
|
"title": "verify mesh merge operator through native Main",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1282-000"
|
|
],
|
|
"parityId": "MESH_MERGE_OPERATOR_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_merge_operator_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1282-001.md",
|
|
"behavior": "Verify the MESH_MERGE_OPERATOR_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1282-001:MESH_MERGE_OPERATOR_BATCH:e84ca557ac7a12d7",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_merge"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_MERGE_OPERATOR_BATCH",
|
|
"batchId": "WBV2-P1282-001:MESH_MERGE_OPERATOR_BATCH:e84ca557ac7a12d7",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_merge"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_MERGE_OPERATOR_BATCH-READER",
|
|
"CAP-MESH_MERGE_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-MESH_MERGE_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_merge 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1282-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1282-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=MERGE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:MESH_OT_merge\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1282-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:MESH_OT_merge"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1283-000",
|
|
"phase": "1283",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1282-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1283",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1283-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1283-001",
|
|
"phase": "1283",
|
|
"title": "verify object location clear operator through native Main",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1283-000"
|
|
],
|
|
"parityId": "OBJECT_LOCATION_CLEAR_OPERATOR_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_location_clear_operator_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1283-001.md",
|
|
"behavior": "Verify the OBJECT_LOCATION_CLEAR_OPERATOR_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1283-001:OBJECT_LOCATION_CLEAR_OPERATOR_BATCH:84dba9367fb529a7",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_location_clear"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_LOCATION_CLEAR_OPERATOR_BATCH",
|
|
"batchId": "WBV2-P1283-001:OBJECT_LOCATION_CLEAR_OPERATOR_BATCH:84dba9367fb529a7",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_location_clear"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_LOCATION_CLEAR_OPERATOR_BATCH-READER",
|
|
"CAP-OBJECT_LOCATION_CLEAR_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-OBJECT_LOCATION_CLEAR_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-transform-clear-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"OBJECT_OT_location_clear 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1283-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1283-001/object-transform-clear-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_OPERATION=LOCATION WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:OBJECT_OT_location_clear\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-transform-clear-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1283-001/object-transform-clear-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:OBJECT_OT_location_clear"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1284-000",
|
|
"phase": "1284",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1283-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1284",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1284-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1284-001",
|
|
"phase": "1284",
|
|
"title": "verify object rotation clear operator through native Main",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1284-000"
|
|
],
|
|
"parityId": "OBJECT_ROTATION_CLEAR_OPERATOR_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_rotation_clear_operator_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1284-001.md",
|
|
"behavior": "Verify the OBJECT_ROTATION_CLEAR_OPERATOR_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1284-001:OBJECT_ROTATION_CLEAR_OPERATOR_BATCH:3db1b4e696cc9048",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_rotation_clear"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_ROTATION_CLEAR_OPERATOR_BATCH",
|
|
"batchId": "WBV2-P1284-001:OBJECT_ROTATION_CLEAR_OPERATOR_BATCH:3db1b4e696cc9048",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_rotation_clear"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_ROTATION_CLEAR_OPERATOR_BATCH-READER",
|
|
"CAP-OBJECT_ROTATION_CLEAR_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-OBJECT_ROTATION_CLEAR_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-transform-clear-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"OBJECT_OT_rotation_clear 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1284-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1284-001/object-transform-clear-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_OPERATION=ROTATION WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:OBJECT_OT_rotation_clear\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-transform-clear-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1284-001/object-transform-clear-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:OBJECT_OT_rotation_clear"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1285-000",
|
|
"phase": "1285",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1284-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1285",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1285-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1285-001",
|
|
"phase": "1285",
|
|
"title": "verify object scale clear operator through native Main",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1285-000"
|
|
],
|
|
"parityId": "OBJECT_SCALE_CLEAR_OPERATOR_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_scale_clear_operator_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1285-001.md",
|
|
"behavior": "Verify the OBJECT_SCALE_CLEAR_OPERATOR_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1285-001:OBJECT_SCALE_CLEAR_OPERATOR_BATCH:32d55f0234d5f6c5",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_scale_clear"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_SCALE_CLEAR_OPERATOR_BATCH",
|
|
"batchId": "WBV2-P1285-001:OBJECT_SCALE_CLEAR_OPERATOR_BATCH:32d55f0234d5f6c5",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_scale_clear"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_SCALE_CLEAR_OPERATOR_BATCH-READER",
|
|
"CAP-OBJECT_SCALE_CLEAR_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-OBJECT_SCALE_CLEAR_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-transform-clear-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"OBJECT_OT_scale_clear 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1285-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1285-001/object-transform-clear-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_OPERATION=SCALE WBV2_BATCH_CLEAR_MODE=SCALE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:OBJECT_OT_scale_clear\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-transform-clear-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1285-001/object-transform-clear-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:OBJECT_OT_scale_clear"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1286-000",
|
|
"phase": "1286",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1285-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1286",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1286-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1286-001",
|
|
"phase": "1286",
|
|
"title": "verify object join operator through native Main",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1286-000"
|
|
],
|
|
"parityId": "OBJECT_JOIN_OPERATOR_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_join_operator_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1286-001.md",
|
|
"behavior": "Verify the OBJECT_JOIN_OPERATOR_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1286-001:OBJECT_JOIN_OPERATOR_BATCH:de8fe23bd410e593",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_join"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_JOIN_OPERATOR_BATCH",
|
|
"batchId": "WBV2-P1286-001:OBJECT_JOIN_OPERATOR_BATCH:de8fe23bd410e593",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_join"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_JOIN_OPERATOR_BATCH-READER",
|
|
"CAP-OBJECT_JOIN_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-OBJECT_JOIN_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-object-operations-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"OBJECT_OT_join 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1286-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1286-001/mesh-object-operations-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_OPERATION=JOIN WBV2_BATCH_CLEAR_MODE=JOIN WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:OBJECT_OT_join\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-object-operations-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1286-001/mesh-object-operations-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:OBJECT_OT_join"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1287-000",
|
|
"phase": "1287",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1286-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1287",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1287-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1287-001",
|
|
"phase": "1287",
|
|
"title": "verify material slot add operator through native Main",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1287-000"
|
|
],
|
|
"parityId": "OBJECT_MATERIAL_SLOT_ADD_OPERATOR_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_material_slot_add_operator_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1287-001.md",
|
|
"behavior": "Verify the OBJECT_MATERIAL_SLOT_ADD_OPERATOR_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1287-001:OBJECT_MATERIAL_SLOT_ADD_OPERATOR_BATCH:2f9e62b0f20b4109",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_material_slot_add"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_MATERIAL_SLOT_ADD_OPERATOR_BATCH",
|
|
"batchId": "WBV2-P1287-001:OBJECT_MATERIAL_SLOT_ADD_OPERATOR_BATCH:2f9e62b0f20b4109",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_material_slot_add"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_MATERIAL_SLOT_ADD_OPERATOR_BATCH-READER",
|
|
"CAP-OBJECT_MATERIAL_SLOT_ADD_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-OBJECT_MATERIAL_SLOT_ADD_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/render/render_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-material-slot-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"OBJECT_OT_material_slot_add 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1287-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1287-001/material-slot-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_OPERATION=MATERIAL_SLOT_ADD WBV2_BATCH_CLEAR_MODE=MATERIAL_SLOT_ADD WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:OBJECT_OT_material_slot_add\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-material-slot-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1287-001/material-slot-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:OBJECT_OT_material_slot_add"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1288-000",
|
|
"phase": "1288",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1287-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1288",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1288-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1288-001",
|
|
"phase": "1288",
|
|
"title": "verify mesh decimate operator through native Main",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1288-000"
|
|
],
|
|
"parityId": "MESH_DECIMATE_OPERATOR_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_decimate_operator_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1288-001.md",
|
|
"behavior": "Verify the MESH_DECIMATE_OPERATOR_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1288-001:MESH_DECIMATE_OPERATOR_BATCH:874ad3bb4b2d4cd0",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_decimate"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_DECIMATE_OPERATOR_BATCH",
|
|
"batchId": "WBV2-P1288-001:MESH_DECIMATE_OPERATOR_BATCH:874ad3bb4b2d4cd0",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_decimate"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_DECIMATE_OPERATOR_BATCH-READER",
|
|
"CAP-MESH_DECIMATE_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-MESH_DECIMATE_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-modifier-parameter-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P4-001-MODIFIER.DECLARED_SLICES.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_decimate 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1288-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1288-001/modifier-parameter-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P4-001-MODIFIER.DECLARED_SLICES.blend WBV2_BATCH_OPERATION=DECIMATE WBV2_BATCH_CLEAR_MODE=DECIMATE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:MESH_OT_decimate\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-modifier-parameter-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1288-001/modifier-parameter-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:MESH_OT_decimate"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1289-000",
|
|
"phase": "1289",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1288-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1289",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1289-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1289-001",
|
|
"phase": "1289",
|
|
"title": "verify material slot remove operator through native Main",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1289-000"
|
|
],
|
|
"parityId": "OBJECT_MATERIAL_SLOT_REMOVE_OPERATOR_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_material_slot_remove_operator_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1289-001.md",
|
|
"behavior": "Verify the OBJECT_MATERIAL_SLOT_REMOVE_OPERATOR_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1289-001:OBJECT_MATERIAL_SLOT_REMOVE_OPERATOR_BATCH:ab7b239f4e11124b",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_material_slot_remove"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_MATERIAL_SLOT_REMOVE_OPERATOR_BATCH",
|
|
"batchId": "WBV2-P1289-001:OBJECT_MATERIAL_SLOT_REMOVE_OPERATOR_BATCH:ab7b239f4e11124b",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_material_slot_remove"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_MATERIAL_SLOT_REMOVE_OPERATOR_BATCH-READER",
|
|
"CAP-OBJECT_MATERIAL_SLOT_REMOVE_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-OBJECT_MATERIAL_SLOT_REMOVE_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/render/render_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-material-slot-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"OBJECT_OT_material_slot_remove 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1289-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1289-001/material-slot-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_OPERATION=MATERIAL_SLOT_REMOVE WBV2_BATCH_CLEAR_MODE=MATERIAL_SLOT_REMOVE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:OBJECT_OT_material_slot_remove\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-material-slot-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1289-001/material-slot-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:OBJECT_OT_material_slot_remove"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1290-000",
|
|
"phase": "1290",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1289-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1290",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1290-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1290-001",
|
|
"phase": "1290",
|
|
"title": "verify material slot assign operator through native Main",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1290-000"
|
|
],
|
|
"parityId": "OBJECT_MATERIAL_SLOT_ASSIGN_OPERATOR_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_material_slot_assign_operator_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1290-001.md",
|
|
"behavior": "Verify the OBJECT_MATERIAL_SLOT_ASSIGN_OPERATOR_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1290-001:OBJECT_MATERIAL_SLOT_ASSIGN_OPERATOR_BATCH:5c7845576845cc50",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_material_slot_assign"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_MATERIAL_SLOT_ASSIGN_OPERATOR_BATCH",
|
|
"batchId": "WBV2-P1290-001:OBJECT_MATERIAL_SLOT_ASSIGN_OPERATOR_BATCH:5c7845576845cc50",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_material_slot_assign"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_MATERIAL_SLOT_ASSIGN_OPERATOR_BATCH-READER",
|
|
"CAP-OBJECT_MATERIAL_SLOT_ASSIGN_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-OBJECT_MATERIAL_SLOT_ASSIGN_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/render/render_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-material-slot-assign-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"OBJECT_OT_material_slot_assign 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1290-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1290-001/material-slot-assign-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_OPERATION=MATERIAL_SLOT_ASSIGN WBV2_BATCH_CLEAR_MODE=MATERIAL_SLOT_ASSIGN WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:OBJECT_OT_material_slot_assign\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-material-slot-assign-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1290-001/material-slot-assign-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:OBJECT_OT_material_slot_assign"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1291-000",
|
|
"phase": "1291",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1290-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1291",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1291-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1291-001",
|
|
"phase": "1291",
|
|
"title": "verify UV unwrap operator through native Main",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1291-000"
|
|
],
|
|
"parityId": "UV_UNWRAP_OPERATOR_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-uv_unwrap_operator_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1291-001.md",
|
|
"behavior": "Verify the UV_UNWRAP_OPERATOR_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1291-001:UV_UNWRAP_OPERATOR_BATCH:8111928c04bd086d",
|
|
"selectedRecordIds": [
|
|
"operator:UV_OT_unwrap"
|
|
],
|
|
"module": {
|
|
"moduleId": "UV_UNWRAP_OPERATOR_BATCH",
|
|
"batchId": "WBV2-P1291-001:UV_UNWRAP_OPERATOR_BATCH:8111928c04bd086d",
|
|
"selectedRecordIds": [
|
|
"operator:UV_OT_unwrap"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-UV_UNWRAP_OPERATOR_BATCH-READER",
|
|
"CAP-UV_UNWRAP_OPERATOR_BATCH-RECOVERY",
|
|
"CAP-UV_UNWRAP_OPERATOR_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/uvedit/uvedit_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-uv-unwrap-batch-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P3-001-MATERIAL.PBR_UV.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"UV_OT_unwrap 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1291-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1291-001/uv-unwrap-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P3-001-MATERIAL.PBR_UV.blend WBV2_BATCH_OPERATION=UV_UNWRAP WBV2_BATCH_CLEAR_MODE=UV_UNWRAP WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:UV_OT_unwrap\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-uv-unwrap-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1291-001/uv-unwrap-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:UV_OT_unwrap"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1292-000",
|
|
"phase": "1292",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1291-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1292",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1292-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1292-001",
|
|
"phase": "1292",
|
|
"title": "verify ACTION_OT_duplicate_move through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1292-000"
|
|
],
|
|
"parityId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_duplicate_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1292-001.md",
|
|
"behavior": "Verify the OBJECT_DUPLICATE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1292-001:OBJECT_DUPLICATE_MACRO_BATCH:811c939e205ecafd",
|
|
"selectedRecordIds": [
|
|
"operator-macro:ACTION_OT_duplicate_move"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1292-001:OBJECT_DUPLICATE_MACRO_BATCH:811c939e205ecafd",
|
|
"selectedRecordIds": [
|
|
"operator-macro:ACTION_OT_duplicate_move"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_action/action_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ACTION_OT_duplicate_move 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1292-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1292-001/object-duplicate-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:ACTION_OT_duplicate_move\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-duplicate-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1292-001/object-duplicate-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:ACTION_OT_duplicate_move"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1293-000",
|
|
"phase": "1293",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1292-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1293",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1293-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1293-001",
|
|
"phase": "1293",
|
|
"title": "verify ARMATURE_OT_duplicate_move through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1293-000"
|
|
],
|
|
"parityId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_duplicate_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1293-001.md",
|
|
"behavior": "Verify the OBJECT_DUPLICATE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1293-001:OBJECT_DUPLICATE_MACRO_BATCH:0923f8086c8283b9",
|
|
"selectedRecordIds": [
|
|
"operator-macro:ARMATURE_OT_duplicate_move"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1293-001:OBJECT_DUPLICATE_MACRO_BATCH:0923f8086c8283b9",
|
|
"selectedRecordIds": [
|
|
"operator-macro:ARMATURE_OT_duplicate_move"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/armature/armature_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ARMATURE_OT_duplicate_move 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1293-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1293-001/object-duplicate-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:ARMATURE_OT_duplicate_move\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-duplicate-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1293-001/object-duplicate-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:ARMATURE_OT_duplicate_move"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1294-000",
|
|
"phase": "1294",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1293-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1294",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1294-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1294-001",
|
|
"phase": "1294",
|
|
"title": "verify CURVES_OT_duplicate_move through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1294-000"
|
|
],
|
|
"parityId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_duplicate_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1294-001.md",
|
|
"behavior": "Verify the OBJECT_DUPLICATE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1294-001:OBJECT_DUPLICATE_MACRO_BATCH:4e6ddb1c1659686d",
|
|
"selectedRecordIds": [
|
|
"operator-macro:CURVES_OT_duplicate_move"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1294-001:OBJECT_DUPLICATE_MACRO_BATCH:4e6ddb1c1659686d",
|
|
"selectedRecordIds": [
|
|
"operator-macro:CURVES_OT_duplicate_move"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/curves/intern/curves_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"CURVES_OT_duplicate_move 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1294-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1294-001/object-duplicate-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:CURVES_OT_duplicate_move\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-duplicate-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1294-001/object-duplicate-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:CURVES_OT_duplicate_move"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1295-000",
|
|
"phase": "1295",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1294-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1295",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1295-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1295-001",
|
|
"phase": "1295",
|
|
"title": "verify CURVE_OT_duplicate_move through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1295-000"
|
|
],
|
|
"parityId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_duplicate_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1295-001.md",
|
|
"behavior": "Verify the OBJECT_DUPLICATE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1295-001:OBJECT_DUPLICATE_MACRO_BATCH:e7a5080501642d57",
|
|
"selectedRecordIds": [
|
|
"operator-macro:CURVE_OT_duplicate_move"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1295-001:OBJECT_DUPLICATE_MACRO_BATCH:e7a5080501642d57",
|
|
"selectedRecordIds": [
|
|
"operator-macro:CURVE_OT_duplicate_move"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/curve/curve_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"CURVE_OT_duplicate_move 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1295-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1295-001/object-duplicate-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:CURVE_OT_duplicate_move\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-duplicate-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1295-001/object-duplicate-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:CURVE_OT_duplicate_move"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1296-000",
|
|
"phase": "1296",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1295-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1296",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1296-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1296-001",
|
|
"phase": "1296",
|
|
"title": "verify GRAPH_OT_duplicate_move through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1296-000"
|
|
],
|
|
"parityId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_duplicate_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1296-001.md",
|
|
"behavior": "Verify the OBJECT_DUPLICATE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1296-001:OBJECT_DUPLICATE_MACRO_BATCH:2cf09e5b7806c522",
|
|
"selectedRecordIds": [
|
|
"operator-macro:GRAPH_OT_duplicate_move"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1296-001:OBJECT_DUPLICATE_MACRO_BATCH:2cf09e5b7806c522",
|
|
"selectedRecordIds": [
|
|
"operator-macro:GRAPH_OT_duplicate_move"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_graph/graph_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GRAPH_OT_duplicate_move 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1296-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1296-001/object-duplicate-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:GRAPH_OT_duplicate_move\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-duplicate-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1296-001/object-duplicate-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:GRAPH_OT_duplicate_move"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1297-000",
|
|
"phase": "1297",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1296-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1297",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1297-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1297-001",
|
|
"phase": "1297",
|
|
"title": "verify GREASE_PENCIL_OT_duplicate_move through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1297-000"
|
|
],
|
|
"parityId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_duplicate_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1297-001.md",
|
|
"behavior": "Verify the OBJECT_DUPLICATE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1297-001:OBJECT_DUPLICATE_MACRO_BATCH:61f3c99d1c08013f",
|
|
"selectedRecordIds": [
|
|
"operator-macro:GREASE_PENCIL_OT_duplicate_move"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1297-001:OBJECT_DUPLICATE_MACRO_BATCH:61f3c99d1c08013f",
|
|
"selectedRecordIds": [
|
|
"operator-macro:GREASE_PENCIL_OT_duplicate_move"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/grease_pencil/intern/grease_pencil_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GREASE_PENCIL_OT_duplicate_move 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1297-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1297-001/object-duplicate-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:GREASE_PENCIL_OT_duplicate_move\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-duplicate-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1297-001/object-duplicate-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:GREASE_PENCIL_OT_duplicate_move"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1298-000",
|
|
"phase": "1298",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1297-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1298",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1298-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1298-001",
|
|
"phase": "1298",
|
|
"title": "verify MASK_OT_duplicate_move through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1298-000"
|
|
],
|
|
"parityId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_duplicate_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1298-001.md",
|
|
"behavior": "Verify the OBJECT_DUPLICATE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1298-001:OBJECT_DUPLICATE_MACRO_BATCH:b2b5010de365a6fd",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MASK_OT_duplicate_move"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1298-001:OBJECT_DUPLICATE_MACRO_BATCH:b2b5010de365a6fd",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MASK_OT_duplicate_move"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mask/mask_edit.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MASK_OT_duplicate_move 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1298-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1298-001/object-duplicate-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:MASK_OT_duplicate_move\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-duplicate-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1298-001/object-duplicate-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:MASK_OT_duplicate_move"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1299-000",
|
|
"phase": "1299",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1298-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1299",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1299-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1299-001",
|
|
"phase": "1299",
|
|
"title": "verify MBALL_OT_duplicate_move through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1299-000"
|
|
],
|
|
"parityId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_duplicate_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1299-001.md",
|
|
"behavior": "Verify the OBJECT_DUPLICATE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1299-001:OBJECT_DUPLICATE_MACRO_BATCH:900d15a3fd089534",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MBALL_OT_duplicate_move"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1299-001:OBJECT_DUPLICATE_MACRO_BATCH:900d15a3fd089534",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MBALL_OT_duplicate_move"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/metaball/mball_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MBALL_OT_duplicate_move 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1299-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1299-001/object-duplicate-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:MBALL_OT_duplicate_move\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-duplicate-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1299-001/object-duplicate-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:MBALL_OT_duplicate_move"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1300-000",
|
|
"phase": "1300",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1299-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1300",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1300-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1300-001",
|
|
"phase": "1300",
|
|
"title": "verify MESH_OT_duplicate_move through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1300-000"
|
|
],
|
|
"parityId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_duplicate_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1300-001.md",
|
|
"behavior": "Verify the OBJECT_DUPLICATE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1300-001:OBJECT_DUPLICATE_MACRO_BATCH:f7038997b9b55fd8",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MESH_OT_duplicate_move"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1300-001:OBJECT_DUPLICATE_MACRO_BATCH:f7038997b9b55fd8",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MESH_OT_duplicate_move"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_duplicate_move 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1300-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1300-001/object-duplicate-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:MESH_OT_duplicate_move\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-duplicate-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1300-001/object-duplicate-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:MESH_OT_duplicate_move"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1301-000",
|
|
"phase": "1301",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1300-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1301",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1301-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1301-001",
|
|
"phase": "1301",
|
|
"title": "verify NLA_OT_duplicate_move through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1301-000"
|
|
],
|
|
"parityId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_duplicate_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1301-001.md",
|
|
"behavior": "Verify the OBJECT_DUPLICATE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1301-001:OBJECT_DUPLICATE_MACRO_BATCH:ca1f3895eae4eeae",
|
|
"selectedRecordIds": [
|
|
"operator-macro:NLA_OT_duplicate_move"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1301-001:OBJECT_DUPLICATE_MACRO_BATCH:ca1f3895eae4eeae",
|
|
"selectedRecordIds": [
|
|
"operator-macro:NLA_OT_duplicate_move"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_nla/nla_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"NLA_OT_duplicate_move 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1301-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1301-001/object-duplicate-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:NLA_OT_duplicate_move\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-duplicate-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1301-001/object-duplicate-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:NLA_OT_duplicate_move"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1302-000",
|
|
"phase": "1302",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1301-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1302",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1302-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1302-001",
|
|
"phase": "1302",
|
|
"title": "verify NODE_OT_duplicate_move through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1302-000"
|
|
],
|
|
"parityId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_duplicate_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1302-001.md",
|
|
"behavior": "Verify the OBJECT_DUPLICATE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1302-001:OBJECT_DUPLICATE_MACRO_BATCH:e45d34ebeb76cc3e",
|
|
"selectedRecordIds": [
|
|
"operator-macro:NODE_OT_duplicate_move"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1302-001:OBJECT_DUPLICATE_MACRO_BATCH:e45d34ebeb76cc3e",
|
|
"selectedRecordIds": [
|
|
"operator-macro:NODE_OT_duplicate_move"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_node/node_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"NODE_OT_duplicate_move 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1302-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1302-001/object-duplicate-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:NODE_OT_duplicate_move\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-duplicate-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1302-001/object-duplicate-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:NODE_OT_duplicate_move"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1303-000",
|
|
"phase": "1303",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1302-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1303",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1303-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1303-001",
|
|
"phase": "1303",
|
|
"title": "verify NODE_OT_duplicate_move_keep_inputs through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1303-000"
|
|
],
|
|
"parityId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_duplicate_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1303-001.md",
|
|
"behavior": "Verify the OBJECT_DUPLICATE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1303-001:OBJECT_DUPLICATE_MACRO_BATCH:48ae9eb65d4c3123",
|
|
"selectedRecordIds": [
|
|
"operator-macro:NODE_OT_duplicate_move_keep_inputs"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1303-001:OBJECT_DUPLICATE_MACRO_BATCH:48ae9eb65d4c3123",
|
|
"selectedRecordIds": [
|
|
"operator-macro:NODE_OT_duplicate_move_keep_inputs"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_node/node_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"NODE_OT_duplicate_move_keep_inputs 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1303-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1303-001/object-duplicate-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:NODE_OT_duplicate_move_keep_inputs\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-duplicate-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1303-001/object-duplicate-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:NODE_OT_duplicate_move_keep_inputs"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1304-000",
|
|
"phase": "1304",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1303-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1304",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1304-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1304-001",
|
|
"phase": "1304",
|
|
"title": "verify NODE_OT_duplicate_move_linked through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1304-000"
|
|
],
|
|
"parityId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_duplicate_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1304-001.md",
|
|
"behavior": "Verify the OBJECT_DUPLICATE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1304-001:OBJECT_DUPLICATE_MACRO_BATCH:416ae585863b18b0",
|
|
"selectedRecordIds": [
|
|
"operator-macro:NODE_OT_duplicate_move_linked"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1304-001:OBJECT_DUPLICATE_MACRO_BATCH:416ae585863b18b0",
|
|
"selectedRecordIds": [
|
|
"operator-macro:NODE_OT_duplicate_move_linked"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_node/node_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"NODE_OT_duplicate_move_linked 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1304-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1304-001/object-duplicate-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:NODE_OT_duplicate_move_linked\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-duplicate-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1304-001/object-duplicate-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:NODE_OT_duplicate_move_linked"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1305-000",
|
|
"phase": "1305",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1304-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1305",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1305-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1305-001",
|
|
"phase": "1305",
|
|
"title": "verify OBJECT_OT_duplicate_move through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1305-000"
|
|
],
|
|
"parityId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_duplicate_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1305-001.md",
|
|
"behavior": "Verify the OBJECT_DUPLICATE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1305-001:OBJECT_DUPLICATE_MACRO_BATCH:504373c48738bf0d",
|
|
"selectedRecordIds": [
|
|
"operator-macro:OBJECT_OT_duplicate_move"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1305-001:OBJECT_DUPLICATE_MACRO_BATCH:504373c48738bf0d",
|
|
"selectedRecordIds": [
|
|
"operator-macro:OBJECT_OT_duplicate_move"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"OBJECT_OT_duplicate_move 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1305-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1305-001/object-duplicate-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:OBJECT_OT_duplicate_move\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-duplicate-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1305-001/object-duplicate-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:OBJECT_OT_duplicate_move"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1306-000",
|
|
"phase": "1306",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1305-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1306",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1306-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1306-001",
|
|
"phase": "1306",
|
|
"title": "verify OBJECT_OT_duplicate_move_linked through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1306-000"
|
|
],
|
|
"parityId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_duplicate_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1306-001.md",
|
|
"behavior": "Verify the OBJECT_DUPLICATE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1306-001:OBJECT_DUPLICATE_MACRO_BATCH:b1f87ff7cb3f84cd",
|
|
"selectedRecordIds": [
|
|
"operator-macro:OBJECT_OT_duplicate_move_linked"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1306-001:OBJECT_DUPLICATE_MACRO_BATCH:b1f87ff7cb3f84cd",
|
|
"selectedRecordIds": [
|
|
"operator-macro:OBJECT_OT_duplicate_move_linked"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"OBJECT_OT_duplicate_move_linked 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1306-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1306-001/object-duplicate-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:OBJECT_OT_duplicate_move_linked\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-duplicate-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1306-001/object-duplicate-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:OBJECT_OT_duplicate_move_linked"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1307-000",
|
|
"phase": "1307",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1306-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1307",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1307-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1307-001",
|
|
"phase": "1307",
|
|
"title": "verify POINTCLOUD_OT_duplicate_move through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1307-000"
|
|
],
|
|
"parityId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_duplicate_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1307-001.md",
|
|
"behavior": "Verify the OBJECT_DUPLICATE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1307-001:OBJECT_DUPLICATE_MACRO_BATCH:59c11b73f6c393b5",
|
|
"selectedRecordIds": [
|
|
"operator-macro:POINTCLOUD_OT_duplicate_move"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1307-001:OBJECT_DUPLICATE_MACRO_BATCH:59c11b73f6c393b5",
|
|
"selectedRecordIds": [
|
|
"operator-macro:POINTCLOUD_OT_duplicate_move"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/pointcloud/intern/operators.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"POINTCLOUD_OT_duplicate_move 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1307-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1307-001/object-duplicate-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:POINTCLOUD_OT_duplicate_move\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-duplicate-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1307-001/object-duplicate-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:POINTCLOUD_OT_duplicate_move"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1308-000",
|
|
"phase": "1308",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1307-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1308",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1308-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1308-001",
|
|
"phase": "1308",
|
|
"title": "verify SEQUENCER_OT_duplicate_move through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1308-000"
|
|
],
|
|
"parityId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_duplicate_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1308-001.md",
|
|
"behavior": "Verify the OBJECT_DUPLICATE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1308-001:OBJECT_DUPLICATE_MACRO_BATCH:ab6a0658305de0cc",
|
|
"selectedRecordIds": [
|
|
"operator-macro:SEQUENCER_OT_duplicate_move"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1308-001:OBJECT_DUPLICATE_MACRO_BATCH:ab6a0658305de0cc",
|
|
"selectedRecordIds": [
|
|
"operator-macro:SEQUENCER_OT_duplicate_move"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_sequencer/sequencer_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"SEQUENCER_OT_duplicate_move 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1308-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1308-001/object-duplicate-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:SEQUENCER_OT_duplicate_move\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-duplicate-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1308-001/object-duplicate-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:SEQUENCER_OT_duplicate_move"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1309-000",
|
|
"phase": "1309",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1308-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1309",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1309-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1309-001",
|
|
"phase": "1309",
|
|
"title": "verify SEQUENCER_OT_duplicate_move_linked through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1309-000"
|
|
],
|
|
"parityId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_duplicate_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1309-001.md",
|
|
"behavior": "Verify the OBJECT_DUPLICATE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1309-001:OBJECT_DUPLICATE_MACRO_BATCH:29f998fff01771fa",
|
|
"selectedRecordIds": [
|
|
"operator-macro:SEQUENCER_OT_duplicate_move_linked"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1309-001:OBJECT_DUPLICATE_MACRO_BATCH:29f998fff01771fa",
|
|
"selectedRecordIds": [
|
|
"operator-macro:SEQUENCER_OT_duplicate_move_linked"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_sequencer/sequencer_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"SEQUENCER_OT_duplicate_move_linked 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1309-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1309-001/object-duplicate-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:SEQUENCER_OT_duplicate_move_linked\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-duplicate-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1309-001/object-duplicate-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:SEQUENCER_OT_duplicate_move_linked"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1310-000",
|
|
"phase": "1310",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1309-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1310",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1310-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1310-001",
|
|
"phase": "1310",
|
|
"title": "verify SEQUENCER_OT_preview_duplicate_move through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1310-000"
|
|
],
|
|
"parityId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_duplicate_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1310-001.md",
|
|
"behavior": "Verify the OBJECT_DUPLICATE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1310-001:OBJECT_DUPLICATE_MACRO_BATCH:080c07ec31371925",
|
|
"selectedRecordIds": [
|
|
"operator-macro:SEQUENCER_OT_preview_duplicate_move"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1310-001:OBJECT_DUPLICATE_MACRO_BATCH:080c07ec31371925",
|
|
"selectedRecordIds": [
|
|
"operator-macro:SEQUENCER_OT_preview_duplicate_move"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_sequencer/sequencer_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"SEQUENCER_OT_preview_duplicate_move 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1310-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1310-001/object-duplicate-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:SEQUENCER_OT_preview_duplicate_move\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-duplicate-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1310-001/object-duplicate-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:SEQUENCER_OT_preview_duplicate_move"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1311-000",
|
|
"phase": "1311",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1310-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1311",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1311-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1311-001",
|
|
"phase": "1311",
|
|
"title": "verify SEQUENCER_OT_preview_duplicate_move_linked through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1311-000"
|
|
],
|
|
"parityId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_duplicate_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1311-001.md",
|
|
"behavior": "Verify the OBJECT_DUPLICATE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1311-001:OBJECT_DUPLICATE_MACRO_BATCH:26e874efa0152e2c",
|
|
"selectedRecordIds": [
|
|
"operator-macro:SEQUENCER_OT_preview_duplicate_move_linked"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DUPLICATE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1311-001:OBJECT_DUPLICATE_MACRO_BATCH:26e874efa0152e2c",
|
|
"selectedRecordIds": [
|
|
"operator-macro:SEQUENCER_OT_preview_duplicate_move_linked"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DUPLICATE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_sequencer/sequencer_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-duplicate-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"SEQUENCER_OT_preview_duplicate_move_linked 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1311-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1311-001/object-duplicate-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:SEQUENCER_OT_preview_duplicate_move_linked\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-duplicate-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1311-001/object-duplicate-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:SEQUENCER_OT_preview_duplicate_move_linked"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1312-000",
|
|
"phase": "1312",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1311-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1312",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1312-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1312-001",
|
|
"phase": "1312",
|
|
"title": "verify NODE_OT_delete_copy_reconnect through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1312-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1312-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1312-001:OBJECT_DELETE_MACRO_BATCH:266367c3120af19f",
|
|
"selectedRecordIds": [
|
|
"operator-macro:NODE_OT_delete_copy_reconnect"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1312-001:OBJECT_DELETE_MACRO_BATCH:266367c3120af19f",
|
|
"selectedRecordIds": [
|
|
"operator-macro:NODE_OT_delete_copy_reconnect"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_node/node_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"NODE_OT_delete_copy_reconnect 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1312-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1312-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:NODE_OT_delete_copy_reconnect\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1312-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:NODE_OT_delete_copy_reconnect"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1313-000",
|
|
"phase": "1313",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1312-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1313",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1313-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1313-001",
|
|
"phase": "1313",
|
|
"title": "verify ACTION_OT_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1313-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1313-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1313-001:OBJECT_DELETE_MACRO_BATCH:ffc87aeab4ca8657",
|
|
"selectedRecordIds": [
|
|
"operator:ACTION_OT_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1313-001:OBJECT_DELETE_MACRO_BATCH:ffc87aeab4ca8657",
|
|
"selectedRecordIds": [
|
|
"operator:ACTION_OT_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_action/action_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ACTION_OT_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1313-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1313-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:ACTION_OT_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1313-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:ACTION_OT_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1314-000",
|
|
"phase": "1314",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1313-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1314",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1314-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1314-001",
|
|
"phase": "1314",
|
|
"title": "verify ANIM_OT_channels_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1314-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1314-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1314-001:OBJECT_DELETE_MACRO_BATCH:290fc45a1dd07df5",
|
|
"selectedRecordIds": [
|
|
"operator:ANIM_OT_channels_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1314-001:OBJECT_DELETE_MACRO_BATCH:290fc45a1dd07df5",
|
|
"selectedRecordIds": [
|
|
"operator:ANIM_OT_channels_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/animation/anim_channels_edit.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ANIM_OT_channels_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1314-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1314-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:ANIM_OT_channels_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1314-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:ANIM_OT_channels_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1315-000",
|
|
"phase": "1315",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1314-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1315",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1315-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1315-001",
|
|
"phase": "1315",
|
|
"title": "verify ANIM_OT_keyframe_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1315-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1315-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1315-001:OBJECT_DELETE_MACRO_BATCH:beca8d72a79a20a3",
|
|
"selectedRecordIds": [
|
|
"operator:ANIM_OT_keyframe_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1315-001:OBJECT_DELETE_MACRO_BATCH:beca8d72a79a20a3",
|
|
"selectedRecordIds": [
|
|
"operator:ANIM_OT_keyframe_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/animation/anim_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ANIM_OT_keyframe_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1315-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1315-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:ANIM_OT_keyframe_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1315-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:ANIM_OT_keyframe_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1316-000",
|
|
"phase": "1316",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1315-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1316",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1316-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1316-001",
|
|
"phase": "1316",
|
|
"title": "verify ANIM_OT_keyframe_delete_button through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1316-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1316-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1316-001:OBJECT_DELETE_MACRO_BATCH:66d7693e521bbf7b",
|
|
"selectedRecordIds": [
|
|
"operator:ANIM_OT_keyframe_delete_button"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1316-001:OBJECT_DELETE_MACRO_BATCH:66d7693e521bbf7b",
|
|
"selectedRecordIds": [
|
|
"operator:ANIM_OT_keyframe_delete_button"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/animation/anim_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ANIM_OT_keyframe_delete_button 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1316-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1316-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:ANIM_OT_keyframe_delete_button\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1316-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:ANIM_OT_keyframe_delete_button"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1317-000",
|
|
"phase": "1317",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1316-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1317",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1317-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1317-001",
|
|
"phase": "1317",
|
|
"title": "verify ANIM_OT_keyframe_delete_by_name through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1317-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1317-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1317-001:OBJECT_DELETE_MACRO_BATCH:aa21ad30b4211c49",
|
|
"selectedRecordIds": [
|
|
"operator:ANIM_OT_keyframe_delete_by_name"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1317-001:OBJECT_DELETE_MACRO_BATCH:aa21ad30b4211c49",
|
|
"selectedRecordIds": [
|
|
"operator:ANIM_OT_keyframe_delete_by_name"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/animation/anim_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ANIM_OT_keyframe_delete_by_name 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1317-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1317-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:ANIM_OT_keyframe_delete_by_name\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1317-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:ANIM_OT_keyframe_delete_by_name"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1318-000",
|
|
"phase": "1318",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1317-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1318",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1318-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1318-001",
|
|
"phase": "1318",
|
|
"title": "verify ANIM_OT_keyframe_delete_v3d through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1318-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1318-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1318-001:OBJECT_DELETE_MACRO_BATCH:59a16f5773002c24",
|
|
"selectedRecordIds": [
|
|
"operator:ANIM_OT_keyframe_delete_v3d"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1318-001:OBJECT_DELETE_MACRO_BATCH:59a16f5773002c24",
|
|
"selectedRecordIds": [
|
|
"operator:ANIM_OT_keyframe_delete_v3d"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/animation/anim_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ANIM_OT_keyframe_delete_v3d 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1318-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1318-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:ANIM_OT_keyframe_delete_v3d\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1318-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:ANIM_OT_keyframe_delete_v3d"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1319-000",
|
|
"phase": "1319",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1318-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1319",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1319-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1319-001",
|
|
"phase": "1319",
|
|
"title": "verify ANIM_OT_keyframe_delete_vse through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1319-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1319-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1319-001:OBJECT_DELETE_MACRO_BATCH:62e35464233255a4",
|
|
"selectedRecordIds": [
|
|
"operator:ANIM_OT_keyframe_delete_vse"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1319-001:OBJECT_DELETE_MACRO_BATCH:62e35464233255a4",
|
|
"selectedRecordIds": [
|
|
"operator:ANIM_OT_keyframe_delete_vse"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/animation/anim_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ANIM_OT_keyframe_delete_vse 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1319-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1319-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:ANIM_OT_keyframe_delete_vse\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1319-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:ANIM_OT_keyframe_delete_vse"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1320-000",
|
|
"phase": "1320",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1319-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1320",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1320-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1320-001",
|
|
"phase": "1320",
|
|
"title": "verify ARMATURE_OT_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1320-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1320-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1320-001:OBJECT_DELETE_MACRO_BATCH:3dc748624bf180d7",
|
|
"selectedRecordIds": [
|
|
"operator:ARMATURE_OT_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1320-001:OBJECT_DELETE_MACRO_BATCH:3dc748624bf180d7",
|
|
"selectedRecordIds": [
|
|
"operator:ARMATURE_OT_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/armature/armature_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ARMATURE_OT_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1320-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1320-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:ARMATURE_OT_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1320-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:ARMATURE_OT_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1321-000",
|
|
"phase": "1321",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1320-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1321",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1321-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1321-001",
|
|
"phase": "1321",
|
|
"title": "verify ASSET_OT_catalog_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1321-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1321-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1321-001:OBJECT_DELETE_MACRO_BATCH:e6f7639baf491f4d",
|
|
"selectedRecordIds": [
|
|
"operator:ASSET_OT_catalog_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1321-001:OBJECT_DELETE_MACRO_BATCH:e6f7639baf491f4d",
|
|
"selectedRecordIds": [
|
|
"operator:ASSET_OT_catalog_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/asset/intern/asset_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ASSET_OT_catalog_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1321-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1321-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:ASSET_OT_catalog_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1321-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:ASSET_OT_catalog_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1322-000",
|
|
"phase": "1322",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1321-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1322",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1322-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1322-001",
|
|
"phase": "1322",
|
|
"title": "verify BRUSH_OT_asset_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1322-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1322-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1322-001:OBJECT_DELETE_MACRO_BATCH:f31405fceb00c7a7",
|
|
"selectedRecordIds": [
|
|
"operator:BRUSH_OT_asset_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1322-001:OBJECT_DELETE_MACRO_BATCH:f31405fceb00c7a7",
|
|
"selectedRecordIds": [
|
|
"operator:BRUSH_OT_asset_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/sculpt_paint/paint_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"BRUSH_OT_asset_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1322-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1322-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:BRUSH_OT_asset_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1322-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:BRUSH_OT_asset_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1323-000",
|
|
"phase": "1323",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1322-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1323",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1323-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1323-001",
|
|
"phase": "1323",
|
|
"title": "verify CLIP_OT_delete_marker through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1323-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1323-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1323-001:OBJECT_DELETE_MACRO_BATCH:209753308893d52a",
|
|
"selectedRecordIds": [
|
|
"operator:CLIP_OT_delete_marker"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1323-001:OBJECT_DELETE_MACRO_BATCH:209753308893d52a",
|
|
"selectedRecordIds": [
|
|
"operator:CLIP_OT_delete_marker"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_clip/space_clip.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"CLIP_OT_delete_marker 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1323-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1323-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:CLIP_OT_delete_marker\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1323-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:CLIP_OT_delete_marker"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1324-000",
|
|
"phase": "1324",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1323-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1324",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1324-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1324-001",
|
|
"phase": "1324",
|
|
"title": "verify CLIP_OT_delete_track through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1324-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1324-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1324-001:OBJECT_DELETE_MACRO_BATCH:b8fade257b34994a",
|
|
"selectedRecordIds": [
|
|
"operator:CLIP_OT_delete_track"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1324-001:OBJECT_DELETE_MACRO_BATCH:b8fade257b34994a",
|
|
"selectedRecordIds": [
|
|
"operator:CLIP_OT_delete_track"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_clip/space_clip.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"CLIP_OT_delete_track 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1324-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1324-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:CLIP_OT_delete_track\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1324-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:CLIP_OT_delete_track"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1325-000",
|
|
"phase": "1325",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1324-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1325",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1325-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1325-001",
|
|
"phase": "1325",
|
|
"title": "verify CLIP_OT_graph_delete_curve through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1325-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1325-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1325-001:OBJECT_DELETE_MACRO_BATCH:707e82ac5c21f6c3",
|
|
"selectedRecordIds": [
|
|
"operator:CLIP_OT_graph_delete_curve"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1325-001:OBJECT_DELETE_MACRO_BATCH:707e82ac5c21f6c3",
|
|
"selectedRecordIds": [
|
|
"operator:CLIP_OT_graph_delete_curve"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_clip/space_clip.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"CLIP_OT_graph_delete_curve 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1325-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1325-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:CLIP_OT_graph_delete_curve\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1325-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:CLIP_OT_graph_delete_curve"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1326-000",
|
|
"phase": "1326",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1325-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1326",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1326-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1326-001",
|
|
"phase": "1326",
|
|
"title": "verify CLIP_OT_graph_delete_knot through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1326-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1326-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1326-001:OBJECT_DELETE_MACRO_BATCH:b437fad9579b5a17",
|
|
"selectedRecordIds": [
|
|
"operator:CLIP_OT_graph_delete_knot"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1326-001:OBJECT_DELETE_MACRO_BATCH:b437fad9579b5a17",
|
|
"selectedRecordIds": [
|
|
"operator:CLIP_OT_graph_delete_knot"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_clip/space_clip.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"CLIP_OT_graph_delete_knot 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1326-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1326-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:CLIP_OT_graph_delete_knot\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1326-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:CLIP_OT_graph_delete_knot"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1327-000",
|
|
"phase": "1327",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1326-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1327",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1327-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1327-001",
|
|
"phase": "1327",
|
|
"title": "verify CLIP_OT_keyframe_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1327-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1327-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1327-001:OBJECT_DELETE_MACRO_BATCH:fd3cb8da3866d1b6",
|
|
"selectedRecordIds": [
|
|
"operator:CLIP_OT_keyframe_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1327-001:OBJECT_DELETE_MACRO_BATCH:fd3cb8da3866d1b6",
|
|
"selectedRecordIds": [
|
|
"operator:CLIP_OT_keyframe_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_clip/space_clip.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"CLIP_OT_keyframe_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1327-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1327-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:CLIP_OT_keyframe_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1327-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:CLIP_OT_keyframe_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1328-000",
|
|
"phase": "1328",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1327-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1328",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1328-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1328-001",
|
|
"phase": "1328",
|
|
"title": "verify CONSOLE_OT_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1328-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1328-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1328-001:OBJECT_DELETE_MACRO_BATCH:1ea75a3223caaca4",
|
|
"selectedRecordIds": [
|
|
"operator:CONSOLE_OT_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1328-001:OBJECT_DELETE_MACRO_BATCH:1ea75a3223caaca4",
|
|
"selectedRecordIds": [
|
|
"operator:CONSOLE_OT_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_console/space_console.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"CONSOLE_OT_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1328-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1328-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:CONSOLE_OT_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1328-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:CONSOLE_OT_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1329-000",
|
|
"phase": "1329",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1328-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1329",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1329-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1329-001",
|
|
"phase": "1329",
|
|
"title": "verify CONSTRAINT_OT_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1329-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1329-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1329-001:OBJECT_DELETE_MACRO_BATCH:48cbbba4745aacfb",
|
|
"selectedRecordIds": [
|
|
"operator:CONSTRAINT_OT_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1329-001:OBJECT_DELETE_MACRO_BATCH:48cbbba4745aacfb",
|
|
"selectedRecordIds": [
|
|
"operator:CONSTRAINT_OT_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"CONSTRAINT_OT_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1329-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1329-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:CONSTRAINT_OT_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1329-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:CONSTRAINT_OT_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1330-000",
|
|
"phase": "1330",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1329-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1330",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1330-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1330-001",
|
|
"phase": "1330",
|
|
"title": "verify CURVES_OT_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1330-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1330-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1330-001:OBJECT_DELETE_MACRO_BATCH:f3db5bbfe0b7ecbd",
|
|
"selectedRecordIds": [
|
|
"operator:CURVES_OT_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1330-001:OBJECT_DELETE_MACRO_BATCH:f3db5bbfe0b7ecbd",
|
|
"selectedRecordIds": [
|
|
"operator:CURVES_OT_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/curves/intern/curves_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"CURVES_OT_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1330-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1330-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:CURVES_OT_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1330-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:CURVES_OT_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1331-000",
|
|
"phase": "1331",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1330-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1331",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1331-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1331-001",
|
|
"phase": "1331",
|
|
"title": "verify CURVE_OT_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1331-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1331-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1331-001:OBJECT_DELETE_MACRO_BATCH:b2bf1ed53edddf62",
|
|
"selectedRecordIds": [
|
|
"operator:CURVE_OT_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1331-001:OBJECT_DELETE_MACRO_BATCH:b2bf1ed53edddf62",
|
|
"selectedRecordIds": [
|
|
"operator:CURVE_OT_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/curve/curve_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"CURVE_OT_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1331-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1331-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:CURVE_OT_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1331-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:CURVE_OT_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1332-000",
|
|
"phase": "1332",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1331-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1332",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1332-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1332-001",
|
|
"phase": "1332",
|
|
"title": "verify FILE_OT_bookmark_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1332-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1332-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1332-001:OBJECT_DELETE_MACRO_BATCH:cae72da15f82a67a",
|
|
"selectedRecordIds": [
|
|
"operator:FILE_OT_bookmark_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1332-001:OBJECT_DELETE_MACRO_BATCH:cae72da15f82a67a",
|
|
"selectedRecordIds": [
|
|
"operator:FILE_OT_bookmark_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_file/space_file.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"FILE_OT_bookmark_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1332-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1332-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:FILE_OT_bookmark_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1332-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:FILE_OT_bookmark_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1333-000",
|
|
"phase": "1333",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1332-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1333",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1333-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1333-001",
|
|
"phase": "1333",
|
|
"title": "verify FILE_OT_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1333-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1333-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1333-001:OBJECT_DELETE_MACRO_BATCH:8aa9ba5e78fc43c9",
|
|
"selectedRecordIds": [
|
|
"operator:FILE_OT_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1333-001:OBJECT_DELETE_MACRO_BATCH:8aa9ba5e78fc43c9",
|
|
"selectedRecordIds": [
|
|
"operator:FILE_OT_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_file/space_file.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"FILE_OT_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1333-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1333-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:FILE_OT_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1333-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:FILE_OT_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1334-000",
|
|
"phase": "1334",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1333-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1334",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1334-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1334-001",
|
|
"phase": "1334",
|
|
"title": "verify FONT_OT_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1334-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1334-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1334-001:OBJECT_DELETE_MACRO_BATCH:c78158291ec665a8",
|
|
"selectedRecordIds": [
|
|
"operator:FONT_OT_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1334-001:OBJECT_DELETE_MACRO_BATCH:c78158291ec665a8",
|
|
"selectedRecordIds": [
|
|
"operator:FONT_OT_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/curve/curve_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"FONT_OT_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1334-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1334-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:FONT_OT_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1334-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:FONT_OT_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1335-000",
|
|
"phase": "1335",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1334-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1335",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1335-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1335-001",
|
|
"phase": "1335",
|
|
"title": "verify GPENCIL_OT_annotation_active_frame_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1335-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1335-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1335-001:OBJECT_DELETE_MACRO_BATCH:ec864424ffc659fd",
|
|
"selectedRecordIds": [
|
|
"operator:GPENCIL_OT_annotation_active_frame_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1335-001:OBJECT_DELETE_MACRO_BATCH:ec864424ffc659fd",
|
|
"selectedRecordIds": [
|
|
"operator:GPENCIL_OT_annotation_active_frame_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/gpencil_legacy/gpencil_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GPENCIL_OT_annotation_active_frame_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1335-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1335-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:GPENCIL_OT_annotation_active_frame_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1335-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:GPENCIL_OT_annotation_active_frame_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1336-000",
|
|
"phase": "1336",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1335-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1336",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1336-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1336-001",
|
|
"phase": "1336",
|
|
"title": "verify GRAPH_OT_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1336-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1336-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1336-001:OBJECT_DELETE_MACRO_BATCH:2eee7fcefc7dcc14",
|
|
"selectedRecordIds": [
|
|
"operator:GRAPH_OT_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1336-001:OBJECT_DELETE_MACRO_BATCH:2eee7fcefc7dcc14",
|
|
"selectedRecordIds": [
|
|
"operator:GRAPH_OT_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_graph/graph_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GRAPH_OT_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1336-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1336-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:GRAPH_OT_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1336-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:GRAPH_OT_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1337-000",
|
|
"phase": "1337",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1336-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1337",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1337-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1337-001",
|
|
"phase": "1337",
|
|
"title": "verify GRAPH_OT_driver_delete_invalid through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1337-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1337-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1337-001:OBJECT_DELETE_MACRO_BATCH:ccc1e9d8ed3c4954",
|
|
"selectedRecordIds": [
|
|
"operator:GRAPH_OT_driver_delete_invalid"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1337-001:OBJECT_DELETE_MACRO_BATCH:ccc1e9d8ed3c4954",
|
|
"selectedRecordIds": [
|
|
"operator:GRAPH_OT_driver_delete_invalid"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_graph/graph_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GRAPH_OT_driver_delete_invalid 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1337-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1337-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:GRAPH_OT_driver_delete_invalid\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1337-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:GRAPH_OT_driver_delete_invalid"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1338-000",
|
|
"phase": "1338",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1337-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1338",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1338-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1338-001",
|
|
"phase": "1338",
|
|
"title": "verify GRAPH_OT_fmodifier_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1338-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1338-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1338-001:OBJECT_DELETE_MACRO_BATCH:ef176984e43319fc",
|
|
"selectedRecordIds": [
|
|
"operator:GRAPH_OT_fmodifier_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1338-001:OBJECT_DELETE_MACRO_BATCH:ef176984e43319fc",
|
|
"selectedRecordIds": [
|
|
"operator:GRAPH_OT_fmodifier_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_graph/graph_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GRAPH_OT_fmodifier_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1338-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1338-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:GRAPH_OT_fmodifier_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1338-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:GRAPH_OT_fmodifier_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1339-000",
|
|
"phase": "1339",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1338-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1339",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1339-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1339-001",
|
|
"phase": "1339",
|
|
"title": "verify GREASE_PENCIL_OT_active_frame_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1339-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1339-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1339-001:OBJECT_DELETE_MACRO_BATCH:5d0774ca778f5ad4",
|
|
"selectedRecordIds": [
|
|
"operator:GREASE_PENCIL_OT_active_frame_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1339-001:OBJECT_DELETE_MACRO_BATCH:5d0774ca778f5ad4",
|
|
"selectedRecordIds": [
|
|
"operator:GREASE_PENCIL_OT_active_frame_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/grease_pencil/intern/grease_pencil_frames.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GREASE_PENCIL_OT_active_frame_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1339-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1339-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:GREASE_PENCIL_OT_active_frame_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1339-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:GREASE_PENCIL_OT_active_frame_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1340-000",
|
|
"phase": "1340",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1339-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1340",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1340-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1340-001",
|
|
"phase": "1340",
|
|
"title": "verify GREASE_PENCIL_OT_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1340-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1340-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1340-001:OBJECT_DELETE_MACRO_BATCH:8ba52365eef76487",
|
|
"selectedRecordIds": [
|
|
"operator:GREASE_PENCIL_OT_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1340-001:OBJECT_DELETE_MACRO_BATCH:8ba52365eef76487",
|
|
"selectedRecordIds": [
|
|
"operator:GREASE_PENCIL_OT_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/grease_pencil/intern/grease_pencil_edit.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GREASE_PENCIL_OT_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1340-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1340-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:GREASE_PENCIL_OT_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1340-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:GREASE_PENCIL_OT_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1341-000",
|
|
"phase": "1341",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1340-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1341",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1341-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1341-001",
|
|
"phase": "1341",
|
|
"title": "verify GREASE_PENCIL_OT_delete_breakdown through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1341-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1341-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1341-001:OBJECT_DELETE_MACRO_BATCH:8fc79b26bd0d5694",
|
|
"selectedRecordIds": [
|
|
"operator:GREASE_PENCIL_OT_delete_breakdown"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1341-001:OBJECT_DELETE_MACRO_BATCH:8fc79b26bd0d5694",
|
|
"selectedRecordIds": [
|
|
"operator:GREASE_PENCIL_OT_delete_breakdown"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/grease_pencil/intern/grease_pencil_frames.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GREASE_PENCIL_OT_delete_breakdown 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1341-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1341-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:GREASE_PENCIL_OT_delete_breakdown\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1341-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:GREASE_PENCIL_OT_delete_breakdown"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1342-000",
|
|
"phase": "1342",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1341-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1342",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1342-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1342-001",
|
|
"phase": "1342",
|
|
"title": "verify GREASE_PENCIL_OT_delete_frame through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1342-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1342-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1342-001:OBJECT_DELETE_MACRO_BATCH:78ddf544eb4d6df3",
|
|
"selectedRecordIds": [
|
|
"operator:GREASE_PENCIL_OT_delete_frame"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1342-001:OBJECT_DELETE_MACRO_BATCH:78ddf544eb4d6df3",
|
|
"selectedRecordIds": [
|
|
"operator:GREASE_PENCIL_OT_delete_frame"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/grease_pencil/intern/grease_pencil_edit.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GREASE_PENCIL_OT_delete_frame 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1342-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1342-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:GREASE_PENCIL_OT_delete_frame\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1342-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:GREASE_PENCIL_OT_delete_frame"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1343-000",
|
|
"phase": "1343",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1342-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1343",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1343-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1343-001",
|
|
"phase": "1343",
|
|
"title": "verify INFO_OT_report_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1343-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1343-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1343-001:OBJECT_DELETE_MACRO_BATCH:e835c9fb99ff260b",
|
|
"selectedRecordIds": [
|
|
"operator:INFO_OT_report_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1343-001:OBJECT_DELETE_MACRO_BATCH:e835c9fb99ff260b",
|
|
"selectedRecordIds": [
|
|
"operator:INFO_OT_report_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_info/space_info.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"INFO_OT_report_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1343-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1343-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:INFO_OT_report_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1343-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:INFO_OT_report_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1344-000",
|
|
"phase": "1344",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1343-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1344",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1344-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1344-001",
|
|
"phase": "1344",
|
|
"title": "verify MARKER_OT_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1344-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1344-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1344-001:OBJECT_DELETE_MACRO_BATCH:1e84276bc178e89e",
|
|
"selectedRecordIds": [
|
|
"operator:MARKER_OT_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1344-001:OBJECT_DELETE_MACRO_BATCH:1e84276bc178e89e",
|
|
"selectedRecordIds": [
|
|
"operator:MARKER_OT_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/animation/anim_markers.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MARKER_OT_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1344-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1344-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:MARKER_OT_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1344-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:MARKER_OT_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1345-000",
|
|
"phase": "1345",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1344-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1345",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1345-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1345-001",
|
|
"phase": "1345",
|
|
"title": "verify MASK_OT_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1345-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1345-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1345-001:OBJECT_DELETE_MACRO_BATCH:21824a30cf73822f",
|
|
"selectedRecordIds": [
|
|
"operator:MASK_OT_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1345-001:OBJECT_DELETE_MACRO_BATCH:21824a30cf73822f",
|
|
"selectedRecordIds": [
|
|
"operator:MASK_OT_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mask/mask_edit.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MASK_OT_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1345-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1345-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:MASK_OT_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1345-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:MASK_OT_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1346-000",
|
|
"phase": "1346",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1345-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1346",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1346-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1346-001",
|
|
"phase": "1346",
|
|
"title": "verify MBALL_OT_delete_metaelems through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1346-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1346-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1346-001:OBJECT_DELETE_MACRO_BATCH:51c6038df857be73",
|
|
"selectedRecordIds": [
|
|
"operator:MBALL_OT_delete_metaelems"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1346-001:OBJECT_DELETE_MACRO_BATCH:51c6038df857be73",
|
|
"selectedRecordIds": [
|
|
"operator:MBALL_OT_delete_metaelems"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/metaball/mball_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MBALL_OT_delete_metaelems 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1346-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1346-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:MBALL_OT_delete_metaelems\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1346-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:MBALL_OT_delete_metaelems"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1347-000",
|
|
"phase": "1347",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1346-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1347",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1347-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1347-001",
|
|
"phase": "1347",
|
|
"title": "verify MESH_OT_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1347-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1347-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1347-001:OBJECT_DELETE_MACRO_BATCH:160eb42931ab4cb9",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1347-001:OBJECT_DELETE_MACRO_BATCH:160eb42931ab4cb9",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1347-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1347-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:MESH_OT_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1347-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:MESH_OT_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1348-000",
|
|
"phase": "1348",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1347-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1348",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1348-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1348-001",
|
|
"phase": "1348",
|
|
"title": "verify MESH_OT_delete_edgeloop through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1348-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1348-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1348-001:OBJECT_DELETE_MACRO_BATCH:30939d7ebb7aef1e",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_delete_edgeloop"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1348-001:OBJECT_DELETE_MACRO_BATCH:30939d7ebb7aef1e",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_delete_edgeloop"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_delete_edgeloop 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1348-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1348-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:MESH_OT_delete_edgeloop\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1348-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:MESH_OT_delete_edgeloop"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1349-000",
|
|
"phase": "1349",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1348-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1349",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1349-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1349-001",
|
|
"phase": "1349",
|
|
"title": "verify MESH_OT_delete_loose through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1349-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1349-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1349-001:OBJECT_DELETE_MACRO_BATCH:d3ebfcd44987d033",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_delete_loose"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1349-001:OBJECT_DELETE_MACRO_BATCH:d3ebfcd44987d033",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_delete_loose"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_delete_loose 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1349-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1349-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:MESH_OT_delete_loose\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1349-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:MESH_OT_delete_loose"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1350-000",
|
|
"phase": "1350",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1349-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1350",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1350-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1350-001",
|
|
"phase": "1350",
|
|
"title": "verify MESH_OT_polybuild_delete_at_cursor through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1350-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1350-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1350-001:OBJECT_DELETE_MACRO_BATCH:cb1053d26cafd659",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_polybuild_delete_at_cursor"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1350-001:OBJECT_DELETE_MACRO_BATCH:cb1053d26cafd659",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_polybuild_delete_at_cursor"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_polybuild_delete_at_cursor 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1350-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1350-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:MESH_OT_polybuild_delete_at_cursor\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1350-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:MESH_OT_polybuild_delete_at_cursor"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1351-000",
|
|
"phase": "1351",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1350-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1351",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1351-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1351-001",
|
|
"phase": "1351",
|
|
"title": "verify NLA_OT_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1351-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1351-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1351-001:OBJECT_DELETE_MACRO_BATCH:4d3e5ad86af478ad",
|
|
"selectedRecordIds": [
|
|
"operator:NLA_OT_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1351-001:OBJECT_DELETE_MACRO_BATCH:4d3e5ad86af478ad",
|
|
"selectedRecordIds": [
|
|
"operator:NLA_OT_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_nla/nla_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"NLA_OT_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1351-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1351-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:NLA_OT_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1351-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:NLA_OT_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1352-000",
|
|
"phase": "1352",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1351-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1352",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1352-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1352-001",
|
|
"phase": "1352",
|
|
"title": "verify NLA_OT_tracks_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1352-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1352-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1352-001:OBJECT_DELETE_MACRO_BATCH:c4c76a25367bc8a0",
|
|
"selectedRecordIds": [
|
|
"operator:NLA_OT_tracks_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1352-001:OBJECT_DELETE_MACRO_BATCH:c4c76a25367bc8a0",
|
|
"selectedRecordIds": [
|
|
"operator:NLA_OT_tracks_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_nla/nla_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"NLA_OT_tracks_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1352-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1352-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:NLA_OT_tracks_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1352-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:NLA_OT_tracks_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1353-000",
|
|
"phase": "1353",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1352-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1353",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1353-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1353-001",
|
|
"phase": "1353",
|
|
"title": "verify NODE_OT_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1353-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1353-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1353-001:OBJECT_DELETE_MACRO_BATCH:6259c20cbf6abe09",
|
|
"selectedRecordIds": [
|
|
"operator:NODE_OT_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1353-001:OBJECT_DELETE_MACRO_BATCH:6259c20cbf6abe09",
|
|
"selectedRecordIds": [
|
|
"operator:NODE_OT_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_node/node_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"NODE_OT_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1353-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1353-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:NODE_OT_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1353-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:NODE_OT_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1354-000",
|
|
"phase": "1354",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1353-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1354",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1354-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1354-001",
|
|
"phase": "1354",
|
|
"title": "verify NODE_OT_delete_reconnect through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1354-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1354-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1354-001:OBJECT_DELETE_MACRO_BATCH:595ee7ff4fe3957a",
|
|
"selectedRecordIds": [
|
|
"operator:NODE_OT_delete_reconnect"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1354-001:OBJECT_DELETE_MACRO_BATCH:595ee7ff4fe3957a",
|
|
"selectedRecordIds": [
|
|
"operator:NODE_OT_delete_reconnect"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_node/node_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"NODE_OT_delete_reconnect 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1354-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1354-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:NODE_OT_delete_reconnect\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1354-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:NODE_OT_delete_reconnect"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1355-000",
|
|
"phase": "1355",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1354-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1355",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1355-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1355-001",
|
|
"phase": "1355",
|
|
"title": "verify OBJECT_OT_multires_higher_levels_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1355-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1355-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1355-001:OBJECT_DELETE_MACRO_BATCH:0a25ac0a68c3df08",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_multires_higher_levels_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1355-001:OBJECT_DELETE_MACRO_BATCH:0a25ac0a68c3df08",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_multires_higher_levels_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"OBJECT_OT_multires_higher_levels_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1355-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1355-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:OBJECT_OT_multires_higher_levels_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1355-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:OBJECT_OT_multires_higher_levels_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1356-000",
|
|
"phase": "1356",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1355-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1356",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1356-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1356-001",
|
|
"phase": "1356",
|
|
"title": "verify OBJECT_OT_vertex_weight_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1356-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1356-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1356-001:OBJECT_DELETE_MACRO_BATCH:58d1e68d18fa7298",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_vertex_weight_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1356-001:OBJECT_DELETE_MACRO_BATCH:58d1e68d18fa7298",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_vertex_weight_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"OBJECT_OT_vertex_weight_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1356-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1356-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:OBJECT_OT_vertex_weight_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1356-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:OBJECT_OT_vertex_weight_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1357-000",
|
|
"phase": "1357",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1356-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1357",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1357-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1357-001",
|
|
"phase": "1357",
|
|
"title": "verify OUTLINER_OT_collection_hierarchy_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1357-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1357-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1357-001:OBJECT_DELETE_MACRO_BATCH:319b632d890ad5b8",
|
|
"selectedRecordIds": [
|
|
"operator:OUTLINER_OT_collection_hierarchy_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1357-001:OBJECT_DELETE_MACRO_BATCH:319b632d890ad5b8",
|
|
"selectedRecordIds": [
|
|
"operator:OUTLINER_OT_collection_hierarchy_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_outliner/outliner_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"OUTLINER_OT_collection_hierarchy_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1357-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1357-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:OUTLINER_OT_collection_hierarchy_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1357-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:OUTLINER_OT_collection_hierarchy_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1358-000",
|
|
"phase": "1358",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1357-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1358",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1358-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1358-001",
|
|
"phase": "1358",
|
|
"title": "verify OUTLINER_OT_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1358-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1358-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1358-001:OBJECT_DELETE_MACRO_BATCH:8eea095aaa160fe0",
|
|
"selectedRecordIds": [
|
|
"operator:OUTLINER_OT_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1358-001:OBJECT_DELETE_MACRO_BATCH:8eea095aaa160fe0",
|
|
"selectedRecordIds": [
|
|
"operator:OUTLINER_OT_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_outliner/outliner_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"OUTLINER_OT_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1358-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1358-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:OUTLINER_OT_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1358-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:OUTLINER_OT_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1359-000",
|
|
"phase": "1359",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1358-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1359",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1359-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1359-001",
|
|
"phase": "1359",
|
|
"title": "verify OUTLINER_OT_drivers_delete_selected through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1359-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1359-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1359-001:OBJECT_DELETE_MACRO_BATCH:908ab62518cec5da",
|
|
"selectedRecordIds": [
|
|
"operator:OUTLINER_OT_drivers_delete_selected"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1359-001:OBJECT_DELETE_MACRO_BATCH:908ab62518cec5da",
|
|
"selectedRecordIds": [
|
|
"operator:OUTLINER_OT_drivers_delete_selected"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_outliner/outliner_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"OUTLINER_OT_drivers_delete_selected 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1359-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1359-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:OUTLINER_OT_drivers_delete_selected\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1359-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:OUTLINER_OT_drivers_delete_selected"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1360-000",
|
|
"phase": "1360",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1359-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1360",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1360-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1360-001",
|
|
"phase": "1360",
|
|
"title": "verify OUTLINER_OT_id_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1360-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1360-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1360-001:OBJECT_DELETE_MACRO_BATCH:7bc967b84721925c",
|
|
"selectedRecordIds": [
|
|
"operator:OUTLINER_OT_id_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1360-001:OBJECT_DELETE_MACRO_BATCH:7bc967b84721925c",
|
|
"selectedRecordIds": [
|
|
"operator:OUTLINER_OT_id_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_outliner/outliner_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"OUTLINER_OT_id_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1360-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1360-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:OUTLINER_OT_id_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1360-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:OUTLINER_OT_id_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1361-000",
|
|
"phase": "1361",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1360-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1361",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1361-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1361-001",
|
|
"phase": "1361",
|
|
"title": "verify PAINTCURVE_OT_delete_point through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1361-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1361-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1361-001:OBJECT_DELETE_MACRO_BATCH:c7e7ef2c01712236",
|
|
"selectedRecordIds": [
|
|
"operator:PAINTCURVE_OT_delete_point"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1361-001:OBJECT_DELETE_MACRO_BATCH:c7e7ef2c01712236",
|
|
"selectedRecordIds": [
|
|
"operator:PAINTCURVE_OT_delete_point"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/sculpt_paint/paint_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"PAINTCURVE_OT_delete_point 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1361-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1361-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:PAINTCURVE_OT_delete_point\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1361-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:PAINTCURVE_OT_delete_point"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1362-000",
|
|
"phase": "1362",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1361-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1362",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1362-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1362-001",
|
|
"phase": "1362",
|
|
"title": "verify PALETTE_OT_color_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1362-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1362-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1362-001:OBJECT_DELETE_MACRO_BATCH:fa9f28b4ef15542b",
|
|
"selectedRecordIds": [
|
|
"operator:PALETTE_OT_color_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1362-001:OBJECT_DELETE_MACRO_BATCH:fa9f28b4ef15542b",
|
|
"selectedRecordIds": [
|
|
"operator:PALETTE_OT_color_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/sculpt_paint/paint_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"PALETTE_OT_color_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1362-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1362-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:PALETTE_OT_color_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1362-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:PALETTE_OT_color_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1363-000",
|
|
"phase": "1363",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1362-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1363",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1363-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1363-001",
|
|
"phase": "1363",
|
|
"title": "verify PARTICLE_OT_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1363-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1363-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1363-001:OBJECT_DELETE_MACRO_BATCH:fa927874e02d6a86",
|
|
"selectedRecordIds": [
|
|
"operator:PARTICLE_OT_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1363-001:OBJECT_DELETE_MACRO_BATCH:fa927874e02d6a86",
|
|
"selectedRecordIds": [
|
|
"operator:PARTICLE_OT_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/physics/physics_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"PARTICLE_OT_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1363-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1363-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:PARTICLE_OT_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1363-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:PARTICLE_OT_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1364-000",
|
|
"phase": "1364",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1363-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1364",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1364-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1364-001",
|
|
"phase": "1364",
|
|
"title": "verify POINTCLOUD_OT_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1364-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1364-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1364-001:OBJECT_DELETE_MACRO_BATCH:045288d2c691a502",
|
|
"selectedRecordIds": [
|
|
"operator:POINTCLOUD_OT_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1364-001:OBJECT_DELETE_MACRO_BATCH:045288d2c691a502",
|
|
"selectedRecordIds": [
|
|
"operator:POINTCLOUD_OT_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/pointcloud/intern/operators.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"POINTCLOUD_OT_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1364-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1364-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:POINTCLOUD_OT_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1364-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:POINTCLOUD_OT_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1365-000",
|
|
"phase": "1365",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1364-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1365",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1365-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1365-001",
|
|
"phase": "1365",
|
|
"title": "verify SCENE_OT_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1365-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1365-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1365-001:OBJECT_DELETE_MACRO_BATCH:1d404190e2359326",
|
|
"selectedRecordIds": [
|
|
"operator:SCENE_OT_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1365-001:OBJECT_DELETE_MACRO_BATCH:1d404190e2359326",
|
|
"selectedRecordIds": [
|
|
"operator:SCENE_OT_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/scene/scene_edit.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"SCENE_OT_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1365-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1365-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:SCENE_OT_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1365-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:SCENE_OT_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1366-000",
|
|
"phase": "1366",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1365-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1366",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1366-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1366-001",
|
|
"phase": "1366",
|
|
"title": "verify SCREEN_OT_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1366-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1366-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1366-001:OBJECT_DELETE_MACRO_BATCH:33e239df6953f6be",
|
|
"selectedRecordIds": [
|
|
"operator:SCREEN_OT_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1366-001:OBJECT_DELETE_MACRO_BATCH:33e239df6953f6be",
|
|
"selectedRecordIds": [
|
|
"operator:SCREEN_OT_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/screen/screen_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"SCREEN_OT_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1366-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1366-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:SCREEN_OT_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1366-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:SCREEN_OT_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1367-000",
|
|
"phase": "1367",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1366-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1367",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1367-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1367-001",
|
|
"phase": "1367",
|
|
"title": "verify SEQUENCER_OT_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1367-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1367-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1367-001:OBJECT_DELETE_MACRO_BATCH:03b04f041e841582",
|
|
"selectedRecordIds": [
|
|
"operator:SEQUENCER_OT_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1367-001:OBJECT_DELETE_MACRO_BATCH:03b04f041e841582",
|
|
"selectedRecordIds": [
|
|
"operator:SEQUENCER_OT_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_sequencer/sequencer_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"SEQUENCER_OT_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1367-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1367-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:SEQUENCER_OT_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1367-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:SEQUENCER_OT_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1368-000",
|
|
"phase": "1368",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1367-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1368",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1368-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1368-001",
|
|
"phase": "1368",
|
|
"title": "verify SEQUENCER_OT_retiming_key_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1368-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1368-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1368-001:OBJECT_DELETE_MACRO_BATCH:c4a082a5c144969b",
|
|
"selectedRecordIds": [
|
|
"operator:SEQUENCER_OT_retiming_key_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1368-001:OBJECT_DELETE_MACRO_BATCH:c4a082a5c144969b",
|
|
"selectedRecordIds": [
|
|
"operator:SEQUENCER_OT_retiming_key_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_sequencer/sequencer_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"SEQUENCER_OT_retiming_key_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1368-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1368-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:SEQUENCER_OT_retiming_key_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1368-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:SEQUENCER_OT_retiming_key_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1369-000",
|
|
"phase": "1369",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1368-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1369",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1369-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1369-001",
|
|
"phase": "1369",
|
|
"title": "verify SEQUENCER_OT_text_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1369-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1369-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1369-001:OBJECT_DELETE_MACRO_BATCH:7996b0c83f4d0b2c",
|
|
"selectedRecordIds": [
|
|
"operator:SEQUENCER_OT_text_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1369-001:OBJECT_DELETE_MACRO_BATCH:7996b0c83f4d0b2c",
|
|
"selectedRecordIds": [
|
|
"operator:SEQUENCER_OT_text_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_sequencer/sequencer_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"SEQUENCER_OT_text_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1369-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1369-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:SEQUENCER_OT_text_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1369-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:SEQUENCER_OT_text_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1370-000",
|
|
"phase": "1370",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1369-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1370",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1370-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1370-001",
|
|
"phase": "1370",
|
|
"title": "verify TEXT_OT_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1370-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1370-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1370-001:OBJECT_DELETE_MACRO_BATCH:6e92825d5e16d565",
|
|
"selectedRecordIds": [
|
|
"operator:TEXT_OT_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1370-001:OBJECT_DELETE_MACRO_BATCH:6e92825d5e16d565",
|
|
"selectedRecordIds": [
|
|
"operator:TEXT_OT_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_text/space_text.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"TEXT_OT_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1370-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1370-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:TEXT_OT_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1370-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:TEXT_OT_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1371-000",
|
|
"phase": "1371",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1370-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1371",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1371-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1371-001",
|
|
"phase": "1371",
|
|
"title": "verify TRANSFORM_OT_delete_orientation through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1371-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1371-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1371-001:OBJECT_DELETE_MACRO_BATCH:5eecba0f0cd1d45e",
|
|
"selectedRecordIds": [
|
|
"operator:TRANSFORM_OT_delete_orientation"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1371-001:OBJECT_DELETE_MACRO_BATCH:5eecba0f0cd1d45e",
|
|
"selectedRecordIds": [
|
|
"operator:TRANSFORM_OT_delete_orientation"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/transform/transform_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"TRANSFORM_OT_delete_orientation 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1371-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1371-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:TRANSFORM_OT_delete_orientation\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1371-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:TRANSFORM_OT_delete_orientation"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1372-000",
|
|
"phase": "1372",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1371-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1372",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1372-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1372-001",
|
|
"phase": "1372",
|
|
"title": "verify UI_OT_view_item_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1372-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1372-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1372-001:OBJECT_DELETE_MACRO_BATCH:95dbea0c5998184a",
|
|
"selectedRecordIds": [
|
|
"operator:UI_OT_view_item_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1372-001:OBJECT_DELETE_MACRO_BATCH:95dbea0c5998184a",
|
|
"selectedRecordIds": [
|
|
"operator:UI_OT_view_item_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/interface/interface_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"UI_OT_view_item_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1372-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1372-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:UI_OT_view_item_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1372-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:UI_OT_view_item_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1373-000",
|
|
"phase": "1373",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1372-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1373",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1373-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1373-001",
|
|
"phase": "1373",
|
|
"title": "verify WORKSPACE_OT_delete through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1373-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1373-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1373-001:OBJECT_DELETE_MACRO_BATCH:8816424e5aaf5621",
|
|
"selectedRecordIds": [
|
|
"operator:WORKSPACE_OT_delete"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1373-001:OBJECT_DELETE_MACRO_BATCH:8816424e5aaf5621",
|
|
"selectedRecordIds": [
|
|
"operator:WORKSPACE_OT_delete"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/screen/workspace_edit.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"WORKSPACE_OT_delete 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1373-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1373-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:WORKSPACE_OT_delete\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1373-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:WORKSPACE_OT_delete"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1374-000",
|
|
"phase": "1374",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1373-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1374",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1374-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1374-001",
|
|
"phase": "1374",
|
|
"title": "verify WORKSPACE_OT_delete_all_others through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1374-000"
|
|
],
|
|
"parityId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_delete_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1374-001.md",
|
|
"behavior": "Verify the OBJECT_DELETE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1374-001:OBJECT_DELETE_MACRO_BATCH:6a6a6def269e362e",
|
|
"selectedRecordIds": [
|
|
"operator:WORKSPACE_OT_delete_all_others"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_DELETE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1374-001:OBJECT_DELETE_MACRO_BATCH:6a6a6def269e362e",
|
|
"selectedRecordIds": [
|
|
"operator:WORKSPACE_OT_delete_all_others"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_DELETE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/screen/workspace_edit.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-delete-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"WORKSPACE_OT_delete_all_others 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1374-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1374-001/object-delete-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:WORKSPACE_OT_delete_all_others\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-delete-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1374-001/object-delete-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:WORKSPACE_OT_delete_all_others"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1375-000",
|
|
"phase": "1375",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1374-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1375",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1375-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1375-001",
|
|
"phase": "1375",
|
|
"title": "verify MASK_OT_hide_view_clear through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1375-000"
|
|
],
|
|
"parityId": "OBJECT_VISIBILITY_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_visibility_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1375-001.md",
|
|
"behavior": "Verify the OBJECT_VISIBILITY_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1375-001:OBJECT_VISIBILITY_MACRO_BATCH:bdd1647034295380",
|
|
"selectedRecordIds": [
|
|
"operator:MASK_OT_hide_view_clear"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_VISIBILITY_MACRO_BATCH",
|
|
"batchId": "WBV2-P1375-001:OBJECT_VISIBILITY_MACRO_BATCH:bdd1647034295380",
|
|
"selectedRecordIds": [
|
|
"operator:MASK_OT_hide_view_clear"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_VISIBILITY_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_VISIBILITY_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_VISIBILITY_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mask/mask_edit.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-visibility-clear-batch-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-002-OBJECT.TRANSFORM_HIERARCHY.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MASK_OT_hide_view_clear 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1375-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1375-001/object-visibility-clear-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-002-OBJECT.TRANSFORM_HIERARCHY.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:MASK_OT_hide_view_clear\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-visibility-clear-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1375-001/object-visibility-clear-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:MASK_OT_hide_view_clear"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1376-000",
|
|
"phase": "1376",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1375-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1376",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1376-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1376-001",
|
|
"phase": "1376",
|
|
"title": "verify MASK_OT_hide_view_set through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1376-000"
|
|
],
|
|
"parityId": "OBJECT_VISIBILITY_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_visibility_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1376-001.md",
|
|
"behavior": "Verify the OBJECT_VISIBILITY_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1376-001:OBJECT_VISIBILITY_MACRO_BATCH:6d311893dd3a298c",
|
|
"selectedRecordIds": [
|
|
"operator:MASK_OT_hide_view_set"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_VISIBILITY_MACRO_BATCH",
|
|
"batchId": "WBV2-P1376-001:OBJECT_VISIBILITY_MACRO_BATCH:6d311893dd3a298c",
|
|
"selectedRecordIds": [
|
|
"operator:MASK_OT_hide_view_set"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_VISIBILITY_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_VISIBILITY_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_VISIBILITY_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mask/mask_edit.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-visibility-clear-batch-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-002-OBJECT.TRANSFORM_HIERARCHY.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MASK_OT_hide_view_set 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1376-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1376-001/object-visibility-clear-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-002-OBJECT.TRANSFORM_HIERARCHY.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:MASK_OT_hide_view_set\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-visibility-clear-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1376-001/object-visibility-clear-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:MASK_OT_hide_view_set"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1377-000",
|
|
"phase": "1377",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1376-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1377",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1377-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1377-001",
|
|
"phase": "1377",
|
|
"title": "verify POSE_OT_scale_clear through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1377-000"
|
|
],
|
|
"parityId": "OBJECT_SCALE_CLEAR_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_scale_clear_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1377-001.md",
|
|
"behavior": "Verify the OBJECT_SCALE_CLEAR_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1377-001:OBJECT_SCALE_CLEAR_MACRO_BATCH:21ee71209f57696a",
|
|
"selectedRecordIds": [
|
|
"operator:POSE_OT_scale_clear"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_SCALE_CLEAR_MACRO_BATCH",
|
|
"batchId": "WBV2-P1377-001:OBJECT_SCALE_CLEAR_MACRO_BATCH:21ee71209f57696a",
|
|
"selectedRecordIds": [
|
|
"operator:POSE_OT_scale_clear"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_SCALE_CLEAR_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_SCALE_CLEAR_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_SCALE_CLEAR_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/armature/armature_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-transform-clear-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"POSE_OT_scale_clear 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1377-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1377-001/object-transform-clear-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_OPERATION=SCALE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:POSE_OT_scale_clear\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-transform-clear-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1377-001/object-transform-clear-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:POSE_OT_scale_clear"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1378-000",
|
|
"phase": "1378",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1377-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1378",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1378-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1378-001",
|
|
"phase": "1378",
|
|
"title": "verify OBJECT_OT_visual_transform_apply through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1378-000"
|
|
],
|
|
"parityId": "OBJECT_TRANSFORM_APPLY_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_transform_apply_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1378-001.md",
|
|
"behavior": "Verify the OBJECT_TRANSFORM_APPLY_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1378-001:OBJECT_TRANSFORM_APPLY_MACRO_BATCH:2b4f92dbb7cd4491",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_visual_transform_apply"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_TRANSFORM_APPLY_MACRO_BATCH",
|
|
"batchId": "WBV2-P1378-001:OBJECT_TRANSFORM_APPLY_MACRO_BATCH:2b4f92dbb7cd4491",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_visual_transform_apply"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_TRANSFORM_APPLY_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_TRANSFORM_APPLY_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_TRANSFORM_APPLY_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-transform-apply-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"OBJECT_OT_visual_transform_apply 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1378-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1378-001/object-transform-apply-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:OBJECT_OT_visual_transform_apply\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-transform-apply-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1378-001/object-transform-apply-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:OBJECT_OT_visual_transform_apply"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1379-000",
|
|
"phase": "1379",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1378-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1379",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1379-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1379-001",
|
|
"phase": "1379",
|
|
"title": "verify POSE_OT_visual_transform_apply through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1379-000"
|
|
],
|
|
"parityId": "OBJECT_TRANSFORM_APPLY_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_transform_apply_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1379-001.md",
|
|
"behavior": "Verify the OBJECT_TRANSFORM_APPLY_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1379-001:OBJECT_TRANSFORM_APPLY_MACRO_BATCH:bfe7daa60be2d712",
|
|
"selectedRecordIds": [
|
|
"operator:POSE_OT_visual_transform_apply"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_TRANSFORM_APPLY_MACRO_BATCH",
|
|
"batchId": "WBV2-P1379-001:OBJECT_TRANSFORM_APPLY_MACRO_BATCH:bfe7daa60be2d712",
|
|
"selectedRecordIds": [
|
|
"operator:POSE_OT_visual_transform_apply"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_TRANSFORM_APPLY_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_TRANSFORM_APPLY_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_TRANSFORM_APPLY_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/armature/armature_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-transform-apply-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"POSE_OT_visual_transform_apply 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1379-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1379-001/object-transform-apply-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:POSE_OT_visual_transform_apply\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-transform-apply-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1379-001/object-transform-apply-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:POSE_OT_visual_transform_apply"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1380-000",
|
|
"phase": "1380",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1379-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1380",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1380-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1380-001",
|
|
"phase": "1380",
|
|
"title": "verify ARMATURE_OT_move_to_collection through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1380-000"
|
|
],
|
|
"parityId": "OBJECT_MOVE_COLLECTION_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_move_collection_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1380-001.md",
|
|
"behavior": "Verify the OBJECT_MOVE_COLLECTION_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1380-001:OBJECT_MOVE_COLLECTION_MACRO_BATCH:77f44b047d1a88c1",
|
|
"selectedRecordIds": [
|
|
"operator:ARMATURE_OT_move_to_collection"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_MOVE_COLLECTION_MACRO_BATCH",
|
|
"batchId": "WBV2-P1380-001:OBJECT_MOVE_COLLECTION_MACRO_BATCH:77f44b047d1a88c1",
|
|
"selectedRecordIds": [
|
|
"operator:ARMATURE_OT_move_to_collection"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_MOVE_COLLECTION_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_MOVE_COLLECTION_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_MOVE_COLLECTION_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/armature/armature_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-move-batch-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P24-001-OBJECT_OPERATIONS.MOVE_COLLECTION.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ARMATURE_OT_move_to_collection 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1380-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1380-001/object-move-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P24-001-OBJECT_OPERATIONS.MOVE_COLLECTION.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:ARMATURE_OT_move_to_collection\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-move-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1380-001/object-move-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:ARMATURE_OT_move_to_collection"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1381-000",
|
|
"phase": "1381",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1380-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1381",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1381-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1381-001",
|
|
"phase": "1381",
|
|
"title": "verify ARMATURE_OT_parent_set through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1381-000"
|
|
],
|
|
"parityId": "OBJECT_PARENT_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_parent_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1381-001.md",
|
|
"behavior": "Verify the OBJECT_PARENT_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1381-001:OBJECT_PARENT_MACRO_BATCH:ec5938153f1e588a",
|
|
"selectedRecordIds": [
|
|
"operator:ARMATURE_OT_parent_set"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_PARENT_MACRO_BATCH",
|
|
"batchId": "WBV2-P1381-001:OBJECT_PARENT_MACRO_BATCH:ec5938153f1e588a",
|
|
"selectedRecordIds": [
|
|
"operator:ARMATURE_OT_parent_set"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_PARENT_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_PARENT_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_PARENT_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/armature/armature_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-parent-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ARMATURE_OT_parent_set 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1381-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1381-001/object-parent-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:ARMATURE_OT_parent_set\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-parent-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1381-001/object-parent-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:ARMATURE_OT_parent_set"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1382-000",
|
|
"phase": "1382",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1381-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1382",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1382-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1382-001",
|
|
"phase": "1382",
|
|
"title": "verify MASK_OT_parent_set through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1382-000"
|
|
],
|
|
"parityId": "OBJECT_PARENT_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_parent_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1382-001.md",
|
|
"behavior": "Verify the OBJECT_PARENT_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1382-001:OBJECT_PARENT_MACRO_BATCH:0447b9fb7a8b8660",
|
|
"selectedRecordIds": [
|
|
"operator:MASK_OT_parent_set"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_PARENT_MACRO_BATCH",
|
|
"batchId": "WBV2-P1382-001:OBJECT_PARENT_MACRO_BATCH:0447b9fb7a8b8660",
|
|
"selectedRecordIds": [
|
|
"operator:MASK_OT_parent_set"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_PARENT_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_PARENT_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_PARENT_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mask/mask_edit.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-parent-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MASK_OT_parent_set 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1382-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1382-001/object-parent-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:MASK_OT_parent_set\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-parent-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1382-001/object-parent-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:MASK_OT_parent_set"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1383-000",
|
|
"phase": "1383",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1382-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1383",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1383-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1383-001",
|
|
"phase": "1383",
|
|
"title": "verify NODE_OT_parent_set through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1383-000"
|
|
],
|
|
"parityId": "OBJECT_PARENT_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_parent_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1383-001.md",
|
|
"behavior": "Verify the OBJECT_PARENT_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1383-001:OBJECT_PARENT_MACRO_BATCH:69a30bf3585d78b1",
|
|
"selectedRecordIds": [
|
|
"operator:NODE_OT_parent_set"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_PARENT_MACRO_BATCH",
|
|
"batchId": "WBV2-P1383-001:OBJECT_PARENT_MACRO_BATCH:69a30bf3585d78b1",
|
|
"selectedRecordIds": [
|
|
"operator:NODE_OT_parent_set"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_PARENT_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_PARENT_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_PARENT_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/space_node/node_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-parent-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"NODE_OT_parent_set 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1383-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1383-001/object-parent-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:NODE_OT_parent_set\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-parent-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1383-001/object-parent-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:NODE_OT_parent_set"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1384-000",
|
|
"phase": "1384",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1383-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1384",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1384-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1384-001",
|
|
"phase": "1384",
|
|
"title": "verify OBJECT_OT_vertex_parent_set through existing native gate",
|
|
"kind": "module",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P1384-000"
|
|
],
|
|
"parityId": "OBJECT_PARENT_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-object_parent_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1384-001.md",
|
|
"behavior": "Verify the OBJECT_PARENT_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1384-001:OBJECT_PARENT_MACRO_BATCH:2f567b446f4dbed0",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_vertex_parent_set"
|
|
],
|
|
"module": {
|
|
"moduleId": "OBJECT_PARENT_MACRO_BATCH",
|
|
"batchId": "WBV2-P1384-001:OBJECT_PARENT_MACRO_BATCH:2f567b446f4dbed0",
|
|
"selectedRecordIds": [
|
|
"operator:OBJECT_OT_vertex_parent_set"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-OBJECT_PARENT_MACRO_BATCH-READER",
|
|
"CAP-OBJECT_PARENT_MACRO_BATCH-RECOVERY",
|
|
"CAP-OBJECT_PARENT_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/object/object_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-object-parent-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"OBJECT_OT_vertex_parent_set 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1384-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1384-001/object-parent-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:OBJECT_OT_vertex_parent_set\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-object-parent-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1384-001/object-parent-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:OBJECT_OT_vertex_parent_set"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1385-000",
|
|
"phase": "1385",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1384-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1385",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1385-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1385-001",
|
|
"phase": "1385",
|
|
"title": "verify MESH_OT_primitive_cube_add_gizmo through existing native gate",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1385-000"
|
|
],
|
|
"parityId": "MESH_PRIMITIVE_CUBE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_primitive_cube_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1385-001.md",
|
|
"behavior": "Verify the MESH_PRIMITIVE_CUBE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1385-001:MESH_PRIMITIVE_CUBE_MACRO_BATCH:d09d80f7c1b52bfe",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_primitive_cube_add_gizmo"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_PRIMITIVE_CUBE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1385-001:MESH_PRIMITIVE_CUBE_MACRO_BATCH:d09d80f7c1b52bfe",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_primitive_cube_add_gizmo"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_PRIMITIVE_CUBE_MACRO_BATCH-READER",
|
|
"CAP-MESH_PRIMITIVE_CUBE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_PRIMITIVE_CUBE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-primitive-cube-batch-production.spec.ts",
|
|
"tests/files/web/basic_scene.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_primitive_cube_add_gizmo 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1385-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1385-001/primitive-cube-production.json WBV2_BATCH_FIXTURE=tests/files/web/basic_scene.blend WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:MESH_OT_primitive_cube_add_gizmo\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-primitive-cube-batch-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1385-001/primitive-cube-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:MESH_OT_primitive_cube_add_gizmo"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1386-000",
|
|
"phase": "1386",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1385-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1386",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1386-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1386-001",
|
|
"phase": "1386",
|
|
"title": "verify ARMATURE_OT_extrude_forked through existing native gate",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1386-000"
|
|
],
|
|
"parityId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_extrude_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1386-001.md",
|
|
"behavior": "Verify the MESH_EXTRUDE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1386-001:MESH_EXTRUDE_MACRO_BATCH:5d88ca9ee68a105c",
|
|
"selectedRecordIds": [
|
|
"operator-macro:ARMATURE_OT_extrude_forked"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1386-001:MESH_EXTRUDE_MACRO_BATCH:5d88ca9ee68a105c",
|
|
"selectedRecordIds": [
|
|
"operator-macro:ARMATURE_OT_extrude_forked"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/armature/armature_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ARMATURE_OT_extrude_forked 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1386-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1386-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=EXTRUDE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:ARMATURE_OT_extrude_forked\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1386-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:ARMATURE_OT_extrude_forked"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1387-000",
|
|
"phase": "1387",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1386-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1387",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1387-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1387-001",
|
|
"phase": "1387",
|
|
"title": "verify ARMATURE_OT_extrude_move through existing native gate",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1387-000"
|
|
],
|
|
"parityId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_extrude_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1387-001.md",
|
|
"behavior": "Verify the MESH_EXTRUDE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1387-001:MESH_EXTRUDE_MACRO_BATCH:68ffe5ba3508a8e3",
|
|
"selectedRecordIds": [
|
|
"operator-macro:ARMATURE_OT_extrude_move"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1387-001:MESH_EXTRUDE_MACRO_BATCH:68ffe5ba3508a8e3",
|
|
"selectedRecordIds": [
|
|
"operator-macro:ARMATURE_OT_extrude_move"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/armature/armature_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ARMATURE_OT_extrude_move 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1387-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1387-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=EXTRUDE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:ARMATURE_OT_extrude_move\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1387-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:ARMATURE_OT_extrude_move"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1388-000",
|
|
"phase": "1388",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1387-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1388",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1388-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1388-001",
|
|
"phase": "1388",
|
|
"title": "verify CURVES_OT_extrude_move through existing native gate",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1388-000"
|
|
],
|
|
"parityId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_extrude_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1388-001.md",
|
|
"behavior": "Verify the MESH_EXTRUDE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1388-001:MESH_EXTRUDE_MACRO_BATCH:82fe86cad6cb37a8",
|
|
"selectedRecordIds": [
|
|
"operator-macro:CURVES_OT_extrude_move"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1388-001:MESH_EXTRUDE_MACRO_BATCH:82fe86cad6cb37a8",
|
|
"selectedRecordIds": [
|
|
"operator-macro:CURVES_OT_extrude_move"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/curves/intern/curves_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"CURVES_OT_extrude_move 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1388-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1388-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=EXTRUDE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:CURVES_OT_extrude_move\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1388-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:CURVES_OT_extrude_move"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1389-000",
|
|
"phase": "1389",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1388-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1389",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1389-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1389-001",
|
|
"phase": "1389",
|
|
"title": "verify CURVE_OT_extrude_move through existing native gate",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1389-000"
|
|
],
|
|
"parityId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_extrude_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1389-001.md",
|
|
"behavior": "Verify the MESH_EXTRUDE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1389-001:MESH_EXTRUDE_MACRO_BATCH:4de5a8969932e8e9",
|
|
"selectedRecordIds": [
|
|
"operator-macro:CURVE_OT_extrude_move"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1389-001:MESH_EXTRUDE_MACRO_BATCH:4de5a8969932e8e9",
|
|
"selectedRecordIds": [
|
|
"operator-macro:CURVE_OT_extrude_move"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/curve/curve_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"CURVE_OT_extrude_move 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1389-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1389-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=EXTRUDE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:CURVE_OT_extrude_move\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1389-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:CURVE_OT_extrude_move"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1390-000",
|
|
"phase": "1390",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1389-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1390",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1390-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1390-001",
|
|
"phase": "1390",
|
|
"title": "verify GREASE_PENCIL_OT_extrude_move through existing native gate",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1390-000"
|
|
],
|
|
"parityId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_extrude_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1390-001.md",
|
|
"behavior": "Verify the MESH_EXTRUDE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1390-001:MESH_EXTRUDE_MACRO_BATCH:12bc92236398200b",
|
|
"selectedRecordIds": [
|
|
"operator-macro:GREASE_PENCIL_OT_extrude_move"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1390-001:MESH_EXTRUDE_MACRO_BATCH:12bc92236398200b",
|
|
"selectedRecordIds": [
|
|
"operator-macro:GREASE_PENCIL_OT_extrude_move"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/grease_pencil/intern/grease_pencil_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GREASE_PENCIL_OT_extrude_move 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1390-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1390-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=EXTRUDE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:GREASE_PENCIL_OT_extrude_move\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1390-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:GREASE_PENCIL_OT_extrude_move"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1391-000",
|
|
"phase": "1391",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1390-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1391",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1391-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1391-001",
|
|
"phase": "1391",
|
|
"title": "verify MESH_OT_extrude_context_move through existing native gate",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1391-000"
|
|
],
|
|
"parityId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_extrude_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1391-001.md",
|
|
"behavior": "Verify the MESH_EXTRUDE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1391-001:MESH_EXTRUDE_MACRO_BATCH:5f067119b196acc9",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MESH_OT_extrude_context_move"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1391-001:MESH_EXTRUDE_MACRO_BATCH:5f067119b196acc9",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MESH_OT_extrude_context_move"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_extrude_context_move 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1391-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1391-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=EXTRUDE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:MESH_OT_extrude_context_move\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1391-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:MESH_OT_extrude_context_move"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1392-000",
|
|
"phase": "1392",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1391-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1392",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1392-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1392-001",
|
|
"phase": "1392",
|
|
"title": "verify MESH_OT_extrude_edges_move through existing native gate",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1392-000"
|
|
],
|
|
"parityId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_extrude_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1392-001.md",
|
|
"behavior": "Verify the MESH_EXTRUDE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1392-001:MESH_EXTRUDE_MACRO_BATCH:9b2db02d89b0195b",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MESH_OT_extrude_edges_move"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1392-001:MESH_EXTRUDE_MACRO_BATCH:9b2db02d89b0195b",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MESH_OT_extrude_edges_move"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_extrude_edges_move 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1392-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1392-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=EXTRUDE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:MESH_OT_extrude_edges_move\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1392-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:MESH_OT_extrude_edges_move"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1393-000",
|
|
"phase": "1393",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1392-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1393",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1393-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1393-001",
|
|
"phase": "1393",
|
|
"title": "verify MESH_OT_extrude_faces_move through existing native gate",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1393-000"
|
|
],
|
|
"parityId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_extrude_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1393-001.md",
|
|
"behavior": "Verify the MESH_EXTRUDE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1393-001:MESH_EXTRUDE_MACRO_BATCH:f900ba338f1dc4c1",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MESH_OT_extrude_faces_move"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1393-001:MESH_EXTRUDE_MACRO_BATCH:f900ba338f1dc4c1",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MESH_OT_extrude_faces_move"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_extrude_faces_move 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1393-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1393-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=EXTRUDE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:MESH_OT_extrude_faces_move\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1393-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:MESH_OT_extrude_faces_move"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1394-000",
|
|
"phase": "1394",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1393-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1394",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1394-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1394-001",
|
|
"phase": "1394",
|
|
"title": "verify MESH_OT_extrude_manifold through existing native gate",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1394-000"
|
|
],
|
|
"parityId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_extrude_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1394-001.md",
|
|
"behavior": "Verify the MESH_EXTRUDE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1394-001:MESH_EXTRUDE_MACRO_BATCH:4b7b98d81ce69e0d",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MESH_OT_extrude_manifold"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1394-001:MESH_EXTRUDE_MACRO_BATCH:4b7b98d81ce69e0d",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MESH_OT_extrude_manifold"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_extrude_manifold 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1394-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1394-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=EXTRUDE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:MESH_OT_extrude_manifold\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1394-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:MESH_OT_extrude_manifold"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1395-000",
|
|
"phase": "1395",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1394-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1395",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1395-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1395-001",
|
|
"phase": "1395",
|
|
"title": "verify MESH_OT_extrude_region_move through existing native gate",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1395-000"
|
|
],
|
|
"parityId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_extrude_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1395-001.md",
|
|
"behavior": "Verify the MESH_EXTRUDE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1395-001:MESH_EXTRUDE_MACRO_BATCH:d49f6c73e8a1bc83",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MESH_OT_extrude_region_move"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1395-001:MESH_EXTRUDE_MACRO_BATCH:d49f6c73e8a1bc83",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MESH_OT_extrude_region_move"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_extrude_region_move 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1395-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1395-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=EXTRUDE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:MESH_OT_extrude_region_move\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1395-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:MESH_OT_extrude_region_move"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1396-000",
|
|
"phase": "1396",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1395-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1396",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1396-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1396-001",
|
|
"phase": "1396",
|
|
"title": "verify MESH_OT_extrude_region_shrink_fatten through existing native gate",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1396-000"
|
|
],
|
|
"parityId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_extrude_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1396-001.md",
|
|
"behavior": "Verify the MESH_EXTRUDE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1396-001:MESH_EXTRUDE_MACRO_BATCH:5260939325059c04",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MESH_OT_extrude_region_shrink_fatten"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1396-001:MESH_EXTRUDE_MACRO_BATCH:5260939325059c04",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MESH_OT_extrude_region_shrink_fatten"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_extrude_region_shrink_fatten 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1396-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1396-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=EXTRUDE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:MESH_OT_extrude_region_shrink_fatten\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1396-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:MESH_OT_extrude_region_shrink_fatten"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1397-000",
|
|
"phase": "1397",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1396-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1397",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1397-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1397-001",
|
|
"phase": "1397",
|
|
"title": "verify MESH_OT_extrude_vertices_move through existing native gate",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1397-000"
|
|
],
|
|
"parityId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_extrude_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1397-001.md",
|
|
"behavior": "Verify the MESH_EXTRUDE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1397-001:MESH_EXTRUDE_MACRO_BATCH:a92a2cc72e827244",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MESH_OT_extrude_vertices_move"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1397-001:MESH_EXTRUDE_MACRO_BATCH:a92a2cc72e827244",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MESH_OT_extrude_vertices_move"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_extrude_vertices_move 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1397-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1397-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=EXTRUDE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:MESH_OT_extrude_vertices_move\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1397-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:MESH_OT_extrude_vertices_move"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1398-000",
|
|
"phase": "1398",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1397-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1398",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1398-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1398-001",
|
|
"phase": "1398",
|
|
"title": "verify MESH_OT_polybuild_extrude_at_cursor_move through existing native gate",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1398-000"
|
|
],
|
|
"parityId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_extrude_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1398-001.md",
|
|
"behavior": "Verify the MESH_EXTRUDE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1398-001:MESH_EXTRUDE_MACRO_BATCH:21ea2b18ae7fed33",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MESH_OT_polybuild_extrude_at_cursor_move"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1398-001:MESH_EXTRUDE_MACRO_BATCH:21ea2b18ae7fed33",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MESH_OT_polybuild_extrude_at_cursor_move"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_polybuild_extrude_at_cursor_move 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1398-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1398-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=EXTRUDE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:MESH_OT_polybuild_extrude_at_cursor_move\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1398-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:MESH_OT_polybuild_extrude_at_cursor_move"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1399-000",
|
|
"phase": "1399",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1398-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1399",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1399-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1399-001",
|
|
"phase": "1399",
|
|
"title": "verify MESH_OT_dupli_extrude_cursor through existing native gate",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1399-000"
|
|
],
|
|
"parityId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_extrude_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1399-001.md",
|
|
"behavior": "Verify the MESH_EXTRUDE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1399-001:MESH_EXTRUDE_MACRO_BATCH:ed1ff092325a7818",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_dupli_extrude_cursor"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1399-001:MESH_EXTRUDE_MACRO_BATCH:ed1ff092325a7818",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_dupli_extrude_cursor"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_dupli_extrude_cursor 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1399-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1399-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=EXTRUDE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:MESH_OT_dupli_extrude_cursor\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1399-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:MESH_OT_dupli_extrude_cursor"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1400-000",
|
|
"phase": "1400",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1399-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1400",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1400-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1400-001",
|
|
"phase": "1400",
|
|
"title": "verify MESH_OT_extrude_context through existing native gate",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1400-000"
|
|
],
|
|
"parityId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_extrude_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1400-001.md",
|
|
"behavior": "Verify the MESH_EXTRUDE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1400-001:MESH_EXTRUDE_MACRO_BATCH:101a68d06b531b4a",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_extrude_context"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1400-001:MESH_EXTRUDE_MACRO_BATCH:101a68d06b531b4a",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_extrude_context"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_extrude_context 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1400-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1400-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=EXTRUDE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:MESH_OT_extrude_context\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1400-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:MESH_OT_extrude_context"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1401-000",
|
|
"phase": "1401",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1400-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1401",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1401-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1401-001",
|
|
"phase": "1401",
|
|
"title": "verify MESH_OT_extrude_edges_indiv through existing native gate",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1401-000"
|
|
],
|
|
"parityId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_extrude_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1401-001.md",
|
|
"behavior": "Verify the MESH_EXTRUDE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1401-001:MESH_EXTRUDE_MACRO_BATCH:faeadd8684fee3e3",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_extrude_edges_indiv"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1401-001:MESH_EXTRUDE_MACRO_BATCH:faeadd8684fee3e3",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_extrude_edges_indiv"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_extrude_edges_indiv 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1401-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1401-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=EXTRUDE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:MESH_OT_extrude_edges_indiv\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1401-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:MESH_OT_extrude_edges_indiv"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1402-000",
|
|
"phase": "1402",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1401-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1402",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1402-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1402-001",
|
|
"phase": "1402",
|
|
"title": "verify MESH_OT_extrude_faces_indiv through existing native gate",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1402-000"
|
|
],
|
|
"parityId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_extrude_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1402-001.md",
|
|
"behavior": "Verify the MESH_EXTRUDE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1402-001:MESH_EXTRUDE_MACRO_BATCH:be2ad677cb5157e7",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_extrude_faces_indiv"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1402-001:MESH_EXTRUDE_MACRO_BATCH:be2ad677cb5157e7",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_extrude_faces_indiv"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_extrude_faces_indiv 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1402-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1402-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=EXTRUDE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:MESH_OT_extrude_faces_indiv\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1402-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:MESH_OT_extrude_faces_indiv"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1403-000",
|
|
"phase": "1403",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1402-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1403",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1403-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1403-001",
|
|
"phase": "1403",
|
|
"title": "verify MESH_OT_extrude_repeat through existing native gate",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1403-000"
|
|
],
|
|
"parityId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_extrude_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1403-001.md",
|
|
"behavior": "Verify the MESH_EXTRUDE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1403-001:MESH_EXTRUDE_MACRO_BATCH:bd238b4a7e125cc5",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_extrude_repeat"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1403-001:MESH_EXTRUDE_MACRO_BATCH:bd238b4a7e125cc5",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_extrude_repeat"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_extrude_repeat 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1403-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1403-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=EXTRUDE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:MESH_OT_extrude_repeat\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1403-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:MESH_OT_extrude_repeat"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1404-000",
|
|
"phase": "1404",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1403-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1404",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1404-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1404-001",
|
|
"phase": "1404",
|
|
"title": "verify MESH_OT_extrude_verts_indiv through existing native gate",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1404-000"
|
|
],
|
|
"parityId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_extrude_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1404-001.md",
|
|
"behavior": "Verify the MESH_EXTRUDE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1404-001:MESH_EXTRUDE_MACRO_BATCH:a581546d0ff3dc35",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_extrude_verts_indiv"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_EXTRUDE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1404-001:MESH_EXTRUDE_MACRO_BATCH:a581546d0ff3dc35",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_extrude_verts_indiv"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-READER",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_EXTRUDE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_extrude_verts_indiv 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1404-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1404-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=EXTRUDE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:MESH_OT_extrude_verts_indiv\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1404-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:MESH_OT_extrude_verts_indiv"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1405-000",
|
|
"phase": "1405",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1404-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1405",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1405-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1405-001",
|
|
"phase": "1405",
|
|
"title": "verify MESH_OT_loopcut_slide through existing native gate",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1405-000"
|
|
],
|
|
"parityId": "MESH_LOOPCUT_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_loopcut_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1405-001.md",
|
|
"behavior": "Verify the MESH_LOOPCUT_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1405-001:MESH_LOOPCUT_MACRO_BATCH:361c56cb78cfa6f7",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MESH_OT_loopcut_slide"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_LOOPCUT_MACRO_BATCH",
|
|
"batchId": "WBV2-P1405-001:MESH_LOOPCUT_MACRO_BATCH:361c56cb78cfa6f7",
|
|
"selectedRecordIds": [
|
|
"operator-macro:MESH_OT_loopcut_slide"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_LOOPCUT_MACRO_BATCH-READER",
|
|
"CAP-MESH_LOOPCUT_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_LOOPCUT_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_loopcut_slide 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1405-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1405-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=LOOP_CUT WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator-macro:MESH_OT_loopcut_slide\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1405-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator-macro:MESH_OT_loopcut_slide"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1406-000",
|
|
"phase": "1406",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1405-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1406",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1406-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1406-001",
|
|
"phase": "1406",
|
|
"title": "verify ARMATURE_OT_dissolve through existing native gate",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1406-000"
|
|
],
|
|
"parityId": "MESH_DISSOLVE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_dissolve_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1406-001.md",
|
|
"behavior": "Verify the MESH_DISSOLVE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1406-001:MESH_DISSOLVE_MACRO_BATCH:8b7fa667c8c517b0",
|
|
"selectedRecordIds": [
|
|
"operator:ARMATURE_OT_dissolve"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_DISSOLVE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1406-001:MESH_DISSOLVE_MACRO_BATCH:8b7fa667c8c517b0",
|
|
"selectedRecordIds": [
|
|
"operator:ARMATURE_OT_dissolve"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-READER",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/armature/armature_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"ARMATURE_OT_dissolve 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1406-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1406-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=DISSOLVE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:ARMATURE_OT_dissolve\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1406-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:ARMATURE_OT_dissolve"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1407-000",
|
|
"phase": "1407",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1406-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1407",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1407-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1407-001",
|
|
"phase": "1407",
|
|
"title": "verify CURVE_OT_dissolve_verts through existing native gate",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1407-000"
|
|
],
|
|
"parityId": "MESH_DISSOLVE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_dissolve_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1407-001.md",
|
|
"behavior": "Verify the MESH_DISSOLVE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1407-001:MESH_DISSOLVE_MACRO_BATCH:9daaf10e3afe5523",
|
|
"selectedRecordIds": [
|
|
"operator:CURVE_OT_dissolve_verts"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_DISSOLVE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1407-001:MESH_DISSOLVE_MACRO_BATCH:9daaf10e3afe5523",
|
|
"selectedRecordIds": [
|
|
"operator:CURVE_OT_dissolve_verts"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-READER",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/curve/curve_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"CURVE_OT_dissolve_verts 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1407-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1407-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=DISSOLVE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:CURVE_OT_dissolve_verts\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1407-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:CURVE_OT_dissolve_verts"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1408-000",
|
|
"phase": "1408",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1407-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1408",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1408-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1408-001",
|
|
"phase": "1408",
|
|
"title": "verify GREASE_PENCIL_OT_dissolve through existing native gate",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1408-000"
|
|
],
|
|
"parityId": "MESH_DISSOLVE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_dissolve_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1408-001.md",
|
|
"behavior": "Verify the MESH_DISSOLVE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1408-001:MESH_DISSOLVE_MACRO_BATCH:017824f266ac2393",
|
|
"selectedRecordIds": [
|
|
"operator:GREASE_PENCIL_OT_dissolve"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_DISSOLVE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1408-001:MESH_DISSOLVE_MACRO_BATCH:017824f266ac2393",
|
|
"selectedRecordIds": [
|
|
"operator:GREASE_PENCIL_OT_dissolve"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-READER",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/grease_pencil/intern/grease_pencil_edit.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"GREASE_PENCIL_OT_dissolve 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1408-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1408-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=DISSOLVE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:GREASE_PENCIL_OT_dissolve\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1408-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:GREASE_PENCIL_OT_dissolve"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1409-000",
|
|
"phase": "1409",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1408-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1409",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1409-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1409-001",
|
|
"phase": "1409",
|
|
"title": "verify MESH_OT_dissolve_degenerate through existing native gate",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1409-000"
|
|
],
|
|
"parityId": "MESH_DISSOLVE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_dissolve_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1409-001.md",
|
|
"behavior": "Verify the MESH_DISSOLVE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1409-001:MESH_DISSOLVE_MACRO_BATCH:485d8cb2ab41f10b",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_dissolve_degenerate"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_DISSOLVE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1409-001:MESH_DISSOLVE_MACRO_BATCH:485d8cb2ab41f10b",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_dissolve_degenerate"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-READER",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_dissolve_degenerate 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1409-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1409-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=DISSOLVE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:MESH_OT_dissolve_degenerate\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1409-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:MESH_OT_dissolve_degenerate"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1410-000",
|
|
"phase": "1410",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1409-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1410",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1410-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1410-001",
|
|
"phase": "1410",
|
|
"title": "verify MESH_OT_dissolve_faces through existing native gate",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1410-000"
|
|
],
|
|
"parityId": "MESH_DISSOLVE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_dissolve_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1410-001.md",
|
|
"behavior": "Verify the MESH_DISSOLVE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1410-001:MESH_DISSOLVE_MACRO_BATCH:ae9148bee3425973",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_dissolve_faces"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_DISSOLVE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1410-001:MESH_DISSOLVE_MACRO_BATCH:ae9148bee3425973",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_dissolve_faces"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-READER",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_dissolve_faces 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1410-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1410-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=DISSOLVE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:MESH_OT_dissolve_faces\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1410-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:MESH_OT_dissolve_faces"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1411-000",
|
|
"phase": "1411",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1410-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1411",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1411-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1411-001",
|
|
"phase": "1411",
|
|
"title": "verify MESH_OT_dissolve_limited through existing native gate",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1411-000"
|
|
],
|
|
"parityId": "MESH_DISSOLVE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_dissolve_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1411-001.md",
|
|
"behavior": "Verify the MESH_DISSOLVE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1411-001:MESH_DISSOLVE_MACRO_BATCH:b5bf0587bcb6cd5c",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_dissolve_limited"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_DISSOLVE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1411-001:MESH_DISSOLVE_MACRO_BATCH:b5bf0587bcb6cd5c",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_dissolve_limited"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-READER",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_dissolve_limited 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1411-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1411-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=DISSOLVE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:MESH_OT_dissolve_limited\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1411-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:MESH_OT_dissolve_limited"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1412-000",
|
|
"phase": "1412",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1411-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1412",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1412-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1412-001",
|
|
"phase": "1412",
|
|
"title": "verify MESH_OT_dissolve_mode through existing native gate",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1412-000"
|
|
],
|
|
"parityId": "MESH_DISSOLVE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_dissolve_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1412-001.md",
|
|
"behavior": "Verify the MESH_DISSOLVE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1412-001:MESH_DISSOLVE_MACRO_BATCH:6f8dcbe6ddf044ef",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_dissolve_mode"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_DISSOLVE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1412-001:MESH_DISSOLVE_MACRO_BATCH:6f8dcbe6ddf044ef",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_dissolve_mode"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-READER",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_dissolve_mode 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1412-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1412-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=DISSOLVE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:MESH_OT_dissolve_mode\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1412-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:MESH_OT_dissolve_mode"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1413-000",
|
|
"phase": "1413",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1412-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1413",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1413-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1413-001",
|
|
"phase": "1413",
|
|
"title": "verify MESH_OT_dissolve_verts through existing native gate",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1413-000"
|
|
],
|
|
"parityId": "MESH_DISSOLVE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_dissolve_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1413-001.md",
|
|
"behavior": "Verify the MESH_DISSOLVE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1413-001:MESH_DISSOLVE_MACRO_BATCH:cdec8905043147bc",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_dissolve_verts"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_DISSOLVE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1413-001:MESH_DISSOLVE_MACRO_BATCH:cdec8905043147bc",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_dissolve_verts"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-READER",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_dissolve_verts 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1413-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1413-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=DISSOLVE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:MESH_OT_dissolve_verts\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1413-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:MESH_OT_dissolve_verts"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "WBV2-P1414-000",
|
|
"phase": "1414",
|
|
"title": "authorize_modifier_reader_batch",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P1413-001"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "QUEUE_ONLY",
|
|
"parallelGroup": "module-root-1414",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1414-000.md",
|
|
"behavior": "Authorize one shared source-backed modifier reader batch.",
|
|
"outputs": [
|
|
"successor authorization",
|
|
"module plan",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"prior evidence remains hash-bound",
|
|
"batch source mapping is explicit",
|
|
"inventory remains source-derived"
|
|
],
|
|
"commands": [
|
|
"node tools/web/check-execution-control-plane.mjs"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P1414-001",
|
|
"phase": "1414",
|
|
"title": "verify MESH_OT_polybuild_dissolve_at_cursor through existing native gate",
|
|
"kind": "module",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P1414-000"
|
|
],
|
|
"parityId": "MESH_DISSOLVE_MACRO_BATCH",
|
|
"implementationClass": "LOCAL_EXACT",
|
|
"parallelGroup": "module-mesh_dissolve_macro_batch",
|
|
"gate": "MODULE",
|
|
"card": "docs/tasks/WBV2-P1414-001.md",
|
|
"behavior": "Verify the MESH_DISSOLVE_MACRO_BATCH batch through Blender Main, WASM and Chromium recovery.",
|
|
"outputs": [
|
|
"aggregate module receipt",
|
|
"coverage bindings",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"source and protocol hashes are bound",
|
|
"every selected Main reader type is proven",
|
|
"negative no-mutation and recovery are proven",
|
|
"Chromium and save/reopen evidence are exact"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true,
|
|
"batchId": "WBV2-P1414-001:MESH_DISSOLVE_MACRO_BATCH:63f53955183b00ce",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_polybuild_dissolve_at_cursor"
|
|
],
|
|
"module": {
|
|
"moduleId": "MESH_DISSOLVE_MACRO_BATCH",
|
|
"batchId": "WBV2-P1414-001:MESH_DISSOLVE_MACRO_BATCH:63f53955183b00ce",
|
|
"selectedRecordIds": [
|
|
"operator:MESH_OT_polybuild_dissolve_at_cursor"
|
|
],
|
|
"sourceBacked": true,
|
|
"capabilities": [
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-READER",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-RECOVERY",
|
|
"CAP-MESH_DISSOLVE_MACRO_BATCH-FAIL-CLOSED"
|
|
],
|
|
"sourcePaths": [
|
|
"blender-5.2.0/source/blender/editors/mesh/mesh_ops.cc",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
|
"web/tests/e2e/wbv2-mesh-topology-production.spec.ts",
|
|
"tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend",
|
|
"web/app/src/vendor/blender/web_engine.wasm",
|
|
"web/app/public/vendor/blender/web_engine.wasm",
|
|
"web/app/public/wasm-module-manifest.json",
|
|
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
|
|
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm"
|
|
],
|
|
"reuseReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json"
|
|
}
|
|
],
|
|
"dependencyReuse": [],
|
|
"positive": [
|
|
"MESH_OT_polybuild_dissolve_at_cursor 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": [
|
|
"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 && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
|
|
"npm --prefix web run typecheck",
|
|
"npm --prefix web run build",
|
|
"WBV2_BATCH_TASK=WBV2-P1414-001 WBV2_BATCH_PRODUCTION=tests/golden/WBV2-P1414-001/mesh-topology-production.json WBV2_BATCH_FIXTURE=tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend WBV2_BATCH_OPERATION=DISSOLVE WBV2_BATCH_TYPES='[]' WBV2_BATCH_UNITS='[\"operator:MESH_OT_polybuild_dissolve_at_cursor\"]' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-mesh-topology-production.spec.ts"
|
|
],
|
|
"fullFamilyParity": false,
|
|
"evidencePaths": [
|
|
"tests/golden/WBV2-P1414-001/mesh-topology-production.json"
|
|
],
|
|
"coverageBindings": [
|
|
"operator:MESH_OT_polybuild_dissolve_at_cursor"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|