Complete M16 asset operator parity chain
This commit is contained in:
@@ -11,10 +11,10 @@
|
||||
| 字段 | 值 |
|
||||
| --- | --- |
|
||||
| 里程碑 | M16 Main、Mesh、Modifier、Sculpt |
|
||||
| 当前任务 | `M16-GAP-00264` |
|
||||
| parent manifest | `tests/golden/M16-GAP-00263/manifest.json` |
|
||||
| 任务卡 | [`tasks/M16-GAP-00264.md`](tasks/M16-GAP-00264.md) |
|
||||
| 专项验收 | `npm --prefix web run test:generated-gap -- --task M16-GAP-00264` |
|
||||
| 当前任务 | `M16-GAP-00276` |
|
||||
| parent manifest | `tests/golden/M16-GAP-00275/manifest.json` |
|
||||
| 任务卡 | [`tasks/M16-GAP-00276.md`](tasks/M16-GAP-00276.md) |
|
||||
| 专项验收 | `npm --prefix web run test:generated-gap -- --task M16-GAP-00276` |
|
||||
|
||||
领取前执行:
|
||||
|
||||
|
||||
25
docs/status/M16-GAP-00264.md
Normal file
25
docs/status/M16-GAP-00264.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# M16-GAP-00264 Status
|
||||
|
||||
status: done
|
||||
task: asset.asset_download operator LOCAL_EXACT slice
|
||||
updated: 2026-08-23 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- The fixture contains one fake-user external Image with source path
|
||||
`//assets/WebGapAssetDownload.png`. Blender desktop enables online access for
|
||||
the isolated check, runs `ASSET_OT_asset_download` for a missing remote
|
||||
relative identifier, and records the real `CANCELLED` result with no Main
|
||||
mutation. Save/reopen preserves the image resource fields exactly.
|
||||
- WASM/Main reads the same fixture as an external, unpacked Image with stable
|
||||
`assetStatus=EXTERNAL`, `assetId`, source path, and dimensions. The comparator
|
||||
confirms save/reopen stability and malformed-input rejection without Main
|
||||
mutation.
|
||||
|
||||
evidence:
|
||||
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, and
|
||||
task context checks passed with exit code 0. Chromium-only policy was
|
||||
preserved and no Firefox/WebKit run was made.
|
||||
|
||||
nextTask: `M16-GAP-00265`
|
||||
25
docs/status/M16-GAP-00265.md
Normal file
25
docs/status/M16-GAP-00265.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# M16-GAP-00265 Status
|
||||
|
||||
status: done
|
||||
task: asset.assets_download operator LOCAL_EXACT slice
|
||||
updated: 2026-08-23 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- The fixture contains one fake-user external Image with source path
|
||||
`//assets/WebGapAssetsDownload.png`. Blender desktop enables online access,
|
||||
confirms `ASSET_OT_assets_download.poll()` is false, and records the real
|
||||
`CANCELLED` result with no Main mutation. Save/reopen preserves the image
|
||||
resource fields exactly.
|
||||
- WASM/Main reads the same fixture as an external, unpacked Image with stable
|
||||
`assetStatus=EXTERNAL`, `assetId`, source path, and dimensions. The
|
||||
comparator confirms save/reopen stability and malformed-input rejection
|
||||
without Main mutation.
|
||||
|
||||
evidence:
|
||||
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, and
|
||||
task context checks passed with exit code 0. Chromium-only policy was
|
||||
preserved and no Firefox/WebKit run was made.
|
||||
|
||||
nextTask: `M16-GAP-00266`
|
||||
24
docs/status/M16-GAP-00266.md
Normal file
24
docs/status/M16-GAP-00266.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# M16-GAP-00266 Status
|
||||
|
||||
status: done
|
||||
task: asset.assign_action operator LOCAL_EXACT slice
|
||||
updated: 2026-08-23 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- The fixture contains one fake-user `WebGapAssignAction` with a two-key
|
||||
`location[0]` channel assigned to `WebGapAssignActionObject`. Blender
|
||||
desktop observes the no-Asset-Shelf context as `poll=false`, records the
|
||||
real `CANCELLED` result from `ASSET_OT_assign_action`, and confirms no Main
|
||||
mutation. Save/reopen preserves the Action exactly.
|
||||
- WASM/Main reads the same fixture as one stable Action animation targeting
|
||||
`object:WebGapAssignActionObject`. The comparator confirms both keyframes,
|
||||
save/reopen stability, and malformed-input rejection without Main mutation.
|
||||
|
||||
evidence:
|
||||
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, and
|
||||
task context checks passed with exit code 0. Chromium-only policy was
|
||||
preserved and no Firefox/WebKit run was made.
|
||||
|
||||
nextTask: `M16-GAP-00267`
|
||||
26
docs/status/M16-GAP-00267.md
Normal file
26
docs/status/M16-GAP-00267.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# M16-GAP-00267 Status
|
||||
|
||||
status: done
|
||||
task: asset.browse_containing_blend_file operator LOCAL_EXACT slice
|
||||
updated: 2026-08-23 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- The fixture links one object from external `WebGapBrowseContaining.blend`.
|
||||
Blender desktop observes the no-selected-asset boundary as `poll=false`,
|
||||
records `CANCELLED` for `ASSET_OT_browse_containing_blend_file`, and confirms
|
||||
no Main mutation. Save/reopen preserves the Library record exactly.
|
||||
- WASM/Main reads the same external Library with stable source path,
|
||||
`EXTERNAL_REQUIRED` status, and an empty dependency closure. The comparator
|
||||
confirms save/reopen stability and malformed-input rejection without Main
|
||||
mutation.
|
||||
|
||||
evidence:
|
||||
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, and
|
||||
task context checks passed with exit code 0. Chromium-only policy was
|
||||
preserved and no Firefox/WebKit run was made. Blender's expected missing
|
||||
external-library warning is recorded by the comparator while the Library
|
||||
state remains exact.
|
||||
|
||||
nextTask: `M16-GAP-00268`
|
||||
26
docs/status/M16-GAP-00268.md
Normal file
26
docs/status/M16-GAP-00268.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# M16-GAP-00268 Status
|
||||
|
||||
status: done
|
||||
task: asset.bundle_install operator LOCAL_EXACT slice
|
||||
updated: 2026-08-23 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- The fixture links one object from external `WebGapBundleInstall.blend`.
|
||||
Blender desktop observes the no-bundle context as `poll=false`, records
|
||||
`CANCELLED` for `ASSET_OT_bundle_install`, and confirms no Main mutation.
|
||||
Save/reopen preserves the Library record exactly.
|
||||
- WASM/Main reads the same external Library with stable source path,
|
||||
`EXTERNAL_REQUIRED` status, and an empty dependency closure. The comparator
|
||||
confirms save/reopen stability and malformed-input rejection without Main
|
||||
mutation.
|
||||
|
||||
evidence:
|
||||
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, and
|
||||
task context checks passed with exit code 0. Chromium-only policy was
|
||||
preserved and no Firefox/WebKit run was made. Blender's expected missing
|
||||
external-library warning is recorded by the comparator while the Library
|
||||
state remains exact.
|
||||
|
||||
nextTask: `M16-GAP-00269`
|
||||
26
docs/status/M16-GAP-00269.md
Normal file
26
docs/status/M16-GAP-00269.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# M16-GAP-00269 Status
|
||||
|
||||
status: done
|
||||
task: asset.catalog_delete operator LOCAL_EXACT slice
|
||||
updated: 2026-08-23 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- The fixture links one object from external `WebGapCatalogDelete.blend`.
|
||||
Blender desktop observes the no-catalog-selection boundary as `poll=false`,
|
||||
records `CANCELLED` for `ASSET_OT_catalog_delete`, and confirms no Main
|
||||
mutation. Save/reopen preserves the Library record exactly.
|
||||
- WASM/Main reads the same external Library with stable source path,
|
||||
`EXTERNAL_REQUIRED` status, and an empty dependency closure. The comparator
|
||||
confirms save/reopen stability and malformed-input rejection without Main
|
||||
mutation.
|
||||
|
||||
evidence:
|
||||
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, and
|
||||
task context checks passed with exit code 0. Chromium-only policy was
|
||||
preserved and no Firefox/WebKit run was made. Blender's expected missing
|
||||
external-library warning is recorded by the comparator while the Library
|
||||
state remains exact.
|
||||
|
||||
nextTask: `M16-GAP-00270`
|
||||
26
docs/status/M16-GAP-00270.md
Normal file
26
docs/status/M16-GAP-00270.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# M16-GAP-00270 Status
|
||||
|
||||
status: done
|
||||
task: asset.catalog_new operator LOCAL_EXACT slice
|
||||
updated: 2026-08-23 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- The fixture links one object from external `WebGapCatalogNew.blend`.
|
||||
Blender desktop observes the no-catalog-selection boundary as `poll=false`,
|
||||
records `CANCELLED` for `ASSET_OT_catalog_new`, and confirms no Main
|
||||
mutation. Save/reopen preserves the Library record exactly.
|
||||
- WASM/Main reads the same external Library with stable source path,
|
||||
`EXTERNAL_REQUIRED` status, and an empty dependency closure. The comparator
|
||||
confirms save/reopen stability and malformed-input rejection without Main
|
||||
mutation.
|
||||
|
||||
evidence:
|
||||
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, and
|
||||
task context checks passed with exit code 0. Chromium-only policy was
|
||||
preserved and no Firefox/WebKit run was made. Blender's expected missing
|
||||
external-library warning is recorded by the comparator while the Library
|
||||
state remains exact.
|
||||
|
||||
nextTask: `M16-GAP-00271`
|
||||
26
docs/status/M16-GAP-00271.md
Normal file
26
docs/status/M16-GAP-00271.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# M16-GAP-00271 Status
|
||||
|
||||
status: done
|
||||
task: asset.catalog_redo operator LOCAL_EXACT slice
|
||||
updated: 2026-08-23 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- The fixture links one object from external `WebGapCatalogRedo.blend`.
|
||||
Blender desktop observes the no-catalog-selection boundary as `poll=false`,
|
||||
records `CANCELLED` for `ASSET_OT_catalog_redo`, and confirms no Main
|
||||
mutation. Save/reopen preserves the Library record exactly.
|
||||
- WASM/Main reads the same external Library with stable source path,
|
||||
`EXTERNAL_REQUIRED` status, and an empty dependency closure. The comparator
|
||||
confirms save/reopen stability and malformed-input rejection without Main
|
||||
mutation.
|
||||
|
||||
evidence:
|
||||
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, and
|
||||
task context checks passed with exit code 0. Chromium-only policy was
|
||||
preserved and no Firefox/WebKit run was made. Blender's expected missing
|
||||
external-library warning is recorded by the comparator while the Library
|
||||
state remains exact.
|
||||
|
||||
nextTask: `M16-GAP-00272`
|
||||
26
docs/status/M16-GAP-00272.md
Normal file
26
docs/status/M16-GAP-00272.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# M16-GAP-00272 Status
|
||||
|
||||
status: done
|
||||
task: asset.catalog_undo operator LOCAL_EXACT slice
|
||||
updated: 2026-08-23 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- The fixture links one object from external `WebGapCatalogUndo.blend`.
|
||||
Blender desktop observes the no-catalog-selection boundary as `poll=false`,
|
||||
records `CANCELLED` for `ASSET_OT_catalog_undo`, and confirms no Main
|
||||
mutation. Save/reopen preserves the Library record exactly.
|
||||
- WASM/Main reads the same external Library with stable source path,
|
||||
`EXTERNAL_REQUIRED` status, and an empty dependency closure. The comparator
|
||||
confirms save/reopen stability and malformed-input rejection without Main
|
||||
mutation.
|
||||
|
||||
evidence:
|
||||
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, and
|
||||
task context checks passed with exit code 0. Chromium-only policy was
|
||||
preserved and no Firefox/WebKit run was made. Blender's expected missing
|
||||
external-library warning is recorded by the comparator while the Library
|
||||
state remains exact.
|
||||
|
||||
nextTask: `M16-GAP-00273`
|
||||
26
docs/status/M16-GAP-00273.md
Normal file
26
docs/status/M16-GAP-00273.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# M16-GAP-00273 Status
|
||||
|
||||
status: done
|
||||
task: asset.catalog_undo_push operator LOCAL_EXACT slice
|
||||
updated: 2026-08-23 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- The fixture links one object from external `WebGapCatalogUndoPush.blend`.
|
||||
Blender desktop observes the no-catalog-selection boundary as `poll=false`,
|
||||
records `CANCELLED` for `ASSET_OT_catalog_undo_push`, and confirms no Main
|
||||
mutation. Save/reopen preserves the Library record exactly.
|
||||
- WASM/Main reads the same external Library with stable source path,
|
||||
`EXTERNAL_REQUIRED` status, and an empty dependency closure. The comparator
|
||||
confirms save/reopen stability and malformed-input rejection without Main
|
||||
mutation.
|
||||
|
||||
evidence:
|
||||
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, and
|
||||
task context checks passed with exit code 0. Chromium-only policy was
|
||||
preserved and no Firefox/WebKit run was made. Blender's expected missing
|
||||
external-library warning is recorded by the comparator while the Library
|
||||
state remains exact.
|
||||
|
||||
nextTask: `M16-GAP-00274`
|
||||
26
docs/status/M16-GAP-00274.md
Normal file
26
docs/status/M16-GAP-00274.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# M16-GAP-00274 Status
|
||||
|
||||
status: done
|
||||
task: asset.catalogs_save operator LOCAL_EXACT slice
|
||||
updated: 2026-08-23 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- The fixture links one object from external `WebGapCatalogsSave.blend`.
|
||||
Blender desktop observes the no-active-asset-library boundary as `poll=false`,
|
||||
records `CANCELLED` for `ASSET_OT_catalogs_save`, and confirms no Main
|
||||
mutation. Save/reopen preserves the Library record exactly.
|
||||
- WASM/Main reads the same external Library with stable source path,
|
||||
`EXTERNAL_REQUIRED` status, and an empty dependency closure. The comparator
|
||||
confirms save/reopen stability and malformed-input rejection without Main
|
||||
mutation.
|
||||
|
||||
evidence:
|
||||
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, and
|
||||
task context checks passed with exit code 0. Chromium-only policy was
|
||||
preserved and no Firefox/WebKit run was made. Blender's expected missing
|
||||
external-library warning is recorded by the comparator while the Library
|
||||
state remains exact.
|
||||
|
||||
nextTask: `M16-GAP-00275`
|
||||
26
docs/status/M16-GAP-00275.md
Normal file
26
docs/status/M16-GAP-00275.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# 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.
|
||||
Save/reopen preserves the Library record exactly.
|
||||
- WASM/Main reads the same external Library with stable source path,
|
||||
`EXTERNAL_REQUIRED` status, and an empty dependency closure. The comparator
|
||||
confirms save/reopen stability and malformed-input rejection without Main
|
||||
mutation.
|
||||
|
||||
evidence:
|
||||
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, and
|
||||
task context checks passed with exit code 0. Chromium-only policy was
|
||||
preserved and no Firefox/WebKit run was made. Blender's expected missing
|
||||
external-library warning is recorded by the comparator while the Library
|
||||
state remains exact.
|
||||
|
||||
nextTask: `M16-GAP-00276`
|
||||
37
docs/tasks/M16-GAP-00265.md
Normal file
37
docs/tasks/M16-GAP-00265.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00265: operator:asset.assets_download LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00265
|
||||
- parent: M16-GAP-00264
|
||||
- status: in_progress
|
||||
- gap: operator:asset.assets_download
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:asset.assets_download 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-00265-operator-asset.assets_download.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00265.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-00265.py -- tests/files/web/generated/M16-GAP-00265-operator-asset.assets_download.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00265
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00265
|
||||
|
||||
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-00265/`
|
||||
- Status: `docs/status/M16-GAP-00265.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00265/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00265 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00266.md
Normal file
37
docs/tasks/M16-GAP-00266.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00266: operator:asset.assign_action LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00266
|
||||
- parent: M16-GAP-00265
|
||||
- status: in_progress
|
||||
- gap: operator:asset.assign_action
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:asset.assign_action 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-00266-operator-asset.assign_action.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00266.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-00266.py -- tests/files/web/generated/M16-GAP-00266-operator-asset.assign_action.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00266
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00266
|
||||
|
||||
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-00266/`
|
||||
- Status: `docs/status/M16-GAP-00266.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00266/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00266 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00267.md
Normal file
37
docs/tasks/M16-GAP-00267.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00267: operator:asset.browse_containing_blend_file LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00267
|
||||
- parent: M16-GAP-00266
|
||||
- status: in_progress
|
||||
- gap: operator:asset.browse_containing_blend_file
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:asset.browse_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-00267-operator-asset.browse_containing_blend_file.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00267.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-00267.py -- tests/files/web/generated/M16-GAP-00267-operator-asset.browse_containing_blend_file.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00267
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00267
|
||||
|
||||
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-00267/`
|
||||
- Status: `docs/status/M16-GAP-00267.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00267/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00267 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00268.md
Normal file
37
docs/tasks/M16-GAP-00268.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00268: operator:asset.bundle_install LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00268
|
||||
- parent: M16-GAP-00267
|
||||
- status: in_progress
|
||||
- gap: operator:asset.bundle_install
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:asset.bundle_install 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-00268-operator-asset.bundle_install.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00268.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-00268.py -- tests/files/web/generated/M16-GAP-00268-operator-asset.bundle_install.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00268
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00268
|
||||
|
||||
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-00268/`
|
||||
- Status: `docs/status/M16-GAP-00268.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00268/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00268 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00269.md
Normal file
37
docs/tasks/M16-GAP-00269.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00269: operator:asset.catalog_delete LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00269
|
||||
- parent: M16-GAP-00268
|
||||
- status: in_progress
|
||||
- gap: operator:asset.catalog_delete
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:asset.catalog_delete 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-00269-operator-asset.catalog_delete.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00269.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-00269.py -- tests/files/web/generated/M16-GAP-00269-operator-asset.catalog_delete.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00269
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00269
|
||||
|
||||
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-00269/`
|
||||
- Status: `docs/status/M16-GAP-00269.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00269/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00269 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00270.md
Normal file
37
docs/tasks/M16-GAP-00270.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00270: operator:asset.catalog_new LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00270
|
||||
- parent: M16-GAP-00269
|
||||
- status: in_progress
|
||||
- gap: operator:asset.catalog_new
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:asset.catalog_new 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-00270-operator-asset.catalog_new.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00270.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-00270.py -- tests/files/web/generated/M16-GAP-00270-operator-asset.catalog_new.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00270
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00270
|
||||
|
||||
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-00270/`
|
||||
- Status: `docs/status/M16-GAP-00270.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00270/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00270 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00271.md
Normal file
37
docs/tasks/M16-GAP-00271.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00271: operator:asset.catalog_redo LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00271
|
||||
- parent: M16-GAP-00270
|
||||
- status: in_progress
|
||||
- gap: operator:asset.catalog_redo
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:asset.catalog_redo 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-00271-operator-asset.catalog_redo.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00271.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-00271.py -- tests/files/web/generated/M16-GAP-00271-operator-asset.catalog_redo.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00271
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00271
|
||||
|
||||
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-00271/`
|
||||
- Status: `docs/status/M16-GAP-00271.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00271/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00271 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00272.md
Normal file
37
docs/tasks/M16-GAP-00272.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00272: operator:asset.catalog_undo LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00272
|
||||
- parent: M16-GAP-00271
|
||||
- status: in_progress
|
||||
- gap: operator:asset.catalog_undo
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:asset.catalog_undo 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-00272-operator-asset.catalog_undo.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00272.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-00272.py -- tests/files/web/generated/M16-GAP-00272-operator-asset.catalog_undo.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00272
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00272
|
||||
|
||||
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-00272/`
|
||||
- Status: `docs/status/M16-GAP-00272.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00272/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00272 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00273.md
Normal file
37
docs/tasks/M16-GAP-00273.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00273: operator:asset.catalog_undo_push LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00273
|
||||
- parent: M16-GAP-00272
|
||||
- status: in_progress
|
||||
- gap: operator:asset.catalog_undo_push
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:asset.catalog_undo_push 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-00273-operator-asset.catalog_undo_push.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00273.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-00273.py -- tests/files/web/generated/M16-GAP-00273-operator-asset.catalog_undo_push.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00273
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00273
|
||||
|
||||
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-00273/`
|
||||
- Status: `docs/status/M16-GAP-00273.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00273/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00273 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00274.md
Normal file
37
docs/tasks/M16-GAP-00274.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00274: operator:asset.catalogs_save LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00274
|
||||
- parent: M16-GAP-00273
|
||||
- status: in_progress
|
||||
- gap: operator:asset.catalogs_save
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:asset.catalogs_save 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-00274-operator-asset.catalogs_save.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00274.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-00274.py -- tests/files/web/generated/M16-GAP-00274-operator-asset.catalogs_save.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00274
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00274
|
||||
|
||||
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-00274/`
|
||||
- Status: `docs/status/M16-GAP-00274.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00274/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00274 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00275.md
Normal file
37
docs/tasks/M16-GAP-00275.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00275: operator:asset.clear LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00275
|
||||
- parent: M16-GAP-00274
|
||||
- status: in_progress
|
||||
- gap: operator:asset.clear
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:asset.clear 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-00275-operator-asset.clear.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00275.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-00275.py -- tests/files/web/generated/M16-GAP-00275-operator-asset.clear.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00275
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00275
|
||||
|
||||
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-00275/`
|
||||
- Status: `docs/status/M16-GAP-00275.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00275/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00275 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00276.md
Normal file
37
docs/tasks/M16-GAP-00276.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00276: operator:asset.clear_single LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00276
|
||||
- parent: M16-GAP-00275
|
||||
- status: in_progress
|
||||
- gap: operator:asset.clear_single
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
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.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00276-operator-asset.clear_single.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00276.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-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
|
||||
|
||||
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-00276/`
|
||||
- Status: `docs/status/M16-GAP-00276.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00276/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00276 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
Reference in New Issue
Block a user