Reorganize Blender Web execution around capabilities
This commit is contained in:
@@ -273,5 +273,11 @@
|
||||
"operator:asset.catalog_undo",
|
||||
"operator:asset.catalog_undo_push",
|
||||
"operator:asset.catalogs_save",
|
||||
"operator:asset.clear"
|
||||
"operator:asset.clear",
|
||||
"operator:asset.clear_single",
|
||||
"operator:asset.library_refresh",
|
||||
"operator:asset.library_reload_listing",
|
||||
"operator:asset.mark",
|
||||
"operator:asset.mark_single",
|
||||
"operator:asset.open_containing_blend_file"
|
||||
]
|
||||
|
||||
@@ -13,14 +13,14 @@
|
||||
},
|
||||
"completions": {
|
||||
"path": "tests/golden/M15-03A/completed-gap-tasks.json",
|
||||
"sha256": "32f4c11ebf8563f3aa500583f3979c1b38d711cc7328a428968118f0375b90b4"
|
||||
"sha256": "1dfc9c4ae8fb9a135e624ca4f9fe1ea10500ef16a2567a3cccdcfe48fbc38466"
|
||||
}
|
||||
},
|
||||
"summary": {
|
||||
"taskCount": 6900,
|
||||
"active": 1,
|
||||
"pending": 6624,
|
||||
"completed": 275,
|
||||
"pending": 6618,
|
||||
"completed": 281,
|
||||
"blocked": 0,
|
||||
"byWave": {
|
||||
"M16": 2667,
|
||||
@@ -6363,7 +6363,7 @@
|
||||
"gapId": "operator:asset.clear_single",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"sourceTask": "M15-01B",
|
||||
"state": "active",
|
||||
"state": "completed",
|
||||
"dependencies": [],
|
||||
"targetImplementationClass": "LOCAL_EXACT",
|
||||
"fixture": {
|
||||
@@ -6386,7 +6386,7 @@
|
||||
"gapId": "operator:asset.library_refresh",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"sourceTask": "M15-01B",
|
||||
"state": "pending",
|
||||
"state": "completed",
|
||||
"dependencies": [],
|
||||
"targetImplementationClass": "LOCAL_EXACT",
|
||||
"fixture": {
|
||||
@@ -6409,7 +6409,7 @@
|
||||
"gapId": "operator:asset.library_reload_listing",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"sourceTask": "M15-01B",
|
||||
"state": "pending",
|
||||
"state": "completed",
|
||||
"dependencies": [],
|
||||
"targetImplementationClass": "LOCAL_EXACT",
|
||||
"fixture": {
|
||||
@@ -6432,7 +6432,7 @@
|
||||
"gapId": "operator:asset.mark",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"sourceTask": "M15-01B",
|
||||
"state": "pending",
|
||||
"state": "completed",
|
||||
"dependencies": [],
|
||||
"targetImplementationClass": "LOCAL_EXACT",
|
||||
"fixture": {
|
||||
@@ -6455,7 +6455,7 @@
|
||||
"gapId": "operator:asset.mark_single",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"sourceTask": "M15-01B",
|
||||
"state": "pending",
|
||||
"state": "completed",
|
||||
"dependencies": [],
|
||||
"targetImplementationClass": "LOCAL_EXACT",
|
||||
"fixture": {
|
||||
@@ -6478,7 +6478,7 @@
|
||||
"gapId": "operator:asset.open_containing_blend_file",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"sourceTask": "M15-01B",
|
||||
"state": "pending",
|
||||
"state": "completed",
|
||||
"dependencies": [],
|
||||
"targetImplementationClass": "LOCAL_EXACT",
|
||||
"fixture": {
|
||||
@@ -6501,7 +6501,7 @@
|
||||
"gapId": "operator:asset.screenshot_preview",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"sourceTask": "M15-01B",
|
||||
"state": "pending",
|
||||
"state": "active",
|
||||
"dependencies": [],
|
||||
"targetImplementationClass": "LOCAL_EXACT",
|
||||
"fixture": {
|
||||
@@ -158734,7 +158734,7 @@
|
||||
]
|
||||
}
|
||||
],
|
||||
"firstTask": "M16-GAP-00276",
|
||||
"firstTask": "M16-GAP-00282",
|
||||
"closureGate": "M15-03E",
|
||||
"nextTask": "M15-03B"
|
||||
}
|
||||
|
||||
@@ -273,13 +273,13 @@
|
||||
{"id":"M16-GAP-00273","gapId":"operator:asset.catalog_undo_push","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00274","gapId":"operator:asset.catalogs_save","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00275","gapId":"operator:asset.clear","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00276","gapId":"operator:asset.clear_single","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"active","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00277","gapId":"operator:asset.library_refresh","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00278","gapId":"operator:asset.library_reload_listing","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00279","gapId":"operator:asset.mark","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00280","gapId":"operator:asset.mark_single","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00281","gapId":"operator:asset.open_containing_blend_file","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00282","gapId":"operator:asset.screenshot_preview","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00276","gapId":"operator:asset.clear_single","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00277","gapId":"operator:asset.library_refresh","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00278","gapId":"operator:asset.library_reload_listing","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00279","gapId":"operator:asset.mark","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00280","gapId":"operator:asset.mark_single","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00281","gapId":"operator:asset.open_containing_blend_file","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00282","gapId":"operator:asset.screenshot_preview","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"active","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00283","gapId":"operator:asset.tag_add","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00284","gapId":"operator:asset.tag_remove","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"}
|
||||
{"id":"M16-GAP-00285","gapId":"operator:boid.rule_add","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"}
|
||||
|
||||
File diff suppressed because one or more lines are too long
18
tests/golden/M16-GAP-00192/WebGapAnimKeyingSetExportSet.py
Normal file
18
tests/golden/M16-GAP-00192/WebGapAnimKeyingSetExportSet.py
Normal file
@@ -0,0 +1,18 @@
|
||||
# Keying Set: WebGapAnimKeyingSetExportSet
|
||||
import bpy
|
||||
|
||||
scene = bpy.context.scene
|
||||
|
||||
# Keying Set Level declarations
|
||||
ks = scene.keying_sets.new(idname='WebGapAnimKeyingSetExportSet', name='WebGapAnimKeyingSetExportSet')
|
||||
ks.bl_description = ''
|
||||
|
||||
ks.use_insertkey_needed = False
|
||||
ks.use_insertkey_visual = False
|
||||
|
||||
# ID's that are commonly used
|
||||
id_0 = bpy.data.objects["WebGapAnimKeyingSetExportObject"]
|
||||
|
||||
# Path Definitions
|
||||
ksp = ks.paths.add(id_0, '["export_target"]', index=0)
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"after": {
|
||||
"filepath": "//WebGapAssetClearSingle.blend",
|
||||
"name": "WebGapAssetClearSingle.blend",
|
||||
"packed": false
|
||||
},
|
||||
"before": {
|
||||
"filepath": "//WebGapAssetClearSingle.blend",
|
||||
"name": "WebGapAssetClearSingle.blend",
|
||||
"packed": false
|
||||
},
|
||||
"blenderVersion": "5.2.0 LTS",
|
||||
"fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00276-operator-asset.clear_single.blend",
|
||||
"fixtureSha256": "28a672f360e4bfb459c3281999a811654a736e70949f721ee1e263e90b2c80fe",
|
||||
"mainMutation": "NONE",
|
||||
"operation": "ASSET_CLEAR_SINGLE_DESKTOP",
|
||||
"operatorStatus": "CANCELLED",
|
||||
"poll": false,
|
||||
"saveReopen": "EXACT",
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00276"
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00276",
|
||||
"operation": "ASSET_CLEAR_SINGLE_LOCAL_EXACT",
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00276-operator-asset.clear_single.blend",
|
||||
"sha256": "28a672f360e4bfb459c3281999a811654a736e70949f721ee1e263e90b2c80fe"
|
||||
},
|
||||
"desktop": {
|
||||
"status": "EXACT",
|
||||
"report": "tests/golden/M16-GAP-00276/asset-clear-single-desktop-report.json",
|
||||
"poll": false,
|
||||
"operatorStatus": "CANCELLED",
|
||||
"mainMutation": "NONE"
|
||||
},
|
||||
"wasm": {
|
||||
"status": "EXACT",
|
||||
"libraryId": "library:WebGapAssetClearSingle.blend",
|
||||
"sourcePath": "//WebGapAssetClearSingle.blend",
|
||||
"libraryStatus": "EXTERNAL_REQUIRED",
|
||||
"dependencyIds": []
|
||||
},
|
||||
"saveReopen": "EXACT",
|
||||
"negative": {
|
||||
"malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION"
|
||||
},
|
||||
"nextTask": "M16-GAP-00277"
|
||||
}
|
||||
29
tests/golden/M16-GAP-00276/manifest.json
Normal file
29
tests/golden/M16-GAP-00276/manifest.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00276",
|
||||
"parentTask": "M16-GAP-00275",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "ASSET_CLEAR_SINGLE_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {"path": "tests/golden/M16-GAP-00275/manifest.json", "sha256": "c0db50bd8d2a3cbe9fd609714d1cb3dce75e1942855666ebcf5f12446e414949"},
|
||||
"fixture": {"path": "tests/files/web/generated/M16-GAP-00276-operator-asset.clear_single.blend", "sha256": "28a672f360e4bfb459c3281999a811654a736e70949f721ee1e263e90b2c80fe"},
|
||||
"librarySource": {"path": "tests/files/web/generated/WebGapAssetClearSingle.blend", "sha256": "927e7d562a3f9f03416fed5c8e2943ad2bacf49a2c6e89ff7eb2f55ad9f51922"},
|
||||
"generator": {"path": "tools/web/generated/M16-GAP-00276.py", "sha256": "4db9afe38293f5fd231feb7e59b3a14323f19cb49d7d7b7a5d6e9fbd78e12da1"},
|
||||
"desktopChecker": {"path": "tools/web/check-action-asset-clear-single-desktop.py", "sha256": "14fee29a5e77fa4193f4a2c930e11dbf2e6a192f582ae71e74dfd157d5cae396"},
|
||||
"webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "75ab17e39e0a575e13e1c73ca86214424c59a270d2ba1d83600ebb6937ecdb2c"},
|
||||
"reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"},
|
||||
"nativeStub": {"path": "web/engine/web_engine_native_reader_stub.cpp", "sha256": "2a1526e08cf446bb23a91c8c2ae799db38a0aeed0a809a15ead427780600481a"},
|
||||
"wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"},
|
||||
"wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"},
|
||||
"wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"wasmJsPublic": {"path": "web/app/public/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"desktopReport": {"path": "tests/golden/M16-GAP-00276/asset-clear-single-desktop-report.json", "sha256": "032345a71948560fa9348bbd73ff9f54508a808d0f6d3561b271aa4542aa49da"},
|
||||
"webReport": {"path": "tests/golden/M16-GAP-00276/asset-clear-single-local-exact-report.json", "sha256": "6a9329b1f8d4b09343d92cf2aeaffab2bb90c6cf0165de7cf7376bdab05680b6"},
|
||||
"status": {"path": "docs/status/M16-GAP-00276.md", "sha256": "95a58460d0eaf26559db74d42e8823338d89c00369f770ca8feca911d2bceba0"},
|
||||
"taskContext": {"path": "tests/golden/M16-GAP-00276/task-context.json", "sha256": "ccbd1d071bace3b02e53fa59922b6f93398ce1fc028c25083edd5bd8fc3926ec"}
|
||||
},
|
||||
"nextTask": "M16-GAP-00277"
|
||||
}
|
||||
185
tests/golden/M16-GAP-00276/task-context.json
Normal file
185
tests/golden/M16-GAP-00276/task-context.json
Normal file
@@ -0,0 +1,185 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00276",
|
||||
"parentTask": "M16-GAP-00275",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable operator:asset.clear_single data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.",
|
||||
"scope": {
|
||||
"gap": "operator:asset.clear_single",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00276.py -- tests/files/web/generated/M16-GAP-00276-operator-asset.clear_single.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00276",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00276"
|
||||
],
|
||||
"inputPaths": [
|
||||
"tools/web/generated/M16-GAP-00276.py"
|
||||
],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 1847,
|
||||
"contextRemainingTokens": 461
|
||||
},
|
||||
"source": {
|
||||
"bytes": 8057,
|
||||
"tokens": 2015
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
"path": "tools/web/generated/M16-GAP-00276.py",
|
||||
"bytes": 1457,
|
||||
"tokens": 365
|
||||
}
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00276-operator-asset.clear_single.blend",
|
||||
"bytes": 85897,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 240371,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 831637,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00276/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00276.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00276/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 1,
|
||||
"bytes": 1457,
|
||||
"tokens": 365
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00277",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00276.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00275/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00275.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00276.md",
|
||||
"tests/golden/M16-GAP-00275/manifest.json",
|
||||
"docs/status/M16-GAP-00275.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/M15-03A/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00275",
|
||||
"parentTask": "M16-GAP-00274",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00276",
|
||||
"artifactCount": 16
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00275 Status",
|
||||
"status: done",
|
||||
"task: asset.clear operator LOCAL_EXACT slice",
|
||||
"updated: 2026-08-23 America/New_York",
|
||||
"scope:",
|
||||
"- The fixture links one object from external `WebGapAssetClear.blend`.",
|
||||
" Blender desktop observes the no-local-asset boundary as `poll=false`,",
|
||||
" records `CANCELLED` for `ASSET_OT_clear`, and confirms no Main mutation."
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1779,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 445
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2495,
|
||||
"lines": 47,
|
||||
"tokens": 624
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/M16-GAP-00276.md",
|
||||
"bytes": 1779,
|
||||
"lines": 38,
|
||||
"tokens": 445
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00275/manifest.json",
|
||||
"bytes": 2788,
|
||||
"lines": 30,
|
||||
"tokens": 697
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00275.md",
|
||||
"bytes": 995,
|
||||
"lines": 27,
|
||||
"tokens": 249
|
||||
}
|
||||
],
|
||||
"sourceTokens": 2015,
|
||||
"evidenceFiles": 1,
|
||||
"evidenceBytes": 1457,
|
||||
"evidenceTokens": 365,
|
||||
"totalTokens": 2380,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 3404,
|
||||
"serializedContextTokens": 753,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"after": {
|
||||
"filepath": "//WebGapAssetLibraryRefresh.blend",
|
||||
"name": "WebGapAssetLibraryRefresh.blend",
|
||||
"packed": false
|
||||
},
|
||||
"before": {
|
||||
"filepath": "//WebGapAssetLibraryRefresh.blend",
|
||||
"name": "WebGapAssetLibraryRefresh.blend",
|
||||
"packed": false
|
||||
},
|
||||
"blenderVersion": "5.2.0 LTS",
|
||||
"fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00277-operator-asset.library_refresh.blend",
|
||||
"fixtureSha256": "afc722ccb0278518c4bae713a72642e2bec8789a0a7b12f6255ab9370782e437",
|
||||
"mainMutation": "NONE",
|
||||
"operation": "ASSET_LIBRARY_REFRESH_DESKTOP",
|
||||
"operatorStatus": "CANCELLED",
|
||||
"poll": false,
|
||||
"saveReopen": "EXACT",
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00277"
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00277",
|
||||
"operation": "ASSET_LIBRARY_REFRESH_LOCAL_EXACT",
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00277-operator-asset.library_refresh.blend",
|
||||
"sha256": "afc722ccb0278518c4bae713a72642e2bec8789a0a7b12f6255ab9370782e437"
|
||||
},
|
||||
"desktop": {
|
||||
"status": "EXACT",
|
||||
"report": "tests/golden/M16-GAP-00277/asset-library-refresh-desktop-report.json",
|
||||
"poll": false,
|
||||
"operatorStatus": "CANCELLED",
|
||||
"mainMutation": "NONE"
|
||||
},
|
||||
"wasm": {
|
||||
"status": "EXACT",
|
||||
"libraryId": "library:WebGapAssetLibraryRefresh.blend",
|
||||
"sourcePath": "//WebGapAssetLibraryRefresh.blend",
|
||||
"libraryStatus": "EXTERNAL_REQUIRED",
|
||||
"dependencyIds": []
|
||||
},
|
||||
"saveReopen": "EXACT",
|
||||
"negative": {
|
||||
"malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION"
|
||||
},
|
||||
"nextTask": "M16-GAP-00278"
|
||||
}
|
||||
77
tests/golden/M16-GAP-00277/manifest.json
Normal file
77
tests/golden/M16-GAP-00277/manifest.json
Normal file
@@ -0,0 +1,77 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00277",
|
||||
"parentTask": "M16-GAP-00276",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "ASSET_LIBRARY_REFRESH_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/M16-GAP-00276/manifest.json",
|
||||
"sha256": "fa533919efd82e97be6e14a521f8ca8b64a5d12d125b5d3880f36c02bd502fc0"
|
||||
},
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00277-operator-asset.library_refresh.blend",
|
||||
"sha256": "afc722ccb0278518c4bae713a72642e2bec8789a0a7b12f6255ab9370782e437"
|
||||
},
|
||||
"librarySource": {
|
||||
"path": "tests/files/web/generated/WebGapAssetLibraryRefresh.blend",
|
||||
"sha256": "c274d8aa13b1dff0808a34289387b71c1ea2733e5feb8dfba7c4894af2728247"
|
||||
},
|
||||
"generator": {
|
||||
"path": "tools/web/generated/M16-GAP-00277.py",
|
||||
"sha256": "feaeb2df7ff3b127a7a16900f5a210548e035872433b05e53061d95876602503"
|
||||
},
|
||||
"desktopChecker": {
|
||||
"path": "tools/web/check-action-asset-library-refresh-desktop.py",
|
||||
"sha256": "ae264963a87d8bbd9c82a0806fb64b79731ddf7ee2efdf30170dffdc3c7aa452"
|
||||
},
|
||||
"webChecker": {
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"sha256": "74f5e88ba582aef9ec7173d222845d8bbe477ee2b58e58387bd22b72afed5301"
|
||||
},
|
||||
"reader": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"sha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
"nativeStub": {
|
||||
"path": "web/engine/web_engine_native_reader_stub.cpp",
|
||||
"sha256": "2a1526e08cf446bb23a91c8c2ae799db38a0aeed0a809a15ead427780600481a"
|
||||
},
|
||||
"wasm": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
"wasmPublic": {
|
||||
"path": "web/app/public/vendor/blender/web_engine.wasm",
|
||||
"sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
"wasmJs": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
},
|
||||
"wasmJsPublic": {
|
||||
"path": "web/app/public/vendor/blender/web_engine.js",
|
||||
"sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
},
|
||||
"desktopReport": {
|
||||
"path": "tests/golden/M16-GAP-00277/asset-library-refresh-desktop-report.json",
|
||||
"sha256": "535b7e49f358b454c59a7377859c2fc1d0670a7558b23cbba7db6e901138342f"
|
||||
},
|
||||
"webReport": {
|
||||
"path": "tests/golden/M16-GAP-00277/asset-library-refresh-local-exact-report.json",
|
||||
"sha256": "abaf6522c6aa2fc8e02f558717e18add7a731a7e42f4728877280d815b9e216b"
|
||||
},
|
||||
"status": {
|
||||
"path": "docs/status/M16-GAP-00277.md",
|
||||
"sha256": "463c5b20a9010ca2af33989442f23ad4723001f7b96650cd40116456c0490da4"
|
||||
},
|
||||
"taskContext": {
|
||||
"path": "tests/golden/M16-GAP-00277/task-context.json",
|
||||
"sha256": "1cf23718ef2778a6b3085119f49606a541f09135fd7fe4619dc77b96ea452664"
|
||||
}
|
||||
},
|
||||
"nextTask": "M16-GAP-00278"
|
||||
}
|
||||
185
tests/golden/M16-GAP-00277/task-context.json
Normal file
185
tests/golden/M16-GAP-00277/task-context.json
Normal file
@@ -0,0 +1,185 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00277",
|
||||
"parentTask": "M16-GAP-00276",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable operator:asset.library_refresh data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.",
|
||||
"scope": {
|
||||
"gap": "operator:asset.library_refresh",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00277.py -- tests/files/web/generated/M16-GAP-00277-operator-asset.library_refresh.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00277",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00277"
|
||||
],
|
||||
"inputPaths": [
|
||||
"tools/web/generated/M16-GAP-00277.py"
|
||||
],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 1562,
|
||||
"contextRemainingTokens": 389
|
||||
},
|
||||
"source": {
|
||||
"bytes": 8342,
|
||||
"tokens": 2087
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
"path": "tools/web/generated/M16-GAP-00277.py",
|
||||
"bytes": 1472,
|
||||
"tokens": 368
|
||||
}
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00277-operator-asset.library_refresh.blend",
|
||||
"bytes": 85890,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 240371,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 835228,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00277/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00277.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00277/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 1,
|
||||
"bytes": 1472,
|
||||
"tokens": 368
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00278",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00277.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00276/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00276.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00277.md",
|
||||
"tests/golden/M16-GAP-00276/manifest.json",
|
||||
"docs/status/M16-GAP-00276.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/M15-03A/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00276",
|
||||
"parentTask": "M16-GAP-00275",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00277",
|
||||
"artifactCount": 16
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00276 Status",
|
||||
"status: done",
|
||||
"task: asset.clear_single operator LOCAL_EXACT slice",
|
||||
"updated: 2026-08-23 America/New_York",
|
||||
"scope:",
|
||||
"- The fixture links one object from external `WebGapAssetClearSingle.blend`.",
|
||||
" Blender desktop observes the linked-data boundary as `poll=false`, records",
|
||||
" `CANCELLED` for `ASSET_OT_clear_single`, and confirms no Main mutation."
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1794,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 449
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2495,
|
||||
"lines": 47,
|
||||
"tokens": 624
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/M16-GAP-00277.md",
|
||||
"bytes": 1794,
|
||||
"lines": 38,
|
||||
"tokens": 449
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00276/manifest.json",
|
||||
"bytes": 2829,
|
||||
"lines": 30,
|
||||
"tokens": 708
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00276.md",
|
||||
"bytes": 1224,
|
||||
"lines": 30,
|
||||
"tokens": 306
|
||||
}
|
||||
],
|
||||
"sourceTokens": 2087,
|
||||
"evidenceFiles": 1,
|
||||
"evidenceBytes": 1472,
|
||||
"evidenceTokens": 368,
|
||||
"totalTokens": 2455,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 3479,
|
||||
"serializedContextTokens": 755,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"after": {
|
||||
"filepath": "//WebGapAssetLibraryReloadListing.blend",
|
||||
"name": "WebGapAssetLibraryReloadListing.blend",
|
||||
"packed": false
|
||||
},
|
||||
"before": {
|
||||
"filepath": "//WebGapAssetLibraryReloadListing.blend",
|
||||
"name": "WebGapAssetLibraryReloadListing.blend",
|
||||
"packed": false
|
||||
},
|
||||
"blenderVersion": "5.2.0 LTS",
|
||||
"fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00278-operator-asset.library_reload_listing.blend",
|
||||
"fixtureSha256": "a00495252942d98e3fc89e8777220bf86dacadb71cea9c67b5181a27657cfb67",
|
||||
"mainMutation": "NONE",
|
||||
"operation": "ASSET_LIBRARY_RELOAD_LISTING_DESKTOP",
|
||||
"operatorStatus": "CANCELLED",
|
||||
"poll": false,
|
||||
"saveReopen": "EXACT",
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00278"
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00278",
|
||||
"operation": "ASSET_LIBRARY_RELOAD_LISTING_LOCAL_EXACT",
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00278-operator-asset.library_reload_listing.blend",
|
||||
"sha256": "a00495252942d98e3fc89e8777220bf86dacadb71cea9c67b5181a27657cfb67"
|
||||
},
|
||||
"desktop": {
|
||||
"status": "EXACT",
|
||||
"report": "tests/golden/M16-GAP-00278/asset-library-reload-listing-desktop-report.json",
|
||||
"poll": false,
|
||||
"operatorStatus": "CANCELLED",
|
||||
"mainMutation": "NONE"
|
||||
},
|
||||
"wasm": {
|
||||
"status": "EXACT",
|
||||
"libraryId": "library:WebGapAssetLibraryReloadListing.blend",
|
||||
"sourcePath": "//WebGapAssetLibraryReloadListing.blend",
|
||||
"libraryStatus": "EXTERNAL_REQUIRED",
|
||||
"dependencyIds": []
|
||||
},
|
||||
"saveReopen": "EXACT",
|
||||
"negative": {
|
||||
"malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION"
|
||||
},
|
||||
"nextTask": "M16-GAP-00279"
|
||||
}
|
||||
29
tests/golden/M16-GAP-00278/manifest.json
Normal file
29
tests/golden/M16-GAP-00278/manifest.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00278",
|
||||
"parentTask": "M16-GAP-00277",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "ASSET_LIBRARY_RELOAD_LISTING_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {"path": "tests/golden/M16-GAP-00277/manifest.json", "sha256": "e28fb129b023f3adca72433bb09a13a981705cd6a7c379f3f410120837d21f72"},
|
||||
"fixture": {"path": "tests/files/web/generated/M16-GAP-00278-operator-asset.library_reload_listing.blend", "sha256": "a00495252942d98e3fc89e8777220bf86dacadb71cea9c67b5181a27657cfb67"},
|
||||
"librarySource": {"path": "tests/files/web/generated/WebGapAssetLibraryReloadListing.blend", "sha256": "ff841fd2f2dba15fb990bba24856064aeced5a5339205de749af4451cbd4062e"},
|
||||
"generator": {"path": "tools/web/generated/M16-GAP-00278.py", "sha256": "bc00a04cc1fab867862b4ad54feb41cac8eb3507cba57e9ec7870c2989925784"},
|
||||
"desktopChecker": {"path": "tools/web/check-action-asset-library-reload-listing-desktop.py", "sha256": "b1bdfbcf5f2cb95afdc8309922e04437175ac90825517f6d3b2f5bc1098972a5"},
|
||||
"webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "f0ce94b6bef7224d17c2f6ac280b1ed4b9fa780ff0c3422b759e098326d3050e"},
|
||||
"reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"},
|
||||
"nativeStub": {"path": "web/engine/web_engine_native_reader_stub.cpp", "sha256": "2a1526e08cf446bb23a91c8c2ae799db38a0aeed0a809a15ead427780600481a"},
|
||||
"wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"},
|
||||
"wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"},
|
||||
"wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"wasmJsPublic": {"path": "web/app/public/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"desktopReport": {"path": "tests/golden/M16-GAP-00278/asset-library-reload-listing-desktop-report.json", "sha256": "b99fee3dc4c04dfa89c50cf9d575a89b6363eebec97b3c07e5fda82c1c64f46a"},
|
||||
"webReport": {"path": "tests/golden/M16-GAP-00278/asset-library-reload-listing-local-exact-report.json", "sha256": "a25d22cded541a11baa4961993dfab85d7aee4510c213cc73d7b6131106b1da7"},
|
||||
"status": {"path": "docs/status/M16-GAP-00278.md", "sha256": "698c779a806776ec51183336d390fb0c8ed9a1ca558dc2e4f4e75ecfc0843741"},
|
||||
"taskContext": {"path": "tests/golden/M16-GAP-00278/task-context.json", "sha256": "898677874b73caeef7b00e5207fdf040fb4462f0730436f0d896f272a74a92ac"}
|
||||
},
|
||||
"nextTask": "M16-GAP-00279"
|
||||
}
|
||||
182
tests/golden/M16-GAP-00278/task-context.json
Normal file
182
tests/golden/M16-GAP-00278/task-context.json
Normal file
@@ -0,0 +1,182 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00278",
|
||||
"parentTask": "M16-GAP-00277",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable operator:asset.library_reload_listing data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.",
|
||||
"scope": {
|
||||
"gap": "operator:asset.library_reload_listing",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00278.py -- tests/files/web/generated/M16-GAP-00278-operator-asset.library_reload_listing.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00278",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00278"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 1277,
|
||||
"contextRemainingTokens": 318
|
||||
},
|
||||
"source": {
|
||||
"bytes": 8627,
|
||||
"tokens": 2158
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00278-operator-asset.library_reload_listing.blend",
|
||||
"bytes": 85924,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/generated/M16-GAP-00278.py",
|
||||
"bytes": 1504,
|
||||
"reason": "CONTEXT_REMAINING_SPACE"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 240371,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 838860,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00278/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00278.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00278/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00279",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00278.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00277/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00277.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00278.md",
|
||||
"tests/golden/M16-GAP-00277/manifest.json",
|
||||
"docs/status/M16-GAP-00277.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/M15-03A/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00277",
|
||||
"parentTask": "M16-GAP-00276",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00278",
|
||||
"artifactCount": 16
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00277 Status",
|
||||
"status: done",
|
||||
"task: asset.library_refresh operator LOCAL_EXACT slice",
|
||||
"updated: 2026-08-23 America/New_York",
|
||||
"scope:",
|
||||
"- The fixture links one object from external `WebGapAssetLibraryRefresh.blend`.",
|
||||
" Blender desktop observes the missing Asset Browser context as `poll=false`,",
|
||||
" records `CANCELLED` for `ASSET_OT_library_refresh`, and confirms no Main"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1829,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 458
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2495,
|
||||
"lines": 47,
|
||||
"tokens": 624
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/M16-GAP-00278.md",
|
||||
"bytes": 1829,
|
||||
"lines": 38,
|
||||
"tokens": 458
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00277/manifest.json",
|
||||
"bytes": 3135,
|
||||
"lines": 78,
|
||||
"tokens": 784
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00277.md",
|
||||
"bytes": 1168,
|
||||
"lines": 29,
|
||||
"tokens": 292
|
||||
}
|
||||
],
|
||||
"sourceTokens": 2158,
|
||||
"evidenceFiles": 0,
|
||||
"evidenceBytes": 0,
|
||||
"evidenceTokens": 0,
|
||||
"totalTokens": 2158,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 3182,
|
||||
"serializedContextTokens": 725,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
30
tests/golden/M16-GAP-00279/asset-mark-desktop-report.json
Normal file
30
tests/golden/M16-GAP-00279/asset-mark-desktop-report.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"after": {
|
||||
"assetMarked": true,
|
||||
"author": "M16 Fixture",
|
||||
"description": "Asset mark operator fixture",
|
||||
"name": "WebGapAssetMarkObject",
|
||||
"tags": [
|
||||
"operator-mark"
|
||||
]
|
||||
},
|
||||
"before": {
|
||||
"assetMarked": true,
|
||||
"author": "M16 Fixture",
|
||||
"description": "Asset mark operator fixture",
|
||||
"name": "WebGapAssetMarkObject",
|
||||
"tags": [
|
||||
"operator-mark"
|
||||
]
|
||||
},
|
||||
"blenderVersion": "5.2.0 LTS",
|
||||
"fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00279-operator-asset.mark.blend",
|
||||
"fixtureSha256": "e2d2ee3b4fc59538e519c4131e40b90f36a83cf84c4c6731db8bb2fd65538d8b",
|
||||
"mainMutation": "NONE",
|
||||
"operation": "ASSET_MARK_DESKTOP",
|
||||
"operatorStatus": "CANCELLED",
|
||||
"poll": false,
|
||||
"saveReopen": "EXACT",
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00279"
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00279",
|
||||
"operation": "ASSET_MARK_LOCAL_EXACT",
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00279-operator-asset.mark.blend",
|
||||
"sha256": "e2d2ee3b4fc59538e519c4131e40b90f36a83cf84c4c6731db8bb2fd65538d8b"
|
||||
},
|
||||
"desktop": {
|
||||
"status": "EXACT",
|
||||
"report": "tests/golden/M16-GAP-00279/asset-mark-desktop-report.json",
|
||||
"poll": false,
|
||||
"operatorStatus": "CANCELLED",
|
||||
"mainMutation": "NONE"
|
||||
},
|
||||
"wasm": {
|
||||
"status": "EXACT",
|
||||
"objectId": "object:WebGapAssetMarkObject",
|
||||
"assetData": {
|
||||
"activeTag": 0,
|
||||
"author": "M16 Fixture",
|
||||
"catalogSimpleName": "",
|
||||
"copyright": "",
|
||||
"description": "Asset mark operator fixture",
|
||||
"license": "",
|
||||
"marked": true,
|
||||
"preferredImportMethod": 1,
|
||||
"tags": [
|
||||
"operator-mark"
|
||||
]
|
||||
}
|
||||
},
|
||||
"saveReopen": "EXACT",
|
||||
"negative": {
|
||||
"malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION"
|
||||
},
|
||||
"nextTask": "M16-GAP-00280"
|
||||
}
|
||||
29
tests/golden/M16-GAP-00279/manifest.json
Normal file
29
tests/golden/M16-GAP-00279/manifest.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00279",
|
||||
"parentTask": "M16-GAP-00278",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "ASSET_MARK_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {"path": "tests/golden/M16-GAP-00278/manifest.json", "sha256": "5ea558d23c10de4933484ff6c926ce5971d71bc5190223ae9bf1b0536cb171a5"},
|
||||
"fixture": {"path": "tests/files/web/generated/M16-GAP-00279-operator-asset.mark.blend", "sha256": "e2d2ee3b4fc59538e519c4131e40b90f36a83cf84c4c6731db8bb2fd65538d8b"},
|
||||
"generator": {"path": "tools/web/generated/M16-GAP-00279.py", "sha256": "f6ea8cdec792b31ca1c7008046062b426e2c639bda03c490982beebc647b3536"},
|
||||
"desktopChecker": {"path": "tools/web/check-action-asset-mark-desktop.py", "sha256": "03605b412d6abadb89a2acbe7f34abc3f56b47569b1857a51cc57ef9f1569ac0"},
|
||||
"webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "fd3d7ccd837b92b1087ea5f35da6777d094bac1f10dcfa4670c8ab133f018b04"},
|
||||
"reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "050abd03517a7e826facadcfa241985c410865d46141997a31a97529da47cb1b"},
|
||||
"sceneIrProtocol": {"path": "web/protocol/scene-ir.ts", "sha256": "fbf15c996758dc9f2dab934ba7bb1252705453fe2b57f73a84cb37bfafa8a3b8"},
|
||||
"nativeStub": {"path": "web/engine/web_engine_native_reader_stub.cpp", "sha256": "2a1526e08cf446bb23a91c8c2ae799db38a0aeed0a809a15ead427780600481a"},
|
||||
"wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "269a4bbff670e0cbc8c2fd6cc3eabfadc03ba50929b30c8bd3695d958f399169"},
|
||||
"wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "269a4bbff670e0cbc8c2fd6cc3eabfadc03ba50929b30c8bd3695d958f399169"},
|
||||
"wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"wasmJsPublic": {"path": "web/app/public/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"desktopReport": {"path": "tests/golden/M16-GAP-00279/asset-mark-desktop-report.json", "sha256": "907c40ffa8d36efe882300b5261ca7ef459b8420928c3c52a8a1a52d2c97fdfc"},
|
||||
"webReport": {"path": "tests/golden/M16-GAP-00279/asset-mark-local-exact-report.json", "sha256": "089816cd63bd18eecf95ebbc0b6e363e6e452db6b15c4d5ce4e6ba702d364fc1"},
|
||||
"status": {"path": "docs/status/M16-GAP-00279.md", "sha256": "002721d45174316fdef73861acf389f130f5c10bc37ad398edb4fa1e73ad1ad0"},
|
||||
"taskContext": {"path": "tests/golden/M16-GAP-00279/task-context.json", "sha256": "402cd9054d04c0e13fe2f9fa18271f46c3cecdb02e89ae4062f44643131513de"}
|
||||
},
|
||||
"nextTask": "M16-GAP-00280"
|
||||
}
|
||||
185
tests/golden/M16-GAP-00279/task-context.json
Normal file
185
tests/golden/M16-GAP-00279/task-context.json
Normal file
@@ -0,0 +1,185 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00279",
|
||||
"parentTask": "M16-GAP-00278",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable operator:asset.mark data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.",
|
||||
"scope": {
|
||||
"gap": "operator:asset.mark",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00279.py -- tests/files/web/generated/M16-GAP-00279-operator-asset.mark.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00279",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00279"
|
||||
],
|
||||
"inputPaths": [
|
||||
"tools/web/generated/M16-GAP-00279.py"
|
||||
],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 1590,
|
||||
"contextRemainingTokens": 397
|
||||
},
|
||||
"source": {
|
||||
"bytes": 8314,
|
||||
"tokens": 2079
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
"path": "tools/web/generated/M16-GAP-00279.py",
|
||||
"bytes": 1153,
|
||||
"tokens": 289
|
||||
}
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00279-operator-asset.mark.blend",
|
||||
"bytes": 86527,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 242091,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 842156,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00279/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00279.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00279/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 1,
|
||||
"bytes": 1153,
|
||||
"tokens": 289
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00280",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00279.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00278/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00278.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00279.md",
|
||||
"tests/golden/M16-GAP-00278/manifest.json",
|
||||
"docs/status/M16-GAP-00278.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/M15-03A/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00278",
|
||||
"parentTask": "M16-GAP-00277",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00279",
|
||||
"artifactCount": 16
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00278 Status",
|
||||
"status: done",
|
||||
"task: asset.library_reload_listing operator LOCAL_EXACT slice",
|
||||
"updated: 2026-08-24 America/New_York",
|
||||
"scope:",
|
||||
"- The fixture links one object from external `WebGapAssetLibraryReloadListing.blend`.",
|
||||
" Blender desktop observes the non-remote-library boundary as `poll=false`, records",
|
||||
" `CANCELLED` for `ASSET_OT_library_reload_listing`, and confirms no Main mutation."
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1739,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 435
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2495,
|
||||
"lines": 47,
|
||||
"tokens": 624
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/M16-GAP-00279.md",
|
||||
"bytes": 1739,
|
||||
"lines": 38,
|
||||
"tokens": 435
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00278/manifest.json",
|
||||
"bytes": 2888,
|
||||
"lines": 30,
|
||||
"tokens": 722
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00278.md",
|
||||
"bytes": 1192,
|
||||
"lines": 28,
|
||||
"tokens": 298
|
||||
}
|
||||
],
|
||||
"sourceTokens": 2079,
|
||||
"evidenceFiles": 1,
|
||||
"evidenceBytes": 1153,
|
||||
"evidenceTokens": 289,
|
||||
"totalTokens": 2368,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 3392,
|
||||
"serializedContextTokens": 747,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"after": {
|
||||
"assetMarked": true,
|
||||
"author": "M16 Fixture",
|
||||
"description": "Asset mark single operator fixture",
|
||||
"name": "WebGapAssetMarkSingleObject",
|
||||
"tags": [
|
||||
"operator-mark-single"
|
||||
]
|
||||
},
|
||||
"before": {
|
||||
"assetMarked": true,
|
||||
"author": "M16 Fixture",
|
||||
"description": "Asset mark single operator fixture",
|
||||
"name": "WebGapAssetMarkSingleObject",
|
||||
"tags": [
|
||||
"operator-mark-single"
|
||||
]
|
||||
},
|
||||
"blenderVersion": "5.2.0 LTS",
|
||||
"fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00280-operator-asset.mark_single.blend",
|
||||
"fixtureSha256": "4e22282735f42eae9344980eedeab2ef458e95d916ab287388555006d5b46097",
|
||||
"mainMutation": "NONE",
|
||||
"operation": "ASSET_MARK_SINGLE_DESKTOP",
|
||||
"operatorStatus": "CANCELLED",
|
||||
"poll": false,
|
||||
"saveReopen": "EXACT",
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00280"
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00280",
|
||||
"operation": "ASSET_MARK_SINGLE_LOCAL_EXACT",
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00280-operator-asset.mark_single.blend",
|
||||
"sha256": "4e22282735f42eae9344980eedeab2ef458e95d916ab287388555006d5b46097"
|
||||
},
|
||||
"desktop": {
|
||||
"status": "EXACT",
|
||||
"report": "tests/golden/M16-GAP-00280/asset-mark-single-desktop-report.json",
|
||||
"poll": false,
|
||||
"operatorStatus": "CANCELLED",
|
||||
"mainMutation": "NONE"
|
||||
},
|
||||
"wasm": {
|
||||
"status": "EXACT",
|
||||
"objectId": "object:WebGapAssetMarkSingleObject",
|
||||
"assetData": {
|
||||
"activeTag": 0,
|
||||
"author": "M16 Fixture",
|
||||
"catalogSimpleName": "",
|
||||
"copyright": "",
|
||||
"description": "Asset mark single operator fixture",
|
||||
"license": "",
|
||||
"marked": true,
|
||||
"preferredImportMethod": 1,
|
||||
"tags": [
|
||||
"operator-mark-single"
|
||||
]
|
||||
}
|
||||
},
|
||||
"saveReopen": "EXACT",
|
||||
"negative": {
|
||||
"malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION"
|
||||
},
|
||||
"nextTask": "M16-GAP-00281"
|
||||
}
|
||||
29
tests/golden/M16-GAP-00280/manifest.json
Normal file
29
tests/golden/M16-GAP-00280/manifest.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00280",
|
||||
"parentTask": "M16-GAP-00279",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "ASSET_MARK_SINGLE_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {"path": "tests/golden/M16-GAP-00279/manifest.json", "sha256": "ff4213944c22081966b0da4f70b1c4a798579dc2b2b4aa2080b80e8c4925315e"},
|
||||
"fixture": {"path": "tests/files/web/generated/M16-GAP-00280-operator-asset.mark_single.blend", "sha256": "4e22282735f42eae9344980eedeab2ef458e95d916ab287388555006d5b46097"},
|
||||
"generator": {"path": "tools/web/generated/M16-GAP-00280.py", "sha256": "7c1cbe66cc2ebbb695afe4d4831c4e796729fa2de7de9b364c048a4fe17da50a"},
|
||||
"desktopChecker": {"path": "tools/web/check-action-asset-mark-single-desktop.py", "sha256": "c5e05c3d07474473a4ac0e824ee6b524443cc82343136e70bfcfae015d9ee9ba"},
|
||||
"webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "ed774c01101eaf1739952017b6a0a5aa62bd26a9585e944f099f99ec9dbfd218"},
|
||||
"reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "050abd03517a7e826facadcfa241985c410865d46141997a31a97529da47cb1b"},
|
||||
"sceneIrProtocol": {"path": "web/protocol/scene-ir.ts", "sha256": "fbf15c996758dc9f2dab934ba7bb1252705453fe2b57f73a84cb37bfafa8a3b8"},
|
||||
"nativeStub": {"path": "web/engine/web_engine_native_reader_stub.cpp", "sha256": "2a1526e08cf446bb23a91c8c2ae799db38a0aeed0a809a15ead427780600481a"},
|
||||
"wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "269a4bbff670e0cbc8c2fd6cc3eabfadc03ba50929b30c8bd3695d958f399169"},
|
||||
"wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "269a4bbff670e0cbc8c2fd6cc3eabfadc03ba50929b30c8bd3695d958f399169"},
|
||||
"wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"wasmJsPublic": {"path": "web/app/public/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"desktopReport": {"path": "tests/golden/M16-GAP-00280/asset-mark-single-desktop-report.json", "sha256": "cee452d111427d339f27a92dfeb11086d4da184bc8616cb5b35bf5aa96ff9aad"},
|
||||
"webReport": {"path": "tests/golden/M16-GAP-00280/asset-mark-single-local-exact-report.json", "sha256": "cb81eba35e79e9d30e79311d60e34b43183b5dc98775ef98294d2848390afb6c"},
|
||||
"status": {"path": "docs/status/M16-GAP-00280.md", "sha256": "6006277684f975fdd96dbe788a49a66865eb56f9f8806702ce5b28fb6b5f6e7f"},
|
||||
"taskContext": {"path": "tests/golden/M16-GAP-00280/task-context.json", "sha256": "2cb4a5c83539e7fbaca6f21a751a213403f4047bc3ead43c3bd37c0d506c0e13"}
|
||||
},
|
||||
"nextTask": "M16-GAP-00281"
|
||||
}
|
||||
185
tests/golden/M16-GAP-00280/task-context.json
Normal file
185
tests/golden/M16-GAP-00280/task-context.json
Normal file
@@ -0,0 +1,185 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00280",
|
||||
"parentTask": "M16-GAP-00279",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable operator:asset.mark_single data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.",
|
||||
"scope": {
|
||||
"gap": "operator:asset.mark_single",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00280.py -- tests/files/web/generated/M16-GAP-00280-operator-asset.mark_single.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00280",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00280"
|
||||
],
|
||||
"inputPaths": [
|
||||
"tools/web/generated/M16-GAP-00280.py"
|
||||
],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 1683,
|
||||
"contextRemainingTokens": 419
|
||||
},
|
||||
"source": {
|
||||
"bytes": 8221,
|
||||
"tokens": 2057
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
"path": "tools/web/generated/M16-GAP-00280.py",
|
||||
"bytes": 1109,
|
||||
"tokens": 278
|
||||
}
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00280-operator-asset.mark_single.blend",
|
||||
"bytes": 86535,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 242091,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 845493,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00280/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00280.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00280/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 1,
|
||||
"bytes": 1109,
|
||||
"tokens": 278
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00281",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00280.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00279/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00279.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00280.md",
|
||||
"tests/golden/M16-GAP-00279/manifest.json",
|
||||
"docs/status/M16-GAP-00279.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/M15-03A/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00279",
|
||||
"parentTask": "M16-GAP-00278",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00280",
|
||||
"artifactCount": 16
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00279 Status",
|
||||
"status: done",
|
||||
"task: asset.mark operator LOCAL_EXACT slice",
|
||||
"updated: 2026-08-24 America/New_York",
|
||||
"scope:",
|
||||
"- The minimal fixture marks `WebGapAssetMarkObject` as an asset and persists the",
|
||||
" author, description, and `operator-mark` tag. Blender desktop observes the",
|
||||
" missing Asset Browser/editor context as `poll=false`, records `CANCELLED` for"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1774,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 444
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2495,
|
||||
"lines": 47,
|
||||
"tokens": 624
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/M16-GAP-00280.md",
|
||||
"bytes": 1774,
|
||||
"lines": 38,
|
||||
"tokens": 444
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00279/manifest.json",
|
||||
"bytes": 2761,
|
||||
"lines": 30,
|
||||
"tokens": 691
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00279.md",
|
||||
"bytes": 1191,
|
||||
"lines": 28,
|
||||
"tokens": 298
|
||||
}
|
||||
],
|
||||
"sourceTokens": 2057,
|
||||
"evidenceFiles": 1,
|
||||
"evidenceBytes": 1109,
|
||||
"evidenceTokens": 278,
|
||||
"totalTokens": 2335,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 3359,
|
||||
"serializedContextTokens": 752,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
30
tests/golden/M16-GAP-00281/manifest.json
Normal file
30
tests/golden/M16-GAP-00281/manifest.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00281",
|
||||
"parentTask": "M16-GAP-00280",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "ASSET_OPEN_CONTAINING_BLEND_FILE_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {"path": "tests/golden/M16-GAP-00280/manifest.json", "sha256": "2cb4a5c83539e7fbaca6f21a751a213403f4047bc3ead43c3bd37c0d506c0e13"},
|
||||
"fixture": {"path": "tests/files/web/generated/M16-GAP-00281-operator-asset.open_containing_blend_file.blend", "sha256": "97a440671019043e15e20883e308429220012a66bbdce138492e44a3d19b2572"},
|
||||
"librarySource": {"path": "tests/files/web/generated/WebGapOpenContaining.blend", "sha256": "0bf2f0d5dda3e7f4e341973f7d394ce7b096f7bd142915d67c5267b6ff55b223"},
|
||||
"generator": {"path": "tools/web/generated/M16-GAP-00281.py", "sha256": "5f3331695d69921031fe291d6ccd900cdce2e64b62d2e9b0fd616b8aca18451b"},
|
||||
"desktopChecker": {"path": "tools/web/check-action-open-containing-blend-file-desktop.py", "sha256": "5df4d4476f84ed68ae320b529e9f4bee47007948dee7aeecd6bf360b22dc0953"},
|
||||
"webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "d5d9eaca335df87a9447f20bbd20e0c3b76b7087e4d74a8b9bf1ff10cb57ca25"},
|
||||
"reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "050abd03517a7e826facadcfa241985c410865d46141997a31a97529da47cb1b"},
|
||||
"sceneIrProtocol": {"path": "web/protocol/scene-ir.ts", "sha256": "fbf15c996758dc9f2dab934ba7bb1252705453fe2b57f73a84cb37bfafa8a3b8"},
|
||||
"nativeStub": {"path": "web/engine/web_engine_native_reader_stub.cpp", "sha256": "2a1526e08cf446bb23a91c8c2ae799db38a0aeed0a809a15ead427780600481a"},
|
||||
"wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "269a4bbff670e0cbc8c2fd6cc3eabfadc03ba50929b30c8bd3695d958f399169"},
|
||||
"wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "269a4bbff670e0cbc8c2fd6cc3eabfadc03ba50929b30c8bd3695d958f399169"},
|
||||
"wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"wasmJsPublic": {"path": "web/app/public/vendor/blender/web_engine.js", "sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"},
|
||||
"desktopReport": {"path": "tests/golden/M16-GAP-00281/open-containing-desktop-report.json", "sha256": "08d6ea11250bc645acf28b6e452a91da62c960d549a41a01e70f5f9c7c2d34a2"},
|
||||
"webReport": {"path": "tests/golden/M16-GAP-00281/open-containing-local-exact-report.json", "sha256": "56ad229dbaac780579308f13ee8c1aa049a2ec16aae8a0c9fa777f5e7274aad8"},
|
||||
"status": {"path": "docs/status/M16-GAP-00281.md", "sha256": "6d798d81632a92844b8a5e42da5afb2b72d7321070e401a57583324fd081d691"},
|
||||
"taskContext": {"path": "tests/golden/M16-GAP-00281/task-context.json", "sha256": "f44fdc0cf3a99877675286268bca920ed8c1ac8fa515bce5a7dfd0f3608f59ed"}
|
||||
},
|
||||
"nextTask": "M16-GAP-00282"
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"after": {
|
||||
"filepath": "//WebGapOpenContaining.blend",
|
||||
"name": "WebGapOpenContaining.blend",
|
||||
"packed": false
|
||||
},
|
||||
"before": {
|
||||
"filepath": "//WebGapOpenContaining.blend",
|
||||
"name": "WebGapOpenContaining.blend",
|
||||
"packed": false
|
||||
},
|
||||
"blenderVersion": "5.2.0 LTS",
|
||||
"fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00281-operator-asset.open_containing_blend_file.blend",
|
||||
"fixtureSha256": "97a440671019043e15e20883e308429220012a66bbdce138492e44a3d19b2572",
|
||||
"mainMutation": "NONE",
|
||||
"operation": "ASSET_OPEN_CONTAINING_BLEND_FILE_DESKTOP",
|
||||
"operatorStatus": "CANCELLED",
|
||||
"poll": false,
|
||||
"saveReopen": "EXACT",
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00281"
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00281",
|
||||
"operation": "ASSET_OPEN_CONTAINING_BLEND_FILE_LOCAL_EXACT",
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00281-operator-asset.open_containing_blend_file.blend",
|
||||
"sha256": "97a440671019043e15e20883e308429220012a66bbdce138492e44a3d19b2572"
|
||||
},
|
||||
"desktop": {
|
||||
"status": "EXACT",
|
||||
"report": "tests/golden/M16-GAP-00281/open-containing-desktop-report.json",
|
||||
"poll": false,
|
||||
"operatorStatus": "CANCELLED",
|
||||
"mainMutation": "NONE"
|
||||
},
|
||||
"wasm": {
|
||||
"status": "EXACT",
|
||||
"libraryId": "library:WebGapOpenContaining.blend",
|
||||
"sourcePath": "//WebGapOpenContaining.blend",
|
||||
"libraryStatus": "EXTERNAL_REQUIRED",
|
||||
"dependencyIds": []
|
||||
},
|
||||
"saveReopen": "EXACT",
|
||||
"negative": {
|
||||
"malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION"
|
||||
},
|
||||
"nextTask": "M16-GAP-00282"
|
||||
}
|
||||
185
tests/golden/M16-GAP-00281/task-context.json
Normal file
185
tests/golden/M16-GAP-00281/task-context.json
Normal file
@@ -0,0 +1,185 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00281",
|
||||
"parentTask": "M16-GAP-00280",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable operator:asset.open_containing_blend_file data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.",
|
||||
"scope": {
|
||||
"gap": "operator:asset.open_containing_blend_file",
|
||||
"ownerFamily": "OPERATOR",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00281.py -- tests/files/web/generated/M16-GAP-00281-operator-asset.open_containing_blend_file.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00281",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00281"
|
||||
],
|
||||
"inputPaths": [
|
||||
"tools/web/generated/M16-GAP-00281.py"
|
||||
],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 1630,
|
||||
"contextRemainingTokens": 406
|
||||
},
|
||||
"source": {
|
||||
"bytes": 8274,
|
||||
"tokens": 2070
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
"path": "tools/web/generated/M16-GAP-00281.py",
|
||||
"bytes": 1592,
|
||||
"tokens": 398
|
||||
}
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00281-operator-asset.open_containing_blend_file.blend",
|
||||
"bytes": 85917,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 242091,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 849148,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00281/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00281.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00281/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 1,
|
||||
"bytes": 1592,
|
||||
"tokens": 398
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00282",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00281.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00280/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00280.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00281.md",
|
||||
"tests/golden/M16-GAP-00280/manifest.json",
|
||||
"docs/status/M16-GAP-00280.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/M15-03A/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00280",
|
||||
"parentTask": "M16-GAP-00279",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00281",
|
||||
"artifactCount": 16
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00280 Status",
|
||||
"status: done",
|
||||
"task: asset.mark_single operator LOCAL_EXACT slice",
|
||||
"updated: 2026-08-24 America/New_York",
|
||||
"scope:",
|
||||
"- The minimal fixture contains one marked object, `WebGapAssetMarkSingleObject`,",
|
||||
" with stable author, description, and `operator-mark-single` tag metadata.",
|
||||
" Blender desktop observes `asset.mark_single` as `poll=false`, records"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1849,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 463
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2495,
|
||||
"lines": 47,
|
||||
"tokens": 624
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/M16-GAP-00281.md",
|
||||
"bytes": 1849,
|
||||
"lines": 38,
|
||||
"tokens": 463
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00280/manifest.json",
|
||||
"bytes": 2796,
|
||||
"lines": 30,
|
||||
"tokens": 699
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00280.md",
|
||||
"bytes": 1134,
|
||||
"lines": 28,
|
||||
"tokens": 284
|
||||
}
|
||||
],
|
||||
"sourceTokens": 2070,
|
||||
"evidenceFiles": 1,
|
||||
"evidenceBytes": 1592,
|
||||
"evidenceTokens": 398,
|
||||
"totalTokens": 2468,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 3492,
|
||||
"serializedContextTokens": 763,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
13
tests/golden/WBV2-BASELINE/manifest.json
Normal file
13
tests/golden/WBV2-BASELINE/manifest.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-BASELINE",
|
||||
"parentTask": "M16-GAP-00281",
|
||||
"enablingTask": true,
|
||||
"parityStateChange": false,
|
||||
"runtime": "EXECUTION_CONTROL_PLANE",
|
||||
"operation": "ACTIVATE_CAPABILITY_QUEUE_WITH_LEGACY_COVERAGE_CHECKPOINT",
|
||||
"status": "done",
|
||||
"artifacts": {},
|
||||
"legacyCoverageCheckpoint": "M16-GAP-00282",
|
||||
"nextTask": "WBV2-P0-001"
|
||||
}
|
||||
43
tests/golden/WBV2-P0-001/control-plane-report.json
Normal file
43
tests/golden/WBV2-P0-001/control-plane-report.json
Normal file
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P0-001",
|
||||
"operation": "CAPABILITY_QUEUE_RECONCILIATION",
|
||||
"status": "PASS",
|
||||
"executionPointer": {
|
||||
"task": "WBV2-P0-001",
|
||||
"parentManifest": "tests/golden/WBV2-BASELINE/manifest.json",
|
||||
"parentNextTask": "WBV2-P0-001",
|
||||
"nextTask": "WBV2-P0-002"
|
||||
},
|
||||
"legacyCoverage": {
|
||||
"task": "M16-GAP-00282",
|
||||
"parentManifest": "tests/golden/M16-GAP-00281/manifest.json",
|
||||
"state": "active",
|
||||
"meaning": "regression coverage only; not a production capability task"
|
||||
},
|
||||
"correctiveCheckpoint": {
|
||||
"task": "C6-003",
|
||||
"handoff": "tests/golden/corrective/C6-003/handoff.json",
|
||||
"queueMutation": true,
|
||||
"meaning": "historical migration evidence"
|
||||
},
|
||||
"efficiency": {
|
||||
"legacyGapTasks": 6900,
|
||||
"legacyCompleted": 281,
|
||||
"capabilityClusters": 3,
|
||||
"mappedLegacyGaps": 9,
|
||||
"averageGapsPerCapability": 3,
|
||||
"parallelism": "read-only inventory/schema/checkers may parallelize; Main and generated pointers remain serialized"
|
||||
},
|
||||
"commands": [
|
||||
{"command": "node tools/web/check-web-parity-v2-plan.mjs", "exitCode": 0},
|
||||
{"command": "node tools/web/check-corrective-plan.mjs", "exitCode": 0},
|
||||
{"command": "node tools/web/check-execution-control-plane.mjs", "exitCode": 0},
|
||||
{"command": "node tools/web/check-execution-health.mjs", "exitCode": 0},
|
||||
{"command": "npm --prefix web run test:task-context", "exitCode": 0},
|
||||
{"command": "npm --prefix web run test:context-governance", "exitCode": 0},
|
||||
{"command": "npm --prefix web run test:execution-control-plane", "exitCode": 0},
|
||||
{"command": "git diff --check", "exitCode": 0}
|
||||
],
|
||||
"failurePolicy": "hash drift, malformed plan, duplicate ready task, missing parent or context budget failure keeps the current task in_progress/blocked"
|
||||
}
|
||||
19
tests/golden/WBV2-P0-001/manifest.json
Normal file
19
tests/golden/WBV2-P0-001/manifest.json
Normal file
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P0-001",
|
||||
"parentTask": "WBV2-BASELINE",
|
||||
"enablingTask": true,
|
||||
"parityStateChange": false,
|
||||
"runtime": "EXECUTION_CONTROL_PLANE",
|
||||
"operation": "CAPABILITY_QUEUE_RECONCILIATION",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {"path": "tests/golden/WBV2-BASELINE/manifest.json", "sha256": "181490cca1aaff90559206d8e4869e4d87c8b0e9e1907dcfc996e95efb328ccb"},
|
||||
"controlPlaneReport": {"path": "tests/golden/WBV2-P0-001/control-plane-report.json", "sha256": "423651d3534b055a099bb08a882270383b75c344ae737f16a82cc15f90e0e3c0"},
|
||||
"status": {"path": "docs/status/WBV2-P0-001.md", "sha256": "14bbb5fcee8a2b8a8904ecdda1dc0cfb4821d18095a8f3ecdc9b45d7b0194f89"},
|
||||
"taskContext": {"path": "tests/golden/WBV2-P0-001/task-context.json", "sha256": "c587edb6172b3d8cb8d5853ae4a89b15f4b0494e0bf21fc67a7bfca2b9e3e921"},
|
||||
"controlPlaneChecker": {"path": "tools/web/check-execution-control-plane.mjs", "sha256": "77a64d6106505ac13a593870d73577cf6a34f28308557114aa2862e51a21076e"},
|
||||
"contextRunner": {"path": "tools/web/task-context-lib.mjs", "sha256": "eb6fabeb6faac9c3b916326e58db3b5b4b33b30288198caf528b078263b9d606"}
|
||||
},
|
||||
"nextTask": "WBV2-P0-002"
|
||||
}
|
||||
179
tests/golden/WBV2-P0-001/task-context.json
Normal file
179
tests/golden/WBV2-P0-001/task-context.json
Normal file
@@ -0,0 +1,179 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P0-001",
|
||||
"parentTask": "WBV2-BASELINE",
|
||||
"status": "in_progress",
|
||||
"goal": "冻结 V1 与 Blender 5.2 full-parity 的业务边界,建立 capability production lane",
|
||||
"scope": {
|
||||
"gap": "workflow:execution-control-plane",
|
||||
"ownerFamily": "PROGRAM",
|
||||
"implementationClass": "LOCAL_BOUNDED"
|
||||
},
|
||||
"commands": [
|
||||
"node tools/web/check-web-parity-v2-plan.mjs",
|
||||
"node tools/web/check-corrective-plan.mjs",
|
||||
"node tools/web/check-context-governance.mjs",
|
||||
"npm --prefix web run test:execution-control-plane"
|
||||
],
|
||||
"inputPaths": [
|
||||
"docs/BLENDER_WEB_EXECUTION_CONTROL_PLANE.md"
|
||||
],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 4700,
|
||||
"contextRemainingTokens": 1173
|
||||
},
|
||||
"source": {
|
||||
"bytes": 5204,
|
||||
"tokens": 1303
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
"path": "docs/BLENDER_WEB_EXECUTION_CONTROL_PLANE.md",
|
||||
"bytes": 3634,
|
||||
"tokens": 909
|
||||
}
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "docs/BLENDER_WEB_PARITY_EXECUTION_PLAN_V2.md",
|
||||
"bytes": 11045,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "docs/BLENDER_WEB_PARITY_TASK_PLAN_V2.json",
|
||||
"bytes": 23705,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 0,
|
||||
"reason": "ALREADY_IN_CONTEXT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/corrective/C6-003/handoff.json",
|
||||
"bytes": 6516,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"bytes": 4061,
|
||||
"reason": "CONTEXT_REMAINING_SPACE"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 1,
|
||||
"bytes": 3634,
|
||||
"tokens": 909
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"corrective owner-review status is explicit",
|
||||
"legacy parent pointer is unchanged",
|
||||
"plan has one activation gate"
|
||||
],
|
||||
"nextTask": "WBV2-P0-002",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/WBV2-P0-001.md",
|
||||
"taskIndex": "tests/golden/WBV2/task-index.json",
|
||||
"parentManifest": "tests/golden/WBV2-BASELINE/manifest.json",
|
||||
"parentStatus": "docs/status/WBV2-BASELINE.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/WBV2-P0-001.md",
|
||||
"tests/golden/WBV2-BASELINE/manifest.json",
|
||||
"docs/status/WBV2-BASELINE.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/WBV2/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-BASELINE",
|
||||
"parentTask": "M16-GAP-00281",
|
||||
"status": "done",
|
||||
"nextTask": "WBV2-P0-001",
|
||||
"artifactCount": 0
|
||||
},
|
||||
"statusSummary": [
|
||||
"# WBV2 baseline status",
|
||||
"status: done",
|
||||
"task: capability queue transition baseline",
|
||||
"updated: 2026-08-24 America/New_York",
|
||||
"The WBV2 production lane starts without rewriting the immutable M16 manifests. The",
|
||||
"legacy coverage checkpoint remains `M16-GAP-00282`, whose parent manifest is",
|
||||
"`tests/golden/M16-GAP-00281/manifest.json`. Corrective C0-C6 evidence remains historical.",
|
||||
"nextTask: `WBV2-P0-001`"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1639,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 48,
|
||||
"taskTokens": 410
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2802,
|
||||
"lines": 51,
|
||||
"tokens": 701
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/WBV2-P0-001.md",
|
||||
"bytes": 1639,
|
||||
"lines": 48,
|
||||
"tokens": 410
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-BASELINE/manifest.json",
|
||||
"bytes": 370,
|
||||
"lines": 14,
|
||||
"tokens": 93
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-BASELINE.md",
|
||||
"bytes": 393,
|
||||
"lines": 12,
|
||||
"tokens": 99
|
||||
}
|
||||
],
|
||||
"sourceTokens": 1303,
|
||||
"evidenceFiles": 1,
|
||||
"evidenceBytes": 3634,
|
||||
"evidenceTokens": 909,
|
||||
"totalTokens": 2212,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 3236,
|
||||
"serializedContextTokens": 688,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
31
tests/golden/WBV2/task-catalog.jsonl
Normal file
31
tests/golden/WBV2/task-catalog.jsonl
Normal file
@@ -0,0 +1,31 @@
|
||||
{"id":"WBV2-P0-001","gapId":"workflow:reconcile_scope_and_checkpoints","ownerFamily":"PROGRAM","sourceTask":"P0","state":"completed","targetImplementationClass":"LOCAL_BOUNDED","exitCriteria":["corrective owner-review status is explicit","legacy parent pointer is unchanged","plan has one activation gate"]}
|
||||
{"id":"WBV2-P0-002","gapId":"workflow:generate_blender52_inventory_and_parity_map","ownerFamily":"PARITY","sourceTask":"P0","state":"active","targetImplementationClass":"LOCAL_BOUNDED","exitCriteria":["unknown entries are classified","inventory is deterministic","no entry claims feature parity without evidence"]}
|
||||
{"id":"WBV2-P0-003","gapId":"workflow:freeze_capability_error_budget_contract","ownerFamily":"PROTOCOL","sourceTask":"P0","state":"pending","targetImplementationClass":"LOCAL_BOUNDED","exitCriteria":["unsupported input fails closed","schema hashes are stable","migration policy preserves unknown data"]}
|
||||
{"id":"WBV2-P1-001","gapId":"workflow:stabilize_runtime_variants_and_source_receipts","ownerFamily":"RUNTIME","sourceTask":"P1","state":"pending","targetImplementationClass":"LOCAL_BOUNDED","exitCriteria":["variant fallback is deterministic","source/build hash is verified","one engine session has one generation"]}
|
||||
{"id":"WBV2-P1-002","gapId":"workflow:unify_sceneir_stable_ids_and_binary_deltas","ownerFamily":"MAIN","sourceTask":"P1","state":"pending","targetImplementationClass":"LOCAL_EXACT","exitCriteria":["IDs survive save/reopen","malformed chunk is rejected","desktop and WASM canonical hashes match"]}
|
||||
{"id":"WBV2-P1-003","gapId":"workflow:unify_main_transaction_history_and_save","ownerFamily":"MAIN","sourceTask":"P1","state":"pending","targetImplementationClass":"LOCAL_EXACT","exitCriteria":["failed/no-op commands add no history","stale revision cannot commit","reopen state is byte/hash stable"]}
|
||||
{"id":"WBV2-P1-004","gapId":"workflow:harden_worker_cancel_restart_and_dispose","ownerFamily":"RUNTIME","sourceTask":"P1","state":"pending","targetImplementationClass":"LOCAL_BOUNDED","exitCriteria":["cancel never publishes result","generation mismatch is rejected","CPU/WASM/GPU owners return to budget"]}
|
||||
{"id":"WBV2-P1-005","gapId":"workflow:harden_opfs_indexeddb_journal_recovery","ownerFamily":"STORAGE","sourceTask":"P1","state":"pending","targetImplementationClass":"LOCAL_BOUNDED","exitCriteria":["interrupted commit leaves old project usable","hash mismatch quarantines payload","small project recovers after restart"]}
|
||||
{"id":"WBV2-P2-001","gapId":"EDITOR.OPEN_SCENE","ownerFamily":"EDITOR","sourceTask":"P2","state":"pending","targetImplementationClass":"LOCAL_EXACT","exitCriteria":["stable IDs and selection revision match","missing data is structured","reopen preserves context"]}
|
||||
{"id":"WBV2-P2-002","gapId":"OBJECT.TRANSFORM_HIERARCHY","ownerFamily":"EDITOR","sourceTask":"P2","state":"pending","targetImplementationClass":"LOCAL_EXACT","exitCriteria":["world matrix parity","cycle/locked/library edits reject","undo/redo/save/reopen stable"]}
|
||||
{"id":"WBV2-P2-003","gapId":"MESH.EDIT_CORE","ownerFamily":"MESH","sourceTask":"P2","state":"pending","targetImplementationClass":"LOCAL_EXACT","exitCriteria":["topology/attributes match","invalid selection and budget fail closed","single transaction and reopen stable"]}
|
||||
{"id":"WBV2-P2-004","gapId":"VIEWPORT.MAIN_OFFSCREEN","ownerFamily":"VIEWPORT","sourceTask":"P2","state":"pending","targetImplementationClass":"LOCAL_BOUNDED","exitCriteria":["both paths have nonblank pixels","selection/camera revision is shared","device loss releases resources"]}
|
||||
{"id":"WBV2-P2-005","gapId":"WORKFLOW.P0_USER_LOOP","ownerFamily":"INTEGRATION","sourceTask":"P2","state":"pending","targetImplementationClass":"LOCAL_BOUNDED","exitCriteria":["Main revision and exported asset are bound","fault/cancel leaves old state","Chromium production path passes"]}
|
||||
{"id":"WBV2-P3-001","gapId":"MATERIAL.PBR_UV","ownerFamily":"MATERIAL","sourceTask":"P3","state":"pending","targetImplementationClass":"LOCAL_BOUNDED","exitCriteria":["desktop/WASM node fields match","unsupported node retained/blocked","packed asset survives reopen"]}
|
||||
{"id":"WBV2-P3-002","gapId":"ANIMATION.TRS_ACTION","ownerFamily":"ANIMATION","sourceTask":"P3","state":"pending","targetImplementationClass":"LOCAL_EXACT","exitCriteria":["sampled values and handles match","stale frame result rejected","undo/save/reopen stable"]}
|
||||
{"id":"WBV2-P3-003","gapId":"RIG.POSE_SKIN","ownerFamily":"RIG","sourceTask":"P3","state":"pending","targetImplementationClass":"LOCAL_BOUNDED","exitCriteria":["pose matrices and weights match","unsupported constraint is explicit","save/reopen and small recovery pass"]}
|
||||
{"id":"WBV2-P3-004","gapId":"IO.GLB_ROUNDTRIP","ownerFamily":"IO","sourceTask":"P3","state":"pending","targetImplementationClass":"LOCAL_EXACT","exitCriteria":["roundtrip canonical graph matches","sparse/external URI/budget negatives reject","no silent loss"]}
|
||||
{"id":"WBV2-P3-005","gapId":"ASSET.LIBRARY_OPERATIONS","ownerFamily":"ASSET","sourceTask":"P3","state":"pending","targetImplementationClass":"LOCAL_BOUNDED","exitCriteria":["source/hash/owner identity preserved","linked mutation blocked","stale generation and missing source fail closed"]}
|
||||
{"id":"WBV2-P4-001","gapId":"MODIFIER.DECLARED_SLICES","ownerFamily":"MODIFIER","sourceTask":"P4","state":"pending","targetImplementationClass":"LOCAL_BOUNDED","exitCriteria":["desktop/evaluated Main match","unknown modifier retained and blocked","apply/undo/save/reopen stable"]}
|
||||
{"id":"WBV2-P4-002","gapId":"NODES.ALLOWLIST","ownerFamily":"NODES","sourceTask":"P4","state":"pending","targetImplementationClass":"LOCAL_BOUNDED","exitCriteria":["node/socket/link/default parity","budget and unknown-node block before commit","compile failure rolls back"]}
|
||||
{"id":"WBV2-P4-003","gapId":"SCULPT.NONMESH.PAINT_BOUNDED","ownerFamily":"SCULPT","sourceTask":"P4","state":"pending","targetImplementationClass":"LOCAL_BOUNDED","exitCriteria":["Main commit is atomic","unsupported brush/solver returns stable code","GPU/OOM/restart recovery passes"]}
|
||||
{"id":"WBV2-P4-004","gapId":"SIMULATION.CACHE_LIFECYCLE","ownerFamily":"SIMULATION","sourceTask":"P4","state":"pending","targetImplementationClass":"LOCAL_BOUNDED","exitCriteria":["stale/corrupt cache never publishes","small cache recovers after restart","budget release is observable"]}
|
||||
{"id":"WBV2-P5-001","gapId":"RENDER.ROUTING","ownerFamily":"RENDER","sourceTask":"P5","state":"pending","targetImplementationClass":"LOCAL_BOUNDED","exitCriteria":["source/settings/build identity bound","unsupported route cannot pretend local success","cancel/device loss releases resources"]}
|
||||
{"id":"WBV2-P5-002","gapId":"MEDIA.BOUNDED_WORKFLOW","ownerFamily":"MEDIA","sourceTask":"P5","state":"pending","targetImplementationClass":"LOCAL_BOUNDED","exitCriteria":["seek/decode revision ordering","cancel/timeout does not publish","quota/OOM/restart leaves project valid"]}
|
||||
{"id":"WBV2-P5-003","gapId":"SERVER.JOB_BINDING","ownerFamily":"SERVER","sourceTask":"P5","state":"pending","targetImplementationClass":"SERVER_EXACT","exitCriteria":["duplicate request is idempotent","stale result cannot bind","timeout/cancel/OOM produces no READY output"]}
|
||||
{"id":"WBV2-P6-001","gapId":"SECURITY.SCRIPTING","ownerFamily":"SECURITY","sourceTask":"P6","state":"pending","targetImplementationClass":"EXCLUDED","exitCriteria":["autorun/network/add-on defaults deny","sandbox cancellation/dispose works","no secret or filesystem escape"]}
|
||||
{"id":"WBV2-P6-002","gapId":"workflow:performance_fault_and_recovery_matrix","ownerFamily":"RELIABILITY","sourceTask":"P6","state":"pending","targetImplementationClass":"LOCAL_BOUNDED","exitCriteria":["100k/1M/10M thresholds recorded","fault leaves old revision usable","all owned resources return to budget"]}
|
||||
{"id":"WBV2-P6-003","gapId":"workflow:offline_ci_sbom_and_rollback_release","ownerFamily":"RELEASE","sourceTask":"P6","state":"pending","targetImplementationClass":"LOCAL_BOUNDED","exitCriteria":["quick/Chromium/release lanes pass","artifact hashes reproduce","upgrade/rollback and known limitations are tested"]}
|
||||
{"id":"WBV2-P7-001","gapId":"workflow:cluster_full_blender_gap_inventory","ownerFamily":"PARITY","sourceTask":"P7","state":"pending","targetImplementationClass":"LOCAL_BOUNDED","exitCriteria":["each gap has stable ID and owner","negative-only/unsupported is not positive parity","clusters are deterministic"]}
|
||||
{"id":"WBV2-P7-002","gapId":"workflow:generate_atomic_family_gap_queue","ownerFamily":"PROGRAM","sourceTask":"P7","state":"pending","targetImplementationClass":"LOCAL_BOUNDED","exitCriteria":["one active ready task","no guessed successor","each card fits context budget"]}
|
||||
{"id":"WBV2-P7-003","gapId":"workflow:full_parity_candidate_release_gate","ownerFamily":"RELEASE","sourceTask":"P7","state":"pending","targetImplementationClass":"LOCAL_BOUNDED","exitCriteria":["all claims bind to evidence","blocked/excluded/server classes remain explicit","queue and protected hashes pass"]}
|
||||
1
tests/golden/WBV2/task-index.json
Normal file
1
tests/golden/WBV2/task-index.json
Normal file
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"operation":"BLENDER_WEB_CAPABILITY_TASK_INDEX","source":{"path":"docs/BLENDER_WEB_PARITY_TASK_PLAN_V2.json","sha256":"8a08f2e916de56c112e5ce27f51575baaeba03d783fcb298b59bfd4d16c8e02c"},"catalog":{"path":"tests/golden/WBV2/task-catalog.jsonl","sha256":"b717a08a8128d2ad44fb11906d5aa48a86884f558ad30c8365bd46a54dfacd50"},"taskCount":31,"activeTask":"WBV2-P0-002","entries":{"WBV2-P0-001":{"line":0,"offset":0,"length":308,"previous":null,"next":"WBV2-P0-002"},"WBV2-P0-002":{"line":1,"offset":308,"length":315,"previous":"WBV2-P0-001","next":"WBV2-P0-003"},"WBV2-P0-003":{"line":2,"offset":623,"length":304,"previous":"WBV2-P0-002","next":"WBV2-P1-001"},"WBV2-P1-001":{"line":3,"offset":927,"length":316,"previous":"WBV2-P0-003","next":"WBV2-P1-002"},"WBV2-P1-002":{"line":4,"offset":1243,"length":297,"previous":"WBV2-P0-003","next":"WBV2-P1-003"},"WBV2-P1-003":{"line":5,"offset":1540,"length":301,"previous":"WBV2-P1-002","next":"WBV2-P1-004"},"WBV2-P1-004":{"line":6,"offset":1841,"length":307,"previous":"WBV2-P1-003","next":"WBV2-P1-005"},"WBV2-P1-005":{"line":7,"offset":2148,"length":322,"previous":"WBV2-P1-004","next":"WBV2-P2-001"},"WBV2-P2-001":{"line":8,"offset":2470,"length":265,"previous":"WBV2-P1-005","next":"WBV2-P2-002"},"WBV2-P2-002":{"line":9,"offset":2735,"length":265,"previous":"WBV2-P1-003","next":"WBV2-P2-003"},"WBV2-P2-003":{"line":10,"offset":3000,"length":272,"previous":"WBV2-P1-002","next":"WBV2-P2-004"},"WBV2-P2-004":{"line":11,"offset":3272,"length":282,"previous":"WBV2-P1-004","next":"WBV2-P2-005"},"WBV2-P2-005":{"line":12,"offset":3554,"length":289,"previous":"WBV2-P1-005","next":"WBV2-P3-001"},"WBV2-P3-001":{"line":13,"offset":3843,"length":269,"previous":"WBV2-P2-005","next":"WBV2-P3-002"},"WBV2-P3-002":{"line":14,"offset":4112,"length":264,"previous":"WBV2-P2-005","next":"WBV2-P3-003"},"WBV2-P3-003":{"line":15,"offset":4376,"length":271,"previous":"WBV2-P3-002","next":"WBV2-P3-004"},"WBV2-P3-004":{"line":16,"offset":4647,"length":261,"previous":"WBV2-P3-003","next":"WBV2-P3-005"},"WBV2-P3-005":{"line":17,"offset":4908,"length":290,"previous":"WBV2-P2-001","next":"WBV2-P4-001"},"WBV2-P4-001":{"line":18,"offset":5198,"length":281,"previous":"WBV2-P2-005","next":"WBV2-P4-002"},"WBV2-P4-002":{"line":19,"offset":5479,"length":275,"previous":"WBV2-P4-001","next":"WBV2-P4-003"},"WBV2-P4-003":{"line":20,"offset":5754,"length":285,"previous":"WBV2-P2-004","next":"WBV2-P4-004"},"WBV2-P4-004":{"line":21,"offset":6039,"length":288,"previous":"WBV2-P4-002","next":"WBV2-P5-001"},"WBV2-P5-001":{"line":22,"offset":6327,"length":294,"previous":"WBV2-P4-002","next":"WBV2-P5-002"},"WBV2-P5-002":{"line":23,"offset":6621,"length":280,"previous":"WBV2-P5-001","next":"WBV2-P5-003"},"WBV2-P5-003":{"line":24,"offset":6901,"length":276,"previous":"WBV2-P5-001","next":"WBV2-P6-001"},"WBV2-P6-001":{"line":25,"offset":7177,"length":276,"previous":"WBV2-P5-003","next":"WBV2-P6-002"},"WBV2-P6-002":{"line":26,"offset":7453,"length":311,"previous":"WBV2-P2-004","next":"WBV2-P6-003"},"WBV2-P6-003":{"line":27,"offset":7764,"length":314,"previous":"WBV2-P6-002","next":"WBV2-P7-001"},"WBV2-P7-001":{"line":28,"offset":8078,"length":310,"previous":"WBV2-P6-003","next":"WBV2-P7-002"},"WBV2-P7-002":{"line":29,"offset":8388,"length":273,"previous":"WBV2-P7-001","next":"WBV2-P7-003"},"WBV2-P7-003":{"line":30,"offset":8661,"length":310,"previous":"WBV2-P7-002","next":null}}}
|
||||
34
tests/golden/corrective/C0-001/baseline-second.json
Normal file
34
tests/golden/corrective/C0-001/baseline-second.json
Normal file
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00274",
|
||||
"queue": {
|
||||
"currentTask": "M16-GAP-00274",
|
||||
"parentManifest": "tests/golden/M16-GAP-00273/manifest.json",
|
||||
"parentNextTask": "M16-GAP-00274"
|
||||
},
|
||||
"generatedState": {
|
||||
"catalogActiveTask": "M16-GAP-00274",
|
||||
"catalogActiveIds": [
|
||||
"M16-GAP-00274"
|
||||
],
|
||||
"planFirstTask": "M16-GAP-00274",
|
||||
"planNextTask": "M15-03B",
|
||||
"completionCount": 264,
|
||||
"legacyEvidenceDirectoryCount": 274
|
||||
},
|
||||
"sourceHashes": {
|
||||
"docs/EXECUTION_QUEUE.md": "eeaca50828c3feb3ed53d1869626a703d9e50fefd9c70d871cc6eec03fc84bcd",
|
||||
"tests/golden/M16-GAP-00273/manifest.json": "3b45536a28d99f899fb095a5d2e31265a8ef2b7fb92ceb8be26e061621e253c1",
|
||||
"docs/status/M16-GAP-00273.md": "5e93f2d8942d2bf5f49beef7fb427e9968e359ed6ada8a40d11072549075f2d8",
|
||||
"tests/golden/M15-03A/completed-gap-tasks.json": "f9f4f1116b5975aa1b47fee15856f2029ec8f02161e432e9a24b846384cd1c5b",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl": "278d51b867d63a5975635b8fd108c9025668de0893576499a77bd3d571a0f14b",
|
||||
"tests/golden/M15-03A/task-index.json": "9c79926a5a91b137b023a62f8a98d7c7421018846fdf658c9bea13ee5c5cbcea",
|
||||
"tests/golden/M15-03A/next-task-plan.json": "2235d0d250d28e63ab1c9b0e956292560785cf340c612312b316be0ceb2463a9"
|
||||
},
|
||||
"invariants": {
|
||||
"queueMutationAllowed": false,
|
||||
"parentPointerMatchesCurrent": true,
|
||||
"exactlyOneCatalogActive": true,
|
||||
"catalogActiveMatchesPlan": true
|
||||
}
|
||||
}
|
||||
34
tests/golden/corrective/C0-001/baseline.json
Normal file
34
tests/golden/corrective/C0-001/baseline.json
Normal file
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00274",
|
||||
"queue": {
|
||||
"currentTask": "M16-GAP-00274",
|
||||
"parentManifest": "tests/golden/M16-GAP-00273/manifest.json",
|
||||
"parentNextTask": "M16-GAP-00274"
|
||||
},
|
||||
"generatedState": {
|
||||
"catalogActiveTask": "M16-GAP-00274",
|
||||
"catalogActiveIds": [
|
||||
"M16-GAP-00274"
|
||||
],
|
||||
"planFirstTask": "M16-GAP-00274",
|
||||
"planNextTask": "M15-03B",
|
||||
"completionCount": 264,
|
||||
"legacyEvidenceDirectoryCount": 274
|
||||
},
|
||||
"sourceHashes": {
|
||||
"docs/EXECUTION_QUEUE.md": "eeaca50828c3feb3ed53d1869626a703d9e50fefd9c70d871cc6eec03fc84bcd",
|
||||
"tests/golden/M16-GAP-00273/manifest.json": "3b45536a28d99f899fb095a5d2e31265a8ef2b7fb92ceb8be26e061621e253c1",
|
||||
"docs/status/M16-GAP-00273.md": "5e93f2d8942d2bf5f49beef7fb427e9968e359ed6ada8a40d11072549075f2d8",
|
||||
"tests/golden/M15-03A/completed-gap-tasks.json": "f9f4f1116b5975aa1b47fee15856f2029ec8f02161e432e9a24b846384cd1c5b",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl": "278d51b867d63a5975635b8fd108c9025668de0893576499a77bd3d571a0f14b",
|
||||
"tests/golden/M15-03A/task-index.json": "9c79926a5a91b137b023a62f8a98d7c7421018846fdf658c9bea13ee5c5cbcea",
|
||||
"tests/golden/M15-03A/next-task-plan.json": "2235d0d250d28e63ab1c9b0e956292560785cf340c612312b316be0ceb2463a9"
|
||||
},
|
||||
"invariants": {
|
||||
"queueMutationAllowed": false,
|
||||
"parentPointerMatchesCurrent": true,
|
||||
"exactlyOneCatalogActive": true,
|
||||
"catalogActiveMatchesPlan": true
|
||||
}
|
||||
}
|
||||
67
tests/golden/corrective/C0-001/handoff.json
Normal file
67
tests/golden/corrective/C0-001/handoff.json
Normal file
@@ -0,0 +1,67 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "C0-001",
|
||||
"status": "done",
|
||||
"gate": "G0",
|
||||
"queueMutation": false,
|
||||
"evidenceRoot": "tests/golden/corrective/C0-001",
|
||||
"artifactCount": 11,
|
||||
"artifacts": [
|
||||
{
|
||||
"path": "tests/golden/corrective/C0-001/baseline-check.log",
|
||||
"sha256": "5755e26c327a104784c3d0ce448cfad800951b4b03bd1a1b32f2afd59e64f611",
|
||||
"bytes": 78
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/corrective/C0-001/baseline-second.json",
|
||||
"sha256": "8f35198ac5f62ab78dcb7987dde2574e5cc835ab3a6470d25bc1a7143ab002f2",
|
||||
"bytes": 1451
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/corrective/C0-001/baseline.json",
|
||||
"sha256": "8f35198ac5f62ab78dcb7987dde2574e5cc835ab3a6470d25bc1a7143ab002f2",
|
||||
"bytes": 1451
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/corrective/C0-001/check-task-context.log",
|
||||
"sha256": "d878b0cb346102d780a0de68deeb14a36d9c2e7aec63f1010a3d6454e276563a",
|
||||
"bytes": 159
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/corrective/C0-001/context-governance.log",
|
||||
"sha256": "8b4a0add34d164d2e514192c430269e780f03f92697d77e494aa35825b5861f3",
|
||||
"bytes": 130
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/corrective/C0-001/corrective-plan.log",
|
||||
"sha256": "8d43d87f24c770dea5b56022f4ac010d6474e05ff2863c90035b741587a9f3d6",
|
||||
"bytes": 88
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/corrective/C0-001/diff-check.log",
|
||||
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"bytes": 0
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/corrective/C0-001/git-status.log",
|
||||
"sha256": "841e05e8bc1fdeec6e7c1a546911c3b79e1e05acac035fe93b12429ba02097d1",
|
||||
"bytes": 23222
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/corrective/C0-001/print-task-context.log",
|
||||
"sha256": "f5fd8b4fbcd70b9ae9e9fc065c51f396b3571d51e1be0c419757624f87c364ce",
|
||||
"bytes": 3040
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/corrective/C0-001/source-hashes-after.txt",
|
||||
"sha256": "024cda0fbacc185a04acb8835488673c9962ee464edfe578f090fe9cf575b46b",
|
||||
"bytes": 428
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/corrective/C0-001/source-hashes.txt",
|
||||
"sha256": "c0e309fa9967f34e0ddb500cd5619ea50b97d9d0cb3ce6f6861c9d6e8e19d0e7",
|
||||
"bytes": 720
|
||||
}
|
||||
],
|
||||
"nextCorrectiveTask": "C0-002"
|
||||
}
|
||||
67
tests/golden/corrective/C0-001/manifest.json
Normal file
67
tests/golden/corrective/C0-001/manifest.json
Normal file
@@ -0,0 +1,67 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "C0-001",
|
||||
"status": "done",
|
||||
"gate": "G0",
|
||||
"queueMutation": false,
|
||||
"evidenceRoot": "tests/golden/corrective/C0-001",
|
||||
"artifactCount": 11,
|
||||
"artifacts": [
|
||||
{
|
||||
"path": "tests/golden/corrective/C0-001/baseline-check.log",
|
||||
"sha256": "5755e26c327a104784c3d0ce448cfad800951b4b03bd1a1b32f2afd59e64f611",
|
||||
"bytes": 78
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/corrective/C0-001/baseline-second.json",
|
||||
"sha256": "8f35198ac5f62ab78dcb7987dde2574e5cc835ab3a6470d25bc1a7143ab002f2",
|
||||
"bytes": 1451
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/corrective/C0-001/baseline.json",
|
||||
"sha256": "8f35198ac5f62ab78dcb7987dde2574e5cc835ab3a6470d25bc1a7143ab002f2",
|
||||
"bytes": 1451
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/corrective/C0-001/check-task-context.log",
|
||||
"sha256": "d878b0cb346102d780a0de68deeb14a36d9c2e7aec63f1010a3d6454e276563a",
|
||||
"bytes": 159
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/corrective/C0-001/context-governance.log",
|
||||
"sha256": "8b4a0add34d164d2e514192c430269e780f03f92697d77e494aa35825b5861f3",
|
||||
"bytes": 130
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/corrective/C0-001/corrective-plan.log",
|
||||
"sha256": "8d43d87f24c770dea5b56022f4ac010d6474e05ff2863c90035b741587a9f3d6",
|
||||
"bytes": 88
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/corrective/C0-001/diff-check.log",
|
||||
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"bytes": 0
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/corrective/C0-001/git-status.log",
|
||||
"sha256": "841e05e8bc1fdeec6e7c1a546911c3b79e1e05acac035fe93b12429ba02097d1",
|
||||
"bytes": 23222
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/corrective/C0-001/print-task-context.log",
|
||||
"sha256": "f5fd8b4fbcd70b9ae9e9fc065c51f396b3571d51e1be0c419757624f87c364ce",
|
||||
"bytes": 3040
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/corrective/C0-001/source-hashes-after.txt",
|
||||
"sha256": "024cda0fbacc185a04acb8835488673c9962ee464edfe578f090fe9cf575b46b",
|
||||
"bytes": 428
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/corrective/C0-001/source-hashes.txt",
|
||||
"sha256": "c0e309fa9967f34e0ddb500cd5619ea50b97d9d0cb3ce6f6861c9d6e8e19d0e7",
|
||||
"bytes": 720
|
||||
}
|
||||
],
|
||||
"nextCorrectiveTask": "C0-002"
|
||||
}
|
||||
4
tests/golden/corrective/C0-001/source-hashes-after.txt
Normal file
4
tests/golden/corrective/C0-001/source-hashes-after.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
f9f4f1116b5975aa1b47fee15856f2029ec8f02161e432e9a24b846384cd1c5b tests/golden/M15-03A/completed-gap-tasks.json
|
||||
278d51b867d63a5975635b8fd108c9025668de0893576499a77bd3d571a0f14b tests/golden/M15-03A/task-catalog.jsonl
|
||||
9c79926a5a91b137b023a62f8a98d7c7421018846fdf658c9bea13ee5c5cbcea tests/golden/M15-03A/task-index.json
|
||||
2235d0d250d28e63ab1c9b0e956292560785cf340c612312b316be0ceb2463a9 tests/golden/M15-03A/next-task-plan.json
|
||||
7
tests/golden/corrective/C0-001/source-hashes.txt
Normal file
7
tests/golden/corrective/C0-001/source-hashes.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
eeaca50828c3feb3ed53d1869626a703d9e50fefd9c70d871cc6eec03fc84bcd docs/EXECUTION_QUEUE.md
|
||||
3b45536a28d99f899fb095a5d2e31265a8ef2b7fb92ceb8be26e061621e253c1 tests/golden/M16-GAP-00273/manifest.json
|
||||
5e93f2d8942d2bf5f49beef7fb427e9968e359ed6ada8a40d11072549075f2d8 docs/status/M16-GAP-00273.md
|
||||
f9f4f1116b5975aa1b47fee15856f2029ec8f02161e432e9a24b846384cd1c5b tests/golden/M15-03A/completed-gap-tasks.json
|
||||
278d51b867d63a5975635b8fd108c9025668de0893576499a77bd3d571a0f14b tests/golden/M15-03A/task-catalog.jsonl
|
||||
9c79926a5a91b137b023a62f8a98d7c7421018846fdf658c9bea13ee5c5cbcea tests/golden/M15-03A/task-index.json
|
||||
2235d0d250d28e63ab1c9b0e956292560785cf340c612312b316be0ceb2463a9 tests/golden/M15-03A/next-task-plan.json
|
||||
17
tests/golden/corrective/C0-002/command-exit-codes.json
Normal file
17
tests/golden/corrective/C0-002/command-exit-codes.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"resign": 0,
|
||||
"validation": 0,
|
||||
"planCheck": null,
|
||||
"indexCheck": null,
|
||||
"contextCheck": null,
|
||||
"governanceCheck": null,
|
||||
"diffCheck": null,
|
||||
"commandExitCodes": {
|
||||
"planCheck": 1,
|
||||
"indexCheck": 0,
|
||||
"contextCheck": 0,
|
||||
"contextGovernanceTest": 0,
|
||||
"governanceCheck": 0,
|
||||
"diffCheck": 0
|
||||
}
|
||||
}
|
||||
7538
tests/golden/corrective/C0-002/dry-run.json
Normal file
7538
tests/golden/corrective/C0-002/dry-run.json
Normal file
File diff suppressed because it is too large
Load Diff
8199
tests/golden/corrective/C0-002/handoff.json
Normal file
8199
tests/golden/corrective/C0-002/handoff.json
Normal file
File diff suppressed because it is too large
Load Diff
8199
tests/golden/corrective/C0-002/manifest.json
Normal file
8199
tests/golden/corrective/C0-002/manifest.json
Normal file
File diff suppressed because it is too large
Load Diff
7538
tests/golden/corrective/C0-002/reconcile-report.json
Normal file
7538
tests/golden/corrective/C0-002/reconcile-report.json
Normal file
File diff suppressed because it is too large
Load Diff
81
tests/golden/corrective/C0-002/resign-check.json
Normal file
81
tests/golden/corrective/C0-002/resign-check.json
Normal file
@@ -0,0 +1,81 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"operation": "CORRECTIVE_STATE_RECONCILIATION_RESIGN_CHECK",
|
||||
"status": "PASS",
|
||||
"queueMutation": false,
|
||||
"stagedRoot": "tests/golden/corrective/C0-002/staged",
|
||||
"checks": [
|
||||
{
|
||||
"name": "registry-count",
|
||||
"status": "PASS",
|
||||
"value": 273
|
||||
},
|
||||
{
|
||||
"name": "registry-unique",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "plan-shape",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "plan-source-hash",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "index-plan-hash",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "index-catalog-hash",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "index-active",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "snapshot-nonempty",
|
||||
"status": "PASS",
|
||||
"value": 1848
|
||||
},
|
||||
{
|
||||
"name": "snapshot-hashes",
|
||||
"status": "PASS",
|
||||
"files": 1848,
|
||||
"bytes": 68399904
|
||||
},
|
||||
{
|
||||
"name": "resigned-manifest-count",
|
||||
"status": "PASS",
|
||||
"value": 274
|
||||
},
|
||||
{
|
||||
"name": "resigned-manifest-done-count",
|
||||
"status": "PASS",
|
||||
"value": 273
|
||||
},
|
||||
{
|
||||
"name": "root-parent-repaired",
|
||||
"status": "PASS"
|
||||
},
|
||||
{
|
||||
"name": "repaired-context-count",
|
||||
"status": "PASS",
|
||||
"value": 24
|
||||
},
|
||||
{
|
||||
"name": "repaired-context-links",
|
||||
"status": "PASS",
|
||||
"files": 24
|
||||
},
|
||||
{
|
||||
"name": "candidate-plan-deterministic",
|
||||
"status": "PASS"
|
||||
}
|
||||
],
|
||||
"artifactCount": 1848,
|
||||
"planTaskCount": 6900,
|
||||
"completedCount": 273,
|
||||
"activeTask": "M16-GAP-00274"
|
||||
}
|
||||
7015
tests/golden/corrective/C0-002/resign.json
Normal file
7015
tests/golden/corrective/C0-002/resign.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,275 @@
|
||||
[
|
||||
"datablock:Action",
|
||||
"datablock:Armature",
|
||||
"datablock:Brush",
|
||||
"datablock:Camera",
|
||||
"datablock:Collection",
|
||||
"datablock:Curve",
|
||||
"datablock:Curves",
|
||||
"datablock:FreestyleLineStyle",
|
||||
"datablock:GreasePencil",
|
||||
"datablock:Lattice",
|
||||
"datablock:Library",
|
||||
"datablock:Light",
|
||||
"datablock:Material",
|
||||
"datablock:Mesh",
|
||||
"datablock:MetaBall",
|
||||
"datablock:NodeTree",
|
||||
"datablock:Object",
|
||||
"datablock:ParticleSettings",
|
||||
"datablock:PointCloud",
|
||||
"datablock:Scene",
|
||||
"datablock:Screen",
|
||||
"datablock:Sound",
|
||||
"datablock:Speaker",
|
||||
"datablock:Text",
|
||||
"datablock:Texture",
|
||||
"datablock:Volume",
|
||||
"datablock:WindowManager",
|
||||
"datablock:WorkSpace",
|
||||
"datablock:World",
|
||||
"modifier:ARMATURE",
|
||||
"modifier:ARRAY",
|
||||
"modifier:BEVEL",
|
||||
"modifier:BOOLEAN",
|
||||
"modifier:BUILD",
|
||||
"modifier:CAST",
|
||||
"modifier:CLOTH",
|
||||
"modifier:COLLISION",
|
||||
"modifier:CORRECTIVE_SMOOTH",
|
||||
"modifier:CURVE",
|
||||
"modifier:DATA_TRANSFER",
|
||||
"modifier:DECIMATE",
|
||||
"modifier:DISPLACE",
|
||||
"modifier:DYNAMIC_PAINT",
|
||||
"modifier:EDGE_SPLIT",
|
||||
"modifier:EXPLODE",
|
||||
"modifier:FLUID",
|
||||
"modifier:GREASE_PENCIL_ARMATURE",
|
||||
"modifier:GREASE_PENCIL_ARRAY",
|
||||
"modifier:GREASE_PENCIL_BUILD",
|
||||
"modifier:GREASE_PENCIL_COLOR",
|
||||
"modifier:GREASE_PENCIL_DASH",
|
||||
"modifier:GREASE_PENCIL_ENVELOPE",
|
||||
"modifier:GREASE_PENCIL_HOOK",
|
||||
"modifier:GREASE_PENCIL_LATTICE",
|
||||
"modifier:GREASE_PENCIL_LENGTH",
|
||||
"modifier:GREASE_PENCIL_MIRROR",
|
||||
"modifier:GREASE_PENCIL_MULTIPLY",
|
||||
"modifier:GREASE_PENCIL_NOISE",
|
||||
"modifier:GREASE_PENCIL_OFFSET",
|
||||
"modifier:GREASE_PENCIL_OPACITY",
|
||||
"modifier:GREASE_PENCIL_OUTLINE",
|
||||
"modifier:GREASE_PENCIL_SHRINKWRAP",
|
||||
"modifier:GREASE_PENCIL_SIMPLIFY",
|
||||
"modifier:GREASE_PENCIL_SMOOTH",
|
||||
"modifier:GREASE_PENCIL_SUBDIV",
|
||||
"modifier:GREASE_PENCIL_TEXTURE",
|
||||
"modifier:GREASE_PENCIL_THICKNESS",
|
||||
"modifier:GREASE_PENCIL_TIME",
|
||||
"modifier:GREASE_PENCIL_TINT",
|
||||
"modifier:GREASE_PENCIL_VERTEX_WEIGHT_ANGLE",
|
||||
"modifier:GREASE_PENCIL_VERTEX_WEIGHT_PROXIMITY",
|
||||
"modifier:HOOK",
|
||||
"modifier:LAPLACIANDEFORM",
|
||||
"modifier:LAPLACIANSMOOTH",
|
||||
"modifier:LATTICE",
|
||||
"modifier:LINEART",
|
||||
"modifier:MASK",
|
||||
"modifier:MESH_CACHE",
|
||||
"modifier:MESH_DEFORM",
|
||||
"modifier:MESH_SEQUENCE_CACHE",
|
||||
"modifier:MESH_TO_VOLUME",
|
||||
"modifier:MIRROR",
|
||||
"modifier:MULTIRES",
|
||||
"modifier:NODES",
|
||||
"modifier:NORMAL_EDIT",
|
||||
"modifier:OCEAN",
|
||||
"modifier:PARTICLE_INSTANCE",
|
||||
"modifier:PARTICLE_SYSTEM",
|
||||
"modifier:REMESH",
|
||||
"modifier:SCREW",
|
||||
"modifier:SHRINKWRAP",
|
||||
"modifier:SIMPLE_DEFORM",
|
||||
"modifier:SKIN",
|
||||
"modifier:SMOOTH",
|
||||
"modifier:SOFT_BODY",
|
||||
"modifier:SOLIDIFY",
|
||||
"modifier:SUBSURF",
|
||||
"modifier:SURFACE",
|
||||
"modifier:SURFACE_DEFORM",
|
||||
"modifier:TRIANGULATE",
|
||||
"modifier:UV_PROJECT",
|
||||
"modifier:UV_WARP",
|
||||
"modifier:VERTEX_WEIGHT_EDIT",
|
||||
"modifier:VERTEX_WEIGHT_MIX",
|
||||
"modifier:VERTEX_WEIGHT_PROXIMITY",
|
||||
"modifier:VOLUME_DISPLACE",
|
||||
"modifier:VOLUME_TO_MESH",
|
||||
"modifier:WARP",
|
||||
"modifier:WAVE",
|
||||
"modifier:WEIGHTED_NORMAL",
|
||||
"modifier:WELD",
|
||||
"modifier:WIREFRAME",
|
||||
"operator:action.bake_keys",
|
||||
"operator:action.clean",
|
||||
"operator:action.clickselect",
|
||||
"operator:action.copy",
|
||||
"operator:action.delete",
|
||||
"operator:action.duplicate",
|
||||
"operator:action.duplicate_move",
|
||||
"operator:action.easing_type",
|
||||
"operator:action.extrapolation_type",
|
||||
"operator:action.frame_jump",
|
||||
"operator:action.handle_type",
|
||||
"operator:action.interpolation_type",
|
||||
"operator:action.keyframe_insert",
|
||||
"operator:action.keyframe_type",
|
||||
"operator:action.markers_make_local",
|
||||
"operator:action.mirror",
|
||||
"operator:action.new",
|
||||
"operator:action.paste",
|
||||
"operator:action.previewrange_set",
|
||||
"operator:action.push_down",
|
||||
"operator:action.select_all",
|
||||
"operator:action.select_box",
|
||||
"operator:action.select_by_type",
|
||||
"operator:action.select_circle",
|
||||
"operator:action.select_column",
|
||||
"operator:action.select_lasso",
|
||||
"operator:action.select_leftright",
|
||||
"operator:action.select_less",
|
||||
"operator:action.select_linked",
|
||||
"operator:action.select_more",
|
||||
"operator:action.snap",
|
||||
"operator:action.stash",
|
||||
"operator:action.stash_and_create",
|
||||
"operator:action.unlink",
|
||||
"operator:action.view_all",
|
||||
"operator:action.view_frame",
|
||||
"operator:action.view_selected",
|
||||
"operator:anim.change_frame",
|
||||
"operator:anim.channel_select_keys",
|
||||
"operator:anim.channel_view_pick",
|
||||
"operator:anim.channels_bake",
|
||||
"operator:anim.channels_clean_empty",
|
||||
"operator:anim.channels_click",
|
||||
"operator:anim.channels_collapse",
|
||||
"operator:anim.channels_delete",
|
||||
"operator:anim.channels_editable_toggle",
|
||||
"operator:anim.channels_expand",
|
||||
"operator:anim.channels_fcurves_enable",
|
||||
"operator:anim.channels_group",
|
||||
"operator:anim.channels_move",
|
||||
"operator:anim.channels_rename",
|
||||
"operator:anim.channels_select_all",
|
||||
"operator:anim.channels_select_box",
|
||||
"operator:anim.channels_select_filter",
|
||||
"operator:anim.channels_setting_disable",
|
||||
"operator:anim.channels_setting_enable",
|
||||
"operator:anim.channels_setting_toggle",
|
||||
"operator:anim.channels_ungroup",
|
||||
"operator:anim.channels_view_selected",
|
||||
"operator:anim.clear_useless_actions",
|
||||
"operator:anim.copy_driver_button",
|
||||
"operator:anim.driver_button_add",
|
||||
"operator:anim.driver_button_edit",
|
||||
"operator:anim.driver_button_remove",
|
||||
"operator:anim.end_frame_set",
|
||||
"operator:anim.keyframe_clear_button",
|
||||
"operator:anim.keyframe_clear_v3d",
|
||||
"operator:anim.keyframe_clear_vse",
|
||||
"operator:anim.keyframe_delete",
|
||||
"operator:anim.keyframe_delete_button",
|
||||
"operator:anim.keyframe_delete_by_name",
|
||||
"operator:anim.keyframe_delete_v3d",
|
||||
"operator:anim.keyframe_delete_vse",
|
||||
"operator:anim.keyframe_insert",
|
||||
"operator:anim.keyframe_insert_button",
|
||||
"operator:anim.keyframe_insert_by_name",
|
||||
"operator:anim.keyframe_insert_menu",
|
||||
"operator:anim.keying_set_active_set",
|
||||
"operator:anim.keying_set_add",
|
||||
"operator:anim.keying_set_export",
|
||||
"operator:anim.keying_set_path_add",
|
||||
"operator:anim.keying_set_path_remove",
|
||||
"operator:anim.keying_set_remove",
|
||||
"operator:anim.keyingset_button_add",
|
||||
"operator:anim.keyingset_button_remove",
|
||||
"operator:anim.merge_animation",
|
||||
"operator:anim.paste_driver_button",
|
||||
"operator:anim.previewrange_clear",
|
||||
"operator:anim.previewrange_set",
|
||||
"operator:anim.replace_action",
|
||||
"operator:anim.replace_action_new",
|
||||
"operator:anim.scene_range_frame",
|
||||
"operator:anim.separate_slots",
|
||||
"operator:anim.slot_channels_move_to_new_action",
|
||||
"operator:anim.slot_new_for_id",
|
||||
"operator:anim.slot_unassign_from_constraint",
|
||||
"operator:anim.slot_unassign_from_id",
|
||||
"operator:anim.slot_unassign_from_nla_strip",
|
||||
"operator:anim.start_frame_set",
|
||||
"operator:anim.update_animated_transform_constraints",
|
||||
"operator:anim.version_bone_hide_property",
|
||||
"operator:anim.view_curve_in_graph_editor",
|
||||
"operator:armature.align",
|
||||
"operator:armature.assign_to_collection",
|
||||
"operator:armature.autoside_names",
|
||||
"operator:armature.bone_primitive_add",
|
||||
"operator:armature.calculate_roll",
|
||||
"operator:armature.click_extrude",
|
||||
"operator:armature.collection_add",
|
||||
"operator:armature.collection_assign",
|
||||
"operator:armature.collection_create_and_assign",
|
||||
"operator:armature.collection_deselect",
|
||||
"operator:armature.collection_move",
|
||||
"operator:armature.collection_remove",
|
||||
"operator:armature.collection_remove_unused",
|
||||
"operator:armature.collection_select",
|
||||
"operator:armature.collection_show_all",
|
||||
"operator:armature.collection_unassign",
|
||||
"operator:armature.collection_unassign_named",
|
||||
"operator:armature.collection_unsolo_all",
|
||||
"operator:armature.copy_bone_color_to_selected",
|
||||
"operator:armature.delete",
|
||||
"operator:armature.dissolve",
|
||||
"operator:armature.duplicate",
|
||||
"operator:armature.duplicate_move",
|
||||
"operator:armature.duplicate_rename",
|
||||
"operator:armature.extrude",
|
||||
"operator:armature.extrude_forked",
|
||||
"operator:armature.extrude_move",
|
||||
"operator:armature.fill",
|
||||
"operator:armature.flip_names",
|
||||
"operator:armature.hide",
|
||||
"operator:armature.move_to_collection",
|
||||
"operator:armature.parent_clear",
|
||||
"operator:armature.parent_set",
|
||||
"operator:armature.reveal",
|
||||
"operator:armature.roll_clear",
|
||||
"operator:armature.select_all",
|
||||
"operator:armature.select_hierarchy",
|
||||
"operator:armature.select_less",
|
||||
"operator:armature.select_linked",
|
||||
"operator:armature.select_linked_pick",
|
||||
"operator:armature.select_mirror",
|
||||
"operator:armature.select_more",
|
||||
"operator:armature.select_similar",
|
||||
"operator:armature.separate",
|
||||
"operator:armature.shortest_path_pick",
|
||||
"operator:armature.split",
|
||||
"operator:armature.subdivide",
|
||||
"operator:armature.switch_direction",
|
||||
"operator:armature.symmetrize",
|
||||
"operator:asset.asset_download",
|
||||
"operator:asset.assets_download",
|
||||
"operator:asset.assign_action",
|
||||
"operator:asset.browse_containing_blend_file",
|
||||
"operator:asset.bundle_install",
|
||||
"operator:asset.catalog_delete",
|
||||
"operator:asset.catalog_new",
|
||||
"operator:asset.catalog_redo",
|
||||
"operator:asset.catalog_undo",
|
||||
"operator:asset.catalog_undo_push"
|
||||
]
|
||||
158740
tests/golden/corrective/C0-002/staged/next-task-plan.candidate.json
Normal file
158740
tests/golden/corrective/C0-002/staged/next-task-plan.candidate.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,105 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00001",
|
||||
"parentTask": "M15-03E",
|
||||
"status": "in_progress",
|
||||
"goal": "完成 datablock:Action 的最小可观察切片",
|
||||
"scope": {
|
||||
"gap": "datablock:Action",
|
||||
"ownerFamily": "RNA_DATABLOCK",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00001.py -- tests/files/web/generated/M16-GAP-00001-datablock-Action.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00001",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00001"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 0,
|
||||
"contextRemainingTokens": 0
|
||||
},
|
||||
"source": {
|
||||
"bytes": 4380,
|
||||
"tokens": 0
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00001-datablock-Action.blend",
|
||||
"bytes": null,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00002",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00001.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M15-03E/manifest.json",
|
||||
"parentStatus": "docs/status/M15-03E.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00001.md",
|
||||
"tests/golden/M15-03E/manifest.json",
|
||||
"docs/status/M15-03E.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/M15-03A/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [],
|
||||
"forbiddenByDefault": []
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "M15-03E",
|
||||
"parentTask": "M15-03D",
|
||||
"status": "BLOCKED",
|
||||
"nextTask": "M16-GAP-00001",
|
||||
"artifactCount": 5
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M15-03E Status",
|
||||
"status: blocked",
|
||||
"task: owner family zero-gap closure gate",
|
||||
"updated: 2026-08-19 America/New_York",
|
||||
"The fail-closed closure gate reports `BLOCKED`: 20 owner families still have 6,890 remaining tasks.",
|
||||
"It preserves the single active pointer `M16-GAP-00011` and does not infer completion from release or",
|
||||
"inventory evidence. `npm --prefix web run test:blender-zero-gap-gate` passed the blocked-state contract.",
|
||||
"Report SHA-256: `381ea77d9b884b1bdab58bb60df001a26287db80dd9380edb6ae4d64a0a3d969`."
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 8192,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 19,
|
||||
"taskTokens": 210
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,115 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00002",
|
||||
"parentTask": "M16-GAP-00001",
|
||||
"status": "in_progress",
|
||||
"goal": "Armature data-block LOCAL_EXACT slice",
|
||||
"scope": {
|
||||
"gap": "datablock:Armature",
|
||||
"ownerFamily": "RNA_DATABLOCK",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00002.py -- tests/files/web/generated/M16-GAP-00002-datablock-Armature.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00002",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00002"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 4235,
|
||||
"contextRemainingTokens": 1057
|
||||
},
|
||||
"source": {
|
||||
"bytes": 5669,
|
||||
"tokens": 1419
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00002-datablock-Armature.blend",
|
||||
"bytes": 87320,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00003",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00002.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00001/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00001.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00002.md",
|
||||
"tests/golden/M16-GAP-00001/manifest.json",
|
||||
"docs/status/M16-GAP-00001.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/M15-03A/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00001",
|
||||
"parentTask": "M15-03E",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00002",
|
||||
"artifactCount": 8
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00001 Status",
|
||||
"status: done",
|
||||
"task: Action data-block LOCAL_EXACT slice",
|
||||
"updated: 2026-08-19 America/New_York",
|
||||
"enablingTask: true",
|
||||
"parityStateChange: true",
|
||||
"The generated Action fixture was read by Blender 5.2 desktop and the full-Main WASM. Both observed",
|
||||
"`action:AnimatedObjectAction:object:AnimatedObject` with three location channels and two keyframes per"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 892,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 19,
|
||||
"taskTokens": 223
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,120 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00003",
|
||||
"parentTask": "M16-GAP-00002",
|
||||
"status": "in_progress",
|
||||
"goal": "Brush data-block LOCAL_EXACT slice",
|
||||
"scope": {
|
||||
"gap": "datablock:Brush",
|
||||
"ownerFamily": "RNA_DATABLOCK",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00003.py -- tests/files/web/generated/M16-GAP-00003-datablock-Brush.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00003",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00003"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 4661,
|
||||
"contextRemainingTokens": 1164
|
||||
},
|
||||
"source": {
|
||||
"bytes": 5243,
|
||||
"tokens": 1312
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00003-datablock-Brush.blend",
|
||||
"bytes": 86159,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 824532,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00004",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00003.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00002/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00002.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00003.md",
|
||||
"tests/golden/M16-GAP-00002/manifest.json",
|
||||
"docs/status/M16-GAP-00002.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/M15-03A/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00002",
|
||||
"parentTask": "M16-GAP-00001",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00003",
|
||||
"artifactCount": 8
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00002 Status",
|
||||
"status: done",
|
||||
"task: Armature data-block LOCAL_EXACT slice",
|
||||
"updated: 2026-08-19 America/New_York",
|
||||
"enablingTask: true",
|
||||
"parityStateChange: true",
|
||||
"The generated Armature fixture was read by Blender 5.2 desktop and full-Main WASM. Both observed",
|
||||
"`armature:RiggedArmature` with Root and Tip bones, Tip parented to Root, and mesh skin-weight linkage."
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 448,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 12,
|
||||
"taskTokens": 112
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,120 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00004",
|
||||
"parentTask": "M16-GAP-00003",
|
||||
"status": "in_progress",
|
||||
"goal": "Camera data-block LOCAL_EXACT slice",
|
||||
"scope": {
|
||||
"gap": "datablock:Camera",
|
||||
"ownerFamily": "RNA_DATABLOCK",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00004.py -- tests/files/web/generated/M16-GAP-00004-datablock-Camera.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00004",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00004"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 3994,
|
||||
"contextRemainingTokens": 997
|
||||
},
|
||||
"source": {
|
||||
"bytes": 5910,
|
||||
"tokens": 1479
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00004-datablock-Camera.blend",
|
||||
"bytes": 86379,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 824532,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00005",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00004.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00003/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00003.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00004.md",
|
||||
"tests/golden/M16-GAP-00003/manifest.json",
|
||||
"docs/status/M16-GAP-00003.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/M15-03A/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00003",
|
||||
"parentTask": "M16-GAP-00002",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00004",
|
||||
"artifactCount": 12
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00003 Status",
|
||||
"status: done",
|
||||
"task: Brush data-block LOCAL_EXACT slice",
|
||||
"updated: 2026-08-19 America/New_York",
|
||||
"enablingTask: true",
|
||||
"parityStateChange: true",
|
||||
"Added bounded `BrushIR` fields to the native Main reader and optional SceneIR parser field. A real",
|
||||
"Blender 5.2 Brush fixture reports `WebGapBrush` size 42, alpha 0.65, hardness 0.8, spacing 17 and"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 450,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 12,
|
||||
"taskTokens": 113
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,119 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00005",
|
||||
"parentTask": "M16-GAP-00004",
|
||||
"status": "in_progress",
|
||||
"goal": "Collection data-block LOCAL_EXACT slice",
|
||||
"scope": {
|
||||
"gap": "datablock:Collection",
|
||||
"ownerFamily": "RNA_DATABLOCK",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00005.py -- tests/files/web/generated/M16-GAP-00005-datablock-Collection.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00005",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00005"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 4893,
|
||||
"contextRemainingTokens": 1222
|
||||
},
|
||||
"source": {
|
||||
"bytes": 5011,
|
||||
"tokens": 1254
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00005-datablock-Collection.blend",
|
||||
"bytes": 86454,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 824532,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00006",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00005.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00004/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00004.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00005.md",
|
||||
"tests/golden/M16-GAP-00004/manifest.json",
|
||||
"docs/status/M16-GAP-00004.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/M15-03A/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00004",
|
||||
"parentTask": "M16-GAP-00003",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00005",
|
||||
"artifactCount": 9
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00004 Status",
|
||||
"status: done",
|
||||
"task: Camera data-block LOCAL_EXACT slice",
|
||||
"updated: 2026-08-19 America/New_York",
|
||||
"Blender desktop and full-Main WASM read the same `camera:WebGapCamera` fixture with perspective",
|
||||
"projection, 52 mm lens, 0.1 near plane and 2500 far plane. Save/reopen was exact on both paths.",
|
||||
"Next task: `M16-GAP-00005` (Collection data-block)."
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 308,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 10,
|
||||
"taskTokens": 77
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,118 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00006",
|
||||
"parentTask": "M16-GAP-00005",
|
||||
"status": "in_progress",
|
||||
"goal": "Curve data-block LOCAL_EXACT slice",
|
||||
"scope": {
|
||||
"gap": "datablock:Curve",
|
||||
"ownerFamily": "RNA_DATABLOCK",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00006.py -- tests/files/web/generated/M16-GAP-00006-datablock-Curve.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00006",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00006"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 5018,
|
||||
"contextRemainingTokens": 1253
|
||||
},
|
||||
"source": {
|
||||
"bytes": 4886,
|
||||
"tokens": 1223
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00006-datablock-Curve.blend",
|
||||
"bytes": 86153,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 824532,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00007",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00006.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00005/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00005.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00006.md",
|
||||
"tests/golden/M16-GAP-00005/manifest.json",
|
||||
"docs/status/M16-GAP-00005.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/M15-03A/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00005",
|
||||
"parentTask": "M16-GAP-00004",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00006",
|
||||
"artifactCount": 8
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00005 Status",
|
||||
"status: done",
|
||||
"task: Collection data-block LOCAL_EXACT slice",
|
||||
"updated: 2026-08-19 America/New_York",
|
||||
"Desktop and WASM read nested `WebGapCollection` -> `WebGapChild` hierarchy with the collection object",
|
||||
"link intact. Save/reopen matched exactly. Next task: `M16-GAP-00006` (Curve data-block)."
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 373,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 11,
|
||||
"taskTokens": 94
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,119 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00007",
|
||||
"parentTask": "M16-GAP-00006",
|
||||
"status": "in_progress",
|
||||
"goal": "Curves data-block LOCAL_EXACT slice",
|
||||
"scope": {
|
||||
"gap": "datablock:Curves",
|
||||
"ownerFamily": "RNA_DATABLOCK",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00007.py -- tests/files/web/generated/M16-GAP-00007-datablock-Curves.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00007",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00007"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 4840,
|
||||
"contextRemainingTokens": 1209
|
||||
},
|
||||
"source": {
|
||||
"bytes": 5064,
|
||||
"tokens": 1267
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00007-datablock-Curves.blend",
|
||||
"bytes": 86489,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 824532,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00008",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00007.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00006/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00006.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00007.md",
|
||||
"tests/golden/M16-GAP-00006/manifest.json",
|
||||
"docs/status/M16-GAP-00006.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/M15-03A/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00006",
|
||||
"parentTask": "M16-GAP-00005",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00007",
|
||||
"artifactCount": 9
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00006 Status",
|
||||
"status: done",
|
||||
"task: Curve data-block LOCAL_EXACT slice",
|
||||
"updated: 2026-08-19 America/New_York",
|
||||
"Desktop and full-Main WASM read the same Bezier Curve fixture: one spline, three points, available",
|
||||
"geometry and exact spline offsets. Save/reopen matched the complete non-mesh data record.",
|
||||
"Next task: `M16-GAP-00007` (Curves data-block)."
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 375,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 11,
|
||||
"taskTokens": 94
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,119 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00008",
|
||||
"parentTask": "M16-GAP-00007",
|
||||
"status": "in_progress",
|
||||
"goal": "FreestyleLineStyle data-block LOCAL_EXACT slice",
|
||||
"scope": {
|
||||
"gap": "datablock:FreestyleLineStyle",
|
||||
"ownerFamily": "RNA_DATABLOCK",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00008.py -- tests/files/web/generated/M16-GAP-00008-datablock-FreestyleLineStyle.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00008",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00008"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 4883,
|
||||
"contextRemainingTokens": 1219
|
||||
},
|
||||
"source": {
|
||||
"bytes": 5021,
|
||||
"tokens": 1257
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00008-datablock-FreestyleLineStyle.blend",
|
||||
"bytes": 85885,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 824532,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00009",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00008.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00007/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00007.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00008.md",
|
||||
"tests/golden/M16-GAP-00007/manifest.json",
|
||||
"docs/status/M16-GAP-00007.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/M15-03A/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00007",
|
||||
"parentTask": "M16-GAP-00006",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00008",
|
||||
"artifactCount": 9
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00007 Status",
|
||||
"status: done",
|
||||
"task: Curves data-block LOCAL_EXACT slice",
|
||||
"updated: 2026-08-19 America/New_York",
|
||||
"Desktop and full-Main WASM read the converted Curves data-block with available geometry, four points",
|
||||
"and at least one spline. Save/reopen matched the complete nonMeshData record.",
|
||||
"Next task: `M16-GAP-00008` (FreestyleLineStyle data-block)."
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 323,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 10,
|
||||
"taskTokens": 81
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,120 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00009",
|
||||
"parentTask": "M16-GAP-00008",
|
||||
"status": "in_progress",
|
||||
"goal": "GreasePencil data-block LOCAL_EXACT slice",
|
||||
"scope": {
|
||||
"gap": "datablock:GreasePencil",
|
||||
"ownerFamily": "RNA_DATABLOCK",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00009.py -- tests/files/web/generated/M16-GAP-00009-datablock-GreasePencil.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00009",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00009"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 4402,
|
||||
"contextRemainingTokens": 1099
|
||||
},
|
||||
"source": {
|
||||
"bytes": 5502,
|
||||
"tokens": 1377
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00009-datablock-GreasePencil.blend",
|
||||
"bytes": 87788,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 824532,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00010",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00009.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00008/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00008.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00009.md",
|
||||
"tests/golden/M16-GAP-00008/manifest.json",
|
||||
"docs/status/M16-GAP-00008.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/M15-03A/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00008",
|
||||
"parentTask": "M16-GAP-00007",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00009",
|
||||
"artifactCount": 11
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00008 Status",
|
||||
"status: done",
|
||||
"task: FreestyleLineStyle data-block LOCAL_EXACT slice",
|
||||
"updated: 2026-08-19 America/New_York",
|
||||
"Added bounded optional `lineStyles` SceneIR data with name, color, alpha, thickness, chaining/caps,",
|
||||
"dashed state and modifier counts. Desktop and full-Main WASM matched the real style fixture and save/",
|
||||
"reopen was exact. This does not claim Freestyle stroke rendering parity.",
|
||||
"Next task: `M16-GAP-00009` (GreasePencil data-block)."
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 327,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 10,
|
||||
"taskTokens": 82
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,137 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00010",
|
||||
"parentTask": "M16-GAP-00009",
|
||||
"status": "done",
|
||||
"goal": "让同一个 Lattice fixture 在 Blender desktop 和 WASM/Main 中得到一致的点阵/形变数据,并在 save/reopen 后保持一致。",
|
||||
"scope": {
|
||||
"gap": "datablock:Lattice",
|
||||
"ownerFamily": "RNA_DATABLOCK",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00010.py -- tests/files/web/generated/M16-GAP-00010-datablock-Lattice.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00010",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00010"
|
||||
],
|
||||
"inputPaths": [
|
||||
"tools/web/generated/M16-GAP-00010.py"
|
||||
],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 3192,
|
||||
"contextRemainingTokens": 797
|
||||
},
|
||||
"source": {
|
||||
"bytes": 6712,
|
||||
"tokens": 1679
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
"path": "tools/web/generated/M16-GAP-00010.py",
|
||||
"bytes": 1286,
|
||||
"tokens": 322
|
||||
}
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00010-datablock-Lattice.blend",
|
||||
"bytes": 86081,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/",
|
||||
"bytes": 131451,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/",
|
||||
"bytes": 134728,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 824532,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 1,
|
||||
"bytes": 1286,
|
||||
"tokens": 322
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00011",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00010.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00009/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00009.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00010.md",
|
||||
"tests/golden/M16-GAP-00009/manifest.json",
|
||||
"docs/status/M16-GAP-00009.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/M15-03A/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00009",
|
||||
"parentTask": "M16-GAP-00008",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00010",
|
||||
"artifactCount": 7
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00009 Status",
|
||||
"status: done",
|
||||
"task: GreasePencil data-block LOCAL_EXACT slice",
|
||||
"updated: 2026-08-19 America/New_York",
|
||||
"Reused the existing real Grease Pencil Main fixture. Blender desktop and full-Main WASM both observed",
|
||||
"GreasePencilData layers/frames, and save/reopen matched exactly.",
|
||||
"Next task: `M16-GAP-00010` (Lattice data-block)."
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 2331,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 51,
|
||||
"taskTokens": 583
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,148 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00070",
|
||||
"parentTask": "M16-GAP-00069",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable modifier:GREASE_PENCIL_VERTEX_WEIGHT_ANGLE data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.",
|
||||
"scope": {
|
||||
"gap": "modifier:GREASE_PENCIL_VERTEX_WEIGHT_ANGLE",
|
||||
"ownerFamily": "MODIFIER",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00070.py -- tests/files/web/generated/M16-GAP-00070-modifier-GREASE_PENCIL_VERTEX_WEIGHT_ANGLE.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00070",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00070"
|
||||
],
|
||||
"inputPaths": [
|
||||
"tools/web/generated/M16-GAP-00070.py"
|
||||
],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 2837,
|
||||
"contextRemainingTokens": 708
|
||||
},
|
||||
"source": {
|
||||
"bytes": 7067,
|
||||
"tokens": 1768
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
"path": "tools/web/generated/M16-GAP-00070.py",
|
||||
"bytes": 535,
|
||||
"tokens": 134
|
||||
}
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00070-modifier-GREASE_PENCIL_VERTEX_WEIGHT_ANGLE.blend",
|
||||
"bytes": 87791,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 240371,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 824532,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00070/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00070.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00070/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 1,
|
||||
"bytes": 535,
|
||||
"tokens": 134
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00071",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00070.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00069/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00069.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00070.md",
|
||||
"tests/golden/M16-GAP-00069/manifest.json",
|
||||
"docs/status/M16-GAP-00069.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/M15-03A/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00069",
|
||||
"parentTask": "M16-GAP-00068",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00070",
|
||||
"artifactCount": 11
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00069 Status",
|
||||
"status: done",
|
||||
"task: GREASE_PENCIL_TINT modifier LOCAL_EXACT slice",
|
||||
"updated: 2026-08-20 America/New_York",
|
||||
"scope: Grease Pencil TINT modifier stack exposure for `object:GreasePencilObject`.",
|
||||
"evidence:",
|
||||
"- Desktop fixture exposes `Gp Tint`; save/reopen is exact.",
|
||||
"- WASM/Main exposes `GREASE_PENCIL_TINT` on the object scene node; save/reopen is exact."
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1854,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 464
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,148 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00072",
|
||||
"parentTask": "M16-GAP-00071",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable modifier:HOOK data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.",
|
||||
"scope": {
|
||||
"gap": "modifier:HOOK",
|
||||
"ownerFamily": "MODIFIER",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00072.py -- tests/files/web/generated/M16-GAP-00072-modifier-HOOK.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00072",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00072"
|
||||
],
|
||||
"inputPaths": [
|
||||
"tools/web/generated/M16-GAP-00072.py"
|
||||
],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 2817,
|
||||
"contextRemainingTokens": 702
|
||||
},
|
||||
"source": {
|
||||
"bytes": 7087,
|
||||
"tokens": 1774
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
"path": "tools/web/generated/M16-GAP-00072.py",
|
||||
"bytes": 411,
|
||||
"tokens": 103
|
||||
}
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00072-modifier-HOOK.blend",
|
||||
"bytes": 86521,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 240371,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 824532,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00072/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00072.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00072/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 1,
|
||||
"bytes": 411,
|
||||
"tokens": 103
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00073",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00072.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00071/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00071.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00072.md",
|
||||
"tests/golden/M16-GAP-00071/manifest.json",
|
||||
"docs/status/M16-GAP-00071.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/M15-03A/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00071",
|
||||
"parentTask": "M16-GAP-00070",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00072",
|
||||
"artifactCount": 11
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00071 Status",
|
||||
"status: done",
|
||||
"task: GREASE_PENCIL_VERTEX_WEIGHT_PROXIMITY modifier LOCAL_EXACT slice",
|
||||
"updated: 2026-08-20 America/New_York",
|
||||
"scope: Grease Pencil VERTEX_WEIGHT_PROXIMITY modifier stack exposure for `object:GreasePencilObject`.",
|
||||
"evidence:",
|
||||
"- Desktop fixture exposes `Gp Vertex Weight Proximity`; save/reopen is exact.",
|
||||
"- WASM/Main exposes `GREASE_PENCIL_VERTEX_WEIGHT_PROXIMITY` with type code 76 on the object scene node."
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1709,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 428
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,148 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00073",
|
||||
"parentTask": "M16-GAP-00072",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable modifier:LAPLACIANDEFORM data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.",
|
||||
"scope": {
|
||||
"gap": "modifier:LAPLACIANDEFORM",
|
||||
"ownerFamily": "MODIFIER",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00073.py -- tests/files/web/generated/M16-GAP-00073-modifier-LAPLACIANDEFORM.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00073",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00073"
|
||||
],
|
||||
"inputPaths": [
|
||||
"tools/web/generated/M16-GAP-00073.py"
|
||||
],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 2997,
|
||||
"contextRemainingTokens": 748
|
||||
},
|
||||
"source": {
|
||||
"bytes": 6907,
|
||||
"tokens": 1728
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
"path": "tools/web/generated/M16-GAP-00073.py",
|
||||
"bytes": 433,
|
||||
"tokens": 109
|
||||
}
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00073-modifier-LAPLACIANDEFORM.blend",
|
||||
"bytes": 86523,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 240371,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 824532,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00073/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00073.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00073/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 1,
|
||||
"bytes": 433,
|
||||
"tokens": 109
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00074",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00073.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00072/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00072.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00073.md",
|
||||
"tests/golden/M16-GAP-00072/manifest.json",
|
||||
"docs/status/M16-GAP-00072.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/M15-03A/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00072",
|
||||
"parentTask": "M16-GAP-00071",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00073",
|
||||
"artifactCount": 11
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00072 Status",
|
||||
"status: done",
|
||||
"task: HOOK modifier LOCAL_EXACT slice",
|
||||
"updated: 2026-08-20 America/New_York",
|
||||
"scope: Mesh HOOK modifier stack exposure for `object:WebGapHookObject`.",
|
||||
"evidence:",
|
||||
"- Desktop fixture exposes `WebGapHook`; save/reopen is exact.",
|
||||
"- WASM/Main exposes HOOK type code 9 with metadata parameters on the mesh scene node."
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1764,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 441
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,148 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00074",
|
||||
"parentTask": "M16-GAP-00073",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable modifier:LAPLACIANSMOOTH data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.",
|
||||
"scope": {
|
||||
"gap": "modifier:LAPLACIANSMOOTH",
|
||||
"ownerFamily": "MODIFIER",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00074.py -- tests/files/web/generated/M16-GAP-00074-modifier-LAPLACIANSMOOTH.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00074",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00074"
|
||||
],
|
||||
"inputPaths": [
|
||||
"tools/web/generated/M16-GAP-00074.py"
|
||||
],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 2942,
|
||||
"contextRemainingTokens": 734
|
||||
},
|
||||
"source": {
|
||||
"bytes": 6962,
|
||||
"tokens": 1742
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
"path": "tools/web/generated/M16-GAP-00074.py",
|
||||
"bytes": 433,
|
||||
"tokens": 109
|
||||
}
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00074-modifier-LAPLACIANSMOOTH.blend",
|
||||
"bytes": 86545,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 240371,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 824532,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00074/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00074.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00074/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 1,
|
||||
"bytes": 433,
|
||||
"tokens": 109
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00075",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00074.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00073/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00073.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00074.md",
|
||||
"tests/golden/M16-GAP-00073/manifest.json",
|
||||
"docs/status/M16-GAP-00073.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/M15-03A/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00073",
|
||||
"parentTask": "M16-GAP-00072",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00074",
|
||||
"artifactCount": 11
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00073 Status",
|
||||
"status: done",
|
||||
"task: LAPLACIANDEFORM modifier LOCAL_EXACT slice",
|
||||
"updated: 2026-08-20 America/New_York",
|
||||
"scope: Mesh LAPLACIANDEFORM modifier stack exposure for `object:WebGapLaplacianDeformObject`.",
|
||||
"evidence:",
|
||||
"- Desktop fixture exposes `WebGapLaplacianDeform`; save/reopen is exact.",
|
||||
"- Corrected the reader type name to Blender RNA `LAPLACIANDEFORM` and rebuilt WASM."
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1764,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 441
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,148 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00075",
|
||||
"parentTask": "M16-GAP-00074",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable modifier:LATTICE data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.",
|
||||
"scope": {
|
||||
"gap": "modifier:LATTICE",
|
||||
"ownerFamily": "MODIFIER",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00075.py -- tests/files/web/generated/M16-GAP-00075-modifier-LATTICE.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00075",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00075"
|
||||
],
|
||||
"inputPaths": [
|
||||
"tools/web/generated/M16-GAP-00075.py"
|
||||
],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 2984,
|
||||
"contextRemainingTokens": 745
|
||||
},
|
||||
"source": {
|
||||
"bytes": 6920,
|
||||
"tokens": 1731
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
"path": "tools/web/generated/M16-GAP-00075.py",
|
||||
"bytes": 425,
|
||||
"tokens": 107
|
||||
}
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00075-modifier-LATTICE.blend",
|
||||
"bytes": 86504,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 240371,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 824532,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00075/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00075.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00075/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 1,
|
||||
"bytes": 425,
|
||||
"tokens": 107
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00076",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00075.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00074/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00074.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00075.md",
|
||||
"tests/golden/M16-GAP-00074/manifest.json",
|
||||
"docs/status/M16-GAP-00074.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/M15-03A/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00074",
|
||||
"parentTask": "M16-GAP-00073",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00075",
|
||||
"artifactCount": 11
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00074 Status",
|
||||
"status: done",
|
||||
"task: LAPLACIANSMOOTH modifier LOCAL_EXACT slice",
|
||||
"updated: 2026-08-20 America/New_York",
|
||||
"scope: Mesh LAPLACIANSMOOTH modifier stack exposure for `object:WebGapLaplacianSmoothObject`.",
|
||||
"evidence:",
|
||||
"- Desktop fixture exposes `WebGapLaplacianSmooth`; save/reopen is exact.",
|
||||
"- Corrected the reader type name to Blender RNA `LAPLACIANSMOOTH` and rebuilt WASM."
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1724,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 431
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,148 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00099",
|
||||
"parentTask": "M16-GAP-00098",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable modifier:SURFACE_DEFORM data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.",
|
||||
"scope": {
|
||||
"gap": "modifier:SURFACE_DEFORM",
|
||||
"ownerFamily": "MODIFIER",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00099.py -- tests/files/web/generated/M16-GAP-00099-modifier-SURFACE_DEFORM.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00099",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00099"
|
||||
],
|
||||
"inputPaths": [
|
||||
"tools/web/generated/M16-GAP-00099.py"
|
||||
],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 2233,
|
||||
"contextRemainingTokens": 557
|
||||
},
|
||||
"source": {
|
||||
"bytes": 7671,
|
||||
"tokens": 1919
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
"path": "tools/web/generated/M16-GAP-00099.py",
|
||||
"bytes": 1002,
|
||||
"tokens": 251
|
||||
}
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00099-modifier-SURFACE_DEFORM.blend",
|
||||
"bytes": 86421,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 240371,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 824532,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00099/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00099.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00099/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 1,
|
||||
"bytes": 1002,
|
||||
"tokens": 251
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00100",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00099.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00098/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00098.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00099.md",
|
||||
"tests/golden/M16-GAP-00098/manifest.json",
|
||||
"docs/status/M16-GAP-00098.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/M15-03A/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00098",
|
||||
"parentTask": "M16-GAP-00097",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00099",
|
||||
"artifactCount": 15
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00098 Status",
|
||||
"status: done",
|
||||
"task: SURFACE modifier LOCAL_EXACT slice",
|
||||
"updated: 2026-08-20 America/New_York",
|
||||
"scope: Mesh SURFACE modifier stack exposure for `mesh:WebGapSurfaceMesh`.",
|
||||
"evidence:",
|
||||
"- Desktop fixture exposes `WebGapSurface` as SURFACE type code 30; save/reopen is exact.",
|
||||
"- WASM/Main exposes the same SURFACE stack entry with matching generic visibility flags; save/reopen is exact."
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1759,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 440
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,148 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00100",
|
||||
"parentTask": "M16-GAP-00099",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable modifier:TRIANGULATE data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.",
|
||||
"scope": {
|
||||
"gap": "modifier:TRIANGULATE",
|
||||
"ownerFamily": "MODIFIER",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00100.py -- tests/files/web/generated/M16-GAP-00100-modifier-TRIANGULATE.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00100",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00100"
|
||||
],
|
||||
"inputPaths": [
|
||||
"tools/web/generated/M16-GAP-00100.py"
|
||||
],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 2172,
|
||||
"contextRemainingTokens": 542
|
||||
},
|
||||
"source": {
|
||||
"bytes": 7732,
|
||||
"tokens": 1934
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
"path": "tools/web/generated/M16-GAP-00100.py",
|
||||
"bytes": 1062,
|
||||
"tokens": 266
|
||||
}
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00100-modifier-TRIANGULATE.blend",
|
||||
"bytes": 86387,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 240371,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 824532,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00100/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00100.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00100/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 1,
|
||||
"bytes": 1062,
|
||||
"tokens": 266
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00101",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00100.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00099/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00099.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00100.md",
|
||||
"tests/golden/M16-GAP-00099/manifest.json",
|
||||
"docs/status/M16-GAP-00099.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/M15-03A/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00099",
|
||||
"parentTask": "M16-GAP-00098",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00100",
|
||||
"artifactCount": 15
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00099 Status",
|
||||
"status: done",
|
||||
"task: SURFACE_DEFORM modifier LOCAL_EXACT slice",
|
||||
"updated: 2026-08-20 America/New_York",
|
||||
"scope: Mesh SURFACE_DEFORM modifier stack exposure for `mesh:WebGapSurfaceDeformMesh`.",
|
||||
"evidence:",
|
||||
"- Desktop fixture exposes `WebGapSurfaceDeform` as SURFACE_DEFORM type code 52; save/reopen is exact.",
|
||||
"- WASM/Main exposes the same SURFACE_DEFORM stack entry with matching generic visibility flags; save/reopen is exact."
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1744,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 436
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,148 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00101",
|
||||
"parentTask": "M16-GAP-00100",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable modifier:UV_PROJECT data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.",
|
||||
"scope": {
|
||||
"gap": "modifier:UV_PROJECT",
|
||||
"ownerFamily": "MODIFIER",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00101.py -- tests/files/web/generated/M16-GAP-00101-modifier-UV_PROJECT.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00101",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00101"
|
||||
],
|
||||
"inputPaths": [
|
||||
"tools/web/generated/M16-GAP-00101.py"
|
||||
],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 2176,
|
||||
"contextRemainingTokens": 543
|
||||
},
|
||||
"source": {
|
||||
"bytes": 7728,
|
||||
"tokens": 1933
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
"path": "tools/web/generated/M16-GAP-00101.py",
|
||||
"bytes": 986,
|
||||
"tokens": 247
|
||||
}
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00101-modifier-UV_PROJECT.blend",
|
||||
"bytes": 86395,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 240371,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 824532,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00101/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00101.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00101/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 1,
|
||||
"bytes": 986,
|
||||
"tokens": 247
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00102",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00101.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00100/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00100.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00101.md",
|
||||
"tests/golden/M16-GAP-00100/manifest.json",
|
||||
"docs/status/M16-GAP-00100.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/M15-03A/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00100",
|
||||
"parentTask": "M16-GAP-00099",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00101",
|
||||
"artifactCount": 15
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00100 Status",
|
||||
"status: done",
|
||||
"task: TRIANGULATE modifier LOCAL_EXACT slice",
|
||||
"updated: 2026-08-20 America/New_York",
|
||||
"scope: Mesh TRIANGULATE modifier stack exposure for `mesh:WebGapTriangulateMesh`.",
|
||||
"evidence:",
|
||||
"- Desktop fixture exposes `WebGapTriangulate` as TRIANGULATE type code 44 with FIXED quad and CLIP ngon methods; save/reopen is exact.",
|
||||
"- WASM/Main exposes the same TRIANGULATE stack entry and matching triangulation methods; save/reopen is exact."
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1739,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 435
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,148 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00102",
|
||||
"parentTask": "M16-GAP-00101",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable modifier:UV_WARP data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.",
|
||||
"scope": {
|
||||
"gap": "modifier:UV_WARP",
|
||||
"ownerFamily": "MODIFIER",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00102.py -- tests/files/web/generated/M16-GAP-00102-modifier-UV_WARP.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00102",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00102"
|
||||
],
|
||||
"inputPaths": [
|
||||
"tools/web/generated/M16-GAP-00102.py"
|
||||
],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 2246,
|
||||
"contextRemainingTokens": 561
|
||||
},
|
||||
"source": {
|
||||
"bytes": 7658,
|
||||
"tokens": 1915
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
"path": "tools/web/generated/M16-GAP-00102.py",
|
||||
"bytes": 974,
|
||||
"tokens": 244
|
||||
}
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00102-modifier-UV_WARP.blend",
|
||||
"bytes": 86398,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 240371,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 824532,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00102/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00102.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00102/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 1,
|
||||
"bytes": 974,
|
||||
"tokens": 244
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00103",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00102.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00101/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00101.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00102.md",
|
||||
"tests/golden/M16-GAP-00101/manifest.json",
|
||||
"docs/status/M16-GAP-00101.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/M15-03A/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00101",
|
||||
"parentTask": "M16-GAP-00100",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00102",
|
||||
"artifactCount": 15
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00101 Status",
|
||||
"status: done",
|
||||
"task: UV_PROJECT modifier LOCAL_EXACT slice",
|
||||
"updated: 2026-08-20 America/New_York",
|
||||
"scope: Mesh UV_PROJECT modifier stack exposure for `mesh:WebGapUvProjectMesh`.",
|
||||
"evidence:",
|
||||
"- Desktop fixture exposes `WebGapUvProject` as UV_PROJECT type code 15; save/reopen is exact.",
|
||||
"- WASM/Main exposes the same UV_PROJECT stack entry with matching generic visibility flags; save/reopen is exact."
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1724,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 431
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,148 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00103",
|
||||
"parentTask": "M16-GAP-00102",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable modifier:VERTEX_WEIGHT_EDIT data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.",
|
||||
"scope": {
|
||||
"gap": "modifier:VERTEX_WEIGHT_EDIT",
|
||||
"ownerFamily": "MODIFIER",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00103.py -- tests/files/web/generated/M16-GAP-00103-modifier-VERTEX_WEIGHT_EDIT.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00103",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00103"
|
||||
],
|
||||
"inputPaths": [
|
||||
"tools/web/generated/M16-GAP-00103.py"
|
||||
],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 2227,
|
||||
"contextRemainingTokens": 556
|
||||
},
|
||||
"source": {
|
||||
"bytes": 7677,
|
||||
"tokens": 1920
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
"path": "tools/web/generated/M16-GAP-00103.py",
|
||||
"bytes": 1015,
|
||||
"tokens": 254
|
||||
}
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00103-modifier-VERTEX_WEIGHT_EDIT.blend",
|
||||
"bytes": 86454,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 240371,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 824532,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00103/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00103.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00103/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 1,
|
||||
"bytes": 1015,
|
||||
"tokens": 254
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00104",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00103.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00102/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00102.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00103.md",
|
||||
"tests/golden/M16-GAP-00102/manifest.json",
|
||||
"docs/status/M16-GAP-00102.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/M15-03A/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00102",
|
||||
"parentTask": "M16-GAP-00101",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00103",
|
||||
"artifactCount": 15
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00102 Status",
|
||||
"status: done",
|
||||
"task: UV_WARP modifier LOCAL_EXACT slice",
|
||||
"updated: 2026-08-20 America/New_York",
|
||||
"scope: Mesh UV_WARP modifier stack exposure for `mesh:WebGapUvWarpMesh`.",
|
||||
"evidence:",
|
||||
"- Desktop fixture exposes `WebGapUvWarp` as UV_WARP type code 47; save/reopen is exact.",
|
||||
"- WASM/Main exposes the same UV_WARP stack entry with matching generic visibility flags; save/reopen is exact."
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1779,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 445
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,148 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00104",
|
||||
"parentTask": "M16-GAP-00103",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable modifier:VERTEX_WEIGHT_MIX data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.",
|
||||
"scope": {
|
||||
"gap": "modifier:VERTEX_WEIGHT_MIX",
|
||||
"ownerFamily": "MODIFIER",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00104.py -- tests/files/web/generated/M16-GAP-00104-modifier-VERTEX_WEIGHT_MIX.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00104",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00104"
|
||||
],
|
||||
"inputPaths": [
|
||||
"tools/web/generated/M16-GAP-00104.py"
|
||||
],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 2045,
|
||||
"contextRemainingTokens": 510
|
||||
},
|
||||
"source": {
|
||||
"bytes": 7859,
|
||||
"tokens": 1966
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
"path": "tools/web/generated/M16-GAP-00104.py",
|
||||
"bytes": 1011,
|
||||
"tokens": 253
|
||||
}
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00104-modifier-VERTEX_WEIGHT_MIX.blend",
|
||||
"bytes": 86411,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 240371,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 824532,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00104/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00104.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00104/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 1,
|
||||
"bytes": 1011,
|
||||
"tokens": 253
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00105",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00104.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00103/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00103.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00104.md",
|
||||
"tests/golden/M16-GAP-00103/manifest.json",
|
||||
"docs/status/M16-GAP-00103.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/M15-03A/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00103",
|
||||
"parentTask": "M16-GAP-00102",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00104",
|
||||
"artifactCount": 15
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00103 Status",
|
||||
"status: done",
|
||||
"task: VERTEX_WEIGHT_EDIT modifier LOCAL_EXACT slice",
|
||||
"updated: 2026-08-20 America/New_York",
|
||||
"scope: Mesh VERTEX_WEIGHT_EDIT modifier stack exposure for `mesh:WebGapVertexWeightEditMesh`.",
|
||||
"evidence:",
|
||||
"- Desktop fixture exposes `WebGapVertexWeightEdit` as VERTEX_WEIGHT_EDIT type code 36; save/reopen is exact.",
|
||||
"- Reader name table now uses Blender's canonical VERTEX_WEIGHT_EDIT name for type code 36; rebuilt WASM/Main exposes the same stack entry with matching generic flags."
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1774,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 444
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,148 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00105",
|
||||
"parentTask": "M16-GAP-00104",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable modifier:VERTEX_WEIGHT_PROXIMITY data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.",
|
||||
"scope": {
|
||||
"gap": "modifier:VERTEX_WEIGHT_PROXIMITY",
|
||||
"ownerFamily": "MODIFIER",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00105.py -- tests/files/web/generated/M16-GAP-00105-modifier-VERTEX_WEIGHT_PROXIMITY.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00105",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00105"
|
||||
],
|
||||
"inputPaths": [
|
||||
"tools/web/generated/M16-GAP-00105.py"
|
||||
],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 2088,
|
||||
"contextRemainingTokens": 521
|
||||
},
|
||||
"source": {
|
||||
"bytes": 7816,
|
||||
"tokens": 1955
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
"path": "tools/web/generated/M16-GAP-00105.py",
|
||||
"bytes": 1035,
|
||||
"tokens": 259
|
||||
}
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00105-modifier-VERTEX_WEIGHT_PROXIMITY.blend",
|
||||
"bytes": 86460,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 240371,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 824532,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00105/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00105.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00105/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 1,
|
||||
"bytes": 1035,
|
||||
"tokens": 259
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00106",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00105.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00104/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00104.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00105.md",
|
||||
"tests/golden/M16-GAP-00104/manifest.json",
|
||||
"docs/status/M16-GAP-00104.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/M15-03A/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00104",
|
||||
"parentTask": "M16-GAP-00103",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00105",
|
||||
"artifactCount": 15
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00104 Status",
|
||||
"status: done",
|
||||
"task: VERTEX_WEIGHT_MIX modifier LOCAL_EXACT slice",
|
||||
"updated: 2026-08-20 America/New_York",
|
||||
"scope: Mesh VERTEX_WEIGHT_MIX modifier stack exposure for `mesh:WebGapVertexWeightMixMesh`.",
|
||||
"evidence:",
|
||||
"- Desktop fixture exposes `WebGapVertexWeightMix` as VERTEX_WEIGHT_MIX type code 37; save/reopen is exact.",
|
||||
"- WASM/Main exposes the same VERTEX_WEIGHT_MIX stack entry with matching generic visibility flags; save/reopen is exact."
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1804,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 451
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,148 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00106",
|
||||
"parentTask": "M16-GAP-00105",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable modifier:VOLUME_DISPLACE data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.",
|
||||
"scope": {
|
||||
"gap": "modifier:VOLUME_DISPLACE",
|
||||
"ownerFamily": "MODIFIER",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00106.py -- tests/files/web/generated/M16-GAP-00106-modifier-VOLUME_DISPLACE.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00106",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00106"
|
||||
],
|
||||
"inputPaths": [
|
||||
"tools/web/generated/M16-GAP-00106.py"
|
||||
],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 2065,
|
||||
"contextRemainingTokens": 515
|
||||
},
|
||||
"source": {
|
||||
"bytes": 7839,
|
||||
"tokens": 1961
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
"path": "tools/web/generated/M16-GAP-00106.py",
|
||||
"bytes": 918,
|
||||
"tokens": 230
|
||||
}
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00106-modifier-VOLUME_DISPLACE.blend",
|
||||
"bytes": 86077,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 240371,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 824532,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00106/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00106.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00106/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 1,
|
||||
"bytes": 918,
|
||||
"tokens": 230
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00107",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00106.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00105/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00105.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00106.md",
|
||||
"tests/golden/M16-GAP-00105/manifest.json",
|
||||
"docs/status/M16-GAP-00105.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/M15-03A/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00105",
|
||||
"parentTask": "M16-GAP-00104",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00106",
|
||||
"artifactCount": 15
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00105 Status",
|
||||
"status: done",
|
||||
"task: VERTEX_WEIGHT_PROXIMITY modifier LOCAL_EXACT slice",
|
||||
"updated: 2026-08-20 America/New_York",
|
||||
"scope: Mesh VERTEX_WEIGHT_PROXIMITY modifier stack exposure for `mesh:WebGapVertexWeightProximityMesh`.",
|
||||
"evidence:",
|
||||
"- Desktop fixture exposes `WebGapVertexWeightProximity` as VERTEX_WEIGHT_PROXIMITY type code 38; save/reopen is exact.",
|
||||
"- WASM/Main exposes the same VERTEX_WEIGHT_PROXIMITY stack entry with matching generic visibility flags; save/reopen is exact."
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1764,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 441
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,148 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00107",
|
||||
"parentTask": "M16-GAP-00106",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable modifier:VOLUME_TO_MESH data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.",
|
||||
"scope": {
|
||||
"gap": "modifier:VOLUME_TO_MESH",
|
||||
"ownerFamily": "MODIFIER",
|
||||
"implementationClass": "LOCAL_EXACT"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00107.py -- tests/files/web/generated/M16-GAP-00107-modifier-VOLUME_TO_MESH.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task M16-GAP-00107",
|
||||
"node tools/web/check-generated-gap.mjs --task M16-GAP-00107"
|
||||
],
|
||||
"inputPaths": [
|
||||
"tools/web/generated/M16-GAP-00107.py"
|
||||
],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 2120,
|
||||
"contextRemainingTokens": 529
|
||||
},
|
||||
"source": {
|
||||
"bytes": 7784,
|
||||
"tokens": 1947
|
||||
},
|
||||
"selected": [
|
||||
{
|
||||
"path": "tools/web/generated/M16-GAP-00107.py",
|
||||
"bytes": 999,
|
||||
"tokens": 250
|
||||
}
|
||||
],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/M16-GAP-00107-modifier-VOLUME_TO_MESH.blend",
|
||||
"bytes": 86415,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 240371,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 824532,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00107/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/M16-GAP-00107.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M16-GAP-00107/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 1,
|
||||
"bytes": 999,
|
||||
"tokens": 250
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"desktop fixture evidence exists",
|
||||
"WASM uses the same fixture",
|
||||
"comparator passes",
|
||||
"save/reopen preserves Main",
|
||||
"manifest hashes all artifacts"
|
||||
],
|
||||
"nextTask": "M16-GAP-00108",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/M16-GAP-00107.md",
|
||||
"taskIndex": "tests/golden/M15-03A/task-index.json",
|
||||
"parentManifest": "tests/golden/M16-GAP-00106/manifest.json",
|
||||
"parentStatus": "docs/status/M16-GAP-00106.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/M16-GAP-00107.md",
|
||||
"tests/golden/M16-GAP-00106/manifest.json",
|
||||
"docs/status/M16-GAP-00106.md"
|
||||
],
|
||||
"machineOnly": [
|
||||
"tests/golden/M15-03A/task-index.json",
|
||||
"tests/golden/M15-03A/task-catalog.jsonl"
|
||||
],
|
||||
"optionalByNeed": [
|
||||
"docs/WEB_BLENDER_MODELER_V1_SCOPE.md",
|
||||
"任务卡列出的精确协议/生产路径",
|
||||
"任务卡明确命名的长期计划小节"
|
||||
],
|
||||
"forbiddenByDefault": [
|
||||
"完整 CURRENT_EXECUTION_PLAN.md",
|
||||
"完整 PROJECT_STATUS_AND_NEXT_WORK.md",
|
||||
"全部 docs/status/*.md",
|
||||
"完整 parity/WBS 计划",
|
||||
"README 历史和 test-results/"
|
||||
]
|
||||
},
|
||||
"parent": {
|
||||
"manifest": {
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00106",
|
||||
"parentTask": "M16-GAP-00105",
|
||||
"status": "done",
|
||||
"nextTask": "M16-GAP-00107",
|
||||
"artifactCount": 15
|
||||
},
|
||||
"statusSummary": [
|
||||
"# M16-GAP-00106 Status",
|
||||
"status: done",
|
||||
"task: VOLUME_DISPLACE modifier LOCAL_EXACT slice",
|
||||
"updated: 2026-08-20 America/New_York",
|
||||
"scope: Volume-object VOLUME_DISPLACE modifier stack exposure for `object:WebGapVolumeDisplaceObject`.",
|
||||
"evidence:",
|
||||
"- Desktop fixture exposes `WebGapVolumeDisplace` as VOLUME_DISPLACE type code 59 on a Volume object; save/reopen is exact.",
|
||||
"- WASM/Main exposes the same VOLUME_DISPLACE stack entry with matching generic visibility flags; save/reopen is exact."
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1759,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 440
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M15-03E",
|
||||
"parentTask": "M15-03D",
|
||||
"status": "BLOCKED",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": false,
|
||||
"operation": "BLENDER_ZERO_GAP_GATE",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/M15-03D/manifest.json",
|
||||
"sha256": "2838a248140ebc944ee85190de5b2ae73bdc28e8d0be5972fb04e5cf2bf345c3"
|
||||
},
|
||||
"checker": {
|
||||
"path": "tools/web/check-blender-zero-gap-gate.mjs",
|
||||
"sha256": "169c37861ee4422fd2eacf4886a99e71d5ed4e5220132866dccaf961b4a6ac2b"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/M15-03A/next-task-plan.json",
|
||||
"sha256": "a5c46410b419ede40a5adb6a84029e7f303e28e823f33d9d63d5e1815c1b0032"
|
||||
},
|
||||
"report": {
|
||||
"path": "tests/golden/M15-03E/zero-gap-gate-report.json",
|
||||
"sha256": "41a5611e2719ed377db55bdfe6623c2a73dc91560e0f38266164d10645b57a69"
|
||||
},
|
||||
"package": {
|
||||
"path": "web/package.json",
|
||||
"sha256": "540fcf5a711fe65654f5f9dcfccf4dfb4549dcdbef498a4eb37946cc24a76912"
|
||||
}
|
||||
},
|
||||
"nextTask": "M16-GAP-00001",
|
||||
"reconciliation": {
|
||||
"mode": "CURRENT_WORKTREE_RESIGN",
|
||||
"authorized": true,
|
||||
"parentPointerRepair": {
|
||||
"task": "M16-GAP-00001",
|
||||
"parentTask": "M15-03E",
|
||||
"originalNextTask": "M16-GAP-00018",
|
||||
"resignedNextTask": "M16-GAP-00001"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00001",
|
||||
"parentTask": "M15-03E",
|
||||
"enablingTask": true,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "ACTION_DATABLOCK_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/M15-03E/manifest.json",
|
||||
"sha256": "8c81caa2e601aba51381d72c5a5f35e0dd5561458946c1c4795e9e055eec3474"
|
||||
},
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00001-datablock-Action.blend",
|
||||
"sha256": "cb921e862eff1dcf68f22d77ef8558679207203ace0b80239a5bc5874ec2a551"
|
||||
},
|
||||
"desktopChecker": {
|
||||
"path": "tools/web/check-action-desktop.py",
|
||||
"sha256": "7c32d786a8daedcf5e995d0ff29b6034e7c4f4c25c309ccd0542adecc19319f2"
|
||||
},
|
||||
"webChecker": {
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"sha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
"desktopReport": {
|
||||
"path": "tests/golden/M16-GAP-00001/action-desktop-report.json",
|
||||
"sha256": "f6bea0003a9e8eb25048797156bc0ab59b6a63d76ce4156283b6d9761dbfb0ee"
|
||||
},
|
||||
"webReport": {
|
||||
"path": "tests/golden/M16-GAP-00001/action-local-exact-report.json",
|
||||
"sha256": "eb7a604af8b071c3186a39a30f3a9974a6fed03008751da5319d54d170b841d6"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/M15-03A/next-task-plan.json",
|
||||
"sha256": "2235d0d250d28e63ab1c9b0e956292560785cf340c612312b316be0ceb2463a9"
|
||||
},
|
||||
"package": {
|
||||
"path": "web/package.json",
|
||||
"sha256": "9c553a1e0614bcd190149a409759c8fe5d83a0bd00fe49b4bce049ffa01e0f0a"
|
||||
}
|
||||
},
|
||||
"nextTask": "M16-GAP-00002",
|
||||
"reconciliation": {
|
||||
"mode": "CURRENT_WORKTREE_RESIGN",
|
||||
"authorized": true,
|
||||
"artifactDrift": [
|
||||
{
|
||||
"path": "tests/golden/M15-03E/manifest.json",
|
||||
"originalSha256": "9e50746ba11f29a3a26c1eb04c25e7153f2edebbf32e092c5bdc89516f274f64",
|
||||
"resignedSha256": "8c81caa2e601aba51381d72c5a5f35e0dd5561458946c1c4795e9e055eec3474"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"originalSha256": "a987e77c1e35f70d820fe12430d74d90e72bfb594b65dbbf39f005748c6683f8",
|
||||
"resignedSha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M15-03A/next-task-plan.json",
|
||||
"originalSha256": "732d34b5a696077ae6f7f11df768e1e1671379e2face64496f46fcbf352878ed",
|
||||
"resignedSha256": "2235d0d250d28e63ab1c9b0e956292560785cf340c612312b316be0ceb2463a9"
|
||||
},
|
||||
{
|
||||
"path": "web/package.json",
|
||||
"originalSha256": "159af906f4e468e3f18cfcd2f599a7e22c9c180cdc8032ba4eac5eaf5ad8cc0e",
|
||||
"resignedSha256": "9c553a1e0614bcd190149a409759c8fe5d83a0bd00fe49b4bce049ffa01e0f0a"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00002",
|
||||
"parentTask": "M16-GAP-00001",
|
||||
"enablingTask": true,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "ARMATURE_DATABLOCK_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/M16-GAP-00001/manifest.json",
|
||||
"sha256": "ef0a497b61ee95fae55be76ab9dbbc047aeb7619bb161c0711319f4288f5d170"
|
||||
},
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00002-datablock-Armature.blend",
|
||||
"sha256": "b7d1c05b70e97be9a70890d45fea60b143073462d2a4f62eb3cc607bd2d665ca"
|
||||
},
|
||||
"desktopChecker": {
|
||||
"path": "tools/web/check-armature-desktop.py",
|
||||
"sha256": "5a03e4c6d195219b6fe567973565b0d29f8957716d03c419b04d2003ed67429e"
|
||||
},
|
||||
"webChecker": {
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"sha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
"desktopReport": {
|
||||
"path": "tests/golden/M16-GAP-00002/armature-desktop-report.json",
|
||||
"sha256": "970538d481dd9b2169c5e39e6901e6eeff0d9b2d26b42491837321841bcb4a5e"
|
||||
},
|
||||
"webReport": {
|
||||
"path": "tests/golden/M16-GAP-00002/armature-local-exact-report.json",
|
||||
"sha256": "eeb775648b186a9728851b8cffa0fa9c41701de4a8142e73f6ad98ef050dc877"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/M15-03A/next-task-plan.json",
|
||||
"sha256": "2235d0d250d28e63ab1c9b0e956292560785cf340c612312b316be0ceb2463a9"
|
||||
},
|
||||
"package": {
|
||||
"path": "web/package.json",
|
||||
"sha256": "9c553a1e0614bcd190149a409759c8fe5d83a0bd00fe49b4bce049ffa01e0f0a"
|
||||
}
|
||||
},
|
||||
"nextTask": "M16-GAP-00003",
|
||||
"reconciliation": {
|
||||
"mode": "CURRENT_WORKTREE_RESIGN",
|
||||
"authorized": true,
|
||||
"artifactDrift": [
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"originalSha256": "a987e77c1e35f70d820fe12430d74d90e72bfb594b65dbbf39f005748c6683f8",
|
||||
"resignedSha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M15-03A/next-task-plan.json",
|
||||
"originalSha256": "732d34b5a696077ae6f7f11df768e1e1671379e2face64496f46fcbf352878ed",
|
||||
"resignedSha256": "2235d0d250d28e63ab1c9b0e956292560785cf340c612312b316be0ceb2463a9"
|
||||
},
|
||||
{
|
||||
"path": "web/package.json",
|
||||
"originalSha256": "159af906f4e468e3f18cfcd2f599a7e22c9c180cdc8032ba4eac5eaf5ad8cc0e",
|
||||
"resignedSha256": "9c553a1e0614bcd190149a409759c8fe5d83a0bd00fe49b4bce049ffa01e0f0a"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00003",
|
||||
"parentTask": "M16-GAP-00002",
|
||||
"enablingTask": true,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "BRUSH_DATABLOCK_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/M16-GAP-00002/manifest.json",
|
||||
"sha256": "b8705243e00f62deb82644976838e197d84e72edb8113439efacfd95d4da4188"
|
||||
},
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00003-datablock-Brush.blend",
|
||||
"sha256": "f1f6922c4c9c31542a9cefad6932d616ef5dcde0067c0a9668f67902023f4f80"
|
||||
},
|
||||
"fixtureGenerator": {
|
||||
"path": "tools/web/generate-brush-fixture.py",
|
||||
"sha256": "c4fd4a6c28c595b742b1ef083285ac87f9af56b65d75ba03750925079a0aa637"
|
||||
},
|
||||
"desktopChecker": {
|
||||
"path": "tools/web/check-brush-desktop.py",
|
||||
"sha256": "515b1eab3b6e2dc0a4e9a65d20764816916228f41082739c98efd6cc882926bf"
|
||||
},
|
||||
"webChecker": {
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"sha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
"desktopReport": {
|
||||
"path": "tests/golden/M16-GAP-00003/brush-desktop-report.json",
|
||||
"sha256": "ca992c23e2c302ef0b85b91305eabdbf71da6b5bc60c49b71710d145d0787e09"
|
||||
},
|
||||
"webReport": {
|
||||
"path": "tests/golden/M16-GAP-00003/brush-local-exact-report.json",
|
||||
"sha256": "e48dcad3974b94404d5d9f0c7222b6c45ea5f3b7a467ea2b88691a6ff50e22a6"
|
||||
},
|
||||
"nativeReader": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"sha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
"protocol": {
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"sha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
"wasm": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/M15-03A/next-task-plan.json",
|
||||
"sha256": "2235d0d250d28e63ab1c9b0e956292560785cf340c612312b316be0ceb2463a9"
|
||||
},
|
||||
"package": {
|
||||
"path": "web/package.json",
|
||||
"sha256": "9c553a1e0614bcd190149a409759c8fe5d83a0bd00fe49b4bce049ffa01e0f0a"
|
||||
}
|
||||
},
|
||||
"nextTask": "M16-GAP-00004",
|
||||
"reconciliation": {
|
||||
"mode": "CURRENT_WORKTREE_RESIGN",
|
||||
"authorized": true,
|
||||
"artifactDrift": [
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"originalSha256": "a987e77c1e35f70d820fe12430d74d90e72bfb594b65dbbf39f005748c6683f8",
|
||||
"resignedSha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"originalSha256": "9c2d9536cba500763ffc425d7f09132dfdb2d9c3c8e5e9dfd7246ee972cca3f9",
|
||||
"resignedSha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
{
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"originalSha256": "8ba177250f629d6c2f83f78c376101e536e01388cda7b1672ceec9a15034b3b9",
|
||||
"resignedSha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"originalSha256": "6667cefcccdba3379ad2fd25a50339a2ad94d498d6c9360f1fc2fbd8319597c4",
|
||||
"resignedSha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M15-03A/next-task-plan.json",
|
||||
"originalSha256": "732d34b5a696077ae6f7f11df768e1e1671379e2face64496f46fcbf352878ed",
|
||||
"resignedSha256": "2235d0d250d28e63ab1c9b0e956292560785cf340c612312b316be0ceb2463a9"
|
||||
},
|
||||
{
|
||||
"path": "web/package.json",
|
||||
"originalSha256": "159af906f4e468e3f18cfcd2f599a7e22c9c180cdc8032ba4eac5eaf5ad8cc0e",
|
||||
"resignedSha256": "9c553a1e0614bcd190149a409759c8fe5d83a0bd00fe49b4bce049ffa01e0f0a"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00004",
|
||||
"parentTask": "M16-GAP-00003",
|
||||
"enablingTask": true,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "CAMERA_DATABLOCK_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/M16-GAP-00003/manifest.json",
|
||||
"sha256": "789282e4c913c77d8805490a132b26026f8d4a650539c1378f2dba546d4fcba1"
|
||||
},
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00004-datablock-Camera.blend",
|
||||
"sha256": "c637587ce3011cbe9b038ab87803a9a2f945d4512b55d616a5dda268628988a0"
|
||||
},
|
||||
"fixtureGenerator": {
|
||||
"path": "tools/web/generate-camera-fixture.py",
|
||||
"sha256": "23c1bf411ed483f4bf111fb52f63e9ec77610f30819c68ac248075a851a59c97"
|
||||
},
|
||||
"desktopChecker": {
|
||||
"path": "tools/web/check-camera-desktop.py",
|
||||
"sha256": "27831385e1ed7e464c6b627bcbcb81af01ad2afa7ec66f28d2256641005802b4"
|
||||
},
|
||||
"webChecker": {
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"sha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
"desktopReport": {
|
||||
"path": "tests/golden/M16-GAP-00004/camera-desktop-report.json",
|
||||
"sha256": "b11254b3e0cdeb5e5c39e350ea1d349f5e2991f8c62a5ad28f744c391beab3b5"
|
||||
},
|
||||
"webReport": {
|
||||
"path": "tests/golden/M16-GAP-00004/camera-local-exact-report.json",
|
||||
"sha256": "a2b2c321efbcf2ed765f2e8b1019fef7e2cd34af872f78474d18594c6cee5d1c"
|
||||
},
|
||||
"wasm": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/M15-03A/next-task-plan.json",
|
||||
"sha256": "2235d0d250d28e63ab1c9b0e956292560785cf340c612312b316be0ceb2463a9"
|
||||
}
|
||||
},
|
||||
"nextTask": "M16-GAP-00005",
|
||||
"reconciliation": {
|
||||
"mode": "CURRENT_WORKTREE_RESIGN",
|
||||
"authorized": true,
|
||||
"artifactDrift": [
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"originalSha256": "a987e77c1e35f70d820fe12430d74d90e72bfb594b65dbbf39f005748c6683f8",
|
||||
"resignedSha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"originalSha256": "6667cefcccdba3379ad2fd25a50339a2ad94d498d6c9360f1fc2fbd8319597c4",
|
||||
"resignedSha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M15-03A/next-task-plan.json",
|
||||
"originalSha256": "732d34b5a696077ae6f7f11df768e1e1671379e2face64496f46fcbf352878ed",
|
||||
"resignedSha256": "2235d0d250d28e63ab1c9b0e956292560785cf340c612312b316be0ceb2463a9"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00005",
|
||||
"parentTask": "M16-GAP-00004",
|
||||
"enablingTask": true,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "COLLECTION_DATABLOCK_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/M16-GAP-00004/manifest.json",
|
||||
"sha256": "905c8f507a7c2e3c43a6d3c99a873124e1dc0aa1647e09a0b66f7e6a77462add"
|
||||
},
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00005-datablock-Collection.blend",
|
||||
"sha256": "c33d2b1b85b0272aa3bf06a012000db5f383a9a73b79bd4b90042110b70a912b"
|
||||
},
|
||||
"fixtureGenerator": {
|
||||
"path": "tools/web/generate-collection-fixture.py",
|
||||
"sha256": "3f2a02903a1c1d74a3ba707342b6617b39a3857ccf58e30162ab993c7e112544"
|
||||
},
|
||||
"desktopChecker": {
|
||||
"path": "tools/web/check-collection-desktop.py",
|
||||
"sha256": "fca7970f55b654527226b1b39a88934db35da787772c69ba65075f11e2664f26"
|
||||
},
|
||||
"webChecker": {
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"sha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
"desktopReport": {
|
||||
"path": "tests/golden/M16-GAP-00005/collection-desktop-report.json",
|
||||
"sha256": "6e6bcf8e5575d46c324d51409d19be6f89e5397b1f094f528b164ea72c607887"
|
||||
},
|
||||
"webReport": {
|
||||
"path": "tests/golden/M16-GAP-00005/collection-local-exact-report.json",
|
||||
"sha256": "2db40433007886b24f5ceb18dccf7470e0c393163838a11f2feb48bab516d740"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/M15-03A/next-task-plan.json",
|
||||
"sha256": "2235d0d250d28e63ab1c9b0e956292560785cf340c612312b316be0ceb2463a9"
|
||||
}
|
||||
},
|
||||
"nextTask": "M16-GAP-00006",
|
||||
"reconciliation": {
|
||||
"mode": "CURRENT_WORKTREE_RESIGN",
|
||||
"authorized": true,
|
||||
"artifactDrift": [
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"originalSha256": "a987e77c1e35f70d820fe12430d74d90e72bfb594b65dbbf39f005748c6683f8",
|
||||
"resignedSha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M15-03A/next-task-plan.json",
|
||||
"originalSha256": "732d34b5a696077ae6f7f11df768e1e1671379e2face64496f46fcbf352878ed",
|
||||
"resignedSha256": "2235d0d250d28e63ab1c9b0e956292560785cf340c612312b316be0ceb2463a9"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00006",
|
||||
"parentTask": "M16-GAP-00005",
|
||||
"enablingTask": true,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "CURVE_DATABLOCK_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/M16-GAP-00005/manifest.json",
|
||||
"sha256": "581d3757a300c6dea5f8a989932f2787915c30ef84de8494a20fd65d2058551a"
|
||||
},
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00006-datablock-Curve.blend",
|
||||
"sha256": "49af45a70c7e050277a9b4b643c41aa9f29978b1df5214b5e48dc629b0027a21"
|
||||
},
|
||||
"fixtureGenerator": {
|
||||
"path": "tools/web/generate-curve-fixture.py",
|
||||
"sha256": "bb93a2ca07e8e8ae81341c46edc7cbceb72ada2023b8fe956ee3b6ad03c7ae11"
|
||||
},
|
||||
"desktopChecker": {
|
||||
"path": "tools/web/check-curve-desktop.py",
|
||||
"sha256": "e66ba2ae04f6de97e9643e581fa4426650ce4ddcfea0ffc8b3bf9fb14fdd26ee"
|
||||
},
|
||||
"webChecker": {
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"sha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
"desktopReport": {
|
||||
"path": "tests/golden/M16-GAP-00006/curve-desktop-report.json",
|
||||
"sha256": "85e8eee37daea993653bfa1785f5df19f953c2d013543e8a27743ed74d49d4ff"
|
||||
},
|
||||
"webReport": {
|
||||
"path": "tests/golden/M16-GAP-00006/curve-local-exact-report.json",
|
||||
"sha256": "048c9fb9116ab2a1b4460c74696340a263cd342ba4886ce56f8b03bef8743e58"
|
||||
},
|
||||
"wasm": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/M15-03A/next-task-plan.json",
|
||||
"sha256": "2235d0d250d28e63ab1c9b0e956292560785cf340c612312b316be0ceb2463a9"
|
||||
}
|
||||
},
|
||||
"nextTask": "M16-GAP-00007",
|
||||
"reconciliation": {
|
||||
"mode": "CURRENT_WORKTREE_RESIGN",
|
||||
"authorized": true,
|
||||
"artifactDrift": [
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"originalSha256": "a987e77c1e35f70d820fe12430d74d90e72bfb594b65dbbf39f005748c6683f8",
|
||||
"resignedSha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"originalSha256": "6667cefcccdba3379ad2fd25a50339a2ad94d498d6c9360f1fc2fbd8319597c4",
|
||||
"resignedSha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M15-03A/next-task-plan.json",
|
||||
"originalSha256": "732d34b5a696077ae6f7f11df768e1e1671379e2face64496f46fcbf352878ed",
|
||||
"resignedSha256": "2235d0d250d28e63ab1c9b0e956292560785cf340c612312b316be0ceb2463a9"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00007",
|
||||
"parentTask": "M16-GAP-00006",
|
||||
"enablingTask": true,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "CURVES_DATABLOCK_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/M16-GAP-00006/manifest.json",
|
||||
"sha256": "d17d368089b84c23ce4cc4016f61cc3bf0ea86ade968045a7a8dc6a3063394f0"
|
||||
},
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00007-datablock-Curves.blend",
|
||||
"sha256": "d6489313473ced7f55cc1d43f3fa73181672c0a5db4b6854002f18354ca1d9a6"
|
||||
},
|
||||
"fixtureGenerator": {
|
||||
"path": "tools/web/generate-curves-fixture.py",
|
||||
"sha256": "792ec1d58d495cd9d425215aa631dd5e1d66f7bd5cf75e783b961760667faacc"
|
||||
},
|
||||
"desktopChecker": {
|
||||
"path": "tools/web/check-curves-desktop.py",
|
||||
"sha256": "3a8372a8ba072df2f5a3a1b3cccef44d219dde2193b551110017436cbd38e85c"
|
||||
},
|
||||
"webChecker": {
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"sha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
"desktopReport": {
|
||||
"path": "tests/golden/M16-GAP-00007/curves-desktop-report.json",
|
||||
"sha256": "db15e64bfe202720b463ab742cbed2e6ec80b872456b825078afbba7a2540531"
|
||||
},
|
||||
"webReport": {
|
||||
"path": "tests/golden/M16-GAP-00007/curves-local-exact-report.json",
|
||||
"sha256": "bf093708e23b8318e1f50b925b5c033d66aa8c1f97303174ad2489a82191705f"
|
||||
},
|
||||
"wasm": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/M15-03A/next-task-plan.json",
|
||||
"sha256": "2235d0d250d28e63ab1c9b0e956292560785cf340c612312b316be0ceb2463a9"
|
||||
}
|
||||
},
|
||||
"nextTask": "M16-GAP-00008",
|
||||
"reconciliation": {
|
||||
"mode": "CURRENT_WORKTREE_RESIGN",
|
||||
"authorized": true,
|
||||
"artifactDrift": [
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"originalSha256": "a987e77c1e35f70d820fe12430d74d90e72bfb594b65dbbf39f005748c6683f8",
|
||||
"resignedSha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"originalSha256": "6667cefcccdba3379ad2fd25a50339a2ad94d498d6c9360f1fc2fbd8319597c4",
|
||||
"resignedSha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M15-03A/next-task-plan.json",
|
||||
"originalSha256": "732d34b5a696077ae6f7f11df768e1e1671379e2face64496f46fcbf352878ed",
|
||||
"resignedSha256": "2235d0d250d28e63ab1c9b0e956292560785cf340c612312b316be0ceb2463a9"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00008",
|
||||
"parentTask": "M16-GAP-00007",
|
||||
"enablingTask": true,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "FREESTYLE_LINE_STYLE_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/M16-GAP-00007/manifest.json",
|
||||
"sha256": "0c115415e196995788045b412c37da40af5cac0f2200efc124515d730b63af14"
|
||||
},
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00008-datablock-FreestyleLineStyle.blend",
|
||||
"sha256": "94de965ad54018f7072f2b4f4b752dc6f28f6608836040dc353d18d19fe31fd9"
|
||||
},
|
||||
"fixtureGenerator": {
|
||||
"path": "tools/web/generate-freestyle-fixture.py",
|
||||
"sha256": "e73088d9097c6ee94baaa07d3e8e279a55a0a34ccec2618e629699f840fd1ed1"
|
||||
},
|
||||
"desktopChecker": {
|
||||
"path": "tools/web/check-freestyle-desktop.py",
|
||||
"sha256": "7621b52c88adbae0bb611b2fd6ea2ccf1a0666341c36d4d03eda8f4c565efdc8"
|
||||
},
|
||||
"webChecker": {
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"sha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
"desktopReport": {
|
||||
"path": "tests/golden/M16-GAP-00008/freestyle-desktop-report.json",
|
||||
"sha256": "2c42936cd8e4046b752f7e86949927769d1cb8f2086a2c9ba27eebf61a6f4a89"
|
||||
},
|
||||
"webReport": {
|
||||
"path": "tests/golden/M16-GAP-00008/freestyle-local-exact-report.json",
|
||||
"sha256": "ab75a7fdfa71a4abd4a5e97f7e726440bde7891163c0b256be0815e1cc51a99a"
|
||||
},
|
||||
"nativeReader": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"sha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
"protocol": {
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"sha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
"wasm": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/M15-03A/next-task-plan.json",
|
||||
"sha256": "2235d0d250d28e63ab1c9b0e956292560785cf340c612312b316be0ceb2463a9"
|
||||
}
|
||||
},
|
||||
"nextTask": "M16-GAP-00009",
|
||||
"reconciliation": {
|
||||
"mode": "CURRENT_WORKTREE_RESIGN",
|
||||
"authorized": true,
|
||||
"artifactDrift": [
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"originalSha256": "a987e77c1e35f70d820fe12430d74d90e72bfb594b65dbbf39f005748c6683f8",
|
||||
"resignedSha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"originalSha256": "9c2d9536cba500763ffc425d7f09132dfdb2d9c3c8e5e9dfd7246ee972cca3f9",
|
||||
"resignedSha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
{
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"originalSha256": "8ba177250f629d6c2f83f78c376101e536e01388cda7b1672ceec9a15034b3b9",
|
||||
"resignedSha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"originalSha256": "6667cefcccdba3379ad2fd25a50339a2ad94d498d6c9360f1fc2fbd8319597c4",
|
||||
"resignedSha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M15-03A/next-task-plan.json",
|
||||
"originalSha256": "732d34b5a696077ae6f7f11df768e1e1671379e2face64496f46fcbf352878ed",
|
||||
"resignedSha256": "2235d0d250d28e63ab1c9b0e956292560785cf340c612312b316be0ceb2463a9"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00009",
|
||||
"parentTask": "M16-GAP-00008",
|
||||
"enablingTask": true,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "GREASE_PENCIL_DATABLOCK_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/M16-GAP-00008/manifest.json",
|
||||
"sha256": "3b4c0eb24867cef0054cffb31d1e3320379dbf70e13e8920eaa08da6ace06c89"
|
||||
},
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00009-datablock-GreasePencil.blend",
|
||||
"sha256": "3a8525077807f9178dac3a5ba84b524e5f8e80874b15c54e2a6658ecb80315a3"
|
||||
},
|
||||
"desktopChecker": {
|
||||
"path": "tools/web/check-grease-pencil-desktop.py",
|
||||
"sha256": "4d99d5e81fcdc8289e462279f2da278e2aea573f4d947fa5e71e959b506d1ee1"
|
||||
},
|
||||
"webChecker": {
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"sha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
"desktopReport": {
|
||||
"path": "tests/golden/M16-GAP-00009/grease-pencil-desktop-report.json",
|
||||
"sha256": "6a1145d7447a08f51d751dca797e67f2be7eb12cba052a726c4c2f8ee28b585e"
|
||||
},
|
||||
"webReport": {
|
||||
"path": "tests/golden/M16-GAP-00009/grease-pencil-local-exact-report.json",
|
||||
"sha256": "94aaf84cc072ef13998517d610740d81d94c14593ba776ea7f4b88c673a0a71f"
|
||||
},
|
||||
"plan": {
|
||||
"path": "tests/golden/M15-03A/next-task-plan.json",
|
||||
"sha256": "2235d0d250d28e63ab1c9b0e956292560785cf340c612312b316be0ceb2463a9"
|
||||
}
|
||||
},
|
||||
"nextTask": "M16-GAP-00010",
|
||||
"reconciliation": {
|
||||
"mode": "CURRENT_WORKTREE_RESIGN",
|
||||
"authorized": true,
|
||||
"artifactDrift": [
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"originalSha256": "a987e77c1e35f70d820fe12430d74d90e72bfb594b65dbbf39f005748c6683f8",
|
||||
"resignedSha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/M15-03A/next-task-plan.json",
|
||||
"originalSha256": "732d34b5a696077ae6f7f11df768e1e1671379e2face64496f46fcbf352878ed",
|
||||
"resignedSha256": "2235d0d250d28e63ab1c9b0e956292560785cf340c612312b316be0ceb2463a9"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00010",
|
||||
"parentTask": "M16-GAP-00009",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "LATTICE_DATABLOCK_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/M16-GAP-00009/manifest.json",
|
||||
"sha256": "c242975eccdcb4c516dfae17763f9a15b9db29b856bd9f845e9eceb429e8ce69"
|
||||
},
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00010-datablock-Lattice.blend",
|
||||
"sha256": "ec40e2661e20c8f7e3b18d9b42f9e585175be8c2f210a1c8c190e76a6e9fbc63"
|
||||
},
|
||||
"generator": {
|
||||
"path": "tools/web/generated/M16-GAP-00010.py",
|
||||
"sha256": "35303113c57f1cc6c6b7bd1afc269be0c824b71f0c7bfbb0fd33f35fea40a8c2"
|
||||
},
|
||||
"desktopChecker": {
|
||||
"path": "tools/web/check-lattice-desktop.py",
|
||||
"sha256": "56f48405407b4baba4ee9a13038fddc951c6fe607a3d64d6894a00e61d30be9b"
|
||||
},
|
||||
"webChecker": {
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"sha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
"reader": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"sha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
"protocol": {
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"sha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
"wasm": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
"wasmJs": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
},
|
||||
"desktopReport": {
|
||||
"path": "tests/golden/M16-GAP-00010/lattice-desktop-report.json",
|
||||
"sha256": "bb8effdcf18a89794914d88311a598b3285e64f18c402c9cff477ae5700ba089"
|
||||
},
|
||||
"webReport": {
|
||||
"path": "tests/golden/M16-GAP-00010/lattice-local-exact-report.json",
|
||||
"sha256": "489c9d25a6e4164860f5528944eca0e173f8a7e4130e89404b6fa09da9b469a0"
|
||||
}
|
||||
},
|
||||
"nextTask": "M16-GAP-00011",
|
||||
"reconciliation": {
|
||||
"mode": "CURRENT_WORKTREE_RESIGN",
|
||||
"authorized": true,
|
||||
"artifactDrift": [
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"originalSha256": "8d93d0d65a0c3e0268dfb1ce9cdd27bdf7aab33f2234d6433b6749aa81403ad3",
|
||||
"resignedSha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"originalSha256": "3c2c69a66d60692049956530c2570db377e5d10838d0048aa4e0f3fb210f9c62",
|
||||
"resignedSha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
{
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"originalSha256": "7d96e706de6b42f4372d937708600be150190ae593e214066a06d030bcac8b73",
|
||||
"resignedSha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"originalSha256": "4a33528e8bd4d50956e741cba93ab0215350943c59f56b7c82e18df19f4ee450",
|
||||
"resignedSha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"originalSha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed",
|
||||
"resignedSha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,92 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00011",
|
||||
"parentTask": "M16-GAP-00010",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "LIBRARY_DATABLOCK_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/M16-GAP-00010/manifest.json",
|
||||
"sha256": "cb3be7f0917ca95d831ffabaa11470eb528ce3fe5eda1ba1e3f7925ea2288737"
|
||||
},
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00011-datablock-Library.blend",
|
||||
"sha256": "d6b00d6cdc0c1c73158ba91433d8344f4b6b0a2f1d5c81e57cc4e0b42d23c34a"
|
||||
},
|
||||
"librarySource": {
|
||||
"path": "tests/files/web/generated/WebGapLibrary.blend",
|
||||
"sha256": "1fe24e423713bc18dc936e723e97f7c306db4aa62cc24736055eb2d341375088"
|
||||
},
|
||||
"generator": {
|
||||
"path": "tools/web/generated/M16-GAP-00011.py",
|
||||
"sha256": "f33b9d5482193439fedd34f138b192d2e086db01205560276fa43bfd08ed430a"
|
||||
},
|
||||
"desktopChecker": {
|
||||
"path": "tools/web/check-library-desktop.py",
|
||||
"sha256": "34eda5a724ca7eab9fcb2e4f39cec46125e363f548fc77beb3f09133151fdeb4"
|
||||
},
|
||||
"webChecker": {
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"sha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
"reader": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"sha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
"protocol": {
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"sha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
"wasm": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
"wasmJs": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
},
|
||||
"desktopReport": {
|
||||
"path": "tests/golden/M16-GAP-00011/library-desktop-report.json",
|
||||
"sha256": "0bc9032490f2450e99d30fd67fe95b164f8d359ca042d0e0b772ee1a28e39dbd"
|
||||
},
|
||||
"webReport": {
|
||||
"path": "tests/golden/M16-GAP-00011/library-local-exact-report.json",
|
||||
"sha256": "82c3a7ebb204da9dd8f817f0378374be062993892a4405d01f81c960677f45bf"
|
||||
}
|
||||
},
|
||||
"nextTask": "M16-GAP-00012",
|
||||
"reconciliation": {
|
||||
"mode": "CURRENT_WORKTREE_RESIGN",
|
||||
"authorized": true,
|
||||
"artifactDrift": [
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"originalSha256": "0e13f61a7f34ddc10388f8e6ee5215fe941714e2bbf759a795efbcdd0fbc3aa0",
|
||||
"resignedSha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"originalSha256": "3c2c69a66d60692049956530c2570db377e5d10838d0048aa4e0f3fb210f9c62",
|
||||
"resignedSha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
{
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"originalSha256": "7d96e706de6b42f4372d937708600be150190ae593e214066a06d030bcac8b73",
|
||||
"resignedSha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"originalSha256": "4a33528e8bd4d50956e741cba93ab0215350943c59f56b7c82e18df19f4ee450",
|
||||
"resignedSha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"originalSha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed",
|
||||
"resignedSha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00012",
|
||||
"parentTask": "M16-GAP-00011",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "LIGHT_DATABLOCK_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/M16-GAP-00011/manifest.json",
|
||||
"sha256": "a29ac9278d37d187f5e421f365a71fb3d18a8aeb74cfe4ae733f8510a43446de"
|
||||
},
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00012-datablock-Light.blend",
|
||||
"sha256": "b92565305572d48cc2311b749d50024f1df68c4084ae8bc52ce2ba2c3832a3fa"
|
||||
},
|
||||
"generator": {
|
||||
"path": "tools/web/generated/M16-GAP-00012.py",
|
||||
"sha256": "9b261d7d516e0514e6e96a876661d0ab8eb83b844e92cd72dc4ffda460da0b2b"
|
||||
},
|
||||
"desktopChecker": {
|
||||
"path": "tools/web/check-light-desktop.py",
|
||||
"sha256": "90025507cc88c1c2be028e52a0b6e0b80561915bf109f38c64b95191c716505c"
|
||||
},
|
||||
"webChecker": {
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"sha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
"reader": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"sha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
"protocol": {
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"sha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
"wasm": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
"wasmJs": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
},
|
||||
"desktopReport": {
|
||||
"path": "tests/golden/M16-GAP-00012/light-desktop-report.json",
|
||||
"sha256": "92bd381ec7b8242de6379d9e266ebbb63bd34c2d28e852d2ac7610eb7e67b8d3"
|
||||
},
|
||||
"webReport": {
|
||||
"path": "tests/golden/M16-GAP-00012/light-local-exact-report.json",
|
||||
"sha256": "103958f99cc13fccef7acb4128f3707e48580c8ad86813821a2ce40986c5a964"
|
||||
}
|
||||
},
|
||||
"nextTask": "M16-GAP-00013",
|
||||
"reconciliation": {
|
||||
"mode": "CURRENT_WORKTREE_RESIGN",
|
||||
"authorized": true,
|
||||
"artifactDrift": [
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"originalSha256": "cf0cc4ebefcd319d6351d70864efd20c66e415dd0adb1637224e1390d1d38e70",
|
||||
"resignedSha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"originalSha256": "3c2c69a66d60692049956530c2570db377e5d10838d0048aa4e0f3fb210f9c62",
|
||||
"resignedSha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
{
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"originalSha256": "7d96e706de6b42f4372d937708600be150190ae593e214066a06d030bcac8b73",
|
||||
"resignedSha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"originalSha256": "4a33528e8bd4d50956e741cba93ab0215350943c59f56b7c82e18df19f4ee450",
|
||||
"resignedSha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"originalSha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed",
|
||||
"resignedSha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00013",
|
||||
"parentTask": "M16-GAP-00012",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "MATERIAL_DATABLOCK_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/M16-GAP-00012/manifest.json",
|
||||
"sha256": "c71a0d9e23d13bf51a190c99f16e4e7e98da1f12cba50f2404bef8fcb6e94d4c"
|
||||
},
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00013-datablock-Material.blend",
|
||||
"sha256": "e17880024b28e0fbc8fac5b815a2c673fe11d5000cb1d23a794cdc3d83658d76"
|
||||
},
|
||||
"generator": {
|
||||
"path": "tools/web/generated/M16-GAP-00013.py",
|
||||
"sha256": "bb04dd1da461e061c27be9d4e160b2787026855198661e72ff4fee802b72c817"
|
||||
},
|
||||
"desktopChecker": {
|
||||
"path": "tools/web/check-material-desktop.py",
|
||||
"sha256": "42a870bb79eceb8e1789686db689842dfe390d58db2744fded8dd571fe9cd8f5"
|
||||
},
|
||||
"webChecker": {
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"sha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
"reader": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"sha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
"protocol": {
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"sha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
"wasm": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
"wasmJs": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
},
|
||||
"desktopReport": {
|
||||
"path": "tests/golden/M16-GAP-00013/material-desktop-report.json",
|
||||
"sha256": "7adfdd70f9b116268301e0bb6cf7e0b88cf8eb2ab20d25c944586df3a9cc000c"
|
||||
},
|
||||
"webReport": {
|
||||
"path": "tests/golden/M16-GAP-00013/material-local-exact-report.json",
|
||||
"sha256": "229f3fc85518da4539e311e6ca70fd6b156cdcc9ae4c4b901e0de5c895b3d333"
|
||||
}
|
||||
},
|
||||
"nextTask": "M16-GAP-00014",
|
||||
"reconciliation": {
|
||||
"mode": "CURRENT_WORKTREE_RESIGN",
|
||||
"authorized": true,
|
||||
"artifactDrift": [
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"originalSha256": "e0e510273337e56435cf44adef246ff5bf12d6857691376ac2aacf6a4fc79ed8",
|
||||
"resignedSha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"originalSha256": "3c2c69a66d60692049956530c2570db377e5d10838d0048aa4e0f3fb210f9c62",
|
||||
"resignedSha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
{
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"originalSha256": "7d96e706de6b42f4372d937708600be150190ae593e214066a06d030bcac8b73",
|
||||
"resignedSha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"originalSha256": "4a33528e8bd4d50956e741cba93ab0215350943c59f56b7c82e18df19f4ee450",
|
||||
"resignedSha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"originalSha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed",
|
||||
"resignedSha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00014",
|
||||
"parentTask": "M16-GAP-00013",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "MESH_DATABLOCK_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/M16-GAP-00013/manifest.json",
|
||||
"sha256": "47663ad9012f36f2947f3ac8dc0d628f8f5bc338809686692e92dd59ca46c591"
|
||||
},
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00014-datablock-Mesh.blend",
|
||||
"sha256": "1676a26f95de4eb90e55ea169a497c382ca68f195c6b883de49b6a3223d84bb5"
|
||||
},
|
||||
"generator": {
|
||||
"path": "tools/web/generated/M16-GAP-00014.py",
|
||||
"sha256": "c1333fbd1f86bac31f1db1f09056d2152f3b537fe59353f3d6f50767e8d724db"
|
||||
},
|
||||
"desktopChecker": {
|
||||
"path": "tools/web/check-mesh-desktop.py",
|
||||
"sha256": "8fe5859138f84079ddb43030fc8d22b596044b08d4f863da5dd25acaeedafdd5"
|
||||
},
|
||||
"webChecker": {
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"sha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
"reader": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"sha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
"protocol": {
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"sha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
"wasm": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
"wasmJs": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
},
|
||||
"desktopReport": {
|
||||
"path": "tests/golden/M16-GAP-00014/mesh-desktop-report.json",
|
||||
"sha256": "e26f0333707fa915b7261f305af413340f9edb26d050a82fb3c6afac12ee2169"
|
||||
},
|
||||
"webReport": {
|
||||
"path": "tests/golden/M16-GAP-00014/mesh-local-exact-report.json",
|
||||
"sha256": "36066f715b9993f0e789e12a0d29f9c0c9e79e0b5ff5914268e839fa648cb28a"
|
||||
}
|
||||
},
|
||||
"nextTask": "M16-GAP-00015",
|
||||
"reconciliation": {
|
||||
"mode": "CURRENT_WORKTREE_RESIGN",
|
||||
"authorized": true,
|
||||
"artifactDrift": [
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"originalSha256": "82796fdee398c4d97d1506610b8d4b838eeb0ea6b33218ed8c749cf06d747289",
|
||||
"resignedSha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"originalSha256": "3c2c69a66d60692049956530c2570db377e5d10838d0048aa4e0f3fb210f9c62",
|
||||
"resignedSha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
{
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"originalSha256": "7d96e706de6b42f4372d937708600be150190ae593e214066a06d030bcac8b73",
|
||||
"resignedSha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"originalSha256": "4a33528e8bd4d50956e741cba93ab0215350943c59f56b7c82e18df19f4ee450",
|
||||
"resignedSha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"originalSha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed",
|
||||
"resignedSha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00015",
|
||||
"parentTask": "M16-GAP-00014",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "METABALL_DATABLOCK_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/M16-GAP-00014/manifest.json",
|
||||
"sha256": "97e0da40860f7095157068fd4545d7cd9c25ba94a68d56ab87e32b6fd032b655"
|
||||
},
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00015-datablock-MetaBall.blend",
|
||||
"sha256": "b4901e5c71f10b79a2061bf7599b43ff1b20b7df59f227aa78c1e66a38080b4f"
|
||||
},
|
||||
"generator": {
|
||||
"path": "tools/web/generated/M16-GAP-00015.py",
|
||||
"sha256": "db1da7ca090d37b6590eab38f49cbcac9972e7ade1966d78f316048c6b0acf54"
|
||||
},
|
||||
"desktopChecker": {
|
||||
"path": "tools/web/check-metaball-desktop.py",
|
||||
"sha256": "77a03db581b17eda4219b42ffbf18e5d1809dfb3bf45f3ac0c0051f27934dc0c"
|
||||
},
|
||||
"webChecker": {
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"sha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
"reader": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"sha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
"protocol": {
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"sha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
"wasm": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
"wasmJs": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
},
|
||||
"desktopReport": {
|
||||
"path": "tests/golden/M16-GAP-00015/metaball-desktop-report.json",
|
||||
"sha256": "5b2b7d79397675792bf54b568646a1714f75fab355049e7227f634403345c74c"
|
||||
},
|
||||
"webReport": {
|
||||
"path": "tests/golden/M16-GAP-00015/metaball-local-exact-report.json",
|
||||
"sha256": "7253a7de7d2aad035ef38cceee33c0bd04ca743f181f28ac740e09799684a636"
|
||||
}
|
||||
},
|
||||
"nextTask": "M16-GAP-00016",
|
||||
"reconciliation": {
|
||||
"mode": "CURRENT_WORKTREE_RESIGN",
|
||||
"authorized": true,
|
||||
"artifactDrift": [
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"originalSha256": "ead5bd538ba919fa51ec303d1d1af5ae0f648b1453c02d20383824dcfd9da12f",
|
||||
"resignedSha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"originalSha256": "3c2c69a66d60692049956530c2570db377e5d10838d0048aa4e0f3fb210f9c62",
|
||||
"resignedSha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
{
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"originalSha256": "7d96e706de6b42f4372d937708600be150190ae593e214066a06d030bcac8b73",
|
||||
"resignedSha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"originalSha256": "4a33528e8bd4d50956e741cba93ab0215350943c59f56b7c82e18df19f4ee450",
|
||||
"resignedSha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"originalSha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed",
|
||||
"resignedSha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00016",
|
||||
"parentTask": "M16-GAP-00015",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "NODETREE_DATABLOCK_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/M16-GAP-00015/manifest.json",
|
||||
"sha256": "641d43e8184dd710fb5dc5a7278e943c3f8bc70287abda6f5cb5afc5a56bbb7c"
|
||||
},
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00016-datablock-NodeTree.blend",
|
||||
"sha256": "7075a345a9991d456fc2c6cc68b3a836fc837dbfd99328173f0018b59e0e483c"
|
||||
},
|
||||
"generator": {
|
||||
"path": "tools/web/generated/M16-GAP-00016.py",
|
||||
"sha256": "12033eb9f1ef9f09fe86135259382e7cc938928c23a89b637d39e8e36c51982e"
|
||||
},
|
||||
"desktopChecker": {
|
||||
"path": "tools/web/check-nodetree-desktop.py",
|
||||
"sha256": "e0fa9c2dbe5f9877c00c33d83e5aa2407606a003163be086a082e631da3cd9a5"
|
||||
},
|
||||
"webChecker": {
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"sha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
"reader": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"sha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
"protocol": {
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"sha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
"wasm": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
"wasmJs": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
},
|
||||
"desktopReport": {
|
||||
"path": "tests/golden/M16-GAP-00016/nodetree-desktop-report.json",
|
||||
"sha256": "b1a6608a41fdbbaeb670dfc0222fbef3b6b73e3728add751564194dda1eb2924"
|
||||
},
|
||||
"webReport": {
|
||||
"path": "tests/golden/M16-GAP-00016/nodetree-local-exact-report.json",
|
||||
"sha256": "8df89df7ef013b8eed71c19e748eff6b7288772a10f139306a87cb2431eb26b3"
|
||||
}
|
||||
},
|
||||
"nextTask": "M16-GAP-00017",
|
||||
"reconciliation": {
|
||||
"mode": "CURRENT_WORKTREE_RESIGN",
|
||||
"authorized": true,
|
||||
"artifactDrift": [
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"originalSha256": "942362700a8e76db689a57004024b1042ac2b796a225f0b31a25b93dc78e490d",
|
||||
"resignedSha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"originalSha256": "3c2c69a66d60692049956530c2570db377e5d10838d0048aa4e0f3fb210f9c62",
|
||||
"resignedSha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
{
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"originalSha256": "7d96e706de6b42f4372d937708600be150190ae593e214066a06d030bcac8b73",
|
||||
"resignedSha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"originalSha256": "4a33528e8bd4d50956e741cba93ab0215350943c59f56b7c82e18df19f4ee450",
|
||||
"resignedSha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"originalSha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed",
|
||||
"resignedSha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00017",
|
||||
"parentTask": "M16-GAP-00016",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "OBJECT_DATABLOCK_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/M16-GAP-00016/manifest.json",
|
||||
"sha256": "8d66f1e936cb08b6991465c795c12e7fa65ac0b9ae166eceec5aada32162fb10"
|
||||
},
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00017-datablock-Object.blend",
|
||||
"sha256": "527eefc6ea01671a21634a3191790a8228038dd72a0744b6f00969be048e36ef"
|
||||
},
|
||||
"generator": {
|
||||
"path": "tools/web/generated/M16-GAP-00017.py",
|
||||
"sha256": "64bb9f488573946dcf7d2358bd5d5f540055bb2813942e98ed154da179cb201b"
|
||||
},
|
||||
"desktopChecker": {
|
||||
"path": "tools/web/check-object-desktop.py",
|
||||
"sha256": "3cb263b0bd2606cdce38bd433f90d50e738e93bf482c9fd16217306efb1521c0"
|
||||
},
|
||||
"webChecker": {
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"sha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
"reader": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"sha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
"protocol": {
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"sha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
"wasm": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
"wasmJs": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
},
|
||||
"desktopReport": {
|
||||
"path": "tests/golden/M16-GAP-00017/object-desktop-report.json",
|
||||
"sha256": "6c9b16af1d114b00df2711b095778eef239c27b55588063d68872434f08631fd"
|
||||
},
|
||||
"webReport": {
|
||||
"path": "tests/golden/M16-GAP-00017/object-local-exact-report.json",
|
||||
"sha256": "38fbe19a794e05d1a05c0df5de7fca919c229c179ac59c452df08cc0c827ca91"
|
||||
}
|
||||
},
|
||||
"nextTask": "M16-GAP-00018",
|
||||
"reconciliation": {
|
||||
"mode": "CURRENT_WORKTREE_RESIGN",
|
||||
"authorized": true,
|
||||
"artifactDrift": [
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"originalSha256": "b4a5475d503e53f1405a5c3339d231947151b85f3b98e1072f811422d5385f99",
|
||||
"resignedSha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"originalSha256": "3c2c69a66d60692049956530c2570db377e5d10838d0048aa4e0f3fb210f9c62",
|
||||
"resignedSha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
{
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"originalSha256": "7d96e706de6b42f4372d937708600be150190ae593e214066a06d030bcac8b73",
|
||||
"resignedSha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"originalSha256": "4a33528e8bd4d50956e741cba93ab0215350943c59f56b7c82e18df19f4ee450",
|
||||
"resignedSha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"originalSha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed",
|
||||
"resignedSha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00018",
|
||||
"parentTask": "M16-GAP-00017",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "PARTICLE_SETTINGS_DATABLOCK_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/M16-GAP-00017/manifest.json",
|
||||
"sha256": "f6e791e0e3df1e13ed6e85fa007c2d88b3aea9bd56e85d345a80e2cc6a5e01d3"
|
||||
},
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00018-datablock-ParticleSettings.blend",
|
||||
"sha256": "1a51117f3225e6fb1aa98fd135fc39bbfb9444f741f89956c52bc3e0252fc6c0"
|
||||
},
|
||||
"generator": {
|
||||
"path": "tools/web/generated/M16-GAP-00018.py",
|
||||
"sha256": "c2b7b9c33e92952e9f10ca08b854b4bc0603350aa66f0277d08af4513d18d45e"
|
||||
},
|
||||
"desktopChecker": {
|
||||
"path": "tools/web/check-particle-settings-desktop.py",
|
||||
"sha256": "d49ba0b987adf412c1692819b041a35905330f2fa633464c9425932450419afa"
|
||||
},
|
||||
"webChecker": {
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"sha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
"reader": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"sha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
"api": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
||||
"sha256": "1944fbb1153eca61e4f6c8589f16fced60bfac7f4e96da1355428b263651e2ae"
|
||||
},
|
||||
"protocol": {
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"sha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
"wasm": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
"wasmJs": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
},
|
||||
"desktopReport": {
|
||||
"path": "tests/golden/M16-GAP-00018/particle-settings-desktop-report.json",
|
||||
"sha256": "5d1c855ee65c7dc8f715341ed0a2b1269aa1a2f6e3ecde5ca590f393af3042eb"
|
||||
},
|
||||
"webReport": {
|
||||
"path": "tests/golden/M16-GAP-00018/particle-settings-local-exact-report.json",
|
||||
"sha256": "fb3eb8a193cbbf8ee8b98457042d560977e309ba1496903abf638e93c7641b6f"
|
||||
}
|
||||
},
|
||||
"nextTask": "M16-GAP-00019",
|
||||
"reconciliation": {
|
||||
"mode": "CURRENT_WORKTREE_RESIGN",
|
||||
"authorized": true,
|
||||
"artifactDrift": [
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"originalSha256": "70356fe4075db1614907a4da3bfb9fb659b17a76d34f48f4811a1ca0f32d9fad",
|
||||
"resignedSha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"originalSha256": "bc8083ba6ebc4374ad10be004d2ca0a18919f47368c3171485f3bc7b75934e38",
|
||||
"resignedSha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_api.cpp",
|
||||
"originalSha256": "7d84b022e0ae7fb76989054c55daee0491045dfbd153d7fae49109370a8cdf6f",
|
||||
"resignedSha256": "1944fbb1153eca61e4f6c8589f16fced60bfac7f4e96da1355428b263651e2ae"
|
||||
},
|
||||
{
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"originalSha256": "330b1219735fe881dc5bf96ce34c1ce8fc6df2e16c5672c67345deffb015563f",
|
||||
"resignedSha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"originalSha256": "11fd301ef1823d37aaedad00bd9946e13876c517660852bd20f574d12e815d97",
|
||||
"resignedSha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"originalSha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed",
|
||||
"resignedSha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00019",
|
||||
"parentTask": "M16-GAP-00018",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "POINT_CLOUD_DATABLOCK_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/M16-GAP-00018/manifest.json",
|
||||
"sha256": "4713266b567a14e1b9a7c2cffeb7806e054742b83684e82bfa592a0b900c5533"
|
||||
},
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00019-datablock-PointCloud.blend",
|
||||
"sha256": "57ef80323ae70ce21842c00b3777e8ef484b7e332a6645c165fd5f029a522089"
|
||||
},
|
||||
"generator": {
|
||||
"path": "tools/web/generated/M16-GAP-00019.py",
|
||||
"sha256": "36ead922241d5372ba4ae5c4656d449faeb62bb8958b4e96231c09b6b316fa13"
|
||||
},
|
||||
"desktopChecker": {
|
||||
"path": "tools/web/check-pointcloud-desktop.py",
|
||||
"sha256": "7223e0684f4bb8559228ffdd118b69dfd31c42959643ed17b885f13bb57eb400"
|
||||
},
|
||||
"webChecker": {
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"sha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
"reader": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"sha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
"protocol": {
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"sha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
"wasm": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
"wasmJs": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
},
|
||||
"desktopReport": {
|
||||
"path": "tests/golden/M16-GAP-00019/pointcloud-desktop-report.json",
|
||||
"sha256": "c3c874f8f5e95c97f2862d6b2c4711ac78a90f3a5de289bfdb9a5ae0459dc1d7"
|
||||
},
|
||||
"webReport": {
|
||||
"path": "tests/golden/M16-GAP-00019/pointcloud-local-exact-report.json",
|
||||
"sha256": "e304b3dd36b08a43307f1dc2a70a14cb6b29214d324b18faf8d8225f7342b23d"
|
||||
}
|
||||
},
|
||||
"nextTask": "M16-GAP-00020",
|
||||
"reconciliation": {
|
||||
"mode": "CURRENT_WORKTREE_RESIGN",
|
||||
"authorized": true,
|
||||
"artifactDrift": [
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"originalSha256": "a1295ac16691ba55c7ca803030ac304ba0cbca7876695b0bf30658b29547c509",
|
||||
"resignedSha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"originalSha256": "bc8083ba6ebc4374ad10be004d2ca0a18919f47368c3171485f3bc7b75934e38",
|
||||
"resignedSha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
{
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"originalSha256": "330b1219735fe881dc5bf96ce34c1ce8fc6df2e16c5672c67345deffb015563f",
|
||||
"resignedSha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"originalSha256": "11fd301ef1823d37aaedad00bd9946e13876c517660852bd20f574d12e815d97",
|
||||
"resignedSha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"originalSha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed",
|
||||
"resignedSha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00020",
|
||||
"parentTask": "M16-GAP-00019",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "SCENE_DATABLOCK_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/M16-GAP-00019/manifest.json",
|
||||
"sha256": "cbd811536b02f195f1370a85fd2c13788effe1fb11375776c118390a761c9f28"
|
||||
},
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00020-datablock-Scene.blend",
|
||||
"sha256": "c12826c7a71f092ee8dc3c32495be295dae95f1f96e6b8310476893c7c76a81b"
|
||||
},
|
||||
"generator": {
|
||||
"path": "tools/web/generated/M16-GAP-00020.py",
|
||||
"sha256": "51890c98ae84cd4751896e0e84b9b63d5caa3fa58d47bba6f4074489b88dc24e"
|
||||
},
|
||||
"desktopChecker": {
|
||||
"path": "tools/web/check-scene-desktop.py",
|
||||
"sha256": "ada4022a310510ffe37ccd7ef31a6bab8b37dfbd7a0b914f40fe379ba13db083"
|
||||
},
|
||||
"webChecker": {
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"sha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
"reader": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"sha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
"protocol": {
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"sha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
"wasm": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
"wasmJs": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
},
|
||||
"desktopReport": {
|
||||
"path": "tests/golden/M16-GAP-00020/scene-desktop-report.json",
|
||||
"sha256": "fc9fdf2a37f36327e7456d3c17dcfd240b67ce27d9d2f0861fde5db237b2675d"
|
||||
},
|
||||
"webReport": {
|
||||
"path": "tests/golden/M16-GAP-00020/scene-local-exact-report.json",
|
||||
"sha256": "d964c61c0717865a42574c28d5e4fffdcb45c3c962e9bce4608c5f9438828504"
|
||||
}
|
||||
},
|
||||
"nextTask": "M16-GAP-00021",
|
||||
"reconciliation": {
|
||||
"mode": "CURRENT_WORKTREE_RESIGN",
|
||||
"authorized": true,
|
||||
"artifactDrift": [
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"originalSha256": "092661081aefd4bd63ecb510bfe3cd4c34f3701e55ca2979e593f42c973a7b2a",
|
||||
"resignedSha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"originalSha256": "bc8083ba6ebc4374ad10be004d2ca0a18919f47368c3171485f3bc7b75934e38",
|
||||
"resignedSha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
{
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"originalSha256": "330b1219735fe881dc5bf96ce34c1ce8fc6df2e16c5672c67345deffb015563f",
|
||||
"resignedSha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"originalSha256": "11fd301ef1823d37aaedad00bd9946e13876c517660852bd20f574d12e815d97",
|
||||
"resignedSha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"originalSha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed",
|
||||
"resignedSha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00021",
|
||||
"parentTask": "M16-GAP-00020",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "SCREEN_DATABLOCK_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/M16-GAP-00020/manifest.json",
|
||||
"sha256": "4cd3a4de64fbb95386f17e096a50622c3f56380635881e2539c10d65db820b1f"
|
||||
},
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00021-datablock-Screen.blend",
|
||||
"sha256": "0975c534e78b6a05c7c10adc7313cb611a3350cc3c7f6e9bfd4013c334b9f376"
|
||||
},
|
||||
"generator": {
|
||||
"path": "tools/web/generated/M16-GAP-00021.py",
|
||||
"sha256": "f6a97289626552e3e319fe72f3932beb610289c7da8710c0d4219312b0566c1e"
|
||||
},
|
||||
"desktopChecker": {
|
||||
"path": "tools/web/check-screen-desktop.py",
|
||||
"sha256": "16ba526404558472d2dacc48e6f51440031556483dfeab9b52a43f69a3d5644e"
|
||||
},
|
||||
"webChecker": {
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"sha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
"reader": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"sha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
"protocol": {
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"sha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
"wasm": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
"wasmJs": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
},
|
||||
"desktopReport": {
|
||||
"path": "tests/golden/M16-GAP-00021/screen-desktop-report.json",
|
||||
"sha256": "41a5d58883238d89e4e6ed3805b452bc165632b63e0065109529de3c0e230ecd"
|
||||
},
|
||||
"webReport": {
|
||||
"path": "tests/golden/M16-GAP-00021/screen-local-exact-report.json",
|
||||
"sha256": "792206b5b046411d921b3b916d2b76222aab39050df8028a64c39437e285023c"
|
||||
}
|
||||
},
|
||||
"nextTask": "M16-GAP-00022",
|
||||
"reconciliation": {
|
||||
"mode": "CURRENT_WORKTREE_RESIGN",
|
||||
"authorized": true,
|
||||
"artifactDrift": [
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"originalSha256": "dbd2d79fd5dba004e91c79eafec46a1e520804ea447aa1b594256cee801cd88a",
|
||||
"resignedSha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"originalSha256": "bc8083ba6ebc4374ad10be004d2ca0a18919f47368c3171485f3bc7b75934e38",
|
||||
"resignedSha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
{
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"originalSha256": "330b1219735fe881dc5bf96ce34c1ce8fc6df2e16c5672c67345deffb015563f",
|
||||
"resignedSha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"originalSha256": "11fd301ef1823d37aaedad00bd9946e13876c517660852bd20f574d12e815d97",
|
||||
"resignedSha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"originalSha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed",
|
||||
"resignedSha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00022",
|
||||
"parentTask": "M16-GAP-00021",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "SOUND_DATABLOCK_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/M16-GAP-00021/manifest.json",
|
||||
"sha256": "e56411fd47be3a03814560e9b8e1d6ece0e5e5a50cbdb44256e20e0976daea54"
|
||||
},
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00022-datablock-Sound.blend",
|
||||
"sha256": "42785a635a7ac560a01e00135555c31e20a60c454ffb62a466da25ddbe3b5c39"
|
||||
},
|
||||
"generator": {
|
||||
"path": "tools/web/generated/M16-GAP-00022.py",
|
||||
"sha256": "10ef16727dfee1c69ea7e6b48f151016cc02a18a6586c478c286be2ed0c7a3ea"
|
||||
},
|
||||
"desktopChecker": {
|
||||
"path": "tools/web/check-sound-desktop.py",
|
||||
"sha256": "aeeebdac9d14740843cc703150143087b7985138372ac1278fd3894e850c1ab7"
|
||||
},
|
||||
"webChecker": {
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"sha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
"reader": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"sha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
"protocol": {
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"sha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
"wasm": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
"wasmPublic": {
|
||||
"path": "web/app/public/vendor/blender/web_engine.wasm",
|
||||
"sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
"wasmJs": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
},
|
||||
"desktopReport": {
|
||||
"path": "tests/golden/M16-GAP-00022/sound-desktop-report.json",
|
||||
"sha256": "cb23ace7920d6762f931296701a596f3453ccfa7e966447d0efa198b92d65a69"
|
||||
},
|
||||
"webReport": {
|
||||
"path": "tests/golden/M16-GAP-00022/sound-local-exact-report.json",
|
||||
"sha256": "741b67484c81c156c51b5b88e52f32d5e0114292dcbe689c641d2670cd4e82bd"
|
||||
}
|
||||
},
|
||||
"nextTask": "M16-GAP-00023",
|
||||
"reconciliation": {
|
||||
"mode": "CURRENT_WORKTREE_RESIGN",
|
||||
"authorized": true,
|
||||
"artifactDrift": [
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"originalSha256": "a9fc6a8b9fbe567a20b68b794f57eca1a383e6637146e5513d7f79a8f7b",
|
||||
"resignedSha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"originalSha256": "4651844c5e9c4e00ee1186f102a78d86d184df8980409d73825ee2449e25eb77",
|
||||
"resignedSha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
{
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"originalSha256": "841b33000ca9b1bca24a029a1a5d82afc653189f8209865a66bdfa58716833a7",
|
||||
"resignedSha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"originalSha256": "1e01c786313bd4b20748a2eb474c350c9b9ab1a0a216f2c6362405a9fc20a5da",
|
||||
"resignedSha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
{
|
||||
"path": "web/app/public/vendor/blender/web_engine.wasm",
|
||||
"originalSha256": "1e01c786313bd4b20748a2eb474c350c9b9ab1a0a216f2c6362405a9fc20a5da",
|
||||
"resignedSha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"originalSha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed",
|
||||
"resignedSha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00023",
|
||||
"parentTask": "M16-GAP-00022",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "SPEAKER_DATABLOCK_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/M16-GAP-00022/manifest.json",
|
||||
"sha256": "fac4a48e35b052acec9e50a5b26c801e532a1faa80185eda477dfa8a05f8dec3"
|
||||
},
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00023-datablock-Speaker.blend",
|
||||
"sha256": "6e422e16f6e020af7ab0a6f3fad3c721b42c924c8a0392bc98546c3f39ee9d23"
|
||||
},
|
||||
"generator": {
|
||||
"path": "tools/web/generated/M16-GAP-00023.py",
|
||||
"sha256": "7bb8465ba094c9f7edbfbb66fd9f6d8b0a2e2b955d5fb990313daea09adbd22c"
|
||||
},
|
||||
"desktopChecker": {
|
||||
"path": "tools/web/check-speaker-desktop.py",
|
||||
"sha256": "4f2b6e3359aeba90754ade475f1683acccc8d2f44a75552c3b04f79a0ddf13d5"
|
||||
},
|
||||
"webChecker": {
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"sha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
"reader": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"sha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
"protocol": {
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"sha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
"wasm": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
"wasmPublic": {
|
||||
"path": "web/app/public/vendor/blender/web_engine.wasm",
|
||||
"sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
"wasmJs": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
},
|
||||
"desktopReport": {
|
||||
"path": "tests/golden/M16-GAP-00023/speaker-desktop-report.json",
|
||||
"sha256": "8ee6e52568f2c37098a8f64983f90243b2df69df1c16a0c4eaae855a7e9fad9d"
|
||||
},
|
||||
"webReport": {
|
||||
"path": "tests/golden/M16-GAP-00023/speaker-local-exact-report.json",
|
||||
"sha256": "7d48447d03e39e5e29f41bf18a95040c5436ed73229cee1bdc32e09f7aae594d"
|
||||
}
|
||||
},
|
||||
"nextTask": "M16-GAP-00024",
|
||||
"reconciliation": {
|
||||
"mode": "CURRENT_WORKTREE_RESIGN",
|
||||
"authorized": true,
|
||||
"artifactDrift": [
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"originalSha256": "8db1897b073b8a995e70747daabd11e52c4e235a7f45d4fb3b6f93df642b8bd1",
|
||||
"resignedSha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"originalSha256": "dda3f81b178856faf5d05a3e84d4820928e35bda66a47cdf52a55b443f50f015",
|
||||
"resignedSha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
{
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"originalSha256": "abbc02872f89bfd2e488c3b4c4e01c69a1e366bdfa3871e8564f1599b05d784e",
|
||||
"resignedSha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"originalSha256": "76264df82ce5f21d6b3af2514bda865f902f8485be37cffa74145f2af387e5fd",
|
||||
"resignedSha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
{
|
||||
"path": "web/app/public/vendor/blender/web_engine.wasm",
|
||||
"originalSha256": "76264df82ce5f21d6b3af2514bda865f902f8485be37cffa74145f2af387e5fd",
|
||||
"resignedSha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"originalSha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed",
|
||||
"resignedSha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00024",
|
||||
"parentTask": "M16-GAP-00023",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "TEXT_DATABLOCK_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/M16-GAP-00023/manifest.json",
|
||||
"sha256": "f845a8578a2ce9f106f0ca8ea02ef6ccddca87086e779eb7ddcf9fef5b8934f2"
|
||||
},
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00024-datablock-Text.blend",
|
||||
"sha256": "7999f758dfbf7b5984f16464d1e5346d806c54c83ca68a583df54942c5e3b7d3"
|
||||
},
|
||||
"generator": {
|
||||
"path": "tools/web/generated/M16-GAP-00024.py",
|
||||
"sha256": "85a16b7ebb4b00dffdc9277d11780b744267e0c789e75844b2749517c23e8ebd"
|
||||
},
|
||||
"desktopChecker": {
|
||||
"path": "tools/web/check-text-desktop.py",
|
||||
"sha256": "9ff73dbca7389f05aaf4834c4fb5a734a5c2cb2ef5e1a65962edbc0662ce0557"
|
||||
},
|
||||
"webChecker": {
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"sha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
"reader": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"sha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
"protocol": {
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"sha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
"wasm": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
"wasmPublic": {
|
||||
"path": "web/app/public/vendor/blender/web_engine.wasm",
|
||||
"sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
"wasmJs": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
},
|
||||
"desktopReport": {
|
||||
"path": "tests/golden/M16-GAP-00024/text-desktop-report.json",
|
||||
"sha256": "50006b807fc8f41603e939f9f2748c4d5cacfcaa19a1c60a7270e9f9962b621c"
|
||||
},
|
||||
"webReport": {
|
||||
"path": "tests/golden/M16-GAP-00024/text-local-exact-report.json",
|
||||
"sha256": "73c22077cbbe47e1effd7c24d310e43010fbd48925587cb00efe507838b4f1eb"
|
||||
}
|
||||
},
|
||||
"nextTask": "M16-GAP-00025",
|
||||
"reconciliation": {
|
||||
"mode": "CURRENT_WORKTREE_RESIGN",
|
||||
"authorized": true,
|
||||
"artifactDrift": [
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"originalSha256": "1c655b9500d50d1c08bf3beb77bea93165c194dcca3bca2ed3fad9e503db18b6",
|
||||
"resignedSha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"originalSha256": "c1dc68608100b359d9b6451cc02820849bd516b553bc91bd80e7cf50a8218ea9",
|
||||
"resignedSha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
{
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"originalSha256": "ebf7c55085be0ae10f1c97efc4e0a4d487f79ced689810138ee80401995000e3",
|
||||
"resignedSha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"originalSha256": "3a757942bf7514850b1d6f6e1abc008aeea99640785fe60951ae18d3b3dcb301",
|
||||
"resignedSha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
{
|
||||
"path": "web/app/public/vendor/blender/web_engine.wasm",
|
||||
"originalSha256": "3a757942bf7514850b1d6f6e1abc008aeea99640785fe60951ae18d3b3dcb301",
|
||||
"resignedSha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"originalSha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed",
|
||||
"resignedSha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "M16-GAP-00025",
|
||||
"parentTask": "M16-GAP-00024",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_LOCAL_EXACT",
|
||||
"operation": "TEXTURE_DATABLOCK_LOCAL_EXACT",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {
|
||||
"path": "tests/golden/M16-GAP-00024/manifest.json",
|
||||
"sha256": "681be76208e29366e616a4d8fa51f15e05ec27d2e60b46b140053646468f759d"
|
||||
},
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/M16-GAP-00025-datablock-Texture.blend",
|
||||
"sha256": "482857e3b3868f7d4dc87d9b53c5552d10d608ed26a301cc5a6a080b275651c2"
|
||||
},
|
||||
"generator": {
|
||||
"path": "tools/web/generated/M16-GAP-00025.py",
|
||||
"sha256": "849dddfddf9841b866cf2531af3f74b3fc42b5b6303eaa5f2273cba2a0b1cee0"
|
||||
},
|
||||
"desktopChecker": {
|
||||
"path": "tools/web/check-texture-desktop.py",
|
||||
"sha256": "a91f9f69d389df79d7292e75ad64bd7a65a19bab063bac2ba311342b7d4fbb03"
|
||||
},
|
||||
"webChecker": {
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"sha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
"reader": {
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"sha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
"protocol": {
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"sha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
"wasm": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
"wasmPublic": {
|
||||
"path": "web/app/public/vendor/blender/web_engine.wasm",
|
||||
"sha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
"wasmJs": {
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"sha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
},
|
||||
"desktopReport": {
|
||||
"path": "tests/golden/M16-GAP-00025/texture-desktop-report.json",
|
||||
"sha256": "ead3d25554f69580a272c3a4c45139632592ba2ca83370c79174683b2c7a982a"
|
||||
},
|
||||
"webReport": {
|
||||
"path": "tests/golden/M16-GAP-00025/texture-local-exact-report.json",
|
||||
"sha256": "4e503817eb7053370b627cc9a2edb03fc2ac8b8919534a90064133eaf9e0f4e7"
|
||||
}
|
||||
},
|
||||
"nextTask": "M16-GAP-00026",
|
||||
"reconciliation": {
|
||||
"mode": "CURRENT_WORKTREE_RESIGN",
|
||||
"authorized": true,
|
||||
"artifactDrift": [
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"originalSha256": "aaa9ead20a4b7f8d50acf93af7f4ea3a791de8996f75d7f6321278959d3689fe",
|
||||
"resignedSha256": "60427df6b18192a5cf1fa892204330e14b43857f8367a33db0be5db4dcc34c1c"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"originalSha256": "2a15121e4fa1cb8f04c0112458d5ef0fa92ed92d1efc49e1b938d2c00cfe58da",
|
||||
"resignedSha256": "9c0af422cc14634979497e2c8585e945a8402ab9f30b182d882da46786a1a711"
|
||||
},
|
||||
{
|
||||
"path": "web/protocol/scene-ir.ts",
|
||||
"originalSha256": "1dae06614aea42c97949b7f13f0d38663e8fce1eb18d475bf1479e326064b16f",
|
||||
"resignedSha256": "9e877612886c629786405e03e1939d3954af2d38dfea2d6359b367934d06f226"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"originalSha256": "43d84158eaeec907c5f04018ceb4e3a6948860243a619f0d035be3c5c6a63a5a",
|
||||
"resignedSha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
{
|
||||
"path": "web/app/public/vendor/blender/web_engine.wasm",
|
||||
"originalSha256": "43d84158eaeec907c5f04018ceb4e3a6948860243a619f0d035be3c5c6a63a5a",
|
||||
"resignedSha256": "aa26c3b422e79ff84557245dc8d5870125f237aa365ac7ebdc727c2d0b83f615"
|
||||
},
|
||||
{
|
||||
"path": "web/app/src/vendor/blender/web_engine.js",
|
||||
"originalSha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed",
|
||||
"resignedSha256": "2263ccecdf7193aeb8508119accfe01c65fa991124969e0e7ede7b3af3057b35"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user