Continue Blender Web parity task handoff
Some checks failed
M6 deployable RC / quick (push) Has been cancelled
M6 deployable RC / chromium (push) Has been cancelled
M6 deployable RC / release (push) Has been cancelled

This commit is contained in:
mes123456
2026-08-23 05:47:21 -04:00
parent 0a22992a13
commit 9f43244982
962 changed files with 60772 additions and 297 deletions

View File

@@ -0,0 +1,37 @@
# M16-GAP-00176: operator:anim.driver_button_remove LOCAL_EXACT slice
- task: M16-GAP-00176
- parent: M16-GAP-00175
- status: in_progress
- gap: operator:anim.driver_button_remove
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.driver_button_remove 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-00176-operator-anim.driver_button_remove.blend`
- Generator: `tools/web/generated/M16-GAP-00176.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-00176.py -- tests/files/web/generated/M16-GAP-00176-operator-anim.driver_button_remove.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00176
node tools/web/check-generated-gap.mjs --task M16-GAP-00176
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-00176/`
- Status: `docs/status/M16-GAP-00176.md`
- Manifest: `tests/golden/M16-GAP-00176/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00176 --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-00177: operator:anim.end_frame_set LOCAL_EXACT slice
- task: M16-GAP-00177
- parent: M16-GAP-00176
- status: in_progress
- gap: operator:anim.end_frame_set
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.end_frame_set 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-00177-operator-anim.end_frame_set.blend`
- Generator: `tools/web/generated/M16-GAP-00177.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-00177.py -- tests/files/web/generated/M16-GAP-00177-operator-anim.end_frame_set.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00177
node tools/web/check-generated-gap.mjs --task M16-GAP-00177
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-00177/`
- Status: `docs/status/M16-GAP-00177.md`
- Manifest: `tests/golden/M16-GAP-00177/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00177 --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-00178: operator:anim.keyframe_clear_button LOCAL_EXACT slice
- task: M16-GAP-00178
- parent: M16-GAP-00177
- status: in_progress
- gap: operator:anim.keyframe_clear_button
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.keyframe_clear_button 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-00178-operator-anim.keyframe_clear_button.blend`
- Generator: `tools/web/generated/M16-GAP-00178.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-00178.py -- tests/files/web/generated/M16-GAP-00178-operator-anim.keyframe_clear_button.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00178
node tools/web/check-generated-gap.mjs --task M16-GAP-00178
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-00178/`
- Status: `docs/status/M16-GAP-00178.md`
- Manifest: `tests/golden/M16-GAP-00178/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00178 --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-00179: operator:anim.keyframe_clear_v3d LOCAL_EXACT slice
- task: M16-GAP-00179
- parent: M16-GAP-00178
- status: in_progress
- gap: operator:anim.keyframe_clear_v3d
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.keyframe_clear_v3d 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-00179-operator-anim.keyframe_clear_v3d.blend`
- Generator: `tools/web/generated/M16-GAP-00179.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-00179.py -- tests/files/web/generated/M16-GAP-00179-operator-anim.keyframe_clear_v3d.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00179
node tools/web/check-generated-gap.mjs --task M16-GAP-00179
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-00179/`
- Status: `docs/status/M16-GAP-00179.md`
- Manifest: `tests/golden/M16-GAP-00179/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00179 --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-00180: operator:anim.keyframe_clear_vse LOCAL_EXACT slice
- task: M16-GAP-00180
- parent: M16-GAP-00179
- status: in_progress
- gap: operator:anim.keyframe_clear_vse
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.keyframe_clear_vse 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-00180-operator-anim.keyframe_clear_vse.blend`
- Generator: `tools/web/generated/M16-GAP-00180.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-00180.py -- tests/files/web/generated/M16-GAP-00180-operator-anim.keyframe_clear_vse.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00180
node tools/web/check-generated-gap.mjs --task M16-GAP-00180
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-00180/`
- Status: `docs/status/M16-GAP-00180.md`
- Manifest: `tests/golden/M16-GAP-00180/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00180 --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-00181: operator:anim.keyframe_delete LOCAL_EXACT slice
- task: M16-GAP-00181
- parent: M16-GAP-00180
- status: in_progress
- gap: operator:anim.keyframe_delete
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.keyframe_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-00181-operator-anim.keyframe_delete.blend`
- Generator: `tools/web/generated/M16-GAP-00181.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-00181.py -- tests/files/web/generated/M16-GAP-00181-operator-anim.keyframe_delete.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00181
node tools/web/check-generated-gap.mjs --task M16-GAP-00181
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-00181/`
- Status: `docs/status/M16-GAP-00181.md`
- Manifest: `tests/golden/M16-GAP-00181/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00181 --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-00182: operator:anim.keyframe_delete_button LOCAL_EXACT slice
- task: M16-GAP-00182
- parent: M16-GAP-00181
- status: in_progress
- gap: operator:anim.keyframe_delete_button
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.keyframe_delete_button 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-00182-operator-anim.keyframe_delete_button.blend`
- Generator: `tools/web/generated/M16-GAP-00182.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-00182.py -- tests/files/web/generated/M16-GAP-00182-operator-anim.keyframe_delete_button.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00182
node tools/web/check-generated-gap.mjs --task M16-GAP-00182
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-00182/`
- Status: `docs/status/M16-GAP-00182.md`
- Manifest: `tests/golden/M16-GAP-00182/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00182 --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-00183: operator:anim.keyframe_delete_by_name LOCAL_EXACT slice
- task: M16-GAP-00183
- parent: M16-GAP-00182
- status: in_progress
- gap: operator:anim.keyframe_delete_by_name
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.keyframe_delete_by_name 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-00183-operator-anim.keyframe_delete_by_name.blend`
- Generator: `tools/web/generated/M16-GAP-00183.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-00183.py -- tests/files/web/generated/M16-GAP-00183-operator-anim.keyframe_delete_by_name.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00183
node tools/web/check-generated-gap.mjs --task M16-GAP-00183
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-00183/`
- Status: `docs/status/M16-GAP-00183.md`
- Manifest: `tests/golden/M16-GAP-00183/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00183 --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-00184: operator:anim.keyframe_delete_v3d LOCAL_EXACT slice
- task: M16-GAP-00184
- parent: M16-GAP-00183
- status: in_progress
- gap: operator:anim.keyframe_delete_v3d
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.keyframe_delete_v3d 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-00184-operator-anim.keyframe_delete_v3d.blend`
- Generator: `tools/web/generated/M16-GAP-00184.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-00184.py -- tests/files/web/generated/M16-GAP-00184-operator-anim.keyframe_delete_v3d.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00184
node tools/web/check-generated-gap.mjs --task M16-GAP-00184
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-00184/`
- Status: `docs/status/M16-GAP-00184.md`
- Manifest: `tests/golden/M16-GAP-00184/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00184 --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-00185: operator:anim.keyframe_delete_vse LOCAL_EXACT slice
- task: M16-GAP-00185
- parent: M16-GAP-00184
- status: in_progress
- gap: operator:anim.keyframe_delete_vse
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.keyframe_delete_vse 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-00185-operator-anim.keyframe_delete_vse.blend`
- Generator: `tools/web/generated/M16-GAP-00185.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-00185.py -- tests/files/web/generated/M16-GAP-00185-operator-anim.keyframe_delete_vse.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00185
node tools/web/check-generated-gap.mjs --task M16-GAP-00185
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-00185/`
- Status: `docs/status/M16-GAP-00185.md`
- Manifest: `tests/golden/M16-GAP-00185/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00185 --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-00186: operator:anim.keyframe_insert LOCAL_EXACT slice
- task: M16-GAP-00186
- parent: M16-GAP-00185
- status: in_progress
- gap: operator:anim.keyframe_insert
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.keyframe_insert 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-00186-operator-anim.keyframe_insert.blend`
- Generator: `tools/web/generated/M16-GAP-00186.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-00186.py -- tests/files/web/generated/M16-GAP-00186-operator-anim.keyframe_insert.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00186
node tools/web/check-generated-gap.mjs --task M16-GAP-00186
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-00186/`
- Status: `docs/status/M16-GAP-00186.md`
- Manifest: `tests/golden/M16-GAP-00186/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00186 --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-00187: operator:anim.keyframe_insert_button LOCAL_EXACT slice
- task: M16-GAP-00187
- parent: M16-GAP-00186
- status: in_progress
- gap: operator:anim.keyframe_insert_button
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.keyframe_insert_button 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-00187-operator-anim.keyframe_insert_button.blend`
- Generator: `tools/web/generated/M16-GAP-00187.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-00187.py -- tests/files/web/generated/M16-GAP-00187-operator-anim.keyframe_insert_button.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00187
node tools/web/check-generated-gap.mjs --task M16-GAP-00187
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-00187/`
- Status: `docs/status/M16-GAP-00187.md`
- Manifest: `tests/golden/M16-GAP-00187/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00187 --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-00188: operator:anim.keyframe_insert_by_name LOCAL_EXACT slice
- task: M16-GAP-00188
- parent: M16-GAP-00187
- status: in_progress
- gap: operator:anim.keyframe_insert_by_name
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.keyframe_insert_by_name 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-00188-operator-anim.keyframe_insert_by_name.blend`
- Generator: `tools/web/generated/M16-GAP-00188.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-00188.py -- tests/files/web/generated/M16-GAP-00188-operator-anim.keyframe_insert_by_name.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00188
node tools/web/check-generated-gap.mjs --task M16-GAP-00188
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-00188/`
- Status: `docs/status/M16-GAP-00188.md`
- Manifest: `tests/golden/M16-GAP-00188/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00188 --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-00189: operator:anim.keyframe_insert_menu LOCAL_EXACT slice
- task: M16-GAP-00189
- parent: M16-GAP-00188
- status: in_progress
- gap: operator:anim.keyframe_insert_menu
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.keyframe_insert_menu 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-00189-operator-anim.keyframe_insert_menu.blend`
- Generator: `tools/web/generated/M16-GAP-00189.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-00189.py -- tests/files/web/generated/M16-GAP-00189-operator-anim.keyframe_insert_menu.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00189
node tools/web/check-generated-gap.mjs --task M16-GAP-00189
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-00189/`
- Status: `docs/status/M16-GAP-00189.md`
- Manifest: `tests/golden/M16-GAP-00189/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00189 --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-00190: operator:anim.keying_set_active_set LOCAL_EXACT slice
- task: M16-GAP-00190
- parent: M16-GAP-00189
- status: in_progress
- gap: operator:anim.keying_set_active_set
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.keying_set_active_set 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-00190-operator-anim.keying_set_active_set.blend`
- Generator: `tools/web/generated/M16-GAP-00190.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-00190.py -- tests/files/web/generated/M16-GAP-00190-operator-anim.keying_set_active_set.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00190
node tools/web/check-generated-gap.mjs --task M16-GAP-00190
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-00190/`
- Status: `docs/status/M16-GAP-00190.md`
- Manifest: `tests/golden/M16-GAP-00190/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00190 --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-00191: operator:anim.keying_set_add LOCAL_EXACT slice
- task: M16-GAP-00191
- parent: M16-GAP-00190
- status: in_progress
- gap: operator:anim.keying_set_add
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.keying_set_add 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-00191-operator-anim.keying_set_add.blend`
- Generator: `tools/web/generated/M16-GAP-00191.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-00191.py -- tests/files/web/generated/M16-GAP-00191-operator-anim.keying_set_add.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00191
node tools/web/check-generated-gap.mjs --task M16-GAP-00191
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-00191/`
- Status: `docs/status/M16-GAP-00191.md`
- Manifest: `tests/golden/M16-GAP-00191/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00191 --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-00192: operator:anim.keying_set_export LOCAL_EXACT slice
- task: M16-GAP-00192
- parent: M16-GAP-00191
- status: in_progress
- gap: operator:anim.keying_set_export
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.keying_set_export 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-00192-operator-anim.keying_set_export.blend`
- Generator: `tools/web/generated/M16-GAP-00192.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-00192.py -- tests/files/web/generated/M16-GAP-00192-operator-anim.keying_set_export.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00192
node tools/web/check-generated-gap.mjs --task M16-GAP-00192
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-00192/`
- Status: `docs/status/M16-GAP-00192.md`
- Manifest: `tests/golden/M16-GAP-00192/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00192 --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-00193: operator:anim.keying_set_path_add LOCAL_EXACT slice
- task: M16-GAP-00193
- parent: M16-GAP-00192
- status: in_progress
- gap: operator:anim.keying_set_path_add
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.keying_set_path_add 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-00193-operator-anim.keying_set_path_add.blend`
- Generator: `tools/web/generated/M16-GAP-00193.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-00193.py -- tests/files/web/generated/M16-GAP-00193-operator-anim.keying_set_path_add.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00193
node tools/web/check-generated-gap.mjs --task M16-GAP-00193
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-00193/`
- Status: `docs/status/M16-GAP-00193.md`
- Manifest: `tests/golden/M16-GAP-00193/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00193 --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-00194: operator:anim.keying_set_path_remove LOCAL_EXACT slice
- task: M16-GAP-00194
- parent: M16-GAP-00193
- status: in_progress
- gap: operator:anim.keying_set_path_remove
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.keying_set_path_remove 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-00194-operator-anim.keying_set_path_remove.blend`
- Generator: `tools/web/generated/M16-GAP-00194.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-00194.py -- tests/files/web/generated/M16-GAP-00194-operator-anim.keying_set_path_remove.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00194
node tools/web/check-generated-gap.mjs --task M16-GAP-00194
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-00194/`
- Status: `docs/status/M16-GAP-00194.md`
- Manifest: `tests/golden/M16-GAP-00194/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00194 --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-00195: operator:anim.keying_set_remove LOCAL_EXACT slice
- task: M16-GAP-00195
- parent: M16-GAP-00194
- status: in_progress
- gap: operator:anim.keying_set_remove
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.keying_set_remove 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-00195-operator-anim.keying_set_remove.blend`
- Generator: `tools/web/generated/M16-GAP-00195.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-00195.py -- tests/files/web/generated/M16-GAP-00195-operator-anim.keying_set_remove.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00195
node tools/web/check-generated-gap.mjs --task M16-GAP-00195
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-00195/`
- Status: `docs/status/M16-GAP-00195.md`
- Manifest: `tests/golden/M16-GAP-00195/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00195 --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-00196: operator:anim.keyingset_button_add LOCAL_EXACT slice
- task: M16-GAP-00196
- parent: M16-GAP-00195
- status: in_progress
- gap: operator:anim.keyingset_button_add
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.keyingset_button_add 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-00196-operator-anim.keyingset_button_add.blend`
- Generator: `tools/web/generated/M16-GAP-00196.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-00196.py -- tests/files/web/generated/M16-GAP-00196-operator-anim.keyingset_button_add.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00196
node tools/web/check-generated-gap.mjs --task M16-GAP-00196
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-00196/`
- Status: `docs/status/M16-GAP-00196.md`
- Manifest: `tests/golden/M16-GAP-00196/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00196 --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-00197: operator:anim.keyingset_button_remove LOCAL_EXACT slice
- task: M16-GAP-00197
- parent: M16-GAP-00196
- status: in_progress
- gap: operator:anim.keyingset_button_remove
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.keyingset_button_remove 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-00197-operator-anim.keyingset_button_remove.blend`
- Generator: `tools/web/generated/M16-GAP-00197.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-00197.py -- tests/files/web/generated/M16-GAP-00197-operator-anim.keyingset_button_remove.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00197
node tools/web/check-generated-gap.mjs --task M16-GAP-00197
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-00197/`
- Status: `docs/status/M16-GAP-00197.md`
- Manifest: `tests/golden/M16-GAP-00197/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00197 --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-00198: operator:anim.merge_animation LOCAL_EXACT slice
- task: M16-GAP-00198
- parent: M16-GAP-00197
- status: in_progress
- gap: operator:anim.merge_animation
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.merge_animation 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-00198-operator-anim.merge_animation.blend`
- Generator: `tools/web/generated/M16-GAP-00198.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-00198.py -- tests/files/web/generated/M16-GAP-00198-operator-anim.merge_animation.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00198
node tools/web/check-generated-gap.mjs --task M16-GAP-00198
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-00198/`
- Status: `docs/status/M16-GAP-00198.md`
- Manifest: `tests/golden/M16-GAP-00198/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00198 --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-00199: operator:anim.paste_driver_button LOCAL_EXACT slice
- task: M16-GAP-00199
- parent: M16-GAP-00198
- status: in_progress
- gap: operator:anim.paste_driver_button
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.paste_driver_button 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-00199-operator-anim.paste_driver_button.blend`
- Generator: `tools/web/generated/M16-GAP-00199.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-00199.py -- tests/files/web/generated/M16-GAP-00199-operator-anim.paste_driver_button.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00199
node tools/web/check-generated-gap.mjs --task M16-GAP-00199
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-00199/`
- Status: `docs/status/M16-GAP-00199.md`
- Manifest: `tests/golden/M16-GAP-00199/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00199 --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-00200: operator:anim.previewrange_clear LOCAL_EXACT slice
- task: M16-GAP-00200
- parent: M16-GAP-00199
- status: in_progress
- gap: operator:anim.previewrange_clear
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.previewrange_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-00200-operator-anim.previewrange_clear.blend`
- Generator: `tools/web/generated/M16-GAP-00200.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-00200.py -- tests/files/web/generated/M16-GAP-00200-operator-anim.previewrange_clear.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00200
node tools/web/check-generated-gap.mjs --task M16-GAP-00200
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-00200/`
- Status: `docs/status/M16-GAP-00200.md`
- Manifest: `tests/golden/M16-GAP-00200/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00200 --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-00201: operator:anim.previewrange_set LOCAL_EXACT slice
- task: M16-GAP-00201
- parent: M16-GAP-00200
- status: in_progress
- gap: operator:anim.previewrange_set
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.previewrange_set 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-00201-operator-anim.previewrange_set.blend`
- Generator: `tools/web/generated/M16-GAP-00201.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-00201.py -- tests/files/web/generated/M16-GAP-00201-operator-anim.previewrange_set.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00201
node tools/web/check-generated-gap.mjs --task M16-GAP-00201
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-00201/`
- Status: `docs/status/M16-GAP-00201.md`
- Manifest: `tests/golden/M16-GAP-00201/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00201 --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-00202: operator:anim.replace_action LOCAL_EXACT slice
- task: M16-GAP-00202
- parent: M16-GAP-00201
- status: in_progress
- gap: operator:anim.replace_action
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.replace_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-00202-operator-anim.replace_action.blend`
- Generator: `tools/web/generated/M16-GAP-00202.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-00202.py -- tests/files/web/generated/M16-GAP-00202-operator-anim.replace_action.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00202
node tools/web/check-generated-gap.mjs --task M16-GAP-00202
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-00202/`
- Status: `docs/status/M16-GAP-00202.md`
- Manifest: `tests/golden/M16-GAP-00202/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00202 --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-00203: operator:anim.replace_action_new LOCAL_EXACT slice
- task: M16-GAP-00203
- parent: M16-GAP-00202
- status: in_progress
- gap: operator:anim.replace_action_new
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.replace_action_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-00203-operator-anim.replace_action_new.blend`
- Generator: `tools/web/generated/M16-GAP-00203.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-00203.py -- tests/files/web/generated/M16-GAP-00203-operator-anim.replace_action_new.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00203
node tools/web/check-generated-gap.mjs --task M16-GAP-00203
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-00203/`
- Status: `docs/status/M16-GAP-00203.md`
- Manifest: `tests/golden/M16-GAP-00203/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00203 --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-00204: operator:anim.scene_range_frame LOCAL_EXACT slice
- task: M16-GAP-00204
- parent: M16-GAP-00203
- status: in_progress
- gap: operator:anim.scene_range_frame
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.scene_range_frame 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-00204-operator-anim.scene_range_frame.blend`
- Generator: `tools/web/generated/M16-GAP-00204.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-00204.py -- tests/files/web/generated/M16-GAP-00204-operator-anim.scene_range_frame.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00204
node tools/web/check-generated-gap.mjs --task M16-GAP-00204
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-00204/`
- Status: `docs/status/M16-GAP-00204.md`
- Manifest: `tests/golden/M16-GAP-00204/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00204 --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-00205: operator:anim.separate_slots LOCAL_EXACT slice
- task: M16-GAP-00205
- parent: M16-GAP-00204
- status: in_progress
- gap: operator:anim.separate_slots
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.separate_slots 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-00205-operator-anim.separate_slots.blend`
- Generator: `tools/web/generated/M16-GAP-00205.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-00205.py -- tests/files/web/generated/M16-GAP-00205-operator-anim.separate_slots.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00205
node tools/web/check-generated-gap.mjs --task M16-GAP-00205
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-00205/`
- Status: `docs/status/M16-GAP-00205.md`
- Manifest: `tests/golden/M16-GAP-00205/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00205 --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-00206: operator:anim.slot_channels_move_to_new_action LOCAL_EXACT slice
- task: M16-GAP-00206
- parent: M16-GAP-00205
- status: in_progress
- gap: operator:anim.slot_channels_move_to_new_action
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.slot_channels_move_to_new_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-00206-operator-anim.slot_channels_move_to_new_action.blend`
- Generator: `tools/web/generated/M16-GAP-00206.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-00206.py -- tests/files/web/generated/M16-GAP-00206-operator-anim.slot_channels_move_to_new_action.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00206
node tools/web/check-generated-gap.mjs --task M16-GAP-00206
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-00206/`
- Status: `docs/status/M16-GAP-00206.md`
- Manifest: `tests/golden/M16-GAP-00206/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00206 --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-00207: operator:anim.slot_new_for_id LOCAL_EXACT slice
- task: M16-GAP-00207
- parent: M16-GAP-00206
- status: in_progress
- gap: operator:anim.slot_new_for_id
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.slot_new_for_id 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-00207-operator-anim.slot_new_for_id.blend`
- Generator: `tools/web/generated/M16-GAP-00207.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-00207.py -- tests/files/web/generated/M16-GAP-00207-operator-anim.slot_new_for_id.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00207
node tools/web/check-generated-gap.mjs --task M16-GAP-00207
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-00207/`
- Status: `docs/status/M16-GAP-00207.md`
- Manifest: `tests/golden/M16-GAP-00207/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00207 --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-00208: operator:anim.slot_unassign_from_constraint LOCAL_EXACT slice
- task: M16-GAP-00208
- parent: M16-GAP-00207
- status: in_progress
- gap: operator:anim.slot_unassign_from_constraint
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.slot_unassign_from_constraint 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-00208-operator-anim.slot_unassign_from_constraint.blend`
- Generator: `tools/web/generated/M16-GAP-00208.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-00208.py -- tests/files/web/generated/M16-GAP-00208-operator-anim.slot_unassign_from_constraint.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00208
node tools/web/check-generated-gap.mjs --task M16-GAP-00208
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-00208/`
- Status: `docs/status/M16-GAP-00208.md`
- Manifest: `tests/golden/M16-GAP-00208/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00208 --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-00209: operator:anim.slot_unassign_from_id LOCAL_EXACT slice
- task: M16-GAP-00209
- parent: M16-GAP-00208
- status: in_progress
- gap: operator:anim.slot_unassign_from_id
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.slot_unassign_from_id 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-00209-operator-anim.slot_unassign_from_id.blend`
- Generator: `tools/web/generated/M16-GAP-00209.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-00209.py -- tests/files/web/generated/M16-GAP-00209-operator-anim.slot_unassign_from_id.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00209
node tools/web/check-generated-gap.mjs --task M16-GAP-00209
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-00209/`
- Status: `docs/status/M16-GAP-00209.md`
- Manifest: `tests/golden/M16-GAP-00209/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00209 --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-00210: operator:anim.slot_unassign_from_nla_strip LOCAL_EXACT slice
- task: M16-GAP-00210
- parent: M16-GAP-00209
- status: in_progress
- gap: operator:anim.slot_unassign_from_nla_strip
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.slot_unassign_from_nla_strip 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-00210-operator-anim.slot_unassign_from_nla_strip.blend`
- Generator: `tools/web/generated/M16-GAP-00210.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-00210.py -- tests/files/web/generated/M16-GAP-00210-operator-anim.slot_unassign_from_nla_strip.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00210
node tools/web/check-generated-gap.mjs --task M16-GAP-00210
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-00210/`
- Status: `docs/status/M16-GAP-00210.md`
- Manifest: `tests/golden/M16-GAP-00210/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00210 --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-00211: operator:anim.start_frame_set LOCAL_EXACT slice
- task: M16-GAP-00211
- parent: M16-GAP-00210
- status: in_progress
- gap: operator:anim.start_frame_set
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.start_frame_set 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-00211-operator-anim.start_frame_set.blend`
- Generator: `tools/web/generated/M16-GAP-00211.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-00211.py -- tests/files/web/generated/M16-GAP-00211-operator-anim.start_frame_set.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00211
node tools/web/check-generated-gap.mjs --task M16-GAP-00211
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-00211/`
- Status: `docs/status/M16-GAP-00211.md`
- Manifest: `tests/golden/M16-GAP-00211/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00211 --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-00212: operator:anim.update_animated_transform_constraints LOCAL_EXACT slice
- task: M16-GAP-00212
- parent: M16-GAP-00211
- status: in_progress
- gap: operator:anim.update_animated_transform_constraints
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.update_animated_transform_constraints 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-00212-operator-anim.update_animated_transform_constraints.blend`
- Generator: `tools/web/generated/M16-GAP-00212.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-00212.py -- tests/files/web/generated/M16-GAP-00212-operator-anim.update_animated_transform_constraints.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00212
node tools/web/check-generated-gap.mjs --task M16-GAP-00212
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-00212/`
- Status: `docs/status/M16-GAP-00212.md`
- Manifest: `tests/golden/M16-GAP-00212/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00212 --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-00213: operator:anim.version_bone_hide_property LOCAL_EXACT slice
- task: M16-GAP-00213
- parent: M16-GAP-00212
- status: in_progress
- gap: operator:anim.version_bone_hide_property
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.version_bone_hide_property 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-00213-operator-anim.version_bone_hide_property.blend`
- Generator: `tools/web/generated/M16-GAP-00213.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-00213.py -- tests/files/web/generated/M16-GAP-00213-operator-anim.version_bone_hide_property.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00213
node tools/web/check-generated-gap.mjs --task M16-GAP-00213
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-00213/`
- Status: `docs/status/M16-GAP-00213.md`
- Manifest: `tests/golden/M16-GAP-00213/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00213 --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-00214: operator:anim.view_curve_in_graph_editor LOCAL_EXACT slice
- task: M16-GAP-00214
- parent: M16-GAP-00213
- status: in_progress
- gap: operator:anim.view_curve_in_graph_editor
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:anim.view_curve_in_graph_editor 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-00214-operator-anim.view_curve_in_graph_editor.blend`
- Generator: `tools/web/generated/M16-GAP-00214.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-00214.py -- tests/files/web/generated/M16-GAP-00214-operator-anim.view_curve_in_graph_editor.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00214
node tools/web/check-generated-gap.mjs --task M16-GAP-00214
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-00214/`
- Status: `docs/status/M16-GAP-00214.md`
- Manifest: `tests/golden/M16-GAP-00214/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00214 --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-00215: operator:armature.align LOCAL_EXACT slice
- task: M16-GAP-00215
- parent: M16-GAP-00214
- status: in_progress
- gap: operator:armature.align
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.align 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-00215-operator-armature.align.blend`
- Generator: `tools/web/generated/M16-GAP-00215.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-00215.py -- tests/files/web/generated/M16-GAP-00215-operator-armature.align.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00215
node tools/web/check-generated-gap.mjs --task M16-GAP-00215
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-00215/`
- Status: `docs/status/M16-GAP-00215.md`
- Manifest: `tests/golden/M16-GAP-00215/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00215 --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-00216: operator:armature.assign_to_collection LOCAL_EXACT slice
- task: M16-GAP-00216
- parent: M16-GAP-00215
- status: in_progress
- gap: operator:armature.assign_to_collection
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.assign_to_collection 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-00216-operator-armature.assign_to_collection.blend`
- Generator: `tools/web/generated/M16-GAP-00216.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-00216.py -- tests/files/web/generated/M16-GAP-00216-operator-armature.assign_to_collection.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00216
node tools/web/check-generated-gap.mjs --task M16-GAP-00216
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-00216/`
- Status: `docs/status/M16-GAP-00216.md`
- Manifest: `tests/golden/M16-GAP-00216/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00216 --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-00217: operator:armature.autoside_names LOCAL_EXACT slice
- task: M16-GAP-00217
- parent: M16-GAP-00216
- status: in_progress
- gap: operator:armature.autoside_names
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.autoside_names 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-00217-operator-armature.autoside_names.blend`
- Generator: `tools/web/generated/M16-GAP-00217.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-00217.py -- tests/files/web/generated/M16-GAP-00217-operator-armature.autoside_names.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00217
node tools/web/check-generated-gap.mjs --task M16-GAP-00217
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-00217/`
- Status: `docs/status/M16-GAP-00217.md`
- Manifest: `tests/golden/M16-GAP-00217/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00217 --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-00218: operator:armature.bone_primitive_add LOCAL_EXACT slice
- task: M16-GAP-00218
- parent: M16-GAP-00217
- status: in_progress
- gap: operator:armature.bone_primitive_add
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.bone_primitive_add 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-00218-operator-armature.bone_primitive_add.blend`
- Generator: `tools/web/generated/M16-GAP-00218.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-00218.py -- tests/files/web/generated/M16-GAP-00218-operator-armature.bone_primitive_add.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00218
node tools/web/check-generated-gap.mjs --task M16-GAP-00218
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-00218/`
- Status: `docs/status/M16-GAP-00218.md`
- Manifest: `tests/golden/M16-GAP-00218/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00218 --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-00219: operator:armature.calculate_roll LOCAL_EXACT slice
- task: M16-GAP-00219
- parent: M16-GAP-00218
- status: in_progress
- gap: operator:armature.calculate_roll
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.calculate_roll 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-00219-operator-armature.calculate_roll.blend`
- Generator: `tools/web/generated/M16-GAP-00219.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-00219.py -- tests/files/web/generated/M16-GAP-00219-operator-armature.calculate_roll.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00219
node tools/web/check-generated-gap.mjs --task M16-GAP-00219
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-00219/`
- Status: `docs/status/M16-GAP-00219.md`
- Manifest: `tests/golden/M16-GAP-00219/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00219 --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-00220: operator:armature.click_extrude LOCAL_EXACT slice
- task: M16-GAP-00220
- parent: M16-GAP-00219
- status: in_progress
- gap: operator:armature.click_extrude
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.click_extrude 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-00220-operator-armature.click_extrude.blend`
- Generator: `tools/web/generated/M16-GAP-00220.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-00220.py -- tests/files/web/generated/M16-GAP-00220-operator-armature.click_extrude.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00220
node tools/web/check-generated-gap.mjs --task M16-GAP-00220
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-00220/`
- Status: `docs/status/M16-GAP-00220.md`
- Manifest: `tests/golden/M16-GAP-00220/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00220 --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-00221: operator:armature.collection_add LOCAL_EXACT slice
- task: M16-GAP-00221
- parent: M16-GAP-00220
- status: in_progress
- gap: operator:armature.collection_add
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.collection_add 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-00221-operator-armature.collection_add.blend`
- Generator: `tools/web/generated/M16-GAP-00221.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-00221.py -- tests/files/web/generated/M16-GAP-00221-operator-armature.collection_add.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00221
node tools/web/check-generated-gap.mjs --task M16-GAP-00221
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-00221/`
- Status: `docs/status/M16-GAP-00221.md`
- Manifest: `tests/golden/M16-GAP-00221/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00221 --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-00222: operator:armature.collection_assign LOCAL_EXACT slice
- task: M16-GAP-00222
- parent: M16-GAP-00221
- status: in_progress
- gap: operator:armature.collection_assign
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.collection_assign 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-00222-operator-armature.collection_assign.blend`
- Generator: `tools/web/generated/M16-GAP-00222.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-00222.py -- tests/files/web/generated/M16-GAP-00222-operator-armature.collection_assign.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00222
node tools/web/check-generated-gap.mjs --task M16-GAP-00222
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-00222/`
- Status: `docs/status/M16-GAP-00222.md`
- Manifest: `tests/golden/M16-GAP-00222/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00222 --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-00223: operator:armature.collection_create_and_assign LOCAL_EXACT slice
- task: M16-GAP-00223
- parent: M16-GAP-00222
- status: in_progress
- gap: operator:armature.collection_create_and_assign
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.collection_create_and_assign 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-00223-operator-armature.collection_create_and_assign.blend`
- Generator: `tools/web/generated/M16-GAP-00223.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-00223.py -- tests/files/web/generated/M16-GAP-00223-operator-armature.collection_create_and_assign.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00223
node tools/web/check-generated-gap.mjs --task M16-GAP-00223
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-00223/`
- Status: `docs/status/M16-GAP-00223.md`
- Manifest: `tests/golden/M16-GAP-00223/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00223 --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-00224: operator:armature.collection_deselect LOCAL_EXACT slice
- task: M16-GAP-00224
- parent: M16-GAP-00223
- status: in_progress
- gap: operator:armature.collection_deselect
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.collection_deselect 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-00224-operator-armature.collection_deselect.blend`
- Generator: `tools/web/generated/M16-GAP-00224.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-00224.py -- tests/files/web/generated/M16-GAP-00224-operator-armature.collection_deselect.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00224
node tools/web/check-generated-gap.mjs --task M16-GAP-00224
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-00224/`
- Status: `docs/status/M16-GAP-00224.md`
- Manifest: `tests/golden/M16-GAP-00224/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00224 --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-00225: operator:armature.collection_move LOCAL_EXACT slice
- task: M16-GAP-00225
- parent: M16-GAP-00224
- status: in_progress
- gap: operator:armature.collection_move
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.collection_move 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-00225-operator-armature.collection_move.blend`
- Generator: `tools/web/generated/M16-GAP-00225.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-00225.py -- tests/files/web/generated/M16-GAP-00225-operator-armature.collection_move.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00225
node tools/web/check-generated-gap.mjs --task M16-GAP-00225
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-00225/`
- Status: `docs/status/M16-GAP-00225.md`
- Manifest: `tests/golden/M16-GAP-00225/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00225 --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-00226: operator:armature.collection_remove LOCAL_EXACT slice
- task: M16-GAP-00226
- parent: M16-GAP-00225
- status: in_progress
- gap: operator:armature.collection_remove
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.collection_remove 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-00226-operator-armature.collection_remove.blend`
- Generator: `tools/web/generated/M16-GAP-00226.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-00226.py -- tests/files/web/generated/M16-GAP-00226-operator-armature.collection_remove.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00226
node tools/web/check-generated-gap.mjs --task M16-GAP-00226
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-00226/`
- Status: `docs/status/M16-GAP-00226.md`
- Manifest: `tests/golden/M16-GAP-00226/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00226 --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-00227: operator:armature.collection_remove_unused LOCAL_EXACT slice
- task: M16-GAP-00227
- parent: M16-GAP-00226
- status: in_progress
- gap: operator:armature.collection_remove_unused
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.collection_remove_unused 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-00227-operator-armature.collection_remove_unused.blend`
- Generator: `tools/web/generated/M16-GAP-00227.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-00227.py -- tests/files/web/generated/M16-GAP-00227-operator-armature.collection_remove_unused.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00227
node tools/web/check-generated-gap.mjs --task M16-GAP-00227
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-00227/`
- Status: `docs/status/M16-GAP-00227.md`
- Manifest: `tests/golden/M16-GAP-00227/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00227 --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-00228: operator:armature.collection_select LOCAL_EXACT slice
- task: M16-GAP-00228
- parent: M16-GAP-00227
- status: in_progress
- gap: operator:armature.collection_select
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.collection_select 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-00228-operator-armature.collection_select.blend`
- Generator: `tools/web/generated/M16-GAP-00228.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-00228.py -- tests/files/web/generated/M16-GAP-00228-operator-armature.collection_select.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00228
node tools/web/check-generated-gap.mjs --task M16-GAP-00228
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-00228/`
- Status: `docs/status/M16-GAP-00228.md`
- Manifest: `tests/golden/M16-GAP-00228/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00228 --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-00229: operator:armature.collection_show_all LOCAL_EXACT slice
- task: M16-GAP-00229
- parent: M16-GAP-00228
- status: in_progress
- gap: operator:armature.collection_show_all
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.collection_show_all 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-00229-operator-armature.collection_show_all.blend`
- Generator: `tools/web/generated/M16-GAP-00229.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-00229.py -- tests/files/web/generated/M16-GAP-00229-operator-armature.collection_show_all.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00229
node tools/web/check-generated-gap.mjs --task M16-GAP-00229
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-00229/`
- Status: `docs/status/M16-GAP-00229.md`
- Manifest: `tests/golden/M16-GAP-00229/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00229 --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-00230: operator:armature.collection_unassign LOCAL_EXACT slice
- task: M16-GAP-00230
- parent: M16-GAP-00229
- status: in_progress
- gap: operator:armature.collection_unassign
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.collection_unassign 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-00230-operator-armature.collection_unassign.blend`
- Generator: `tools/web/generated/M16-GAP-00230.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-00230.py -- tests/files/web/generated/M16-GAP-00230-operator-armature.collection_unassign.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00230
node tools/web/check-generated-gap.mjs --task M16-GAP-00230
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-00230/`
- Status: `docs/status/M16-GAP-00230.md`
- Manifest: `tests/golden/M16-GAP-00230/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00230 --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-00231: operator:armature.collection_unassign_named LOCAL_EXACT slice
- task: M16-GAP-00231
- parent: M16-GAP-00230
- status: in_progress
- gap: operator:armature.collection_unassign_named
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.collection_unassign_named 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-00231-operator-armature.collection_unassign_named.blend`
- Generator: `tools/web/generated/M16-GAP-00231.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-00231.py -- tests/files/web/generated/M16-GAP-00231-operator-armature.collection_unassign_named.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00231
node tools/web/check-generated-gap.mjs --task M16-GAP-00231
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-00231/`
- Status: `docs/status/M16-GAP-00231.md`
- Manifest: `tests/golden/M16-GAP-00231/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00231 --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-00232: operator:armature.collection_unsolo_all LOCAL_EXACT slice
- task: M16-GAP-00232
- parent: M16-GAP-00231
- status: in_progress
- gap: operator:armature.collection_unsolo_all
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.collection_unsolo_all 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-00232-operator-armature.collection_unsolo_all.blend`
- Generator: `tools/web/generated/M16-GAP-00232.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-00232.py -- tests/files/web/generated/M16-GAP-00232-operator-armature.collection_unsolo_all.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00232
node tools/web/check-generated-gap.mjs --task M16-GAP-00232
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-00232/`
- Status: `docs/status/M16-GAP-00232.md`
- Manifest: `tests/golden/M16-GAP-00232/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00232 --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-00233: operator:armature.copy_bone_color_to_selected LOCAL_EXACT slice
- task: M16-GAP-00233
- parent: M16-GAP-00232
- status: in_progress
- gap: operator:armature.copy_bone_color_to_selected
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.copy_bone_color_to_selected 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-00233-operator-armature.copy_bone_color_to_selected.blend`
- Generator: `tools/web/generated/M16-GAP-00233.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-00233.py -- tests/files/web/generated/M16-GAP-00233-operator-armature.copy_bone_color_to_selected.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00233
node tools/web/check-generated-gap.mjs --task M16-GAP-00233
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-00233/`
- Status: `docs/status/M16-GAP-00233.md`
- Manifest: `tests/golden/M16-GAP-00233/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00233 --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-00234: operator:armature.delete LOCAL_EXACT slice
- task: M16-GAP-00234
- parent: M16-GAP-00233
- status: in_progress
- gap: operator:armature.delete
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.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-00234-operator-armature.delete.blend`
- Generator: `tools/web/generated/M16-GAP-00234.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-00234.py -- tests/files/web/generated/M16-GAP-00234-operator-armature.delete.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00234
node tools/web/check-generated-gap.mjs --task M16-GAP-00234
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-00234/`
- Status: `docs/status/M16-GAP-00234.md`
- Manifest: `tests/golden/M16-GAP-00234/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00234 --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-00235: operator:armature.dissolve LOCAL_EXACT slice
- task: M16-GAP-00235
- parent: M16-GAP-00234
- status: in_progress
- gap: operator:armature.dissolve
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.dissolve 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-00235-operator-armature.dissolve.blend`
- Generator: `tools/web/generated/M16-GAP-00235.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-00235.py -- tests/files/web/generated/M16-GAP-00235-operator-armature.dissolve.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00235
node tools/web/check-generated-gap.mjs --task M16-GAP-00235
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-00235/`
- Status: `docs/status/M16-GAP-00235.md`
- Manifest: `tests/golden/M16-GAP-00235/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00235 --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-00236: operator:armature.duplicate LOCAL_EXACT slice
- task: M16-GAP-00236
- parent: M16-GAP-00235
- status: in_progress
- gap: operator:armature.duplicate
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.duplicate 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-00236-operator-armature.duplicate.blend`
- Generator: `tools/web/generated/M16-GAP-00236.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-00236.py -- tests/files/web/generated/M16-GAP-00236-operator-armature.duplicate.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00236
node tools/web/check-generated-gap.mjs --task M16-GAP-00236
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-00236/`
- Status: `docs/status/M16-GAP-00236.md`
- Manifest: `tests/golden/M16-GAP-00236/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00236 --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-00237: operator:armature.duplicate_move LOCAL_EXACT slice
- task: M16-GAP-00237
- parent: M16-GAP-00236
- status: in_progress
- gap: operator:armature.duplicate_move
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.duplicate_move 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-00237-operator-armature.duplicate_move.blend`
- Generator: `tools/web/generated/M16-GAP-00237.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-00237.py -- tests/files/web/generated/M16-GAP-00237-operator-armature.duplicate_move.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00237
node tools/web/check-generated-gap.mjs --task M16-GAP-00237
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-00237/`
- Status: `docs/status/M16-GAP-00237.md`
- Manifest: `tests/golden/M16-GAP-00237/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00237 --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-00238: operator:armature.duplicate_rename LOCAL_EXACT slice
- task: M16-GAP-00238
- parent: M16-GAP-00237
- status: in_progress
- gap: operator:armature.duplicate_rename
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.duplicate_rename 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-00238-operator-armature.duplicate_rename.blend`
- Generator: `tools/web/generated/M16-GAP-00238.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-00238.py -- tests/files/web/generated/M16-GAP-00238-operator-armature.duplicate_rename.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00238
node tools/web/check-generated-gap.mjs --task M16-GAP-00238
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-00238/`
- Status: `docs/status/M16-GAP-00238.md`
- Manifest: `tests/golden/M16-GAP-00238/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00238 --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-00239: operator:armature.extrude LOCAL_EXACT slice
- task: M16-GAP-00239
- parent: M16-GAP-00238
- status: in_progress
- gap: operator:armature.extrude
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.extrude 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-00239-operator-armature.extrude.blend`
- Generator: `tools/web/generated/M16-GAP-00239.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-00239.py -- tests/files/web/generated/M16-GAP-00239-operator-armature.extrude.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00239
node tools/web/check-generated-gap.mjs --task M16-GAP-00239
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-00239/`
- Status: `docs/status/M16-GAP-00239.md`
- Manifest: `tests/golden/M16-GAP-00239/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00239 --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-00240: operator:armature.extrude_forked LOCAL_EXACT slice
- task: M16-GAP-00240
- parent: M16-GAP-00239
- status: in_progress
- gap: operator:armature.extrude_forked
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.extrude_forked 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-00240-operator-armature.extrude_forked.blend`
- Generator: `tools/web/generated/M16-GAP-00240.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-00240.py -- tests/files/web/generated/M16-GAP-00240-operator-armature.extrude_forked.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00240
node tools/web/check-generated-gap.mjs --task M16-GAP-00240
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-00240/`
- Status: `docs/status/M16-GAP-00240.md`
- Manifest: `tests/golden/M16-GAP-00240/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00240 --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-00241: operator:armature.extrude_move LOCAL_EXACT slice
- task: M16-GAP-00241
- parent: M16-GAP-00240
- status: in_progress
- gap: operator:armature.extrude_move
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.extrude_move 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-00241-operator-armature.extrude_move.blend`
- Generator: `tools/web/generated/M16-GAP-00241.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-00241.py -- tests/files/web/generated/M16-GAP-00241-operator-armature.extrude_move.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00241
node tools/web/check-generated-gap.mjs --task M16-GAP-00241
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-00241/`
- Status: `docs/status/M16-GAP-00241.md`
- Manifest: `tests/golden/M16-GAP-00241/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00241 --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-00242: operator:armature.fill LOCAL_EXACT slice
- task: M16-GAP-00242
- parent: M16-GAP-00241
- status: in_progress
- gap: operator:armature.fill
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.fill 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-00242-operator-armature.fill.blend`
- Generator: `tools/web/generated/M16-GAP-00242.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-00242.py -- tests/files/web/generated/M16-GAP-00242-operator-armature.fill.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00242
node tools/web/check-generated-gap.mjs --task M16-GAP-00242
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-00242/`
- Status: `docs/status/M16-GAP-00242.md`
- Manifest: `tests/golden/M16-GAP-00242/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00242 --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-00243: operator:armature.flip_names LOCAL_EXACT slice
- task: M16-GAP-00243
- parent: M16-GAP-00242
- status: in_progress
- gap: operator:armature.flip_names
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.flip_names 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-00243-operator-armature.flip_names.blend`
- Generator: `tools/web/generated/M16-GAP-00243.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-00243.py -- tests/files/web/generated/M16-GAP-00243-operator-armature.flip_names.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00243
node tools/web/check-generated-gap.mjs --task M16-GAP-00243
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-00243/`
- Status: `docs/status/M16-GAP-00243.md`
- Manifest: `tests/golden/M16-GAP-00243/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00243 --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-00244: operator:armature.hide LOCAL_EXACT slice
- task: M16-GAP-00244
- parent: M16-GAP-00243
- status: in_progress
- gap: operator:armature.hide
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.hide 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-00244-operator-armature.hide.blend`
- Generator: `tools/web/generated/M16-GAP-00244.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-00244.py -- tests/files/web/generated/M16-GAP-00244-operator-armature.hide.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00244
node tools/web/check-generated-gap.mjs --task M16-GAP-00244
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-00244/`
- Status: `docs/status/M16-GAP-00244.md`
- Manifest: `tests/golden/M16-GAP-00244/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00244 --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-00245: operator:armature.move_to_collection LOCAL_EXACT slice
- task: M16-GAP-00245
- parent: M16-GAP-00244
- status: in_progress
- gap: operator:armature.move_to_collection
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.move_to_collection 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-00245-operator-armature.move_to_collection.blend`
- Generator: `tools/web/generated/M16-GAP-00245.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-00245.py -- tests/files/web/generated/M16-GAP-00245-operator-armature.move_to_collection.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00245
node tools/web/check-generated-gap.mjs --task M16-GAP-00245
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-00245/`
- Status: `docs/status/M16-GAP-00245.md`
- Manifest: `tests/golden/M16-GAP-00245/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00245 --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-00246: operator:armature.parent_clear LOCAL_EXACT slice
- task: M16-GAP-00246
- parent: M16-GAP-00245
- status: in_progress
- gap: operator:armature.parent_clear
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.parent_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-00246-operator-armature.parent_clear.blend`
- Generator: `tools/web/generated/M16-GAP-00246.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-00246.py -- tests/files/web/generated/M16-GAP-00246-operator-armature.parent_clear.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00246
node tools/web/check-generated-gap.mjs --task M16-GAP-00246
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-00246/`
- Status: `docs/status/M16-GAP-00246.md`
- Manifest: `tests/golden/M16-GAP-00246/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00246 --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-00247: operator:armature.parent_set LOCAL_EXACT slice
- task: M16-GAP-00247
- parent: M16-GAP-00246
- status: in_progress
- gap: operator:armature.parent_set
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.parent_set 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-00247-operator-armature.parent_set.blend`
- Generator: `tools/web/generated/M16-GAP-00247.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-00247.py -- tests/files/web/generated/M16-GAP-00247-operator-armature.parent_set.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00247
node tools/web/check-generated-gap.mjs --task M16-GAP-00247
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-00247/`
- Status: `docs/status/M16-GAP-00247.md`
- Manifest: `tests/golden/M16-GAP-00247/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00247 --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-00248: operator:armature.reveal LOCAL_EXACT slice
- task: M16-GAP-00248
- parent: M16-GAP-00247
- status: in_progress
- gap: operator:armature.reveal
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.reveal 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-00248-operator-armature.reveal.blend`
- Generator: `tools/web/generated/M16-GAP-00248.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-00248.py -- tests/files/web/generated/M16-GAP-00248-operator-armature.reveal.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00248
node tools/web/check-generated-gap.mjs --task M16-GAP-00248
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-00248/`
- Status: `docs/status/M16-GAP-00248.md`
- Manifest: `tests/golden/M16-GAP-00248/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00248 --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-00249: operator:armature.roll_clear LOCAL_EXACT slice
- task: M16-GAP-00249
- parent: M16-GAP-00248
- status: in_progress
- gap: operator:armature.roll_clear
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.roll_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-00249-operator-armature.roll_clear.blend`
- Generator: `tools/web/generated/M16-GAP-00249.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-00249.py -- tests/files/web/generated/M16-GAP-00249-operator-armature.roll_clear.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00249
node tools/web/check-generated-gap.mjs --task M16-GAP-00249
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-00249/`
- Status: `docs/status/M16-GAP-00249.md`
- Manifest: `tests/golden/M16-GAP-00249/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00249 --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-00250: operator:armature.select_all LOCAL_EXACT slice
- task: M16-GAP-00250
- parent: M16-GAP-00249
- status: in_progress
- gap: operator:armature.select_all
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.select_all 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-00250-operator-armature.select_all.blend`
- Generator: `tools/web/generated/M16-GAP-00250.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-00250.py -- tests/files/web/generated/M16-GAP-00250-operator-armature.select_all.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00250
node tools/web/check-generated-gap.mjs --task M16-GAP-00250
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-00250/`
- Status: `docs/status/M16-GAP-00250.md`
- Manifest: `tests/golden/M16-GAP-00250/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00250 --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-00251: operator:armature.select_hierarchy LOCAL_EXACT slice
- task: M16-GAP-00251
- parent: M16-GAP-00250
- status: in_progress
- gap: operator:armature.select_hierarchy
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.select_hierarchy 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-00251-operator-armature.select_hierarchy.blend`
- Generator: `tools/web/generated/M16-GAP-00251.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-00251.py -- tests/files/web/generated/M16-GAP-00251-operator-armature.select_hierarchy.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00251
node tools/web/check-generated-gap.mjs --task M16-GAP-00251
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-00251/`
- Status: `docs/status/M16-GAP-00251.md`
- Manifest: `tests/golden/M16-GAP-00251/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00251 --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-00252: operator:armature.select_less LOCAL_EXACT slice
- task: M16-GAP-00252
- parent: M16-GAP-00251
- status: in_progress
- gap: operator:armature.select_less
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.select_less 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-00252-operator-armature.select_less.blend`
- Generator: `tools/web/generated/M16-GAP-00252.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-00252.py -- tests/files/web/generated/M16-GAP-00252-operator-armature.select_less.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00252
node tools/web/check-generated-gap.mjs --task M16-GAP-00252
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-00252/`
- Status: `docs/status/M16-GAP-00252.md`
- Manifest: `tests/golden/M16-GAP-00252/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00252 --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-00253: operator:armature.select_linked LOCAL_EXACT slice
- task: M16-GAP-00253
- parent: M16-GAP-00252
- status: in_progress
- gap: operator:armature.select_linked
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.select_linked 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-00253-operator-armature.select_linked.blend`
- Generator: `tools/web/generated/M16-GAP-00253.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-00253.py -- tests/files/web/generated/M16-GAP-00253-operator-armature.select_linked.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00253
node tools/web/check-generated-gap.mjs --task M16-GAP-00253
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-00253/`
- Status: `docs/status/M16-GAP-00253.md`
- Manifest: `tests/golden/M16-GAP-00253/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00253 --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-00254: operator:armature.select_linked_pick LOCAL_EXACT slice
- task: M16-GAP-00254
- parent: M16-GAP-00253
- status: in_progress
- gap: operator:armature.select_linked_pick
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.select_linked_pick 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-00254-operator-armature.select_linked_pick.blend`
- Generator: `tools/web/generated/M16-GAP-00254.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-00254.py -- tests/files/web/generated/M16-GAP-00254-operator-armature.select_linked_pick.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00254
node tools/web/check-generated-gap.mjs --task M16-GAP-00254
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-00254/`
- Status: `docs/status/M16-GAP-00254.md`
- Manifest: `tests/golden/M16-GAP-00254/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00254 --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-00255: operator:armature.select_mirror LOCAL_EXACT slice
- task: M16-GAP-00255
- parent: M16-GAP-00254
- status: in_progress
- gap: operator:armature.select_mirror
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.select_mirror 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-00255-operator-armature.select_mirror.blend`
- Generator: `tools/web/generated/M16-GAP-00255.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-00255.py -- tests/files/web/generated/M16-GAP-00255-operator-armature.select_mirror.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00255
node tools/web/check-generated-gap.mjs --task M16-GAP-00255
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-00255/`
- Status: `docs/status/M16-GAP-00255.md`
- Manifest: `tests/golden/M16-GAP-00255/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00255 --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-00256: operator:armature.select_more LOCAL_EXACT slice
- task: M16-GAP-00256
- parent: M16-GAP-00255
- status: in_progress
- gap: operator:armature.select_more
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.select_more 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-00256-operator-armature.select_more.blend`
- Generator: `tools/web/generated/M16-GAP-00256.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-00256.py -- tests/files/web/generated/M16-GAP-00256-operator-armature.select_more.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00256
node tools/web/check-generated-gap.mjs --task M16-GAP-00256
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-00256/`
- Status: `docs/status/M16-GAP-00256.md`
- Manifest: `tests/golden/M16-GAP-00256/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00256 --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-00257: operator:armature.select_similar LOCAL_EXACT slice
- task: M16-GAP-00257
- parent: M16-GAP-00256
- status: in_progress
- gap: operator:armature.select_similar
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.select_similar 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-00257-operator-armature.select_similar.blend`
- Generator: `tools/web/generated/M16-GAP-00257.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-00257.py -- tests/files/web/generated/M16-GAP-00257-operator-armature.select_similar.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00257
node tools/web/check-generated-gap.mjs --task M16-GAP-00257
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-00257/`
- Status: `docs/status/M16-GAP-00257.md`
- Manifest: `tests/golden/M16-GAP-00257/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00257 --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-00258: operator:armature.separate LOCAL_EXACT slice
- task: M16-GAP-00258
- parent: M16-GAP-00257
- status: in_progress
- gap: operator:armature.separate
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.separate 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-00258-operator-armature.separate.blend`
- Generator: `tools/web/generated/M16-GAP-00258.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-00258.py -- tests/files/web/generated/M16-GAP-00258-operator-armature.separate.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00258
node tools/web/check-generated-gap.mjs --task M16-GAP-00258
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-00258/`
- Status: `docs/status/M16-GAP-00258.md`
- Manifest: `tests/golden/M16-GAP-00258/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00258 --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-00259: operator:armature.shortest_path_pick LOCAL_EXACT slice
- task: M16-GAP-00259
- parent: M16-GAP-00258
- status: in_progress
- gap: operator:armature.shortest_path_pick
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.shortest_path_pick 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-00259-operator-armature.shortest_path_pick.blend`
- Generator: `tools/web/generated/M16-GAP-00259.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-00259.py -- tests/files/web/generated/M16-GAP-00259-operator-armature.shortest_path_pick.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00259
node tools/web/check-generated-gap.mjs --task M16-GAP-00259
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-00259/`
- Status: `docs/status/M16-GAP-00259.md`
- Manifest: `tests/golden/M16-GAP-00259/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00259 --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-00260: operator:armature.split LOCAL_EXACT slice
- task: M16-GAP-00260
- parent: M16-GAP-00259
- status: in_progress
- gap: operator:armature.split
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.split 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-00260-operator-armature.split.blend`
- Generator: `tools/web/generated/M16-GAP-00260.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-00260.py -- tests/files/web/generated/M16-GAP-00260-operator-armature.split.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00260
node tools/web/check-generated-gap.mjs --task M16-GAP-00260
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-00260/`
- Status: `docs/status/M16-GAP-00260.md`
- Manifest: `tests/golden/M16-GAP-00260/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00260 --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-00261: operator:armature.subdivide LOCAL_EXACT slice
- task: M16-GAP-00261
- parent: M16-GAP-00260
- status: in_progress
- gap: operator:armature.subdivide
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.subdivide 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-00261-operator-armature.subdivide.blend`
- Generator: `tools/web/generated/M16-GAP-00261.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-00261.py -- tests/files/web/generated/M16-GAP-00261-operator-armature.subdivide.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00261
node tools/web/check-generated-gap.mjs --task M16-GAP-00261
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-00261/`
- Status: `docs/status/M16-GAP-00261.md`
- Manifest: `tests/golden/M16-GAP-00261/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00261 --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-00262: operator:armature.switch_direction LOCAL_EXACT slice
- task: M16-GAP-00262
- parent: M16-GAP-00261
- status: in_progress
- gap: operator:armature.switch_direction
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.switch_direction 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-00262-operator-armature.switch_direction.blend`
- Generator: `tools/web/generated/M16-GAP-00262.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-00262.py -- tests/files/web/generated/M16-GAP-00262-operator-armature.switch_direction.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00262
node tools/web/check-generated-gap.mjs --task M16-GAP-00262
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-00262/`
- Status: `docs/status/M16-GAP-00262.md`
- Manifest: `tests/golden/M16-GAP-00262/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00262 --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-00263: operator:armature.symmetrize LOCAL_EXACT slice
- task: M16-GAP-00263
- parent: M16-GAP-00262
- status: in_progress
- gap: operator:armature.symmetrize
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:armature.symmetrize 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-00263-operator-armature.symmetrize.blend`
- Generator: `tools/web/generated/M16-GAP-00263.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-00263.py -- tests/files/web/generated/M16-GAP-00263-operator-armature.symmetrize.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00263
node tools/web/check-generated-gap.mjs --task M16-GAP-00263
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-00263/`
- Status: `docs/status/M16-GAP-00263.md`
- Manifest: `tests/golden/M16-GAP-00263/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00263 --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-00264: operator:asset.asset_download LOCAL_EXACT slice
- task: M16-GAP-00264
- parent: M16-GAP-00263
- status: in_progress
- gap: operator:asset.asset_download
- ownerFamily: OPERATOR
- targetImplementationClass: LOCAL_EXACT
## 目标
Make the same minimal fixture produce observable operator:asset.asset_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-00264-operator-asset.asset_download.blend`
- Generator: `tools/web/generated/M16-GAP-00264.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-00264.py -- tests/files/web/generated/M16-GAP-00264-operator-asset.asset_download.blend
npm --prefix web run test:generated-gap -- --task M16-GAP-00264
node tools/web/check-generated-gap.mjs --task M16-GAP-00264
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-00264/`
- Status: `docs/status/M16-GAP-00264.md`
- Manifest: `tests/golden/M16-GAP-00264/manifest.json`
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00264 --write`
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.