{ "schemaVersion": 1, "task": "WBV2-P10-002", "parentTask": "WBV2-P10-001", "status": "in_progress", "goal": "Bind the proven Mesh, Modifier, and Asset Catalog mutations to the compiled Blender native binary and the checked-in web_engine.wasm runtime, with Chromium as the browser gate.", "scope": { "gap": "workflow:bind_native_and_wasm_engine_receipts", "ownerFamily": "ENGINE", "implementationClass": "LOCAL_EXACT" }, "commands": [ "build_blender_native/bin/blender --version", "node tools/web/check-wbv2-native-engine.mjs --write", "npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-native-engine-production.spec.ts", "node tools/web/generate-wbv2-native-engine-receipt.mjs --write", "node tools/web/check-task-context.mjs --task WBV2-P10-002 --write" ], "inputPaths": [], "inputSelection": { "schemaVersion": 1, "limits": { "maxFiles": 12, "evidenceBytes": 8192, "contextRemainingBytes": 1958, "contextRemainingTokens": 489 }, "source": { "bytes": 7946, "tokens": 1987 }, "selected": [], "excluded": [ { "path": "web/app/src/vendor/blender/web_engine.wasm", "bytes": 15643984, "reason": "EVIDENCE_BYTE_BUDGET" }, { "path": "web/app/src/vendor/blender/web_engine.js", "bytes": 132196, "reason": "EVIDENCE_BYTE_BUDGET" }, { "path": "blender-5.2.0/source/blender/web_engine/web_engine_api.cpp", "bytes": 126797, "reason": "EVIDENCE_BYTE_BUDGET" }, { "path": "tests/golden/WBV2-P9-004/feature-parity-gate-report.json", "bytes": 2865, "reason": "CONTEXT_REMAINING_SPACE" }, { "path": "web/app/src/engine-client/WebEngineClient.ts", "bytes": 16197, "reason": "EVIDENCE_BYTE_BUDGET" }, { "path": "web/app/src/workers/web-engine.worker.ts", "bytes": 97032, "reason": "EVIDENCE_BYTE_BUDGET" }, { "path": "web/tests/e2e/wbv2-native-engine-production.spec.ts", "bytes": 11948, "reason": "EVIDENCE_BYTE_BUDGET" }, { "path": "tests/golden/WBV2-P10-002/", "bytes": null, "reason": "GENERATED_EVIDENCE_OUTPUT" }, { "path": "docs/status/WBV2-P10-002.md", "bytes": null, "reason": "GENERATED_EVIDENCE_OUTPUT" }, { "path": "tests/golden/WBV2-P10-002/manifest.json", "bytes": null, "reason": "GENERATED_EVIDENCE_OUTPUT" } ], "totals": { "files": 0, "bytes": 0, "tokens": 0 } }, "exitCriteria": [ "native Blender binary is source-bound", "WASM binary and JS are hash-bound", "same mutation reaches real engine/Main", "save/reopen and failures remain exact" ], "nextTask": "WBV2-P10-003", "sourceDocuments": { "queue": "docs/EXECUTION_QUEUE.md", "taskCard": "docs/tasks/WBV2-P10-002.md", "taskIndex": "tests/golden/WBV2/task-index.json", "parentManifest": "tests/golden/WBV2-P10-001/manifest.json", "parentStatus": "docs/status/WBV2-P10-001.md" }, "readPolicy": { "required": [ "docs/EXECUTION_QUEUE.md", "docs/tasks/WBV2-P10-002.md", "tests/golden/WBV2-P10-001/manifest.json", "docs/status/WBV2-P10-001.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-P10-001", "parentTask": "WBV2-P10-000", "status": "done", "nextTask": "WBV2-P10-002", "artifactCount": 13 }, "statusSummary": [ "# WBV2-P10-001 status", "- task: `WBV2-P10-001`; parent: `WBV2-P10-000`; status: `done`", "- plan drift: `1` authorized mutable plan hash", "- dependency packages: `144`; lockfile/roots/closure: `STABLE`", "- historical P0 hashes: preserved", "- nextTask: `WBV2-P10-002`", "The current WBV2 plan hash is recorded as an additive epoch-1 baseline. The historical P0-002 source-hashes.json and all historical manifests remain unchanged. Dependency roots, lockfile, package closure, and package count remain stable." ] }, "budgets": { "queueBytes": 4096, "taskBytes": 1775, "parentManifestBytes": 24576, "parentStatusBytes": 6144, "evidenceFiles": 12, "evidenceBytes": 8192, "contextTokens": 3500, "contextEnvelopeTokens": 1024, "taskLines": 44, "taskTokens": 444 }, "size": { "documents": [ { "path": "docs/EXECUTION_QUEUE.md", "bytes": 2803, "lines": 51, "tokens": 701 }, { "path": "docs/tasks/WBV2-P10-002.md", "bytes": 1775, "lines": 44, "tokens": 444 }, { "path": "tests/golden/WBV2-P10-001/manifest.json", "bytes": 2872, "lines": 75, "tokens": 718 }, { "path": "docs/status/WBV2-P10-001.md", "bytes": 496, "lines": 10, "tokens": 124 } ], "sourceTokens": 1987, "evidenceFiles": 0, "evidenceBytes": 0, "evidenceTokens": 0, "totalTokens": 1987, "reservedEnvelopeTokens": 1024, "estimatedContextTokens": 3011, "serializedContextTokens": 715, "withinBudget": true } }