155 lines
7.2 KiB
JSON
155 lines
7.2 KiB
JSON
{
|
|
"schemaVersion": 1,
|
|
"task": "WBV2-P1244-001",
|
|
"operation": "MODULE_FUNCTION_EXECUTION",
|
|
"phase": "CONTINUE",
|
|
"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"
|
|
],
|
|
"commandBudget": {
|
|
"maxCommands": 48,
|
|
"maxReadCommands": 16,
|
|
"commandCount": 4,
|
|
"readCommandCount": 0,
|
|
"withinBudget": true
|
|
},
|
|
"status": "PASS",
|
|
"source": {
|
|
"paths": [
|
|
"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"
|
|
],
|
|
"auditedPaths": [
|
|
"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"
|
|
],
|
|
"before": {
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_uv_pack_islands.cc": "da5e17d8a556d8e837d60e3a8db62b7b644a104ff28769a55e7c14a805c4bf32",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_uv_tangent.cc": "73a9c93d16976a44fca066b2900b6d9a0c71fa40d68206b8bc035606ae7946a6",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_uv_unwrap.cc": "d5f302315a30428c00d7a29c107b35fda8ae33929397d16fffdc93ab27ed6bdf",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_topology_vertex_of_corner.cc": "dfaaa543ccbe0d00634d2282a19aa80592df2993e1cb39fc65483720f0681142",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_viewer.cc": "c1b80b3fc42508e5337c8c6b0849a4abd4504dd2edd2e88f927afa68f461e0d5",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp": "8a9b46e8f5f9c4b30ad7818fac6fbd64b20dc2d0a962630f50c8f352bdf230d3"
|
|
},
|
|
"after": {
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_uv_pack_islands.cc": "da5e17d8a556d8e837d60e3a8db62b7b644a104ff28769a55e7c14a805c4bf32",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_uv_tangent.cc": "73a9c93d16976a44fca066b2900b6d9a0c71fa40d68206b8bc035606ae7946a6",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_uv_unwrap.cc": "d5f302315a30428c00d7a29c107b35fda8ae33929397d16fffdc93ab27ed6bdf",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_mesh_topology_vertex_of_corner.cc": "dfaaa543ccbe0d00634d2282a19aa80592df2993e1cb39fc65483720f0681142",
|
|
"blender-5.2.0/source/blender/nodes/geometry/nodes/node_geo_viewer.cc": "c1b80b3fc42508e5337c8c6b0849a4abd4504dd2edd2e88f927afa68f461e0d5",
|
|
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp": "8a9b46e8f5f9c4b30ad7818fac6fbd64b20dc2d0a962630f50c8f352bdf230d3"
|
|
},
|
|
"unchanged": true
|
|
},
|
|
"reusedReceipts": [
|
|
{
|
|
"manifest": "tests/golden/WBV2-P1107-000/manifest.json",
|
|
"report": "tests/golden/WBV2-P1107-000/module-receipt.json",
|
|
"manifestSha256": "a53ebdc52db5dcf27d44e938e5551f1ee2adae8e46c3fe8661604ee6b1000f8c",
|
|
"reportSha256": "6dd419799e1a4b9251328d9496f2459d148cd89118740a06b0ee6ffb78e0b1d2"
|
|
}
|
|
],
|
|
"cases": {
|
|
"positive": [
|
|
"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": [
|
|
{
|
|
"command": "source tools/web/emscripten-env.sh && cmake --build build_web_blender6 --target web_engine -- -j8 && cp build_web_blender6/bin/web_engine.wasm web/app/src/vendor/blender/web_engine.wasm && cp build_web_blender6/bin/web_engine.wasm web/app/public/vendor/blender/web_engine.wasm",
|
|
"exitCode": 0,
|
|
"durationMs": 145
|
|
},
|
|
{
|
|
"command": "npm --prefix web run typecheck",
|
|
"exitCode": 0,
|
|
"durationMs": 3377
|
|
},
|
|
{
|
|
"command": "npm --prefix web run build",
|
|
"exitCode": 0,
|
|
"durationMs": 3950
|
|
},
|
|
{
|
|
"command": "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",
|
|
"exitCode": 0,
|
|
"durationMs": 2622
|
|
}
|
|
],
|
|
"verification": {
|
|
"required": [
|
|
"sourceHash",
|
|
"wasmBuild",
|
|
"positiveMainMutation",
|
|
"negativeNoMutation",
|
|
"undoRedo",
|
|
"saveReopen",
|
|
"aggregateManifest"
|
|
],
|
|
"chromiumOnly": true,
|
|
"fullFamilyParity": false
|
|
},
|
|
"efficiency": {
|
|
"existingEvidenceReused": false,
|
|
"skippedCommands": 0,
|
|
"totalDurationMs": 10094,
|
|
"reusePolicy": "hash_bound_receipt"
|
|
},
|
|
"inventory": {
|
|
"historical": {
|
|
"path": "tests/golden/WBV2-P0-002/parity-map.json",
|
|
"sha256": "a60a77cae000941a953d55adbf93d8f6e275533891713d6eae993f60faed94e8",
|
|
"total": 6900,
|
|
"legacyCompleted": 281,
|
|
"legacyPending": 6618,
|
|
"effectiveCompleted": 290,
|
|
"effectivePending": 6609,
|
|
"mutation": "forbidden_by_module_execution"
|
|
},
|
|
"dynamic": {
|
|
"path": "tests/golden/WBV2/dynamic-inventory.json",
|
|
"sha256": "76502b4f06f3dd70104d9ee3750ceab8480464d05497d403b24ef6969e784c4a",
|
|
"sourceTreeSha256": "600cb3dd441f09d9655b740735fbf8fa49ad6c14d308c68d59a29f9c338e4202",
|
|
"unitCount": 3745,
|
|
"planningEstimate": 5200,
|
|
"hardTarget": false,
|
|
"verifiedUnits": 894,
|
|
"unverifiedUnits": 2851
|
|
}
|
|
},
|
|
"nextTask": null
|
|
}
|