Reorganize Blender Web execution around capabilities
Some checks are pending
M6 deployable RC / quick (push) Waiting to run
M6 deployable RC / chromium (push) Blocked by required conditions
M6 deployable RC / release (push) Blocked by required conditions

This commit is contained in:
mes123456
2026-08-24 18:37:46 -04:00
parent 0b2c3ba0dd
commit a081c68c87
2530 changed files with 763976 additions and 79 deletions

View File

@@ -0,0 +1,37 @@
# M16-GAP-00277: operator:asset.library_refresh LOCAL_EXACT slice
- task: M16-GAP-00277
- parent: M16-GAP-00276
- status: in_progress
- gap: operator:asset.library_refresh
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
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.
## 输入与范围
- Fixture: `tests/files/web/generated/M16-GAP-00277-operator-asset.library_refresh.blend`
- Generator: `tools/web/generated/M16-GAP-00277.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
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
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/M16-GAP-00277/`
- Status: `docs/status/M16-GAP-00277.md`
- Manifest: `tests/golden/M16-GAP-00277/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00277 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

View File

@@ -0,0 +1,37 @@
# M16-GAP-00278: operator:asset.library_reload_listing LOCAL_EXACT slice
- task: M16-GAP-00278
- parent: M16-GAP-00277
- status: in_progress
- gap: operator:asset.library_reload_listing
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
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.
## 输入与范围
- Fixture: `tests/files/web/generated/M16-GAP-00278-operator-asset.library_reload_listing.blend`
- Generator: `tools/web/generated/M16-GAP-00278.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
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
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/M16-GAP-00278/`
- Status: `docs/status/M16-GAP-00278.md`
- Manifest: `tests/golden/M16-GAP-00278/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00278 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

View File

@@ -0,0 +1,37 @@
# M16-GAP-00279: operator:asset.mark LOCAL_EXACT slice
- task: M16-GAP-00279
- parent: M16-GAP-00278
- status: in_progress
- gap: operator:asset.mark
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
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.
## 输入与范围
- Fixture: `tests/files/web/generated/M16-GAP-00279-operator-asset.mark.blend`
- Generator: `tools/web/generated/M16-GAP-00279.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
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
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/M16-GAP-00279/`
- Status: `docs/status/M16-GAP-00279.md`
- Manifest: `tests/golden/M16-GAP-00279/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00279 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

View File

@@ -0,0 +1,37 @@
# M16-GAP-00280: operator:asset.mark_single LOCAL_EXACT slice
- task: M16-GAP-00280
- parent: M16-GAP-00279
- status: in_progress
- gap: operator:asset.mark_single
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
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.
## 输入与范围
- Fixture: `tests/files/web/generated/M16-GAP-00280-operator-asset.mark_single.blend`
- Generator: `tools/web/generated/M16-GAP-00280.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
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
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/M16-GAP-00280/`
- Status: `docs/status/M16-GAP-00280.md`
- Manifest: `tests/golden/M16-GAP-00280/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00280 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

View File

@@ -0,0 +1,37 @@
# M16-GAP-00281: operator:asset.open_containing_blend_file LOCAL_EXACT slice
- task: M16-GAP-00281
- parent: M16-GAP-00280
- status: in_progress
- gap: operator:asset.open_containing_blend_file
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
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.
## 输入与范围
- Fixture: `tests/files/web/generated/M16-GAP-00281-operator-asset.open_containing_blend_file.blend`
- Generator: `tools/web/generated/M16-GAP-00281.py`
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
- Checker: `tools/web/check-generated-gap.mjs`
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
## 验收
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
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
## 交付与回滚
- Reports: `tests/golden/M16-GAP-00281/`
- Status: `docs/status/M16-GAP-00281.md`
- Manifest: `tests/golden/M16-GAP-00281/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00281 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.

47
docs/tasks/WBV2-P0-001.md Normal file
View File

@@ -0,0 +1,47 @@
# WBV2-P0-001: reconcile scope and checkpoints
- task: WBV2-P0-001
- parent: WBV2-BASELINE
- status: in_progress
- gap: workflow:execution-control-plane
- ownerFamily: PROGRAM
- targetImplementationClass: LOCAL_BOUNDED
## 目标
冻结 V1 与 Blender 5.2 full-parity 的业务边界,建立 capability production lane
和 legacy coverage lane并证明 V2 指针、legacy checkpoint 与 corrective handoff
没有互相覆盖。
## 输入与范围
- `docs/BLENDER_WEB_PARITY_EXECUTION_PLAN_V2.md`
- `docs/BLENDER_WEB_PARITY_TASK_PLAN_V2.json`
- `docs/BLENDER_WEB_EXECUTION_CONTROL_PLANE.md`
- `docs/EXECUTION_QUEUE.md`
- `tests/golden/corrective/C6-003/handoff.json`
- `docs/WEB_BLENDER_MODELER_V1_SCOPE.md`
做:计划 schema、依赖图、能力分类、双 lane index、checkpoint ancestry、protected
hash 交叉检查。保留 legacy manifest/status/corrective handoff不重写历史证据。
## 验收
```bash
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
git diff --check
```
Malformed plan、重复 ready task、parent mismatch、hash drift 或缺失 task card 必须失败,
不得推进 capability successor 或改写 legacy checkpoint。
## 交付与回滚
- Reports: `tests/golden/WBV2-P0-001/`
- Status: `docs/status/WBV2-P0-001.md`
- Manifest: `tests/golden/WBV2-P0-001/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task WBV2-P0-001 --write`
- Rollback: restore `WBV2-BASELINE` as the capability queue tail; leave M16 and corrective evidence unchanged.

47
docs/tasks/WBV2-P0-002.md Normal file
View File

@@ -0,0 +1,47 @@
# WBV2-P0-002: generate Blender 5.2 inventory and parity map
- task: WBV2-P0-002
- parent: WBV2-P0-001
- status: in_progress
- gap: workflow:blender52-inventory
- ownerFamily: PARITY
- targetImplementationClass: LOCAL_BOUNDED
## 目标
Generate a deterministic Blender 5.2 inventory and map each entry to a capability
family, completion class, parity level, owner, and evidence state. This is an
inventory change only; it must not claim feature parity or modify Blender runtime.
## 输入与范围
- `docs/BLENDER_WEB_EXECUTION_CONTROL_PLANE.md`
- `tests/golden/corrective/C5-003/capability-manifest.json`
- `tests/golden/corrective/C5-003/coverage-report.json`
- `tests/golden/corrective/C5-003/inventory-gate.log`
Do: stable IDs, family clustering, unknown classification, deterministic report and
source hashes. Do not: edit legacy manifests, execute arbitrary Blender operators,
or run Firefox/WebKit.
## 验收
```bash
node tools/web/check-execution-control-plane.mjs
node tools/web/check-web-parity-v2-plan.mjs
node tools/web/check-corrective-plan.mjs
npm --prefix web run test:context-governance
```
Malformed inventory input, duplicate IDs, unsupported classification, hash drift, or
budget overflow must fail closed and keep this task `in_progress`/`blocked`; no
successor may be selected.
## 交付与回滚
- Reports: `tests/golden/WBV2-P0-002/`
- Status: `docs/status/WBV2-P0-002.md`
- Manifest: `tests/golden/WBV2-P0-002/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task WBV2-P0-002 --write`
- Rollback: remove only this task's report/status/manifest/context; restore
`WBV2-P0-001` as the queue tail without rewriting its evidence.