Rebuild local Blender WASM environment and recovery evidence
This commit is contained in:
39
tests/golden/WBV2-P2-004/manifest.json
Normal file
39
tests/golden/WBV2-P2-004/manifest.json
Normal file
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P2-004",
|
||||
"parentTask": "WBV2-P2-003",
|
||||
"enablingTask": false,
|
||||
"parityStateChange": true,
|
||||
"runtime": "BLENDER_5_2_WASM_MAIN_AND_PLAYWRIGHT_CHROMIUM",
|
||||
"operation": "VIEWPORT_MAIN_OFFSCREEN_LOCAL_BOUNDED",
|
||||
"status": "done",
|
||||
"artifacts": {
|
||||
"parentManifest": {"path": "tests/golden/WBV2-P2-003/manifest.json", "sha256": "79ebc20719fef2b60a3457bca25dac98e755a2f2c1bd3c35361527509a91a987"},
|
||||
"fixture": {"path": "tests/files/web/generated/WBV2-P2-004-VIEWPORT.MAIN_OFFSCREEN.blend", "sha256": "69cb86102cad7f6a8e747ed29b3456761ba4a1de7f33e7c0d6dc7d3b5dbd2e17"},
|
||||
"generator": {"path": "tools/web/generated/WBV2-P2-004.py", "sha256": "fad8f75b84b5c4c1757645e94d81af265aba8f911d2ffd1c05abcffc24b24a51"},
|
||||
"desktopChecker": {"path": "tools/web/check-wbv2-p2-004-desktop.py", "sha256": "cd936e328b79a83db910099a20136bac694c446509d8618cd199d6f8c7d34625"},
|
||||
"productionReader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "7c36f36872248226ea6c96c281c49fd7b58af28e5b6d52f6f5ef10e391daedf3"},
|
||||
"checker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "29582f7109c8e2b8584e85d7cd15dc2f91ce4f276a580eccae249ae8d4a2095f"},
|
||||
"preflight": {"path": "tools/web/generated-gap-preflight.mjs", "sha256": "4f38de9f1502b6676cfba72942af965aa040708c40345e36854d3240f8c82729"},
|
||||
"offscreenProtocol": {"path": "web/app/src/three-adapter/offscreen-viewport-protocol.ts", "sha256": "d79367b6361036a4d5b8cf0d12d9ffce783e3e2b6d686b5b5b152aa40ac9ae2e"},
|
||||
"offscreenViewport": {"path": "web/app/src/three-adapter/offscreen-viewport.ts", "sha256": "1d7d18146d34245e07392022a703ff16f6432093fb88e788927e1347556ffd71"},
|
||||
"offscreenWorker": {"path": "web/app/src/workers/viewport-render.worker.ts", "sha256": "9643724d2530a0af434613d4734f66fb18620a11e9f487d4d9d9e6312374c14b"},
|
||||
"mainViewport": {"path": "web/app/src/three-adapter/viewport.ts", "sha256": "e8d97cb59fd4eca3789aeeb35221a70cf47ef048a5665383d809d0efc49f7119"},
|
||||
"package": {"path": "web/package.json", "sha256": "40b7f14d4f568ae94bedde83e02115c127e0c714e5eb32a6a97b1e1084c4fa68"},
|
||||
"wasmJavaScript": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "e2b21fcc3c9d098cfb343fc682776c2ed95678064e95eabd71409a8b3284cce0"},
|
||||
"wasmBinary": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "25bc1e286fd3b72c2c7c082b85a29b2d0bb109588a6dc0de5be94fcdc37cc88c"},
|
||||
"report": {"path": "tests/golden/WBV2-P2-004/viewport-report.json", "sha256": "a38e7ff8da3042a82f4d20f9f6c60300ebd6ee393cf3625901c770ebff674dac"},
|
||||
"desktopReport": {"path": "tests/golden/WBV2-P2-004/viewport-desktop-report.json", "sha256": "24383a87477efe6d72f457819260143d0b5f1a5b5c918a8e39279a13a3bfdc0c"},
|
||||
"status": {"path": "docs/status/WBV2-P2-004.md", "sha256": "56194bd7e40632398823467ab5cc1fd9b633f4605086bd40acc3865a94cfb268"},
|
||||
"taskContext": {"path": "tests/golden/WBV2-P2-004/task-context.json", "sha256": "7071c819b734d543cda60f3ac833d6b004befc1f3484c1396ebd9c96afd7c679"},
|
||||
"commandLog": {"path": "tests/golden/WBV2-P2-004/command.log", "sha256": "a2f494634f16d33ed5d341d241b190a4dd34c9b0ba39f0834afc1f48f7c67867"},
|
||||
"browserBuildLog": {"path": "tests/golden/WBV2-P2-004/browser-build.log", "sha256": "60187c83b43444ff22d02e505e74a94dc3c4b058d4c4f280ae67701089ab67af"}
|
||||
},
|
||||
"negativeMatrix": {
|
||||
"malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION",
|
||||
"mainDeviceLoss": "RECOVERED_WITH_NONBLANK_READBACK",
|
||||
"offscreenDisposeReopen": "EXACT",
|
||||
"saveReopen": "EXACT"
|
||||
},
|
||||
"nextTask": "WBV2-P2-005"
|
||||
}
|
||||
180
tests/golden/WBV2-P2-004/task-context.json
Normal file
180
tests/golden/WBV2-P2-004/task-context.json
Normal file
@@ -0,0 +1,180 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P2-004",
|
||||
"parentTask": "WBV2-P2-003",
|
||||
"status": "in_progress",
|
||||
"goal": "Make the same minimal fixture produce observable VIEWPORT.MAIN_OFFSCREEN 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": "VIEWPORT.MAIN_OFFSCREEN",
|
||||
"ownerFamily": "VIEWPORT",
|
||||
"implementationClass": "LOCAL_BOUNDED"
|
||||
},
|
||||
"commands": [
|
||||
"build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P2-004.py -- tests/files/web/generated/WBV2-P2-004-VIEWPORT.MAIN_OFFSCREEN.blend",
|
||||
"npm --prefix web run test:generated-gap -- --task WBV2-P2-004",
|
||||
"node tools/web/check-generated-gap.mjs --task WBV2-P2-004"
|
||||
],
|
||||
"inputPaths": [],
|
||||
"inputSelection": {
|
||||
"schemaVersion": 1,
|
||||
"limits": {
|
||||
"maxFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextRemainingBytes": 1171,
|
||||
"contextRemainingTokens": 292
|
||||
},
|
||||
"source": {
|
||||
"bytes": 8733,
|
||||
"tokens": 2184
|
||||
},
|
||||
"selected": [],
|
||||
"excluded": [
|
||||
{
|
||||
"path": "tests/files/web/generated/WBV2-P2-004-VIEWPORT.MAIN_OFFSCREEN.blend",
|
||||
"bytes": 87800,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/generated/WBV2-P2-004.py",
|
||||
"bytes": 1325,
|
||||
"reason": "CONTEXT_REMAINING_SPACE"
|
||||
},
|
||||
{
|
||||
"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
|
||||
"bytes": 255189,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tools/web/check-generated-gap.mjs",
|
||||
"bytes": 906837,
|
||||
"reason": "EVIDENCE_BYTE_BUDGET"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P2-004/",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P2-004.md",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P2-004/manifest.json",
|
||||
"bytes": null,
|
||||
"reason": "GENERATED_EVIDENCE_OUTPUT"
|
||||
}
|
||||
],
|
||||
"totals": {
|
||||
"files": 0,
|
||||
"bytes": 0,
|
||||
"tokens": 0
|
||||
}
|
||||
},
|
||||
"exitCriteria": [
|
||||
"both paths have nonblank pixels",
|
||||
"selection/camera revision is shared",
|
||||
"device loss releases resources"
|
||||
],
|
||||
"nextTask": "WBV2-P2-005",
|
||||
"sourceDocuments": {
|
||||
"queue": "docs/EXECUTION_QUEUE.md",
|
||||
"taskCard": "docs/tasks/WBV2-P2-004.md",
|
||||
"taskIndex": "tests/golden/WBV2/task-index.json",
|
||||
"parentManifest": "tests/golden/WBV2-P2-003/manifest.json",
|
||||
"parentStatus": "docs/status/WBV2-P2-003.md"
|
||||
},
|
||||
"readPolicy": {
|
||||
"required": [
|
||||
"docs/EXECUTION_QUEUE.md",
|
||||
"docs/tasks/WBV2-P2-004.md",
|
||||
"tests/golden/WBV2-P2-003/manifest.json",
|
||||
"docs/status/WBV2-P2-003.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-P2-003",
|
||||
"parentTask": "WBV2-P2-002",
|
||||
"status": "done",
|
||||
"nextTask": "WBV2-P2-004",
|
||||
"artifactCount": 17
|
||||
},
|
||||
"statusSummary": [
|
||||
"# WBV2-P2-003 status",
|
||||
"- task: `WBV2-P2-003`",
|
||||
"- parent: `WBV2-P2-002`",
|
||||
"- parity: `MESH.EDIT_CORE`",
|
||||
"- implementationClass: `LOCAL_EXACT`",
|
||||
"- status: `done`",
|
||||
"- fixture: `tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend`",
|
||||
"## Evidence"
|
||||
]
|
||||
},
|
||||
"budgets": {
|
||||
"queueBytes": 4096,
|
||||
"taskBytes": 1735,
|
||||
"parentManifestBytes": 24576,
|
||||
"parentStatusBytes": 6144,
|
||||
"evidenceFiles": 12,
|
||||
"evidenceBytes": 8192,
|
||||
"contextTokens": 3500,
|
||||
"contextEnvelopeTokens": 1024,
|
||||
"taskLines": 38,
|
||||
"taskTokens": 434
|
||||
},
|
||||
"size": {
|
||||
"documents": [
|
||||
{
|
||||
"path": "docs/EXECUTION_QUEUE.md",
|
||||
"bytes": 2799,
|
||||
"lines": 51,
|
||||
"tokens": 700
|
||||
},
|
||||
{
|
||||
"path": "docs/tasks/WBV2-P2-004.md",
|
||||
"bytes": 1735,
|
||||
"lines": 38,
|
||||
"tokens": 434
|
||||
},
|
||||
{
|
||||
"path": "tests/golden/WBV2-P2-003/manifest.json",
|
||||
"bytes": 3160,
|
||||
"lines": 37,
|
||||
"tokens": 790
|
||||
},
|
||||
{
|
||||
"path": "docs/status/WBV2-P2-003.md",
|
||||
"bytes": 1039,
|
||||
"lines": 27,
|
||||
"tokens": 260
|
||||
}
|
||||
],
|
||||
"sourceTokens": 2184,
|
||||
"evidenceFiles": 0,
|
||||
"evidenceBytes": 0,
|
||||
"evidenceTokens": 0,
|
||||
"totalTokens": 2184,
|
||||
"reservedEnvelopeTokens": 1024,
|
||||
"estimatedContextTokens": 3208,
|
||||
"serializedContextTokens": 692,
|
||||
"withinBudget": true
|
||||
}
|
||||
}
|
||||
28
tests/golden/WBV2-P2-004/viewport-desktop-report.json
Normal file
28
tests/golden/WBV2-P2-004/viewport-desktop-report.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"blenderVersion": "5.2.0 LTS",
|
||||
"fixtureSha256": "69cb86102cad7f6a8e747ed29b3456761ba4a1de7f33e7c0d6dc7d3b5dbd2e17",
|
||||
"operation": "VIEWPORT_MAIN_OFFSCREEN_DESKTOP",
|
||||
"saveReopen": "EXACT",
|
||||
"scene": {
|
||||
"cameraDataId": "camera:WBV2P2004ViewportCamera",
|
||||
"cameraId": "object:WBV2P2004ViewportCamera",
|
||||
"cameraLensMm": 52.0,
|
||||
"cameraLocation": [
|
||||
6.5,
|
||||
-6.5,
|
||||
4.75
|
||||
],
|
||||
"cubeId": "object:WBV2P2004ViewportCube",
|
||||
"cubeLocation": [
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"faceCount": 6,
|
||||
"meshId": "mesh:WBV2P2004ViewportCubeMesh",
|
||||
"sceneId": "scene:WBV2P2004ViewportScene",
|
||||
"vertexCount": 8
|
||||
},
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P2-004"
|
||||
}
|
||||
97
tests/golden/WBV2-P2-004/viewport-report.json
Normal file
97
tests/golden/WBV2-P2-004/viewport-report.json
Normal file
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "WBV2-P2-004",
|
||||
"operation": "VIEWPORT_MAIN_OFFSCREEN_LOCAL_BOUNDED",
|
||||
"fixture": {
|
||||
"path": "tests/files/web/generated/WBV2-P2-004-VIEWPORT.MAIN_OFFSCREEN.blend",
|
||||
"sha256": "69cb86102cad7f6a8e747ed29b3456761ba4a1de7f33e7c0d6dc7d3b5dbd2e17"
|
||||
},
|
||||
"desktop": {
|
||||
"status": "EXACT",
|
||||
"report": "tests/golden/WBV2-P2-004/viewport-desktop-report.json",
|
||||
"scene": {
|
||||
"cameraDataId": "camera:WBV2P2004ViewportCamera",
|
||||
"cameraId": "object:WBV2P2004ViewportCamera",
|
||||
"cameraLensMm": 52,
|
||||
"cameraLocation": [
|
||||
6.5,
|
||||
-6.5,
|
||||
4.75
|
||||
],
|
||||
"cubeId": "object:WBV2P2004ViewportCube",
|
||||
"cubeLocation": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"faceCount": 6,
|
||||
"meshId": "mesh:WBV2P2004ViewportCubeMesh",
|
||||
"sceneId": "scene:WBV2P2004ViewportScene",
|
||||
"vertexCount": 8
|
||||
},
|
||||
"saveReopen": "EXACT"
|
||||
},
|
||||
"wasm": {
|
||||
"status": "EXACT",
|
||||
"revision": 1,
|
||||
"objectId": "object:WBV2P2004ViewportCube",
|
||||
"cameraObjectId": "object:WBV2P2004ViewportCamera",
|
||||
"cameraDataId": "camera:WBV2P2004ViewportCamera",
|
||||
"saveReopen": "EXACT"
|
||||
},
|
||||
"browser": {
|
||||
"runtime": "PLAYWRIGHT_CHROMIUM",
|
||||
"main": {
|
||||
"backend": "webgl-pbr",
|
||||
"deviceStatus": "ready",
|
||||
"rendererPixels": 0,
|
||||
"readbackPixels": 256,
|
||||
"selected": "object:WBV2P2004ViewportCube",
|
||||
"cameraPosition": "4.219781,-4.219781,3.658811",
|
||||
"cameraTarget": "0,0,0",
|
||||
"cameraYaw": "-0.785398",
|
||||
"cameraPitch": "0.550000",
|
||||
"cameraDistance": "7.000000",
|
||||
"viewport": "679x321",
|
||||
"error": "",
|
||||
"deviceRecovery": {
|
||||
"supported": true,
|
||||
"status": "ready",
|
||||
"pixels": 1024
|
||||
},
|
||||
"dispose": "EXACT"
|
||||
},
|
||||
"offscreen": {
|
||||
"backend": "offscreen-worker",
|
||||
"deviceStatus": "ready",
|
||||
"rendererPixels": 61,
|
||||
"readbackPixels": 0,
|
||||
"selected": "object:WBV2P2004ViewportCube",
|
||||
"cameraPosition": "4.219781,-4.219781,3.658811",
|
||||
"cameraTarget": "0,0,0",
|
||||
"cameraYaw": "-0.785398",
|
||||
"cameraPitch": "0.550000",
|
||||
"cameraDistance": "7.000000",
|
||||
"viewport": "679x321",
|
||||
"error": "",
|
||||
"deviceRecovery": {
|
||||
"supported": false,
|
||||
"status": "ready",
|
||||
"pixels": 61
|
||||
},
|
||||
"dispose": "EXACT"
|
||||
},
|
||||
"sharedSelection": "object:WBV2P2004ViewportCube",
|
||||
"sharedCamera": {
|
||||
"position": "4.219781,-4.219781,3.658811",
|
||||
"target": "0,0,0",
|
||||
"yaw": "-0.785398",
|
||||
"pitch": "0.550000",
|
||||
"distance": "7.000000"
|
||||
}
|
||||
},
|
||||
"negative": {
|
||||
"malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION"
|
||||
},
|
||||
"nextTask": "WBV2-P2-005"
|
||||
}
|
||||
Reference in New Issue
Block a user