From 6a0b980d75f36e4b641a749c6fd15d0247029230 Mon Sep 17 00:00:00 2001 From: mes123456 Date: Thu, 20 Aug 2026 22:57:59 -0400 Subject: [PATCH] Complete M16 action select circle parity --- .../web_engine/web_engine_blend_reader.cpp | 49 +- docs/CONTEXT_BUDGET.md | 8 +- docs/CONTEXT_GOVERNANCE.md | 5 +- docs/EXECUTION_QUEUE.md | 8 +- docs/README.md | 3 +- docs/status/M16-GAP-00096.md | 19 + docs/status/M16-GAP-00097.md | 18 + docs/status/M16-GAP-00098.md | 18 + docs/status/M16-GAP-00099.md | 18 + docs/status/M16-GAP-00100.md | 18 + docs/status/M16-GAP-00101.md | 18 + docs/status/M16-GAP-00102.md | 18 + docs/status/M16-GAP-00103.md | 18 + docs/status/M16-GAP-00104.md | 18 + docs/status/M16-GAP-00105.md | 18 + docs/status/M16-GAP-00106.md | 18 + docs/status/M16-GAP-00107.md | 18 + docs/status/M16-GAP-00108.md | 18 + docs/status/M16-GAP-00109.md | 18 + docs/status/M16-GAP-00110.md | 18 + docs/status/M16-GAP-00111.md | 18 + docs/status/M16-GAP-00112.md | 18 + docs/status/M16-GAP-00113.md | 18 + docs/status/M16-GAP-00114.md | 18 + docs/status/M16-GAP-00115.md | 18 + docs/status/M16-GAP-00116.md | 18 + docs/status/M16-GAP-00117.md | 18 + docs/status/M16-GAP-00118.md | 18 + docs/status/M16-GAP-00119.md | 18 + docs/status/M16-GAP-00120.md | 18 + docs/status/M16-GAP-00121.md | 18 + docs/status/M16-GAP-00122.md | 18 + docs/status/M16-GAP-00123.md | 18 + docs/status/M16-GAP-00124.md | 18 + docs/status/M16-GAP-00125.md | 18 + docs/status/M16-GAP-00126.md | 18 + docs/status/M16-GAP-00127.md | 18 + docs/status/M16-GAP-00128.md | 18 + docs/status/M16-GAP-00129.md | 18 + docs/status/M16-GAP-00130.md | 18 + docs/status/M16-GAP-00131.md | 18 + docs/status/M16-GAP-00132.md | 18 + docs/status/M16-GAP-00133.md | 18 + docs/status/M16-GAP-00134.md | 18 + docs/status/M16-GAP-00135.md | 18 + docs/status/M16-GAP-00136.md | 17 + docs/tasks/M16-GAP-00097.md | 37 + docs/tasks/M16-GAP-00098.md | 37 + docs/tasks/M16-GAP-00099.md | 37 + docs/tasks/M16-GAP-00100.md | 37 + docs/tasks/M16-GAP-00101.md | 37 + docs/tasks/M16-GAP-00102.md | 37 + docs/tasks/M16-GAP-00103.md | 37 + docs/tasks/M16-GAP-00104.md | 37 + docs/tasks/M16-GAP-00105.md | 37 + docs/tasks/M16-GAP-00106.md | 37 + docs/tasks/M16-GAP-00107.md | 37 + docs/tasks/M16-GAP-00108.md | 37 + docs/tasks/M16-GAP-00109.md | 37 + docs/tasks/M16-GAP-00110.md | 37 + docs/tasks/M16-GAP-00111.md | 37 + docs/tasks/M16-GAP-00112.md | 37 + docs/tasks/M16-GAP-00113.md | 37 + docs/tasks/M16-GAP-00114.md | 37 + docs/tasks/M16-GAP-00115.md | 37 + docs/tasks/M16-GAP-00116.md | 37 + docs/tasks/M16-GAP-00117.md | 37 + docs/tasks/M16-GAP-00118.md | 37 + docs/tasks/M16-GAP-00119.md | 37 + docs/tasks/M16-GAP-00120.md | 37 + docs/tasks/M16-GAP-00121.md | 37 + docs/tasks/M16-GAP-00122.md | 37 + docs/tasks/M16-GAP-00123.md | 37 + docs/tasks/M16-GAP-00124.md | 37 + docs/tasks/M16-GAP-00125.md | 37 + docs/tasks/M16-GAP-00126.md | 37 + docs/tasks/M16-GAP-00127.md | 37 + docs/tasks/M16-GAP-00128.md | 37 + docs/tasks/M16-GAP-00129.md | 37 + docs/tasks/M16-GAP-00130.md | 37 + docs/tasks/M16-GAP-00131.md | 37 + docs/tasks/M16-GAP-00132.md | 37 + docs/tasks/M16-GAP-00133.md | 37 + docs/tasks/M16-GAP-00134.md | 37 + docs/tasks/M16-GAP-00135.md | 37 + docs/tasks/M16-GAP-00136.md | 37 + .../M16-GAP-00096-modifier-SOLIDIFY.blend | Bin 0 -> 86420 bytes .../M16-GAP-00097-modifier-SUBSURF.blend | Bin 0 -> 86391 bytes .../M16-GAP-00098-modifier-SURFACE.blend | Bin 0 -> 86387 bytes ...16-GAP-00099-modifier-SURFACE_DEFORM.blend | Bin 0 -> 86421 bytes .../M16-GAP-00100-modifier-TRIANGULATE.blend | Bin 0 -> 86387 bytes .../M16-GAP-00101-modifier-UV_PROJECT.blend | Bin 0 -> 86395 bytes .../M16-GAP-00102-modifier-UV_WARP.blend | Bin 0 -> 86398 bytes ...AP-00103-modifier-VERTEX_WEIGHT_EDIT.blend | Bin 0 -> 86454 bytes ...GAP-00104-modifier-VERTEX_WEIGHT_MIX.blend | Bin 0 -> 86411 bytes ...105-modifier-VERTEX_WEIGHT_PROXIMITY.blend | Bin 0 -> 86460 bytes ...6-GAP-00106-modifier-VOLUME_DISPLACE.blend | Bin 0 -> 86077 bytes ...16-GAP-00107-modifier-VOLUME_TO_MESH.blend | Bin 0 -> 86415 bytes .../M16-GAP-00108-modifier-WARP.blend | Bin 0 -> 86403 bytes .../M16-GAP-00109-modifier-WAVE.blend | Bin 0 -> 86396 bytes ...6-GAP-00110-modifier-WEIGHTED_NORMAL.blend | Bin 0 -> 86410 bytes .../M16-GAP-00111-modifier-WELD.blend | Bin 0 -> 86394 bytes .../M16-GAP-00112-modifier-WIREFRAME.blend | Bin 0 -> 86399 bytes ...-GAP-00113-operator-action.bake_keys.blend | Bin 0 -> 86996 bytes .../M16-GAP-00114-operator-action.clean.blend | Bin 0 -> 86804 bytes ...AP-00115-operator-action.clickselect.blend | Bin 0 -> 87093 bytes .../M16-GAP-00116-operator-action.copy.blend | Bin 0 -> 87090 bytes ...M16-GAP-00117-operator-action.delete.blend | Bin 0 -> 86816 bytes ...-GAP-00118-operator-action.duplicate.blend | Bin 0 -> 86896 bytes ...00119-operator-action.duplicate_move.blend | Bin 0 -> 86906 bytes ...AP-00120-operator-action.easing_type.blend | Bin 0 -> 86877 bytes ...1-operator-action.extrapolation_type.blend | Bin 0 -> 86924 bytes ...GAP-00122-operator-action.frame_jump.blend | Bin 0 -> 86875 bytes ...AP-00123-operator-action.handle_type.blend | Bin 0 -> 86907 bytes ...4-operator-action.interpolation_type.blend | Bin 0 -> 86881 bytes ...0125-operator-action.keyframe_insert.blend | Bin 0 -> 86896 bytes ...-00126-operator-action.keyframe_type.blend | Bin 0 -> 86863 bytes ...7-operator-action.markers_make_local.blend | Bin 0 -> 86876 bytes ...M16-GAP-00128-operator-action.mirror.blend | Bin 0 -> 86910 bytes .../M16-GAP-00129-operator-action.new.blend | Bin 0 -> 87114 bytes .../M16-GAP-00130-operator-action.paste.blend | Bin 0 -> 86900 bytes ...131-operator-action.previewrange_set.blend | Bin 0 -> 86898 bytes ...-GAP-00132-operator-action.push_down.blend | Bin 0 -> 86944 bytes ...GAP-00133-operator-action.select_all.blend | Bin 0 -> 86850 bytes ...GAP-00134-operator-action.select_box.blend | Bin 0 -> 86871 bytes ...00135-operator-action.select_by_type.blend | Bin 0 -> 86891 bytes ...-00136-operator-action.select_circle.blend | Bin 0 -> 86883 bytes tests/golden/M15-03A/completed-gap-tasks.json | 69 +- tests/golden/M15-03A/next-task-plan.json | 92 +- tests/golden/M15-03A/task-catalog.jsonl | 84 +- tests/golden/M15-03A/task-index.json | 2 +- tests/golden/M16-GAP-00096/manifest.json | 28 + .../solidify-modifier-desktop-report.json | 25 + .../solidify-modifier-local-exact-report.json | 44 + tests/golden/M16-GAP-00096/task-context.json | 181 ++++ tests/golden/M16-GAP-00097/manifest.json | 28 + .../subsurf-modifier-desktop-report.json | 26 + .../subsurf-modifier-local-exact-report.json | 45 + tests/golden/M16-GAP-00097/task-context.json | 181 ++++ tests/golden/M16-GAP-00098/manifest.json | 28 + .../surface-modifier-desktop-report.json | 23 + .../surface-modifier-local-exact-report.json | 42 + tests/golden/M16-GAP-00098/task-context.json | 181 ++++ tests/golden/M16-GAP-00099/manifest.json | 28 + ...urface-deform-modifier-desktop-report.json | 23 + ...ce-deform-modifier-local-exact-report.json | 46 + tests/golden/M16-GAP-00100/manifest.json | 28 + .../triangulate-modifier-desktop-report.json | 25 + ...iangulate-modifier-local-exact-report.json | 44 + tests/golden/M16-GAP-00101/manifest.json | 28 + .../uv-project-modifier-desktop-report.json | 23 + ...v-project-modifier-local-exact-report.json | 42 + tests/golden/M16-GAP-00102/manifest.json | 28 + .../uv-warp-modifier-desktop-report.json | 23 + .../uv-warp-modifier-local-exact-report.json | 42 + tests/golden/M16-GAP-00103/manifest.json | 28 + ...x-weight-edit-modifier-desktop-report.json | 23 + ...ight-edit-modifier-local-exact-report.json | 42 + tests/golden/M16-GAP-00104/manifest.json | 28 + ...ex-weight-mix-modifier-desktop-report.json | 23 + ...eight-mix-modifier-local-exact-report.json | 42 + tests/golden/M16-GAP-00105/manifest.json | 28 + ...ght-proximity-modifier-desktop-report.json | 23 + ...proximity-modifier-local-exact-report.json | 42 + tests/golden/M16-GAP-00106/manifest.json | 28 + ...lume-displace-modifier-desktop-report.json | 22 + ...-displace-modifier-local-exact-report.json | 41 + tests/golden/M16-GAP-00107/manifest.json | 28 + ...olume-to-mesh-modifier-desktop-report.json | 23 + ...e-to-mesh-modifier-local-exact-report.json | 42 + tests/golden/M16-GAP-00108/manifest.json | 28 + tests/golden/M16-GAP-00108/task-context.json | 181 ++++ .../warp-modifier-desktop-report.json | 23 + .../warp-modifier-local-exact-report.json | 42 + tests/golden/M16-GAP-00109/manifest.json | 28 + tests/golden/M16-GAP-00109/task-context.json | 181 ++++ .../wave-modifier-desktop-report.json | 26 + .../wave-modifier-local-exact-report.json | 45 + tests/golden/M16-GAP-00110/manifest.json | 28 + tests/golden/M16-GAP-00110/task-context.json | 181 ++++ ...ighted-normal-modifier-desktop-report.json | 26 + ...ed-normal-modifier-local-exact-report.json | 43 + tests/golden/M16-GAP-00111/manifest.json | 28 + tests/golden/M16-GAP-00111/task-context.json | 181 ++++ .../weld-modifier-desktop-report.json | 24 + .../weld-modifier-local-exact-report.json | 43 + tests/golden/M16-GAP-00112/manifest.json | 28 + tests/golden/M16-GAP-00112/task-context.json | 181 ++++ .../wireframe-modifier-desktop-report.json | 24 + ...wireframe-modifier-local-exact-report.json | 43 + .../action-bake-keys-desktop-report.json | 47 + .../action-bake-keys-local-exact-report.json | 33 + tests/golden/M16-GAP-00113/manifest.json | 28 + tests/golden/M16-GAP-00113/task-context.json | 181 ++++ .../action-clean-desktop-report.json | 36 + .../action-clean-local-exact-report.json | 29 + tests/golden/M16-GAP-00114/manifest.json | 57 + tests/golden/M16-GAP-00114/task-context.json | 181 ++++ .../action-clickselect-desktop-report.json | 61 ++ ...action-clickselect-local-exact-report.json | 34 + tests/golden/M16-GAP-00115/manifest.json | 24 + tests/golden/M16-GAP-00115/task-context.json | 181 ++++ .../action-copy-desktop-report.json | 60 ++ .../action-copy-local-exact-report.json | 38 + tests/golden/M16-GAP-00116/manifest.json | 24 + tests/golden/M16-GAP-00116/task-context.json | 181 ++++ .../action-delete-desktop-report.json | 53 + .../action-delete-local-exact-report.json | 40 + tests/golden/M16-GAP-00117/manifest.json | 24 + tests/golden/M16-GAP-00117/task-context.json | 181 ++++ .../action-duplicate-desktop-report.json | 65 ++ .../action-duplicate-local-exact-report.json | 46 + tests/golden/M16-GAP-00118/manifest.json | 24 + tests/golden/M16-GAP-00118/task-context.json | 181 ++++ .../action-duplicate-move-desktop-report.json | 58 + ...ion-duplicate-move-local-exact-report.json | 37 + tests/golden/M16-GAP-00119/manifest.json | 24 + tests/golden/M16-GAP-00119/task-context.json | 181 ++++ .../action-easing-type-desktop-report.json | 72 ++ ...action-easing-type-local-exact-report.json | 41 + tests/golden/M16-GAP-00120/manifest.json | 24 + tests/golden/M16-GAP-00120/task-context.json | 181 ++++ ...ion-extrapolation-type-desktop-report.json | 45 + ...extrapolation-type-local-exact-report.json | 29 + tests/golden/M16-GAP-00121/manifest.json | 24 + tests/golden/M16-GAP-00121/task-context.json | 181 ++++ .../action-frame-jump-desktop-report.json | 57 + .../action-frame-jump-local-exact-report.json | 35 + tests/golden/M16-GAP-00122/manifest.json | 24 + tests/golden/M16-GAP-00122/task-context.json | 181 ++++ .../action-handle-type-desktop-report.json | 72 ++ ...action-handle-type-local-exact-report.json | 41 + tests/golden/M16-GAP-00123/manifest.json | 24 + tests/golden/M16-GAP-00123/task-context.json | 185 ++++ ...ion-interpolation-type-desktop-report.json | 72 ++ ...interpolation-type-local-exact-report.json | 41 + tests/golden/M16-GAP-00124/manifest.json | 24 + tests/golden/M16-GAP-00124/task-context.json | 185 ++++ ...action-keyframe-insert-desktop-report.json | 72 ++ ...on-keyframe-insert-local-exact-report.json | 41 + tests/golden/M16-GAP-00125/manifest.json | 24 + tests/golden/M16-GAP-00125/task-context.json | 185 ++++ .../action-keyframe-type-desktop-report.json | 72 ++ ...tion-keyframe-type-local-exact-report.json | 41 + tests/golden/M16-GAP-00126/manifest.json | 24 + tests/golden/M16-GAP-00126/task-context.json | 185 ++++ ...ion-markers-make-local-desktop-report.json | 22 + ...markers-make-local-local-exact-report.json | 29 + tests/golden/M16-GAP-00127/manifest.json | 24 + tests/golden/M16-GAP-00127/task-context.json | 185 ++++ .../action-mirror-desktop-report.json | 72 ++ .../action-mirror-local-exact-report.json | 41 + tests/golden/M16-GAP-00128/manifest.json | 24 + tests/golden/M16-GAP-00128/task-context.json | 185 ++++ .../action-new-desktop-report.json | 13 + .../action-new-local-exact-report.json | 25 + tests/golden/M16-GAP-00129/manifest.json | 24 + tests/golden/M16-GAP-00129/task-context.json | 185 ++++ .../action-paste-desktop-report.json | 63 ++ .../action-paste-local-exact-report.json | 44 + tests/golden/M16-GAP-00130/manifest.json | 24 + tests/golden/M16-GAP-00130/task-context.json | 185 ++++ ...ction-previewrange-set-desktop-report.json | 13 + ...n-previewrange-set-local-exact-report.json | 27 + tests/golden/M16-GAP-00131/manifest.json | 24 + tests/golden/M16-GAP-00131/task-context.json | 185 ++++ .../action-push-down-desktop-report.json | 25 + .../action-push-down-local-exact-report.json | 56 + tests/golden/M16-GAP-00132/manifest.json | 24 + tests/golden/M16-GAP-00132/task-context.json | 185 ++++ .../action-select-all-desktop-report.json | 57 + .../action-select-all-local-exact-report.json | 25 + tests/golden/M16-GAP-00133/manifest.json | 24 + tests/golden/M16-GAP-00133/task-context.json | 185 ++++ .../action-select-box-desktop-report.json | 57 + .../action-select-box-local-exact-report.json | 35 + tests/golden/M16-GAP-00134/manifest.json | 24 + tests/golden/M16-GAP-00134/task-context.json | 185 ++++ .../action-select-by-type-desktop-report.json | 57 + ...ion-select-by-type-local-exact-report.json | 35 + tests/golden/M16-GAP-00135/manifest.json | 24 + tests/golden/M16-GAP-00135/task-context.json | 185 ++++ .../action-select-circle-desktop-report.json | 57 + ...tion-select-circle-local-exact-report.json | 35 + tests/golden/M16-GAP-00136/manifest.json | 25 + tests/golden/M16-GAP-00136/task-context.json | 185 ++++ tools/web/check-action-bake-keys-desktop.py | 66 ++ tools/web/check-action-clean-desktop.py | 57 + tools/web/check-action-clickselect-desktop.py | 69 ++ tools/web/check-action-copy-desktop.py | 80 ++ tools/web/check-action-delete-desktop.py | 68 ++ tools/web/check-action-duplicate-desktop.py | 70 ++ .../check-action-duplicate-move-desktop.py | 69 ++ tools/web/check-action-easing-type-desktop.py | 60 ++ ...check-action-extrapolation-type-desktop.py | 53 + tools/web/check-action-frame-jump-desktop.py | 54 + tools/web/check-action-handle-type-desktop.py | 42 + ...check-action-interpolation-type-desktop.py | 60 ++ .../check-action-keyframe-insert-desktop.py | 59 ++ .../web/check-action-keyframe-type-desktop.py | 60 ++ ...check-action-markers-make-local-desktop.py | 46 + tools/web/check-action-mirror-desktop.py | 60 ++ tools/web/check-action-new-desktop.py | 46 + tools/web/check-action-paste-desktop.py | 45 + .../check-action-previewrange-set-desktop.py | 31 + tools/web/check-action-push-down-desktop.py | 40 + tools/web/check-action-select-all-desktop.py | 45 + tools/web/check-action-select-box-desktop.py | 45 + .../check-action-select-by-type-desktop.py | 45 + .../web/check-action-select-circle-desktop.py | 38 + tools/web/check-context-governance.mjs | 4 +- tools/web/check-generated-gap.mjs | 991 ++++++++++++++++++ tools/web/check-generic-modifier-desktop.py | 22 + tools/web/check-task-context.mjs | 2 +- tools/web/context-governance.mjs | 8 +- tools/web/generated/M16-GAP-00096.py | 29 + tools/web/generated/M16-GAP-00097.py | 30 + tools/web/generated/M16-GAP-00098.py | 27 + tools/web/generated/M16-GAP-00099.py | 27 + tools/web/generated/M16-GAP-00100.py | 29 + tools/web/generated/M16-GAP-00101.py | 27 + tools/web/generated/M16-GAP-00102.py | 27 + tools/web/generated/M16-GAP-00103.py | 27 + tools/web/generated/M16-GAP-00104.py | 27 + tools/web/generated/M16-GAP-00105.py | 27 + tools/web/generated/M16-GAP-00106.py | 23 + tools/web/generated/M16-GAP-00107.py | 27 + tools/web/generated/M16-GAP-00108.py | 27 + tools/web/generated/M16-GAP-00109.py | 30 + tools/web/generated/M16-GAP-00110.py | 30 + tools/web/generated/M16-GAP-00111.py | 28 + tools/web/generated/M16-GAP-00112.py | 29 + tools/web/generated/M16-GAP-00113.py | 55 + tools/web/generated/M16-GAP-00114.py | 48 + tools/web/generated/M16-GAP-00115.py | 65 ++ tools/web/generated/M16-GAP-00116.py | 59 ++ tools/web/generated/M16-GAP-00117.py | 53 + tools/web/generated/M16-GAP-00118.py | 53 + tools/web/generated/M16-GAP-00119.py | 55 + tools/web/generated/M16-GAP-00120.py | 53 + tools/web/generated/M16-GAP-00121.py | 53 + tools/web/generated/M16-GAP-00122.py | 53 + tools/web/generated/M16-GAP-00123.py | 51 + tools/web/generated/M16-GAP-00124.py | 53 + tools/web/generated/M16-GAP-00125.py | 47 + tools/web/generated/M16-GAP-00126.py | 53 + tools/web/generated/M16-GAP-00127.py | 48 + tools/web/generated/M16-GAP-00128.py | 53 + tools/web/generated/M16-GAP-00129.py | 50 + tools/web/generated/M16-GAP-00130.py | 58 + tools/web/generated/M16-GAP-00131.py | 54 + tools/web/generated/M16-GAP-00132.py | 46 + tools/web/generated/M16-GAP-00133.py | 53 + tools/web/generated/M16-GAP-00134.py | 56 + tools/web/generated/M16-GAP-00135.py | 59 ++ tools/web/generated/M16-GAP-00136.py | 67 ++ tools/web/print-task-context.mjs | 12 +- tools/web/task-context-lib.mjs | 79 +- web/app/public/vendor/blender/web_engine.wasm | Bin 15552536 -> 15560772 bytes web/app/src/vendor/blender/web_engine.wasm | Bin 15552536 -> 15560772 bytes web/package.json | 1 + web/protocol/atomic-checkpoint.ts | 88 ++ web/protocol/provider-usage.ts | 93 ++ web/protocol/streaming-consumer.ts | 154 +++ web/protocol/token-limit.ts | 71 ++ web/tests/unit/context-governance.test.mjs | 15 +- web/tests/unit/streaming-resilience.test.mjs | 137 +++ web/tests/unit/task-context.test.mjs | 16 +- 368 files changed, 17417 insertions(+), 117 deletions(-) create mode 100644 docs/status/M16-GAP-00096.md create mode 100644 docs/status/M16-GAP-00097.md create mode 100644 docs/status/M16-GAP-00098.md create mode 100644 docs/status/M16-GAP-00099.md create mode 100644 docs/status/M16-GAP-00100.md create mode 100644 docs/status/M16-GAP-00101.md create mode 100644 docs/status/M16-GAP-00102.md create mode 100644 docs/status/M16-GAP-00103.md create mode 100644 docs/status/M16-GAP-00104.md create mode 100644 docs/status/M16-GAP-00105.md create mode 100644 docs/status/M16-GAP-00106.md create mode 100644 docs/status/M16-GAP-00107.md create mode 100644 docs/status/M16-GAP-00108.md create mode 100644 docs/status/M16-GAP-00109.md create mode 100644 docs/status/M16-GAP-00110.md create mode 100644 docs/status/M16-GAP-00111.md create mode 100644 docs/status/M16-GAP-00112.md create mode 100644 docs/status/M16-GAP-00113.md create mode 100644 docs/status/M16-GAP-00114.md create mode 100644 docs/status/M16-GAP-00115.md create mode 100644 docs/status/M16-GAP-00116.md create mode 100644 docs/status/M16-GAP-00117.md create mode 100644 docs/status/M16-GAP-00118.md create mode 100644 docs/status/M16-GAP-00119.md create mode 100644 docs/status/M16-GAP-00120.md create mode 100644 docs/status/M16-GAP-00121.md create mode 100644 docs/status/M16-GAP-00122.md create mode 100644 docs/status/M16-GAP-00123.md create mode 100644 docs/status/M16-GAP-00124.md create mode 100644 docs/status/M16-GAP-00125.md create mode 100644 docs/status/M16-GAP-00126.md create mode 100644 docs/status/M16-GAP-00127.md create mode 100644 docs/status/M16-GAP-00128.md create mode 100644 docs/status/M16-GAP-00129.md create mode 100644 docs/status/M16-GAP-00130.md create mode 100644 docs/status/M16-GAP-00131.md create mode 100644 docs/status/M16-GAP-00132.md create mode 100644 docs/status/M16-GAP-00133.md create mode 100644 docs/status/M16-GAP-00134.md create mode 100644 docs/status/M16-GAP-00135.md create mode 100644 docs/status/M16-GAP-00136.md create mode 100644 docs/tasks/M16-GAP-00097.md create mode 100644 docs/tasks/M16-GAP-00098.md create mode 100644 docs/tasks/M16-GAP-00099.md create mode 100644 docs/tasks/M16-GAP-00100.md create mode 100644 docs/tasks/M16-GAP-00101.md create mode 100644 docs/tasks/M16-GAP-00102.md create mode 100644 docs/tasks/M16-GAP-00103.md create mode 100644 docs/tasks/M16-GAP-00104.md create mode 100644 docs/tasks/M16-GAP-00105.md create mode 100644 docs/tasks/M16-GAP-00106.md create mode 100644 docs/tasks/M16-GAP-00107.md create mode 100644 docs/tasks/M16-GAP-00108.md create mode 100644 docs/tasks/M16-GAP-00109.md create mode 100644 docs/tasks/M16-GAP-00110.md create mode 100644 docs/tasks/M16-GAP-00111.md create mode 100644 docs/tasks/M16-GAP-00112.md create mode 100644 docs/tasks/M16-GAP-00113.md create mode 100644 docs/tasks/M16-GAP-00114.md create mode 100644 docs/tasks/M16-GAP-00115.md create mode 100644 docs/tasks/M16-GAP-00116.md create mode 100644 docs/tasks/M16-GAP-00117.md create mode 100644 docs/tasks/M16-GAP-00118.md create mode 100644 docs/tasks/M16-GAP-00119.md create mode 100644 docs/tasks/M16-GAP-00120.md create mode 100644 docs/tasks/M16-GAP-00121.md create mode 100644 docs/tasks/M16-GAP-00122.md create mode 100644 docs/tasks/M16-GAP-00123.md create mode 100644 docs/tasks/M16-GAP-00124.md create mode 100644 docs/tasks/M16-GAP-00125.md create mode 100644 docs/tasks/M16-GAP-00126.md create mode 100644 docs/tasks/M16-GAP-00127.md create mode 100644 docs/tasks/M16-GAP-00128.md create mode 100644 docs/tasks/M16-GAP-00129.md create mode 100644 docs/tasks/M16-GAP-00130.md create mode 100644 docs/tasks/M16-GAP-00131.md create mode 100644 docs/tasks/M16-GAP-00132.md create mode 100644 docs/tasks/M16-GAP-00133.md create mode 100644 docs/tasks/M16-GAP-00134.md create mode 100644 docs/tasks/M16-GAP-00135.md create mode 100644 docs/tasks/M16-GAP-00136.md create mode 100644 tests/files/web/generated/M16-GAP-00096-modifier-SOLIDIFY.blend create mode 100644 tests/files/web/generated/M16-GAP-00097-modifier-SUBSURF.blend create mode 100644 tests/files/web/generated/M16-GAP-00098-modifier-SURFACE.blend create mode 100644 tests/files/web/generated/M16-GAP-00099-modifier-SURFACE_DEFORM.blend create mode 100644 tests/files/web/generated/M16-GAP-00100-modifier-TRIANGULATE.blend create mode 100644 tests/files/web/generated/M16-GAP-00101-modifier-UV_PROJECT.blend create mode 100644 tests/files/web/generated/M16-GAP-00102-modifier-UV_WARP.blend create mode 100644 tests/files/web/generated/M16-GAP-00103-modifier-VERTEX_WEIGHT_EDIT.blend create mode 100644 tests/files/web/generated/M16-GAP-00104-modifier-VERTEX_WEIGHT_MIX.blend create mode 100644 tests/files/web/generated/M16-GAP-00105-modifier-VERTEX_WEIGHT_PROXIMITY.blend create mode 100644 tests/files/web/generated/M16-GAP-00106-modifier-VOLUME_DISPLACE.blend create mode 100644 tests/files/web/generated/M16-GAP-00107-modifier-VOLUME_TO_MESH.blend create mode 100644 tests/files/web/generated/M16-GAP-00108-modifier-WARP.blend create mode 100644 tests/files/web/generated/M16-GAP-00109-modifier-WAVE.blend create mode 100644 tests/files/web/generated/M16-GAP-00110-modifier-WEIGHTED_NORMAL.blend create mode 100644 tests/files/web/generated/M16-GAP-00111-modifier-WELD.blend create mode 100644 tests/files/web/generated/M16-GAP-00112-modifier-WIREFRAME.blend create mode 100644 tests/files/web/generated/M16-GAP-00113-operator-action.bake_keys.blend create mode 100644 tests/files/web/generated/M16-GAP-00114-operator-action.clean.blend create mode 100644 tests/files/web/generated/M16-GAP-00115-operator-action.clickselect.blend create mode 100644 tests/files/web/generated/M16-GAP-00116-operator-action.copy.blend create mode 100644 tests/files/web/generated/M16-GAP-00117-operator-action.delete.blend create mode 100644 tests/files/web/generated/M16-GAP-00118-operator-action.duplicate.blend create mode 100644 tests/files/web/generated/M16-GAP-00119-operator-action.duplicate_move.blend create mode 100644 tests/files/web/generated/M16-GAP-00120-operator-action.easing_type.blend create mode 100644 tests/files/web/generated/M16-GAP-00121-operator-action.extrapolation_type.blend create mode 100644 tests/files/web/generated/M16-GAP-00122-operator-action.frame_jump.blend create mode 100644 tests/files/web/generated/M16-GAP-00123-operator-action.handle_type.blend create mode 100644 tests/files/web/generated/M16-GAP-00124-operator-action.interpolation_type.blend create mode 100644 tests/files/web/generated/M16-GAP-00125-operator-action.keyframe_insert.blend create mode 100644 tests/files/web/generated/M16-GAP-00126-operator-action.keyframe_type.blend create mode 100644 tests/files/web/generated/M16-GAP-00127-operator-action.markers_make_local.blend create mode 100644 tests/files/web/generated/M16-GAP-00128-operator-action.mirror.blend create mode 100644 tests/files/web/generated/M16-GAP-00129-operator-action.new.blend create mode 100644 tests/files/web/generated/M16-GAP-00130-operator-action.paste.blend create mode 100644 tests/files/web/generated/M16-GAP-00131-operator-action.previewrange_set.blend create mode 100644 tests/files/web/generated/M16-GAP-00132-operator-action.push_down.blend create mode 100644 tests/files/web/generated/M16-GAP-00133-operator-action.select_all.blend create mode 100644 tests/files/web/generated/M16-GAP-00134-operator-action.select_box.blend create mode 100644 tests/files/web/generated/M16-GAP-00135-operator-action.select_by_type.blend create mode 100644 tests/files/web/generated/M16-GAP-00136-operator-action.select_circle.blend create mode 100644 tests/golden/M16-GAP-00096/manifest.json create mode 100644 tests/golden/M16-GAP-00096/solidify-modifier-desktop-report.json create mode 100644 tests/golden/M16-GAP-00096/solidify-modifier-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00096/task-context.json create mode 100644 tests/golden/M16-GAP-00097/manifest.json create mode 100644 tests/golden/M16-GAP-00097/subsurf-modifier-desktop-report.json create mode 100644 tests/golden/M16-GAP-00097/subsurf-modifier-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00097/task-context.json create mode 100644 tests/golden/M16-GAP-00098/manifest.json create mode 100644 tests/golden/M16-GAP-00098/surface-modifier-desktop-report.json create mode 100644 tests/golden/M16-GAP-00098/surface-modifier-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00098/task-context.json create mode 100644 tests/golden/M16-GAP-00099/manifest.json create mode 100644 tests/golden/M16-GAP-00099/surface-deform-modifier-desktop-report.json create mode 100644 tests/golden/M16-GAP-00099/surface-deform-modifier-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00100/manifest.json create mode 100644 tests/golden/M16-GAP-00100/triangulate-modifier-desktop-report.json create mode 100644 tests/golden/M16-GAP-00100/triangulate-modifier-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00101/manifest.json create mode 100644 tests/golden/M16-GAP-00101/uv-project-modifier-desktop-report.json create mode 100644 tests/golden/M16-GAP-00101/uv-project-modifier-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00102/manifest.json create mode 100644 tests/golden/M16-GAP-00102/uv-warp-modifier-desktop-report.json create mode 100644 tests/golden/M16-GAP-00102/uv-warp-modifier-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00103/manifest.json create mode 100644 tests/golden/M16-GAP-00103/vertex-weight-edit-modifier-desktop-report.json create mode 100644 tests/golden/M16-GAP-00103/vertex-weight-edit-modifier-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00104/manifest.json create mode 100644 tests/golden/M16-GAP-00104/vertex-weight-mix-modifier-desktop-report.json create mode 100644 tests/golden/M16-GAP-00104/vertex-weight-mix-modifier-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00105/manifest.json create mode 100644 tests/golden/M16-GAP-00105/vertex-weight-proximity-modifier-desktop-report.json create mode 100644 tests/golden/M16-GAP-00105/vertex-weight-proximity-modifier-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00106/manifest.json create mode 100644 tests/golden/M16-GAP-00106/volume-displace-modifier-desktop-report.json create mode 100644 tests/golden/M16-GAP-00106/volume-displace-modifier-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00107/manifest.json create mode 100644 tests/golden/M16-GAP-00107/volume-to-mesh-modifier-desktop-report.json create mode 100644 tests/golden/M16-GAP-00107/volume-to-mesh-modifier-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00108/manifest.json create mode 100644 tests/golden/M16-GAP-00108/task-context.json create mode 100644 tests/golden/M16-GAP-00108/warp-modifier-desktop-report.json create mode 100644 tests/golden/M16-GAP-00108/warp-modifier-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00109/manifest.json create mode 100644 tests/golden/M16-GAP-00109/task-context.json create mode 100644 tests/golden/M16-GAP-00109/wave-modifier-desktop-report.json create mode 100644 tests/golden/M16-GAP-00109/wave-modifier-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00110/manifest.json create mode 100644 tests/golden/M16-GAP-00110/task-context.json create mode 100644 tests/golden/M16-GAP-00110/weighted-normal-modifier-desktop-report.json create mode 100644 tests/golden/M16-GAP-00110/weighted-normal-modifier-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00111/manifest.json create mode 100644 tests/golden/M16-GAP-00111/task-context.json create mode 100644 tests/golden/M16-GAP-00111/weld-modifier-desktop-report.json create mode 100644 tests/golden/M16-GAP-00111/weld-modifier-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00112/manifest.json create mode 100644 tests/golden/M16-GAP-00112/task-context.json create mode 100644 tests/golden/M16-GAP-00112/wireframe-modifier-desktop-report.json create mode 100644 tests/golden/M16-GAP-00112/wireframe-modifier-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00113/action-bake-keys-desktop-report.json create mode 100644 tests/golden/M16-GAP-00113/action-bake-keys-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00113/manifest.json create mode 100644 tests/golden/M16-GAP-00113/task-context.json create mode 100644 tests/golden/M16-GAP-00114/action-clean-desktop-report.json create mode 100644 tests/golden/M16-GAP-00114/action-clean-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00114/manifest.json create mode 100644 tests/golden/M16-GAP-00114/task-context.json create mode 100644 tests/golden/M16-GAP-00115/action-clickselect-desktop-report.json create mode 100644 tests/golden/M16-GAP-00115/action-clickselect-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00115/manifest.json create mode 100644 tests/golden/M16-GAP-00115/task-context.json create mode 100644 tests/golden/M16-GAP-00116/action-copy-desktop-report.json create mode 100644 tests/golden/M16-GAP-00116/action-copy-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00116/manifest.json create mode 100644 tests/golden/M16-GAP-00116/task-context.json create mode 100644 tests/golden/M16-GAP-00117/action-delete-desktop-report.json create mode 100644 tests/golden/M16-GAP-00117/action-delete-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00117/manifest.json create mode 100644 tests/golden/M16-GAP-00117/task-context.json create mode 100644 tests/golden/M16-GAP-00118/action-duplicate-desktop-report.json create mode 100644 tests/golden/M16-GAP-00118/action-duplicate-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00118/manifest.json create mode 100644 tests/golden/M16-GAP-00118/task-context.json create mode 100644 tests/golden/M16-GAP-00119/action-duplicate-move-desktop-report.json create mode 100644 tests/golden/M16-GAP-00119/action-duplicate-move-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00119/manifest.json create mode 100644 tests/golden/M16-GAP-00119/task-context.json create mode 100644 tests/golden/M16-GAP-00120/action-easing-type-desktop-report.json create mode 100644 tests/golden/M16-GAP-00120/action-easing-type-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00120/manifest.json create mode 100644 tests/golden/M16-GAP-00120/task-context.json create mode 100644 tests/golden/M16-GAP-00121/action-extrapolation-type-desktop-report.json create mode 100644 tests/golden/M16-GAP-00121/action-extrapolation-type-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00121/manifest.json create mode 100644 tests/golden/M16-GAP-00121/task-context.json create mode 100644 tests/golden/M16-GAP-00122/action-frame-jump-desktop-report.json create mode 100644 tests/golden/M16-GAP-00122/action-frame-jump-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00122/manifest.json create mode 100644 tests/golden/M16-GAP-00122/task-context.json create mode 100644 tests/golden/M16-GAP-00123/action-handle-type-desktop-report.json create mode 100644 tests/golden/M16-GAP-00123/action-handle-type-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00123/manifest.json create mode 100644 tests/golden/M16-GAP-00123/task-context.json create mode 100644 tests/golden/M16-GAP-00124/action-interpolation-type-desktop-report.json create mode 100644 tests/golden/M16-GAP-00124/action-interpolation-type-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00124/manifest.json create mode 100644 tests/golden/M16-GAP-00124/task-context.json create mode 100644 tests/golden/M16-GAP-00125/action-keyframe-insert-desktop-report.json create mode 100644 tests/golden/M16-GAP-00125/action-keyframe-insert-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00125/manifest.json create mode 100644 tests/golden/M16-GAP-00125/task-context.json create mode 100644 tests/golden/M16-GAP-00126/action-keyframe-type-desktop-report.json create mode 100644 tests/golden/M16-GAP-00126/action-keyframe-type-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00126/manifest.json create mode 100644 tests/golden/M16-GAP-00126/task-context.json create mode 100644 tests/golden/M16-GAP-00127/action-markers-make-local-desktop-report.json create mode 100644 tests/golden/M16-GAP-00127/action-markers-make-local-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00127/manifest.json create mode 100644 tests/golden/M16-GAP-00127/task-context.json create mode 100644 tests/golden/M16-GAP-00128/action-mirror-desktop-report.json create mode 100644 tests/golden/M16-GAP-00128/action-mirror-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00128/manifest.json create mode 100644 tests/golden/M16-GAP-00128/task-context.json create mode 100644 tests/golden/M16-GAP-00129/action-new-desktop-report.json create mode 100644 tests/golden/M16-GAP-00129/action-new-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00129/manifest.json create mode 100644 tests/golden/M16-GAP-00129/task-context.json create mode 100644 tests/golden/M16-GAP-00130/action-paste-desktop-report.json create mode 100644 tests/golden/M16-GAP-00130/action-paste-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00130/manifest.json create mode 100644 tests/golden/M16-GAP-00130/task-context.json create mode 100644 tests/golden/M16-GAP-00131/action-previewrange-set-desktop-report.json create mode 100644 tests/golden/M16-GAP-00131/action-previewrange-set-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00131/manifest.json create mode 100644 tests/golden/M16-GAP-00131/task-context.json create mode 100644 tests/golden/M16-GAP-00132/action-push-down-desktop-report.json create mode 100644 tests/golden/M16-GAP-00132/action-push-down-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00132/manifest.json create mode 100644 tests/golden/M16-GAP-00132/task-context.json create mode 100644 tests/golden/M16-GAP-00133/action-select-all-desktop-report.json create mode 100644 tests/golden/M16-GAP-00133/action-select-all-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00133/manifest.json create mode 100644 tests/golden/M16-GAP-00133/task-context.json create mode 100644 tests/golden/M16-GAP-00134/action-select-box-desktop-report.json create mode 100644 tests/golden/M16-GAP-00134/action-select-box-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00134/manifest.json create mode 100644 tests/golden/M16-GAP-00134/task-context.json create mode 100644 tests/golden/M16-GAP-00135/action-select-by-type-desktop-report.json create mode 100644 tests/golden/M16-GAP-00135/action-select-by-type-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00135/manifest.json create mode 100644 tests/golden/M16-GAP-00135/task-context.json create mode 100644 tests/golden/M16-GAP-00136/action-select-circle-desktop-report.json create mode 100644 tests/golden/M16-GAP-00136/action-select-circle-local-exact-report.json create mode 100644 tests/golden/M16-GAP-00136/manifest.json create mode 100644 tests/golden/M16-GAP-00136/task-context.json create mode 100644 tools/web/check-action-bake-keys-desktop.py create mode 100644 tools/web/check-action-clean-desktop.py create mode 100644 tools/web/check-action-clickselect-desktop.py create mode 100644 tools/web/check-action-copy-desktop.py create mode 100644 tools/web/check-action-delete-desktop.py create mode 100644 tools/web/check-action-duplicate-desktop.py create mode 100644 tools/web/check-action-duplicate-move-desktop.py create mode 100644 tools/web/check-action-easing-type-desktop.py create mode 100644 tools/web/check-action-extrapolation-type-desktop.py create mode 100644 tools/web/check-action-frame-jump-desktop.py create mode 100644 tools/web/check-action-handle-type-desktop.py create mode 100644 tools/web/check-action-interpolation-type-desktop.py create mode 100644 tools/web/check-action-keyframe-insert-desktop.py create mode 100644 tools/web/check-action-keyframe-type-desktop.py create mode 100644 tools/web/check-action-markers-make-local-desktop.py create mode 100644 tools/web/check-action-mirror-desktop.py create mode 100644 tools/web/check-action-new-desktop.py create mode 100644 tools/web/check-action-paste-desktop.py create mode 100644 tools/web/check-action-previewrange-set-desktop.py create mode 100644 tools/web/check-action-push-down-desktop.py create mode 100644 tools/web/check-action-select-all-desktop.py create mode 100644 tools/web/check-action-select-box-desktop.py create mode 100644 tools/web/check-action-select-by-type-desktop.py create mode 100644 tools/web/check-action-select-circle-desktop.py create mode 100644 tools/web/generated/M16-GAP-00096.py create mode 100644 tools/web/generated/M16-GAP-00097.py create mode 100644 tools/web/generated/M16-GAP-00098.py create mode 100644 tools/web/generated/M16-GAP-00099.py create mode 100644 tools/web/generated/M16-GAP-00100.py create mode 100644 tools/web/generated/M16-GAP-00101.py create mode 100644 tools/web/generated/M16-GAP-00102.py create mode 100644 tools/web/generated/M16-GAP-00103.py create mode 100644 tools/web/generated/M16-GAP-00104.py create mode 100644 tools/web/generated/M16-GAP-00105.py create mode 100644 tools/web/generated/M16-GAP-00106.py create mode 100644 tools/web/generated/M16-GAP-00107.py create mode 100644 tools/web/generated/M16-GAP-00108.py create mode 100644 tools/web/generated/M16-GAP-00109.py create mode 100644 tools/web/generated/M16-GAP-00110.py create mode 100644 tools/web/generated/M16-GAP-00111.py create mode 100644 tools/web/generated/M16-GAP-00112.py create mode 100644 tools/web/generated/M16-GAP-00113.py create mode 100644 tools/web/generated/M16-GAP-00114.py create mode 100644 tools/web/generated/M16-GAP-00115.py create mode 100644 tools/web/generated/M16-GAP-00116.py create mode 100644 tools/web/generated/M16-GAP-00117.py create mode 100644 tools/web/generated/M16-GAP-00118.py create mode 100644 tools/web/generated/M16-GAP-00119.py create mode 100644 tools/web/generated/M16-GAP-00120.py create mode 100644 tools/web/generated/M16-GAP-00121.py create mode 100644 tools/web/generated/M16-GAP-00122.py create mode 100644 tools/web/generated/M16-GAP-00123.py create mode 100644 tools/web/generated/M16-GAP-00124.py create mode 100644 tools/web/generated/M16-GAP-00125.py create mode 100644 tools/web/generated/M16-GAP-00126.py create mode 100644 tools/web/generated/M16-GAP-00127.py create mode 100644 tools/web/generated/M16-GAP-00128.py create mode 100644 tools/web/generated/M16-GAP-00129.py create mode 100644 tools/web/generated/M16-GAP-00130.py create mode 100644 tools/web/generated/M16-GAP-00131.py create mode 100644 tools/web/generated/M16-GAP-00132.py create mode 100644 tools/web/generated/M16-GAP-00133.py create mode 100644 tools/web/generated/M16-GAP-00134.py create mode 100644 tools/web/generated/M16-GAP-00135.py create mode 100644 tools/web/generated/M16-GAP-00136.py create mode 100644 web/protocol/atomic-checkpoint.ts create mode 100644 web/protocol/provider-usage.ts create mode 100644 web/protocol/streaming-consumer.ts create mode 100644 web/protocol/token-limit.ts create mode 100644 web/tests/unit/streaming-resilience.test.mjs diff --git a/blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp b/blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp index 90aced43..c33c7b1b 100644 --- a/blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp +++ b/blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp @@ -31,6 +31,7 @@ #include "BLO_core_file_reader.hh" #include "DNA_genfile.h" +#include "DNA_anim_enums.h" #include "DNA_curve_enums.h" #include "DNA_lattice_types.h" #include "DNA_mask_types.h" @@ -1466,8 +1467,8 @@ std::string modifier_type_name(const int64_t type) "ARRAY", "EDGE_SPLIT", "DISPLACE", "UV_PROJECT", "SMOOTH", "CAST", "MESH_DEFORM", "PARTICLE_SYSTEM", "PARTICLE_INSTANCE", "EXPLODE", "CLOTH", "COLLISION", "BEVEL", "SHRINKWRAP", "FLUID_SIM", "MASK", "SIMPLE_DEFORM", "MULTIRES", - "SURFACE", "UNSUPPORTED_31", "SHAPE_KEY", "SOLIDIFY", "SCREW", "WARP", "WEIGHT_VG_EDIT", - "WEIGHT_VG_MIX", "WEIGHT_VG_PROXIMITY", "OCEAN", "DYNAMIC_PAINT", "REMESH", "SKIN", + "SURFACE", "UNSUPPORTED_31", "SHAPE_KEY", "SOLIDIFY", "SCREW", "WARP", "VERTEX_WEIGHT_EDIT", + "VERTEX_WEIGHT_MIX", "VERTEX_WEIGHT_PROXIMITY", "OCEAN", "DYNAMIC_PAINT", "REMESH", "SKIN", "LAPLACIANSMOOTH", "TRIANGULATE", "UV_WARP", "MESH_CACHE", "LAPLACIANDEFORM", "WIREFRAME", "DATA_TRANSFER", "NORMAL_EDIT", "CORRECTIVE_SMOOTH", "MESH_SEQUENCE_CACHE", "SURFACE_DEFORM", "WEIGHTED_NORMAL", "WELD", "FLUID", "NODES", "MESH_TO_VOLUME", "VOLUME_DISPLACE", "VOLUME_TO_MESH", @@ -1634,8 +1635,8 @@ json modifier_parameters(const ParsedBlend &blend, parameters["symmetryAxes"] = read_integer(*blend.sdna, modifier, "symmetry_axes").value_or(1); break; case 33: - parameters["thickness"] = read_float(*blend.sdna, modifier, "offset_fac").value_or(0.01f); - parameters["offset"] = read_float(*blend.sdna, modifier, "offset").value_or(-1.0f); + parameters["thickness"] = read_float(*blend.sdna, modifier, "offset").value_or(0.01f); + parameters["offset"] = read_float(*blend.sdna, modifier, "offset_fac").value_or(-1.0f); break; case 34: append_target("ob_axis"); @@ -2544,6 +2545,7 @@ json fcurve_channel(const ParsedBlend &blend, const ElementRef &fcurve) const std::optional path_pointer = read_pointer(*blend.sdna, fcurve, "rna_path"); const std::string path = path_pointer ? read_raw_string(blend, *path_pointer, 2048) : std::string(); const int64_t array_index = read_integer(*blend.sdna, fcurve, "array_index").value_or(-1); + const int64_t extrapolation = read_integer(*blend.sdna, fcurve, "extend").value_or(FCURVE_EXTRAPOLATE_CONSTANT); const std::string channel_path = path.empty() || array_index < 0 ? path : path + "[" + std::to_string(array_index) + "]"; @@ -2563,8 +2565,31 @@ json fcurve_channel(const ParsedBlend &blend, const ElementRef &fcurve) const float value = values[4]; if (!std::isfinite(frame) || !std::isfinite(value)) continue; const int interpolation = int(read_integer(*blend.sdna, *point, "ipo").value_or(2)); + const bool selected = (read_integer(*blend.sdna, *point, "f2").value_or(0) & BEZT_FLAG_SELECT) != 0; + const int easing = int(read_integer(*blend.sdna, *point, "easing").value_or(BEZT_IPO_EASE_AUTO)); + const int handle_left = int(read_integer(*blend.sdna, *point, "h1").value_or(HD_FREE)); + const int handle_right = int(read_integer(*blend.sdna, *point, "h2").value_or(HD_FREE)); + const int keyframe_type = int(read_integer(*blend.sdna, *point, "hide").value_or(BEZT_KEYTYPE_KEYFRAME)); const char *interpolation_name = interpolation == 0 ? "CONSTANT" : interpolation == 1 ? "LINEAR" : "BEZIER"; - keyframes.push_back({{"frame", frame}, {"value", json::array({value})}, {"interpolation", interpolation_name}}); + const char *easing_name = easing == BEZT_IPO_EASE_IN ? "EASE_IN" : + easing == BEZT_IPO_EASE_OUT ? "EASE_OUT" : + easing == BEZT_IPO_EASE_IN_OUT ? "EASE_IN_OUT" : "AUTO"; + const char *handle_name = handle_left == HD_VECT && handle_right == HD_VECT ? "VECTOR" : + handle_left == HD_ALIGN && handle_right == HD_ALIGN ? "ALIGNED" : + handle_left == HD_AUTO_ANIM && handle_right == HD_AUTO_ANIM ? "AUTO_CLAMPED" : + handle_left == HD_AUTO && handle_right == HD_AUTO ? "AUTO" : "FREE"; + const char *keyframe_type_name = keyframe_type == BEZT_KEYTYPE_EXTREME ? "EXTREME" : + keyframe_type == BEZT_KEYTYPE_BREAKDOWN ? "BREAKDOWN" : + keyframe_type == BEZT_KEYTYPE_JITTER ? "JITTER" : + keyframe_type == BEZT_KEYTYPE_MOVEHOLD ? "MOVING_HOLD" : + keyframe_type == BEZT_KEYTYPE_GENERATED ? "GENERATED" : "KEYFRAME"; + keyframes.push_back({{"frame", frame}, + {"value", json::array({value})}, + {"interpolation", interpolation_name}, + {"easing", easing_name}, + {"handleType", handle_name}, + {"keyframeType", keyframe_type_name}, + {"selected", selected}}); frame_start = std::min(frame_start, frame); frame_end = std::max(frame_end, frame); } @@ -2591,6 +2616,7 @@ json fcurve_channel(const ParsedBlend &blend, const ElementRef &fcurve) } return { {"path", channel_path}, {"interpolation", channel_interpolation.empty() ? "BEZIER" : channel_interpolation}, + {"extrapolation", extrapolation == FCURVE_EXTRAPOLATE_LINEAR ? "LINEAR" : "CONSTANT"}, {"keyframes", std::move(keyframes)}, {"frameStart", std::isfinite(frame_start) ? frame_start : 0.0f}, {"frameEnd", std::isfinite(frame_end) ? frame_end : 0.0f} }; @@ -2625,6 +2651,11 @@ void append_action_animation(const ParsedBlend &blend, if (!visited.insert(visit_key).second) return; json channels = json::array(); + json markers = json::array(); + for (const ElementRef &marker : linked_list_elements(blend, *action, "markers")) { + markers.push_back({{"name", read_string(*blend.sdna, marker, "name")}, + {"frame", read_integer(*blend.sdna, marker, "frame").value_or(0)}}); + } const float action_frame_start = read_float(*blend.sdna, *action, "frame_start").value_or(0.0f); const float action_frame_end = read_float(*blend.sdna, *action, "frame_end").value_or(0.0f); float frame_start = std::numeric_limits::infinity(); @@ -2674,7 +2705,7 @@ void append_action_animation(const ParsedBlend &blend, } } } - if (channels.empty()) return; + if (channels.empty() && markers.empty()) return; json unique_channels = json::array(); std::unordered_set channel_keys; for (const json &channel : channels) { @@ -2689,6 +2720,7 @@ void append_action_animation(const ParsedBlend &blend, {"targetId", target_id}, {"frameStart", std::isfinite(frame_start) ? frame_start : 0.0f}, {"frameEnd", std::isfinite(frame_end) ? frame_end : 0.0f}, + {"markers", std::move(markers)}, {"channels", std::move(channels)}}); } @@ -4023,6 +4055,11 @@ json scene_ir_from_blend(const ParsedBlend &blend, scene_fps = int(read_integer(*blend.sdna, *render, "frs_sec").value_or(24)); scene_fps_base = read_float(*blend.sdna, *render, "frs_sec_base").value_or(1.0f); scene["renderEngine"] = read_string(*blend.sdna, *render, "engine"); + const int64_t render_flags = read_integer(*blend.sdna, *render, "flag").value_or(0); + if ((render_flags & SCER_PRV_RANGE) != 0) { + scene["previewRange"] = {{"start", read_integer(*blend.sdna, *render, "psfra").value_or(frame_start)}, + {"end", read_integer(*blend.sdna, *render, "pefra").value_or(frame_end)}}; + } } if (const std::optional units = embedded_element(*blend.sdna, element, "unit")) { unit_system = int(read_integer(*blend.sdna, *units, "system").value_or(unit_system)); diff --git a/docs/CONTEXT_BUDGET.md b/docs/CONTEXT_BUDGET.md index 9e6ff059..dfc78a0f 100644 --- a/docs/CONTEXT_BUDGET.md +++ b/docs/CONTEXT_BUDGET.md @@ -9,12 +9,16 @@ 3. `tests/golden//manifest.json`:只取 parent、runtime、artifact hash、`nextTask`,最多 24 KiB。 4. `docs/status/.md`:只取上一任务的证据摘要,最多 6 KiB。 -四份输入的估算总量最多 3,500 tokens。实现代码、长日志、完整路线图和 parity ledger 只按任务卡列出的路径追加读取;它们不是默认上下文。 +四份输入和证据内容最多占 2,476 tokens;另有 1,024 tokens 保留给打印任务包自身的 JSON 外壳, +因此模型实际输入仍不超过 3,500 tokens。实现代码、长日志、完整路线图和 parity ledger 只按任务卡列出的路径追加读取;它们不是默认上下文。 任务上下文生成器在生成 `inputPaths` 时还会前置执行证据筛选:最多 12 个证据路径,证据文件总计最多 -8 KiB,并从 3,500 token 总预算扣除四份基础文档后使用剩余空间。超限、缺失、越界或不可审计路径不会进入读取清单, +8 KiB,并从扣除 1,024-token 打印外壳和四份基础文档后的剩余空间中选择。超限、缺失、越界或不可审计路径不会进入读取清单, 而会写入 `inputSelection.excluded[]`,其中 `reason` 是稳定的机器可读排除原因;治理门会校验所选路径、字节总数和排除审计。 +默认 `print-task-context` 只输出紧凑任务包;完整选择审计仍写入 `task-context.json`,不会重复进入模型输入。 +如果紧凑包自身超过预留外壳预算,`print-task-context` 会在 stdout 写入任何 JSON 前失败,避免超大包进入远程传输。 + 全量 gap 计划 `tests/golden/M15-03A/next-task-plan.json` 约 6.8 MiB,只能由盘点/生成门读取,禁止作为任务上下文打开。`task-index.json` 保存源计划 hash 和每条记录的偏移,`task-catalog.jsonl` 保存一行一个任务;`task-context` 只随机读取当前任务的一行。索引缺失、源 hash 漂移或 catalog 损坏会直接失败,不能回退加载整份计划。 ## 机器门禁 diff --git a/docs/CONTEXT_GOVERNANCE.md b/docs/CONTEXT_GOVERNANCE.md index 689c1580..7fdd9151 100644 --- a/docs/CONTEXT_GOVERNANCE.md +++ b/docs/CONTEXT_GOVERNANCE.md @@ -31,11 +31,12 @@ Markdown checkbox 不能覆盖失败命令或 hash 漂移。 | 任务卡 | 8 KiB | 最多 12 个输入路径、8 条命令;不复制日志 | | parent manifest | 24 KiB | 只记录必要 artifact,最多 32 项 | | parent status | 6 KiB | 只保留命令、退出码、关键结果、风险和回滚 | -| 四份输入合计 | 3,500 tokens | 由 `contextSizeReport` 和治理门同时检查 | +| 四份输入、证据与打印外壳 | 3,500 tokens | 内容最多 2,476 tokens,打印包预留 1,024 tokens;由 `contextSizeReport` 和治理门同时检查 | | catalog 单行 | 2 KiB | 机器随机读取;执行者不得通读 catalog | -生成阶段的证据读取清单另外受 `maxFiles=12`、`evidenceBytes=8 KiB` 和基础文档扣除后的剩余上下文空间约束。 +生成阶段的证据读取清单另外受 `maxFiles=12`、`evidenceBytes=8 KiB` 和基础文档、1,024-token 打印外壳扣除后的剩余上下文空间约束。 每个未选路径必须有 `inputSelection.excluded[].reason`,因此校验器不会成为首次发现超大上下文的地方。 +`print-task-context` 也会在 JSON 输出前执行外壳预算检查;超限时只返回短诊断并以非零状态退出。 全量 `next-task-plan.json`、parity map 和 gap audit 是生成器输入,不是执行上下文。索引保存源 hash 和 catalog offset;源 hash、catalog hash 或 offset 损坏时必须重新生成,不能回退读取大计划。 diff --git a/docs/EXECUTION_QUEUE.md b/docs/EXECUTION_QUEUE.md index ad2adc7e..de5c1b9f 100644 --- a/docs/EXECUTION_QUEUE.md +++ b/docs/EXECUTION_QUEUE.md @@ -9,10 +9,10 @@ | 字段 | 值 | | --- | --- | | 里程碑 | M16 Main、Mesh、Modifier、Sculpt | -| 当前任务 | `M16-GAP-00096` | -| parent manifest | `tests/golden/M16-GAP-00095/manifest.json` | -| 任务卡 | [`tasks/M16-GAP-00096.md`](tasks/M16-GAP-00096.md) | -| 专项验收 | `npm --prefix web run test:generated-gap -- --task M16-GAP-00096` | +| 当前任务 | `M16-GAP-00137` | +| parent manifest | `tests/golden/M16-GAP-00136/manifest.json` | +| 任务卡 | [`tasks/M16-GAP-00137.md`](tasks/M16-GAP-00137.md) | +| 专项验收 | `npm --prefix web run test:generated-gap -- --task M16-GAP-00137` | 领取前执行: diff --git a/docs/README.md b/docs/README.md index d82fbc43..5f2519e0 100644 --- a/docs/README.md +++ b/docs/README.md @@ -39,7 +39,8 @@ ## 最小上下文规则 -默认只加载队列、当前任务卡、parent manifest 和 parent status;总量上限为 3,500 tokens。 +默认只加载队列、当前任务卡、parent manifest 和 parent status;内容与打印包合计上限为 3,500 tokens, +其中 1,024 tokens 预留给紧凑任务包外壳。 实现细节按任务卡的文件清单追加读取。不要为了确认一个局部输入、IO 或安全任务而加载整份 `PROJECT_STATUS_AND_NEXT_WORK.md` 或完整 parity 计划。 diff --git a/docs/status/M16-GAP-00096.md b/docs/status/M16-GAP-00096.md new file mode 100644 index 00000000..d4d4d6ea --- /dev/null +++ b/docs/status/M16-GAP-00096.md @@ -0,0 +1,19 @@ +# M16-GAP-00096 Status + +status: done +task: SOLIDIFY modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Mesh SOLIDIFY modifier stack exposure for `mesh:WebGapSolidifyMesh`. + +evidence: + +- Desktop fixture exposes `WebGapSolidify` as SOLIDIFY type code 33 with thickness `0.275` and offset `0.35`; save/reopen is exact. +- WASM/Main exposes the same SOLIDIFY stack entry with matching thickness/offset and generic visibility flags; save/reopen is exact. +- Reader maps Solidify DNA fields with Blender semantics (`offset` to thickness and `offset_fac` to offset). +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, direct comparator, and WebEngine build exited 0. + +knownRisk: Solidify geometry evaluation remains metadata-only; this slice covers modifier stack transport and base metadata only. + +nextTask: `M16-GAP-00097` diff --git a/docs/status/M16-GAP-00097.md b/docs/status/M16-GAP-00097.md new file mode 100644 index 00000000..92c2c5a1 --- /dev/null +++ b/docs/status/M16-GAP-00097.md @@ -0,0 +1,18 @@ +# M16-GAP-00097 Status + +status: done +task: SUBSURF modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Mesh SUBSURF modifier stack exposure for `mesh:WebGapSubsurfMesh`. + +evidence: + +- Desktop fixture exposes `WebGapSubsurf` as SUBSURF type code 1 with SIMPLE subdivision, viewport level 2, and render level 3; save/reopen is exact. +- WASM/Main exposes the same SUBSURF stack entry and matching subdivision parameters; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, and direct comparator exited 0. + +knownRisk: Subdivision geometry evaluation is unavailable in this build without OpenSubdiv; this slice covers modifier stack transport and base metadata only. + +nextTask: `M16-GAP-00098` diff --git a/docs/status/M16-GAP-00098.md b/docs/status/M16-GAP-00098.md new file mode 100644 index 00000000..96ab7dc5 --- /dev/null +++ b/docs/status/M16-GAP-00098.md @@ -0,0 +1,18 @@ +# M16-GAP-00098 Status + +status: done +task: SURFACE modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Mesh SURFACE modifier stack exposure for `mesh:WebGapSurfaceMesh`. + +evidence: + +- Desktop fixture exposes `WebGapSurface` as SURFACE type code 30; save/reopen is exact. +- WASM/Main exposes the same SURFACE stack entry with matching generic visibility flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, and direct comparator exited 0. + +knownRisk: Surface deformation evaluation remains metadata-only; this slice covers modifier stack transport and base metadata only. + +nextTask: `M16-GAP-00099` diff --git a/docs/status/M16-GAP-00099.md b/docs/status/M16-GAP-00099.md new file mode 100644 index 00000000..d37d2f37 --- /dev/null +++ b/docs/status/M16-GAP-00099.md @@ -0,0 +1,18 @@ +# M16-GAP-00099 Status + +status: done +task: SURFACE_DEFORM modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Mesh SURFACE_DEFORM modifier stack exposure for `mesh:WebGapSurfaceDeformMesh`. + +evidence: + +- Desktop fixture exposes `WebGapSurfaceDeform` as SURFACE_DEFORM type code 52; save/reopen is exact. +- WASM/Main exposes the same SURFACE_DEFORM stack entry with matching generic visibility flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, and direct comparator exited 0. + +knownRisk: Surface deformation binding/evaluation remains metadata-only; this slice covers modifier stack transport and base metadata only. + +nextTask: `M16-GAP-00100` diff --git a/docs/status/M16-GAP-00100.md b/docs/status/M16-GAP-00100.md new file mode 100644 index 00000000..ca5be795 --- /dev/null +++ b/docs/status/M16-GAP-00100.md @@ -0,0 +1,18 @@ +# M16-GAP-00100 Status + +status: done +task: TRIANGULATE modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Mesh TRIANGULATE modifier stack exposure for `mesh:WebGapTriangulateMesh`. + +evidence: + +- Desktop fixture exposes `WebGapTriangulate` as TRIANGULATE type code 44 with FIXED quad and CLIP ngon methods; save/reopen is exact. +- WASM/Main exposes the same TRIANGULATE stack entry and matching triangulation methods; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, and direct comparator exited 0. + +knownRisk: Triangulation geometry evaluation remains metadata-only; this slice covers modifier stack transport and base metadata only. + +nextTask: `M16-GAP-00101` diff --git a/docs/status/M16-GAP-00101.md b/docs/status/M16-GAP-00101.md new file mode 100644 index 00000000..e42f25d0 --- /dev/null +++ b/docs/status/M16-GAP-00101.md @@ -0,0 +1,18 @@ +# M16-GAP-00101 Status + +status: done +task: UV_PROJECT modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Mesh UV_PROJECT modifier stack exposure for `mesh:WebGapUvProjectMesh`. + +evidence: + +- Desktop fixture exposes `WebGapUvProject` as UV_PROJECT type code 15; save/reopen is exact. +- WASM/Main exposes the same UV_PROJECT stack entry with matching generic visibility flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, and direct comparator exited 0. + +knownRisk: UV projection evaluation remains metadata-only; this slice covers modifier stack transport and base metadata only. + +nextTask: `M16-GAP-00102` diff --git a/docs/status/M16-GAP-00102.md b/docs/status/M16-GAP-00102.md new file mode 100644 index 00000000..a0ccc331 --- /dev/null +++ b/docs/status/M16-GAP-00102.md @@ -0,0 +1,18 @@ +# M16-GAP-00102 Status + +status: done +task: UV_WARP modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Mesh UV_WARP modifier stack exposure for `mesh:WebGapUvWarpMesh`. + +evidence: + +- Desktop fixture exposes `WebGapUvWarp` as UV_WARP type code 47; save/reopen is exact. +- WASM/Main exposes the same UV_WARP stack entry with matching generic visibility flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, and direct comparator exited 0. + +knownRisk: UV warp evaluation remains metadata-only; this slice covers modifier stack transport and base metadata only. + +nextTask: `M16-GAP-00103` diff --git a/docs/status/M16-GAP-00103.md b/docs/status/M16-GAP-00103.md new file mode 100644 index 00000000..d4c9cc49 --- /dev/null +++ b/docs/status/M16-GAP-00103.md @@ -0,0 +1,18 @@ +# M16-GAP-00103 Status + +status: done +task: VERTEX_WEIGHT_EDIT modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Mesh VERTEX_WEIGHT_EDIT modifier stack exposure for `mesh:WebGapVertexWeightEditMesh`. + +evidence: + +- Desktop fixture exposes `WebGapVertexWeightEdit` as VERTEX_WEIGHT_EDIT type code 36; save/reopen is exact. +- Reader name table now uses Blender's canonical VERTEX_WEIGHT_EDIT name for type code 36; rebuilt WASM/Main exposes the same stack entry with matching generic flags. +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, direct comparator, and WebEngine build exited 0. + +knownRisk: Vertex weight editing evaluation remains metadata-only; this slice covers modifier stack transport and base metadata only. + +nextTask: `M16-GAP-00104` diff --git a/docs/status/M16-GAP-00104.md b/docs/status/M16-GAP-00104.md new file mode 100644 index 00000000..53682943 --- /dev/null +++ b/docs/status/M16-GAP-00104.md @@ -0,0 +1,18 @@ +# M16-GAP-00104 Status + +status: done +task: VERTEX_WEIGHT_MIX modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Mesh VERTEX_WEIGHT_MIX modifier stack exposure for `mesh:WebGapVertexWeightMixMesh`. + +evidence: + +- Desktop fixture exposes `WebGapVertexWeightMix` as VERTEX_WEIGHT_MIX type code 37; save/reopen is exact. +- WASM/Main exposes the same VERTEX_WEIGHT_MIX stack entry with matching generic visibility flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, and direct comparator exited 0. + +knownRisk: Vertex weight mixing evaluation remains metadata-only; this slice covers modifier stack transport and base metadata only. + +nextTask: `M16-GAP-00105` diff --git a/docs/status/M16-GAP-00105.md b/docs/status/M16-GAP-00105.md new file mode 100644 index 00000000..b94e857d --- /dev/null +++ b/docs/status/M16-GAP-00105.md @@ -0,0 +1,18 @@ +# M16-GAP-00105 Status + +status: done +task: VERTEX_WEIGHT_PROXIMITY modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Mesh VERTEX_WEIGHT_PROXIMITY modifier stack exposure for `mesh:WebGapVertexWeightProximityMesh`. + +evidence: + +- Desktop fixture exposes `WebGapVertexWeightProximity` as VERTEX_WEIGHT_PROXIMITY type code 38; save/reopen is exact. +- WASM/Main exposes the same VERTEX_WEIGHT_PROXIMITY stack entry with matching generic visibility flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, and direct comparator exited 0. + +knownRisk: Vertex weight proximity evaluation remains metadata-only; this slice covers modifier stack transport and base metadata only. + +nextTask: `M16-GAP-00106` diff --git a/docs/status/M16-GAP-00106.md b/docs/status/M16-GAP-00106.md new file mode 100644 index 00000000..75a2effd --- /dev/null +++ b/docs/status/M16-GAP-00106.md @@ -0,0 +1,18 @@ +# M16-GAP-00106 Status + +status: done +task: VOLUME_DISPLACE modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Volume-object VOLUME_DISPLACE modifier stack exposure for `object:WebGapVolumeDisplaceObject`. + +evidence: + +- Desktop fixture exposes `WebGapVolumeDisplace` as VOLUME_DISPLACE type code 59 on a Volume object; save/reopen is exact. +- WASM/Main exposes the same VOLUME_DISPLACE stack entry with matching generic visibility flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, and direct comparator exited 0. + +knownRisk: Volume displacement evaluation remains metadata-only; this slice covers modifier stack transport and base metadata only. + +nextTask: `M16-GAP-00107` diff --git a/docs/status/M16-GAP-00107.md b/docs/status/M16-GAP-00107.md new file mode 100644 index 00000000..13a25389 --- /dev/null +++ b/docs/status/M16-GAP-00107.md @@ -0,0 +1,18 @@ +# M16-GAP-00107 Status + +status: done +task: VOLUME_TO_MESH modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Mesh-hosted VOLUME_TO_MESH modifier stack exposure for `mesh:WebGapVolumeToMeshMesh`. + +evidence: + +- Desktop fixture exposes `WebGapVolumeToMesh` as VOLUME_TO_MESH type code 58; save/reopen is exact. +- WASM/Main exposes the same VOLUME_TO_MESH stack entry with matching generic visibility flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, and direct comparator exited 0. + +knownRisk: Volume-to-mesh evaluation remains metadata-only; this slice covers modifier stack transport and base metadata only. + +nextTask: `M16-GAP-00108` diff --git a/docs/status/M16-GAP-00108.md b/docs/status/M16-GAP-00108.md new file mode 100644 index 00000000..73711650 --- /dev/null +++ b/docs/status/M16-GAP-00108.md @@ -0,0 +1,18 @@ +# M16-GAP-00108 Status + +status: done +task: WARP modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Mesh WARP modifier stack exposure for `mesh:WebGapWarpMesh`. + +evidence: + +- Desktop fixture exposes `WebGapWarp` as WARP type code 35; save/reopen is exact. +- WASM/Main exposes the same WARP stack entry with matching generic visibility flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, and direct comparator exited 0. + +knownRisk: Warp deformation evaluation remains metadata-only; this slice covers modifier stack transport and base metadata only. + +nextTask: `M16-GAP-00109` diff --git a/docs/status/M16-GAP-00109.md b/docs/status/M16-GAP-00109.md new file mode 100644 index 00000000..0775ca80 --- /dev/null +++ b/docs/status/M16-GAP-00109.md @@ -0,0 +1,18 @@ +# M16-GAP-00109 Status + +status: done +task: WAVE modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Mesh WAVE modifier stack exposure for `mesh:WebGapWaveMesh`. + +evidence: + +- Desktop fixture exposes `WebGapWave` as WAVE type code 7 with height 0.65, width 1.75, and speed 0.42; save/reopen is exact. +- WASM/Main exposes the same WAVE stack entry and matching height, width, speed, and generic visibility flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, and direct comparator exited 0. + +knownRisk: Wave deformation evaluation remains metadata-only; this slice covers modifier stack transport and selected parameter metadata. + +nextTask: `M16-GAP-00110` diff --git a/docs/status/M16-GAP-00110.md b/docs/status/M16-GAP-00110.md new file mode 100644 index 00000000..f604a115 --- /dev/null +++ b/docs/status/M16-GAP-00110.md @@ -0,0 +1,18 @@ +# M16-GAP-00110 Status + +status: done +task: WEIGHTED_NORMAL modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Mesh WEIGHTED_NORMAL modifier stack exposure for `mesh:WebGapWeightedNormalMesh`. + +evidence: + +- Desktop fixture exposes `WebGapWeightedNormal` as WEIGHTED_NORMAL type code 54 with weight 70; save/reopen is exact. +- WASM/Main exposes the same stack entry and matching weight plus generic visibility flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, and direct comparator exited 0. + +knownRisk: Weighted normal evaluation remains metadata-only; this slice covers modifier stack transport and weight metadata. + +nextTask: `M16-GAP-00111` diff --git a/docs/status/M16-GAP-00111.md b/docs/status/M16-GAP-00111.md new file mode 100644 index 00000000..c6e4a862 --- /dev/null +++ b/docs/status/M16-GAP-00111.md @@ -0,0 +1,18 @@ +# M16-GAP-00111 Status + +status: done +task: WELD modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Mesh WELD modifier stack exposure for `mesh:WebGapWeldMesh`. + +evidence: + +- Desktop fixture exposes `WebGapWeld` as WELD type code 55 with merge threshold 0.125; save/reopen is exact. +- WASM/Main exposes the same stack entry and matching merge threshold plus generic visibility flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, and direct comparator exited 0. + +knownRisk: Weld evaluation remains metadata-only; this slice covers modifier stack transport and merge threshold metadata. + +nextTask: `M16-GAP-00112` diff --git a/docs/status/M16-GAP-00112.md b/docs/status/M16-GAP-00112.md new file mode 100644 index 00000000..9f488a46 --- /dev/null +++ b/docs/status/M16-GAP-00112.md @@ -0,0 +1,18 @@ +# M16-GAP-00112 Status + +status: done +task: WIREFRAME modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Mesh WIREFRAME modifier stack exposure for `mesh:WebGapWireframeMesh`. + +evidence: + +- Desktop fixture exposes `WebGapWireframe` as WIREFRAME type code 48 with thickness 0.08; save/reopen is exact. +- WASM/Main exposes the same stack entry and matching thickness plus generic visibility flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, and direct comparator exited 0. + +knownRisk: Wireframe evaluation remains metadata-only; this slice covers modifier stack transport and thickness metadata. + +nextTask: `M16-GAP-00113` diff --git a/docs/status/M16-GAP-00113.md b/docs/status/M16-GAP-00113.md new file mode 100644 index 00000000..67436b40 --- /dev/null +++ b/docs/status/M16-GAP-00113.md @@ -0,0 +1,18 @@ +# M16-GAP-00113 Status + +status: done +task: action.bake_keys operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor bake-keys operation on `object:WebGapBakeKeysObject`. + +evidence: + +- Blender generator creates two selected endpoint keys and executes `bpy.ops.action.bake_keys` in a real Action Editor context; each location channel contains frames 1 through 5 afterward. +- WASM/Main reads the same fixture with three matching channels and five keyframes per channel; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, desktop checker, npm comparator, and direct comparator exited 0. + +knownRisk: This slice covers Action Editor bake semantics for selected endpoint segments; other editor contexts and bake options remain separate operator tasks. + +nextTask: `M16-GAP-00114` diff --git a/docs/status/M16-GAP-00114.md b/docs/status/M16-GAP-00114.md new file mode 100644 index 00000000..65374a59 --- /dev/null +++ b/docs/status/M16-GAP-00114.md @@ -0,0 +1,18 @@ +# M16-GAP-00114 Status + +status: done +task: action.clean operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor clean operation on `object:WebGapCleanObject`. + +evidence: + +- Blender generator creates three location channels with frames 1, 3, and 5 and executes `bpy.ops.action.clean(threshold=0.01, channels=False)` in a real Action Editor context; each channel retains the single frame at 1. +- WASM/Main reads the same fixture with three matching channels and one keyframe per channel; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, desktop checker, npm comparator, direct comparator, and context handoff exited 0. + +knownRisk: This slice covers Action Editor clean with a fixed threshold and channel mode; other clean options and editor contexts remain separate operator tasks. + +nextTask: `M16-GAP-00115` diff --git a/docs/status/M16-GAP-00115.md b/docs/status/M16-GAP-00115.md new file mode 100644 index 00000000..9543f68e --- /dev/null +++ b/docs/status/M16-GAP-00115.md @@ -0,0 +1,18 @@ +# M16-GAP-00115 Status + +status: done +task: action.clickselect operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor click-select operation on `object:WebGapClickSelectObject`. + +evidence: + +- Blender generator creates three location channels with frames 1, 3, and 5, frames the Action Editor, and executes `bpy.ops.action.clickselect` at frame 3 with column selection; frame 3 is selected in all three channels. +- WASM/Main reads the same fixture with selected keyframe metadata, matching frame-3 selections, and save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, desktop checker, WASM comparator, direct comparator, context governance, and WASM rebuild exited 0. + +knownRisk: This slice covers Action Editor click selection with column mode at a fixed frame; extend, channel-only, and other editor contexts remain separate operator tasks. + +nextTask: `M16-GAP-00116` diff --git a/docs/status/M16-GAP-00116.md b/docs/status/M16-GAP-00116.md new file mode 100644 index 00000000..d0a838a0 --- /dev/null +++ b/docs/status/M16-GAP-00116.md @@ -0,0 +1,18 @@ +# M16-GAP-00116 Status + +status: done +task: action.copy operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor copy operation on `object:WebGapCopyObject`. + +evidence: + +- Blender generator selects frame 3 in all three location channels and executes `bpy.ops.action.copy` in a real Action Editor context. +- Desktop and WASM/Main observe the same selected source keys; copy leaves Main unchanged and save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, desktop checker, npm comparator, direct comparator, context handoff, and WASM-backed comparison exited 0. + +knownRisk: This slice covers copying a fixed selected frame; paste, mixed-channel copy, and other editor contexts remain separate operator tasks. + +nextTask: `M16-GAP-00117` diff --git a/docs/status/M16-GAP-00117.md b/docs/status/M16-GAP-00117.md new file mode 100644 index 00000000..5bf2da50 --- /dev/null +++ b/docs/status/M16-GAP-00117.md @@ -0,0 +1,18 @@ +# M16-GAP-00117 Status + +status: done +task: action.delete operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor delete operation on `object:WebGapDeleteObject`. + +evidence: + +- Blender generator selects frame 3 in all three location channels and executes `bpy.ops.action.delete(confirm=False)` in a real Action Editor context; each channel retains frames 1 and 5. +- WASM/Main reads the same three channels with matching `[1, 5]` keyframes; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, desktop checker, npm comparator, direct comparator, context handoff, and WASM-backed comparison exited 0. + +knownRisk: This slice covers deleting one selected frame from Action Editor FCurves; confirmation behavior and other editor contexts remain separate operator tasks. + +nextTask: `M16-GAP-00118` diff --git a/docs/status/M16-GAP-00118.md b/docs/status/M16-GAP-00118.md new file mode 100644 index 00000000..8d15f35b --- /dev/null +++ b/docs/status/M16-GAP-00118.md @@ -0,0 +1,18 @@ +# M16-GAP-00118 Status + +status: done +task: action.duplicate operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor duplicate operation on `object:WebGapDuplicateObject`. + +evidence: + +- Blender generator selects frame 3 in all three location channels and executes `bpy.ops.action.duplicate`; each channel becomes `[1, 3, 3, 5]` with the duplicated key selected. +- WASM/Main reads the same duplicate keyframes and selected metadata; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, desktop checker, npm comparator, direct comparator, context handoff, and WASM-backed comparison exited 0. + +knownRisk: This slice covers duplicating one selected frame in Action Editor; duplicate-move and other editor contexts remain separate operator tasks. + +nextTask: `M16-GAP-00119` diff --git a/docs/status/M16-GAP-00119.md b/docs/status/M16-GAP-00119.md new file mode 100644 index 00000000..3a12299f --- /dev/null +++ b/docs/status/M16-GAP-00119.md @@ -0,0 +1,18 @@ +# M16-GAP-00119 Status + +status: done +task: action.duplicate_move operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor duplicate-move operation on `object:WebGapDuplicateMoveObject`. + +evidence: + +- Blender generator selects frame 3 and executes `bpy.ops.action.duplicate_move` with a time translation of +2; the duplicate lands at frame 5 and is selected in all three channels. +- WASM/Main reads the same `[1, 3, 5]` channels with frame 5 selected; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, desktop checker, npm comparator, direct comparator, context handoff, and WASM-backed comparison exited 0. + +knownRisk: This slice covers duplicate-move with a fixed +2 frame translation; other transform modes and editor contexts remain separate operator tasks. + +nextTask: `M16-GAP-00120` diff --git a/docs/status/M16-GAP-00120.md b/docs/status/M16-GAP-00120.md new file mode 100644 index 00000000..5921d1a8 --- /dev/null +++ b/docs/status/M16-GAP-00120.md @@ -0,0 +1,18 @@ +# M16-GAP-00120 Status + +status: done +task: action.easing_type operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor easing-type operation on `object:WebGapEasingTypeObject`. + +evidence: + +- Blender generator selects frame 3 and executes `bpy.ops.action.easing_type(type="EASE_IN_OUT")`; all three location curves report `AUTO, EASE_IN_OUT, AUTO`. +- WASM/Main now exports keyframe easing metadata and matches desktop; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, desktop checker, WASM rebuild, npm comparator, direct comparator, context handoff, and governance exited 0. + +knownRisk: This slice covers EASE_IN_OUT on one selected frame; other easing modes and editor contexts remain separate operator tasks. + +nextTask: `M16-GAP-00121` diff --git a/docs/status/M16-GAP-00121.md b/docs/status/M16-GAP-00121.md new file mode 100644 index 00000000..ec3dfb71 --- /dev/null +++ b/docs/status/M16-GAP-00121.md @@ -0,0 +1,18 @@ +# M16-GAP-00121 Status + +status: done +task: action.extrapolation_type operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor extrapolation-type operation on `object:WebGapExtrapolationTypeObject`. + +evidence: + +- Blender generator selects the Action Editor FCurves and executes `bpy.ops.action.extrapolation_type(type="LINEAR")`; all three curves report LINEAR extrapolation. +- WASM/Main now exports FCurve extrapolation metadata and matches desktop; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, desktop checker, WASM rebuild, npm comparator, direct comparator, context handoff, and governance exited 0. + +knownRisk: This slice covers LINEAR extrapolation; constant/cyclic modes and other editor contexts remain separate operator tasks. + +nextTask: `M16-GAP-00122` diff --git a/docs/status/M16-GAP-00122.md b/docs/status/M16-GAP-00122.md new file mode 100644 index 00000000..748bb144 --- /dev/null +++ b/docs/status/M16-GAP-00122.md @@ -0,0 +1,18 @@ +# M16-GAP-00122 Status + +status: done +task: action.frame_jump operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor frame-jump operation on `object:WebGapFrameJumpObject`. + +evidence: + +- Blender generator selects frame 5 in all three location channels and executes `bpy.ops.action.frame_jump`; the scene current frame changes from 1 to 5. +- WASM/Main reads current frame 5 and matching selected frame metadata; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, desktop checker, npm comparator, direct comparator, context handoff, and governance exited 0. + +knownRisk: This slice covers jumping to one selected frame; average-frame behavior with multiple selected times and other editor contexts remain separate operator tasks. + +nextTask: `M16-GAP-00123` diff --git a/docs/status/M16-GAP-00123.md b/docs/status/M16-GAP-00123.md new file mode 100644 index 00000000..61a5c428 --- /dev/null +++ b/docs/status/M16-GAP-00123.md @@ -0,0 +1,18 @@ +# M16-GAP-00123 Status + +status: done +task: action.handle_type operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor handle-type operation on `object:WebGapHandleTypeObject`. + +evidence: + +- Blender selects frame 3 in all three location channels and executes `bpy.ops.action.handle_type(type="VECTOR")`; all saved keyframes expose VECTOR handles. +- WASM/Main reads the same three channels, frames, selection flags, and handle types; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main animation data. +- Generator, desktop checker, npm comparator, direct comparator, context handoff, and governance exit 0. + +knownRisk: This slice covers VECTOR handles on one layered Action; mixed left/right handle modes and other Action operators remain separate tasks. + +nextTask: `M16-GAP-00124` diff --git a/docs/status/M16-GAP-00124.md b/docs/status/M16-GAP-00124.md new file mode 100644 index 00000000..af4d4ab9 --- /dev/null +++ b/docs/status/M16-GAP-00124.md @@ -0,0 +1,18 @@ +# M16-GAP-00124 Status + +status: done +task: action.interpolation_type operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor interpolation-type operation on `object:WebGapInterpolationTypeObject`. + +evidence: + +- Blender selects frame 3 in all three location channels and executes `bpy.ops.action.interpolation_type(type="LINEAR")`. +- Desktop and WASM/Main expose `BEZIER, LINEAR, BEZIER` per channel; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main animation data. +- Generator, desktop checker, npm comparator, direct comparator, context handoff, and governance exit 0. + +knownRisk: This slice covers LINEAR interpolation on selected keys; other interpolation families and operators remain separate tasks. + +nextTask: `M16-GAP-00125` diff --git a/docs/status/M16-GAP-00125.md b/docs/status/M16-GAP-00125.md new file mode 100644 index 00000000..87c6b4b0 --- /dev/null +++ b/docs/status/M16-GAP-00125.md @@ -0,0 +1,18 @@ +# M16-GAP-00125 Status + +status: done +task: action.keyframe_insert operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor keyframe insertion on `object:WebGapKeyframeInsertObject`. + +evidence: + +- Blender starts with frames 1 and 5, runs `bpy.ops.action.keyframe_insert(type="ALL")` at frame 3, and produces three keys in each location channel. +- Desktop and WASM/Main expose matching frames, values, and selection flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main animation data. +- Generator, desktop checker, npm comparator, direct comparator, context handoff, and governance exit 0. + +knownRisk: This slice covers `ALL` insertion into existing Action channels; grouped/selected-channel modes remain separate behavior. + +nextTask: `M16-GAP-00126` diff --git a/docs/status/M16-GAP-00126.md b/docs/status/M16-GAP-00126.md new file mode 100644 index 00000000..4f45d5ad --- /dev/null +++ b/docs/status/M16-GAP-00126.md @@ -0,0 +1,18 @@ +# M16-GAP-00126 Status + +status: done +task: action.keyframe_type operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor keyframe-type operation on `object:WebGapKeyframeTypeObject`. + +evidence: + +- Blender selects frame 3 in all three location channels and executes `bpy.ops.action.keyframe_type(type="BREAKDOWN")`. +- Reader maps `BezTriple.hide` to stable keyframe types; desktop and WASM/Main expose `KEYFRAME, BREAKDOWN, KEYFRAME` per channel. +- Save/reopen is exact and malformed Blend input is rejected without mutating Main animation data. +- Generator, rebuilt WASM, desktop checker, npm comparator, direct comparator, context handoff, and governance exit 0. + +knownRisk: This slice covers BREAKDOWN keyframe typing; EXTREME, JITTER, MOVING_HOLD and GENERATED types remain separate operator cases. + +nextTask: `M16-GAP-00127` diff --git a/docs/status/M16-GAP-00127.md b/docs/status/M16-GAP-00127.md new file mode 100644 index 00000000..35811333 --- /dev/null +++ b/docs/status/M16-GAP-00127.md @@ -0,0 +1,18 @@ +# M16-GAP-00127 Status + +status: done +task: action.markers_make_local operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor selected scene-marker localization on `object:WebGapMarkersMakeLocalObject`. + +evidence: + +- Blender creates and selects `LocalActionMarker` at frame 3, then executes `bpy.ops.action.markers_make_local`; the marker moves into the Action. +- Reader exposes Action markers; desktop and WASM/Main both read `LocalActionMarker@3`, and save/reopen is exact. +- Malformed Blend input is rejected without mutating Main animation data. +- Generator, rebuilt WASM, desktop checker, npm comparator, direct comparator, context handoff, and governance exit 0. + +knownRisk: This slice covers one selected scene marker; multiple-marker ordering and unselected marker retention remain separate cases. + +nextTask: `M16-GAP-00128` diff --git a/docs/status/M16-GAP-00128.md b/docs/status/M16-GAP-00128.md new file mode 100644 index 00000000..a639d9e8 --- /dev/null +++ b/docs/status/M16-GAP-00128.md @@ -0,0 +1,18 @@ +# M16-GAP-00128 Status + +status: done +task: action.mirror operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor X-axis mirror operation on `object:WebGapMirrorObject`. + +evidence: + +- Blender selects all three location channels and executes `bpy.ops.action.mirror(type="XAXIS")`; all keyframe values are negated. +- Desktop and WASM/Main expose matching frames, values, and selection flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main animation data. +- Generator, desktop checker, npm comparator, direct comparator, context handoff, and governance exit 0. + +knownRisk: This slice covers X-axis value mirroring; current-frame and marker-based time mirroring remain separate operator cases. + +nextTask: `M16-GAP-00129` diff --git a/docs/status/M16-GAP-00129.md b/docs/status/M16-GAP-00129.md new file mode 100644 index 00000000..0370f847 --- /dev/null +++ b/docs/status/M16-GAP-00129.md @@ -0,0 +1,18 @@ +# M16-GAP-00129 Status + +status: done +task: action.new operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor new-action operation on `object:WebGapActionNewObject`. + +evidence: + +- Blender executes `bpy.ops.action.new` and creates/assigns `WebGapActionNewObjectAction.001` while preserving the prior Action for stash semantics. +- Desktop and WASM/Main expose the new Action with three channels; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main animation data. +- Generator, rebuilt WASM, desktop checker, npm comparator, direct comparator, context handoff, and governance exit 0. + +knownRisk: Background execution requires explicit harness assignment of the newly created Action because the UI template pointer is unavailable; the operator-created datablock and resulting assigned state are still hash-bound. + +nextTask: `M16-GAP-00130` diff --git a/docs/status/M16-GAP-00130.md b/docs/status/M16-GAP-00130.md new file mode 100644 index 00000000..05c5e8b5 --- /dev/null +++ b/docs/status/M16-GAP-00130.md @@ -0,0 +1,18 @@ +# M16-GAP-00130 Status + +status: done +task: action.paste operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor internal clipboard paste on `object:WebGapPasteObject`. + +evidence: + +- Blender copies the selected frame 3 keys and executes `bpy.ops.action.paste(offset="START", merge="MIX")` at frame 7. +- Desktop and WASM/Main expose frames 1, 3, 5, 7 on all channels with matching values; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main animation data. +- Generator, desktop checker, npm comparator, direct comparator, context handoff, and governance exit 0. + +knownRisk: This slice covers internal clipboard paste with START/MIX settings; other offset and merge modes remain separate tasks. + +nextTask: `M16-GAP-00131` diff --git a/docs/status/M16-GAP-00131.md b/docs/status/M16-GAP-00131.md new file mode 100644 index 00000000..eba95d98 --- /dev/null +++ b/docs/status/M16-GAP-00131.md @@ -0,0 +1,18 @@ +# M16-GAP-00131 Status + +status: done +task: action.previewrange_set operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor selected-key preview range on `object:WebGapPreviewRangeObject`. + +evidence: + +- Blender executes `bpy.ops.action.previewrange_set`; the scene stores preview range `1..5` with preview enabled. +- Reader exposes `scene.previewRange`; desktop and WASM/Main match, and save/reopen is exact. +- Malformed Blend input is rejected without mutating Main scene state. +- Generator, rebuilt WASM, desktop checker, npm comparator, direct comparator, context handoff, and governance exit 0. + +knownRisk: The Action Editor context computes the selected extent as the full 1..5 range in this background fixture; alternate channel-selection contexts remain separate cases. + +nextTask: `M16-GAP-00132` diff --git a/docs/status/M16-GAP-00132.md b/docs/status/M16-GAP-00132.md new file mode 100644 index 00000000..f73b596a --- /dev/null +++ b/docs/status/M16-GAP-00132.md @@ -0,0 +1,18 @@ +# M16-GAP-00132 Status + +status: done +task: action.push_down operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor push-down into NLA on `object:WebGapPushDownObject`. + +evidence: + +- Blender executes `bpy.ops.action.push_down`; active Action is removed from the active slot and moved to one NLA track with one strip. +- Desktop and WASM/Main expose the original Action and matching NLA strip/action identity; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main animation/NLA state. +- Generator, desktop checker, npm comparator, direct comparator, context handoff, and governance exit 0. + +knownRisk: This slice covers one push-down operation into an empty NLA stack; existing-track blending remains separate behavior. + +nextTask: `M16-GAP-00133` diff --git a/docs/status/M16-GAP-00133.md b/docs/status/M16-GAP-00133.md new file mode 100644 index 00000000..53f709f9 --- /dev/null +++ b/docs/status/M16-GAP-00133.md @@ -0,0 +1,18 @@ +# M16-GAP-00133 Status + +status: done +task: action.select_all operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor select-all operation on `object:WebGapSelectAllObject`. + +evidence: + +- Blender clears selection and executes `bpy.ops.action.select_all(action="SELECT")`; all 9 keyframes become selected. +- Desktop and WASM/Main expose matching frames and selected flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main animation data. +- Generator, desktop checker, npm comparator, direct comparator, context handoff, and governance exit 0. + +knownRisk: This slice covers the SELECT mode; TOGGLE, DESELECT, and INVERT modes remain separate operator cases. + +nextTask: `M16-GAP-00134` diff --git a/docs/status/M16-GAP-00134.md b/docs/status/M16-GAP-00134.md new file mode 100644 index 00000000..f42a37be --- /dev/null +++ b/docs/status/M16-GAP-00134.md @@ -0,0 +1,18 @@ +# M16-GAP-00134 Status + +status: done +task: action.select_box operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor box selection on `object:WebGapSelectBoxObject`. + +evidence: + +- Blender executes `bpy.ops.action.select_box(mode="SET")` over the frame-3 region coordinates; only frame 3 is selected on all channels. +- Desktop and WASM/Main expose matching frames and selected flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main animation data. +- Generator, desktop checker, npm comparator, direct comparator, context handoff, and governance exit 0. + +knownRisk: This slice covers SET mode and a frame-only box; ADD/SUB/channel-range selection remains separate behavior. + +nextTask: `M16-GAP-00135` diff --git a/docs/status/M16-GAP-00135.md b/docs/status/M16-GAP-00135.md new file mode 100644 index 00000000..81950c75 --- /dev/null +++ b/docs/status/M16-GAP-00135.md @@ -0,0 +1,18 @@ +# M16-GAP-00135 Status + +status: done +task: action.select_by_type operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor keyframe-type selection on `object:WebGapSelectByTypeObject`. + +evidence: + +- Blender marks frame 3 as BREAKDOWN, clears selection, and executes `bpy.ops.action.select_by_type(type="BREAKDOWN", extend=False)`. +- Desktop and WASM/Main expose matching keyframe types and selected flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main animation data. +- Generator, desktop checker, npm comparator, direct comparator, context handoff, and governance exit 0. + +knownRisk: This slice covers BREAKDOWN selection; other keyframe types and extend behavior remain separate cases. + +nextTask: `M16-GAP-00136` diff --git a/docs/status/M16-GAP-00136.md b/docs/status/M16-GAP-00136.md new file mode 100644 index 00000000..8f8195e6 --- /dev/null +++ b/docs/status/M16-GAP-00136.md @@ -0,0 +1,17 @@ +# M16-GAP-00136 Status + +status: done +task: action.select_circle operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: + +- Action Editor circle selection on `object:WebGapSelectCircleObject`. + +evidence: + +- Blender desktop and WASM/Main expose matching three location channels with frame 3 selected. +- Save/reopen is exact; malformed Blend input is rejected without Main mutation. +- Fixture generation, desktop checker, npm comparator, direct comparator, context handoff and manifest hashing passed. + +nextTask: `M16-GAP-00137` diff --git a/docs/tasks/M16-GAP-00097.md b/docs/tasks/M16-GAP-00097.md new file mode 100644 index 00000000..b98fcd28 --- /dev/null +++ b/docs/tasks/M16-GAP-00097.md @@ -0,0 +1,37 @@ +# M16-GAP-00097: modifier:SUBSURF LOCAL_EXACT slice + +- task: M16-GAP-00097 +- parent: M16-GAP-00096 +- status: in_progress +- gap: modifier:SUBSURF +- ownerFamily: MODIFIER +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable modifier:SUBSURF 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-00097-modifier-SUBSURF.blend` +- Generator: `tools/web/generated/M16-GAP-00097.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-00097.py -- tests/files/web/generated/M16-GAP-00097-modifier-SUBSURF.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00097 +node tools/web/check-generated-gap.mjs --task M16-GAP-00097 + +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-00097/` +- Status: `docs/status/M16-GAP-00097.md` +- Manifest: `tests/golden/M16-GAP-00097/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00097 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00098.md b/docs/tasks/M16-GAP-00098.md new file mode 100644 index 00000000..26876b0a --- /dev/null +++ b/docs/tasks/M16-GAP-00098.md @@ -0,0 +1,37 @@ +# M16-GAP-00098: modifier:SURFACE LOCAL_EXACT slice + +- task: M16-GAP-00098 +- parent: M16-GAP-00097 +- status: in_progress +- gap: modifier:SURFACE +- ownerFamily: MODIFIER +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable modifier:SURFACE 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-00098-modifier-SURFACE.blend` +- Generator: `tools/web/generated/M16-GAP-00098.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-00098.py -- tests/files/web/generated/M16-GAP-00098-modifier-SURFACE.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00098 +node tools/web/check-generated-gap.mjs --task M16-GAP-00098 + +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-00098/` +- Status: `docs/status/M16-GAP-00098.md` +- Manifest: `tests/golden/M16-GAP-00098/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00098 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00099.md b/docs/tasks/M16-GAP-00099.md new file mode 100644 index 00000000..3cbcb638 --- /dev/null +++ b/docs/tasks/M16-GAP-00099.md @@ -0,0 +1,37 @@ +# M16-GAP-00099: modifier:SURFACE_DEFORM LOCAL_EXACT slice + +- task: M16-GAP-00099 +- parent: M16-GAP-00098 +- status: in_progress +- gap: modifier:SURFACE_DEFORM +- ownerFamily: MODIFIER +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable modifier:SURFACE_DEFORM 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-00099-modifier-SURFACE_DEFORM.blend` +- Generator: `tools/web/generated/M16-GAP-00099.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-00099.py -- tests/files/web/generated/M16-GAP-00099-modifier-SURFACE_DEFORM.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00099 +node tools/web/check-generated-gap.mjs --task M16-GAP-00099 + +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-00099/` +- Status: `docs/status/M16-GAP-00099.md` +- Manifest: `tests/golden/M16-GAP-00099/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00099 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00100.md b/docs/tasks/M16-GAP-00100.md new file mode 100644 index 00000000..5c586288 --- /dev/null +++ b/docs/tasks/M16-GAP-00100.md @@ -0,0 +1,37 @@ +# M16-GAP-00100: modifier:TRIANGULATE LOCAL_EXACT slice + +- task: M16-GAP-00100 +- parent: M16-GAP-00099 +- status: in_progress +- gap: modifier:TRIANGULATE +- ownerFamily: MODIFIER +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable modifier:TRIANGULATE 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-00100-modifier-TRIANGULATE.blend` +- Generator: `tools/web/generated/M16-GAP-00100.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-00100.py -- tests/files/web/generated/M16-GAP-00100-modifier-TRIANGULATE.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00100 +node tools/web/check-generated-gap.mjs --task M16-GAP-00100 + +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-00100/` +- Status: `docs/status/M16-GAP-00100.md` +- Manifest: `tests/golden/M16-GAP-00100/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00100 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00101.md b/docs/tasks/M16-GAP-00101.md new file mode 100644 index 00000000..7ce90007 --- /dev/null +++ b/docs/tasks/M16-GAP-00101.md @@ -0,0 +1,37 @@ +# M16-GAP-00101: modifier:UV_PROJECT LOCAL_EXACT slice + +- task: M16-GAP-00101 +- parent: M16-GAP-00100 +- status: in_progress +- gap: modifier:UV_PROJECT +- ownerFamily: MODIFIER +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable modifier:UV_PROJECT 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-00101-modifier-UV_PROJECT.blend` +- Generator: `tools/web/generated/M16-GAP-00101.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-00101.py -- tests/files/web/generated/M16-GAP-00101-modifier-UV_PROJECT.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00101 +node tools/web/check-generated-gap.mjs --task M16-GAP-00101 + +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-00101/` +- Status: `docs/status/M16-GAP-00101.md` +- Manifest: `tests/golden/M16-GAP-00101/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00101 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00102.md b/docs/tasks/M16-GAP-00102.md new file mode 100644 index 00000000..c86a5608 --- /dev/null +++ b/docs/tasks/M16-GAP-00102.md @@ -0,0 +1,37 @@ +# M16-GAP-00102: modifier:UV_WARP LOCAL_EXACT slice + +- task: M16-GAP-00102 +- parent: M16-GAP-00101 +- status: in_progress +- gap: modifier:UV_WARP +- ownerFamily: MODIFIER +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable modifier:UV_WARP 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-00102-modifier-UV_WARP.blend` +- Generator: `tools/web/generated/M16-GAP-00102.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-00102.py -- tests/files/web/generated/M16-GAP-00102-modifier-UV_WARP.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00102 +node tools/web/check-generated-gap.mjs --task M16-GAP-00102 + +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-00102/` +- Status: `docs/status/M16-GAP-00102.md` +- Manifest: `tests/golden/M16-GAP-00102/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00102 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00103.md b/docs/tasks/M16-GAP-00103.md new file mode 100644 index 00000000..af9234de --- /dev/null +++ b/docs/tasks/M16-GAP-00103.md @@ -0,0 +1,37 @@ +# M16-GAP-00103: modifier:VERTEX_WEIGHT_EDIT LOCAL_EXACT slice + +- task: M16-GAP-00103 +- parent: M16-GAP-00102 +- status: in_progress +- gap: modifier:VERTEX_WEIGHT_EDIT +- ownerFamily: MODIFIER +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable modifier:VERTEX_WEIGHT_EDIT 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-00103-modifier-VERTEX_WEIGHT_EDIT.blend` +- Generator: `tools/web/generated/M16-GAP-00103.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-00103.py -- tests/files/web/generated/M16-GAP-00103-modifier-VERTEX_WEIGHT_EDIT.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00103 +node tools/web/check-generated-gap.mjs --task M16-GAP-00103 + +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-00103/` +- Status: `docs/status/M16-GAP-00103.md` +- Manifest: `tests/golden/M16-GAP-00103/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00103 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00104.md b/docs/tasks/M16-GAP-00104.md new file mode 100644 index 00000000..42574401 --- /dev/null +++ b/docs/tasks/M16-GAP-00104.md @@ -0,0 +1,37 @@ +# M16-GAP-00104: modifier:VERTEX_WEIGHT_MIX LOCAL_EXACT slice + +- task: M16-GAP-00104 +- parent: M16-GAP-00103 +- status: in_progress +- gap: modifier:VERTEX_WEIGHT_MIX +- ownerFamily: MODIFIER +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable modifier:VERTEX_WEIGHT_MIX 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-00104-modifier-VERTEX_WEIGHT_MIX.blend` +- Generator: `tools/web/generated/M16-GAP-00104.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-00104.py -- tests/files/web/generated/M16-GAP-00104-modifier-VERTEX_WEIGHT_MIX.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00104 +node tools/web/check-generated-gap.mjs --task M16-GAP-00104 + +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-00104/` +- Status: `docs/status/M16-GAP-00104.md` +- Manifest: `tests/golden/M16-GAP-00104/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00104 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00105.md b/docs/tasks/M16-GAP-00105.md new file mode 100644 index 00000000..396a386f --- /dev/null +++ b/docs/tasks/M16-GAP-00105.md @@ -0,0 +1,37 @@ +# M16-GAP-00105: modifier:VERTEX_WEIGHT_PROXIMITY LOCAL_EXACT slice + +- task: M16-GAP-00105 +- parent: M16-GAP-00104 +- status: in_progress +- gap: modifier:VERTEX_WEIGHT_PROXIMITY +- ownerFamily: MODIFIER +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable modifier:VERTEX_WEIGHT_PROXIMITY 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-00105-modifier-VERTEX_WEIGHT_PROXIMITY.blend` +- Generator: `tools/web/generated/M16-GAP-00105.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-00105.py -- tests/files/web/generated/M16-GAP-00105-modifier-VERTEX_WEIGHT_PROXIMITY.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00105 +node tools/web/check-generated-gap.mjs --task M16-GAP-00105 + +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-00105/` +- Status: `docs/status/M16-GAP-00105.md` +- Manifest: `tests/golden/M16-GAP-00105/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00105 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00106.md b/docs/tasks/M16-GAP-00106.md new file mode 100644 index 00000000..15842cc4 --- /dev/null +++ b/docs/tasks/M16-GAP-00106.md @@ -0,0 +1,37 @@ +# M16-GAP-00106: modifier:VOLUME_DISPLACE LOCAL_EXACT slice + +- task: M16-GAP-00106 +- parent: M16-GAP-00105 +- status: in_progress +- gap: modifier:VOLUME_DISPLACE +- ownerFamily: MODIFIER +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable modifier:VOLUME_DISPLACE 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-00106-modifier-VOLUME_DISPLACE.blend` +- Generator: `tools/web/generated/M16-GAP-00106.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-00106.py -- tests/files/web/generated/M16-GAP-00106-modifier-VOLUME_DISPLACE.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00106 +node tools/web/check-generated-gap.mjs --task M16-GAP-00106 + +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-00106/` +- Status: `docs/status/M16-GAP-00106.md` +- Manifest: `tests/golden/M16-GAP-00106/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00106 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00107.md b/docs/tasks/M16-GAP-00107.md new file mode 100644 index 00000000..99248677 --- /dev/null +++ b/docs/tasks/M16-GAP-00107.md @@ -0,0 +1,37 @@ +# M16-GAP-00107: modifier:VOLUME_TO_MESH LOCAL_EXACT slice + +- task: M16-GAP-00107 +- parent: M16-GAP-00106 +- status: in_progress +- gap: modifier:VOLUME_TO_MESH +- ownerFamily: MODIFIER +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable modifier:VOLUME_TO_MESH 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-00107-modifier-VOLUME_TO_MESH.blend` +- Generator: `tools/web/generated/M16-GAP-00107.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-00107.py -- tests/files/web/generated/M16-GAP-00107-modifier-VOLUME_TO_MESH.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00107 +node tools/web/check-generated-gap.mjs --task M16-GAP-00107 + +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-00107/` +- Status: `docs/status/M16-GAP-00107.md` +- Manifest: `tests/golden/M16-GAP-00107/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00107 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00108.md b/docs/tasks/M16-GAP-00108.md new file mode 100644 index 00000000..433a44a3 --- /dev/null +++ b/docs/tasks/M16-GAP-00108.md @@ -0,0 +1,37 @@ +# M16-GAP-00108: modifier:WARP LOCAL_EXACT slice + +- task: M16-GAP-00108 +- parent: M16-GAP-00107 +- status: in_progress +- gap: modifier:WARP +- ownerFamily: MODIFIER +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable modifier:WARP 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-00108-modifier-WARP.blend` +- Generator: `tools/web/generated/M16-GAP-00108.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-00108.py -- tests/files/web/generated/M16-GAP-00108-modifier-WARP.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00108 +node tools/web/check-generated-gap.mjs --task M16-GAP-00108 + +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-00108/` +- Status: `docs/status/M16-GAP-00108.md` +- Manifest: `tests/golden/M16-GAP-00108/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00108 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00109.md b/docs/tasks/M16-GAP-00109.md new file mode 100644 index 00000000..a8ada4b1 --- /dev/null +++ b/docs/tasks/M16-GAP-00109.md @@ -0,0 +1,37 @@ +# M16-GAP-00109: modifier:WAVE LOCAL_EXACT slice + +- task: M16-GAP-00109 +- parent: M16-GAP-00108 +- status: in_progress +- gap: modifier:WAVE +- ownerFamily: MODIFIER +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable modifier:WAVE 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-00109-modifier-WAVE.blend` +- Generator: `tools/web/generated/M16-GAP-00109.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-00109.py -- tests/files/web/generated/M16-GAP-00109-modifier-WAVE.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00109 +node tools/web/check-generated-gap.mjs --task M16-GAP-00109 + +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-00109/` +- Status: `docs/status/M16-GAP-00109.md` +- Manifest: `tests/golden/M16-GAP-00109/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00109 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00110.md b/docs/tasks/M16-GAP-00110.md new file mode 100644 index 00000000..872b94bb --- /dev/null +++ b/docs/tasks/M16-GAP-00110.md @@ -0,0 +1,37 @@ +# M16-GAP-00110: modifier:WEIGHTED_NORMAL LOCAL_EXACT slice + +- task: M16-GAP-00110 +- parent: M16-GAP-00109 +- status: in_progress +- gap: modifier:WEIGHTED_NORMAL +- ownerFamily: MODIFIER +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable modifier:WEIGHTED_NORMAL 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-00110-modifier-WEIGHTED_NORMAL.blend` +- Generator: `tools/web/generated/M16-GAP-00110.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-00110.py -- tests/files/web/generated/M16-GAP-00110-modifier-WEIGHTED_NORMAL.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00110 +node tools/web/check-generated-gap.mjs --task M16-GAP-00110 + +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-00110/` +- Status: `docs/status/M16-GAP-00110.md` +- Manifest: `tests/golden/M16-GAP-00110/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00110 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00111.md b/docs/tasks/M16-GAP-00111.md new file mode 100644 index 00000000..18b5db1a --- /dev/null +++ b/docs/tasks/M16-GAP-00111.md @@ -0,0 +1,37 @@ +# M16-GAP-00111: modifier:WELD LOCAL_EXACT slice + +- task: M16-GAP-00111 +- parent: M16-GAP-00110 +- status: in_progress +- gap: modifier:WELD +- ownerFamily: MODIFIER +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable modifier:WELD 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-00111-modifier-WELD.blend` +- Generator: `tools/web/generated/M16-GAP-00111.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-00111.py -- tests/files/web/generated/M16-GAP-00111-modifier-WELD.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00111 +node tools/web/check-generated-gap.mjs --task M16-GAP-00111 + +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-00111/` +- Status: `docs/status/M16-GAP-00111.md` +- Manifest: `tests/golden/M16-GAP-00111/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00111 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00112.md b/docs/tasks/M16-GAP-00112.md new file mode 100644 index 00000000..09e94bc5 --- /dev/null +++ b/docs/tasks/M16-GAP-00112.md @@ -0,0 +1,37 @@ +# M16-GAP-00112: modifier:WIREFRAME LOCAL_EXACT slice + +- task: M16-GAP-00112 +- parent: M16-GAP-00111 +- status: in_progress +- gap: modifier:WIREFRAME +- ownerFamily: MODIFIER +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable modifier:WIREFRAME 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-00112-modifier-WIREFRAME.blend` +- Generator: `tools/web/generated/M16-GAP-00112.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-00112.py -- tests/files/web/generated/M16-GAP-00112-modifier-WIREFRAME.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00112 +node tools/web/check-generated-gap.mjs --task M16-GAP-00112 + +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-00112/` +- Status: `docs/status/M16-GAP-00112.md` +- Manifest: `tests/golden/M16-GAP-00112/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00112 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00113.md b/docs/tasks/M16-GAP-00113.md new file mode 100644 index 00000000..31ea4498 --- /dev/null +++ b/docs/tasks/M16-GAP-00113.md @@ -0,0 +1,37 @@ +# M16-GAP-00113: operator:action.bake_keys LOCAL_EXACT slice + +- task: M16-GAP-00113 +- parent: M16-GAP-00112 +- status: in_progress +- gap: operator:action.bake_keys +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.bake_keys 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-00113-operator-action.bake_keys.blend` +- Generator: `tools/web/generated/M16-GAP-00113.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-00113.py -- tests/files/web/generated/M16-GAP-00113-operator-action.bake_keys.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00113 +node tools/web/check-generated-gap.mjs --task M16-GAP-00113 + +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-00113/` +- Status: `docs/status/M16-GAP-00113.md` +- Manifest: `tests/golden/M16-GAP-00113/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00113 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00114.md b/docs/tasks/M16-GAP-00114.md new file mode 100644 index 00000000..2d52cc22 --- /dev/null +++ b/docs/tasks/M16-GAP-00114.md @@ -0,0 +1,37 @@ +# M16-GAP-00114: operator:action.clean LOCAL_EXACT slice + +- task: M16-GAP-00114 +- parent: M16-GAP-00113 +- status: in_progress +- gap: operator:action.clean +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.clean 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-00114-operator-action.clean.blend` +- Generator: `tools/web/generated/M16-GAP-00114.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-00114.py -- tests/files/web/generated/M16-GAP-00114-operator-action.clean.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00114 +node tools/web/check-generated-gap.mjs --task M16-GAP-00114 + +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-00114/` +- Status: `docs/status/M16-GAP-00114.md` +- Manifest: `tests/golden/M16-GAP-00114/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00114 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00115.md b/docs/tasks/M16-GAP-00115.md new file mode 100644 index 00000000..9e8817c3 --- /dev/null +++ b/docs/tasks/M16-GAP-00115.md @@ -0,0 +1,37 @@ +# M16-GAP-00115: operator:action.clickselect LOCAL_EXACT slice + +- task: M16-GAP-00115 +- parent: M16-GAP-00114 +- status: in_progress +- gap: operator:action.clickselect +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.clickselect 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-00115-operator-action.clickselect.blend` +- Generator: `tools/web/generated/M16-GAP-00115.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-00115.py -- tests/files/web/generated/M16-GAP-00115-operator-action.clickselect.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00115 +node tools/web/check-generated-gap.mjs --task M16-GAP-00115 + +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-00115/` +- Status: `docs/status/M16-GAP-00115.md` +- Manifest: `tests/golden/M16-GAP-00115/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00115 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00116.md b/docs/tasks/M16-GAP-00116.md new file mode 100644 index 00000000..e666df8d --- /dev/null +++ b/docs/tasks/M16-GAP-00116.md @@ -0,0 +1,37 @@ +# M16-GAP-00116: operator:action.copy LOCAL_EXACT slice + +- task: M16-GAP-00116 +- parent: M16-GAP-00115 +- status: in_progress +- gap: operator:action.copy +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.copy 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-00116-operator-action.copy.blend` +- Generator: `tools/web/generated/M16-GAP-00116.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-00116.py -- tests/files/web/generated/M16-GAP-00116-operator-action.copy.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00116 +node tools/web/check-generated-gap.mjs --task M16-GAP-00116 + +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-00116/` +- Status: `docs/status/M16-GAP-00116.md` +- Manifest: `tests/golden/M16-GAP-00116/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00116 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00117.md b/docs/tasks/M16-GAP-00117.md new file mode 100644 index 00000000..94bfc6e5 --- /dev/null +++ b/docs/tasks/M16-GAP-00117.md @@ -0,0 +1,37 @@ +# M16-GAP-00117: operator:action.delete LOCAL_EXACT slice + +- task: M16-GAP-00117 +- parent: M16-GAP-00116 +- status: in_progress +- gap: operator:action.delete +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.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-00117-operator-action.delete.blend` +- Generator: `tools/web/generated/M16-GAP-00117.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-00117.py -- tests/files/web/generated/M16-GAP-00117-operator-action.delete.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00117 +node tools/web/check-generated-gap.mjs --task M16-GAP-00117 + +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-00117/` +- Status: `docs/status/M16-GAP-00117.md` +- Manifest: `tests/golden/M16-GAP-00117/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00117 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00118.md b/docs/tasks/M16-GAP-00118.md new file mode 100644 index 00000000..0aa416bb --- /dev/null +++ b/docs/tasks/M16-GAP-00118.md @@ -0,0 +1,37 @@ +# M16-GAP-00118: operator:action.duplicate LOCAL_EXACT slice + +- task: M16-GAP-00118 +- parent: M16-GAP-00117 +- status: in_progress +- gap: operator:action.duplicate +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.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-00118-operator-action.duplicate.blend` +- Generator: `tools/web/generated/M16-GAP-00118.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-00118.py -- tests/files/web/generated/M16-GAP-00118-operator-action.duplicate.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00118 +node tools/web/check-generated-gap.mjs --task M16-GAP-00118 + +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-00118/` +- Status: `docs/status/M16-GAP-00118.md` +- Manifest: `tests/golden/M16-GAP-00118/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00118 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00119.md b/docs/tasks/M16-GAP-00119.md new file mode 100644 index 00000000..76738f05 --- /dev/null +++ b/docs/tasks/M16-GAP-00119.md @@ -0,0 +1,37 @@ +# M16-GAP-00119: operator:action.duplicate_move LOCAL_EXACT slice + +- task: M16-GAP-00119 +- parent: M16-GAP-00118 +- status: in_progress +- gap: operator:action.duplicate_move +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.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-00119-operator-action.duplicate_move.blend` +- Generator: `tools/web/generated/M16-GAP-00119.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-00119.py -- tests/files/web/generated/M16-GAP-00119-operator-action.duplicate_move.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00119 +node tools/web/check-generated-gap.mjs --task M16-GAP-00119 + +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-00119/` +- Status: `docs/status/M16-GAP-00119.md` +- Manifest: `tests/golden/M16-GAP-00119/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00119 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00120.md b/docs/tasks/M16-GAP-00120.md new file mode 100644 index 00000000..f07f0d60 --- /dev/null +++ b/docs/tasks/M16-GAP-00120.md @@ -0,0 +1,37 @@ +# M16-GAP-00120: operator:action.easing_type LOCAL_EXACT slice + +- task: M16-GAP-00120 +- parent: M16-GAP-00119 +- status: in_progress +- gap: operator:action.easing_type +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.easing_type 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-00120-operator-action.easing_type.blend` +- Generator: `tools/web/generated/M16-GAP-00120.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-00120.py -- tests/files/web/generated/M16-GAP-00120-operator-action.easing_type.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00120 +node tools/web/check-generated-gap.mjs --task M16-GAP-00120 + +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-00120/` +- Status: `docs/status/M16-GAP-00120.md` +- Manifest: `tests/golden/M16-GAP-00120/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00120 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00121.md b/docs/tasks/M16-GAP-00121.md new file mode 100644 index 00000000..d4e2c206 --- /dev/null +++ b/docs/tasks/M16-GAP-00121.md @@ -0,0 +1,37 @@ +# M16-GAP-00121: operator:action.extrapolation_type LOCAL_EXACT slice + +- task: M16-GAP-00121 +- parent: M16-GAP-00120 +- status: in_progress +- gap: operator:action.extrapolation_type +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.extrapolation_type 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-00121-operator-action.extrapolation_type.blend` +- Generator: `tools/web/generated/M16-GAP-00121.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-00121.py -- tests/files/web/generated/M16-GAP-00121-operator-action.extrapolation_type.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00121 +node tools/web/check-generated-gap.mjs --task M16-GAP-00121 + +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-00121/` +- Status: `docs/status/M16-GAP-00121.md` +- Manifest: `tests/golden/M16-GAP-00121/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00121 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00122.md b/docs/tasks/M16-GAP-00122.md new file mode 100644 index 00000000..ebe76a9d --- /dev/null +++ b/docs/tasks/M16-GAP-00122.md @@ -0,0 +1,37 @@ +# M16-GAP-00122: operator:action.frame_jump LOCAL_EXACT slice + +- task: M16-GAP-00122 +- parent: M16-GAP-00121 +- status: in_progress +- gap: operator:action.frame_jump +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.frame_jump 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-00122-operator-action.frame_jump.blend` +- Generator: `tools/web/generated/M16-GAP-00122.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-00122.py -- tests/files/web/generated/M16-GAP-00122-operator-action.frame_jump.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00122 +node tools/web/check-generated-gap.mjs --task M16-GAP-00122 + +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-00122/` +- Status: `docs/status/M16-GAP-00122.md` +- Manifest: `tests/golden/M16-GAP-00122/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00122 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00123.md b/docs/tasks/M16-GAP-00123.md new file mode 100644 index 00000000..28be8abe --- /dev/null +++ b/docs/tasks/M16-GAP-00123.md @@ -0,0 +1,37 @@ +# M16-GAP-00123: operator:action.handle_type LOCAL_EXACT slice + +- task: M16-GAP-00123 +- parent: M16-GAP-00122 +- status: in_progress +- gap: operator:action.handle_type +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.handle_type 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-00123-operator-action.handle_type.blend` +- Generator: `tools/web/generated/M16-GAP-00123.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-00123.py -- tests/files/web/generated/M16-GAP-00123-operator-action.handle_type.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00123 +node tools/web/check-generated-gap.mjs --task M16-GAP-00123 + +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-00123/` +- Status: `docs/status/M16-GAP-00123.md` +- Manifest: `tests/golden/M16-GAP-00123/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00123 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00124.md b/docs/tasks/M16-GAP-00124.md new file mode 100644 index 00000000..a730bafd --- /dev/null +++ b/docs/tasks/M16-GAP-00124.md @@ -0,0 +1,37 @@ +# M16-GAP-00124: operator:action.interpolation_type LOCAL_EXACT slice + +- task: M16-GAP-00124 +- parent: M16-GAP-00123 +- status: in_progress +- gap: operator:action.interpolation_type +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.interpolation_type 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-00124-operator-action.interpolation_type.blend` +- Generator: `tools/web/generated/M16-GAP-00124.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-00124.py -- tests/files/web/generated/M16-GAP-00124-operator-action.interpolation_type.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00124 +node tools/web/check-generated-gap.mjs --task M16-GAP-00124 + +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-00124/` +- Status: `docs/status/M16-GAP-00124.md` +- Manifest: `tests/golden/M16-GAP-00124/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00124 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00125.md b/docs/tasks/M16-GAP-00125.md new file mode 100644 index 00000000..a23ee754 --- /dev/null +++ b/docs/tasks/M16-GAP-00125.md @@ -0,0 +1,37 @@ +# M16-GAP-00125: operator:action.keyframe_insert LOCAL_EXACT slice + +- task: M16-GAP-00125 +- parent: M16-GAP-00124 +- status: in_progress +- gap: operator:action.keyframe_insert +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.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-00125-operator-action.keyframe_insert.blend` +- Generator: `tools/web/generated/M16-GAP-00125.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-00125.py -- tests/files/web/generated/M16-GAP-00125-operator-action.keyframe_insert.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00125 +node tools/web/check-generated-gap.mjs --task M16-GAP-00125 + +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-00125/` +- Status: `docs/status/M16-GAP-00125.md` +- Manifest: `tests/golden/M16-GAP-00125/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00125 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00126.md b/docs/tasks/M16-GAP-00126.md new file mode 100644 index 00000000..939e16f8 --- /dev/null +++ b/docs/tasks/M16-GAP-00126.md @@ -0,0 +1,37 @@ +# M16-GAP-00126: operator:action.keyframe_type LOCAL_EXACT slice + +- task: M16-GAP-00126 +- parent: M16-GAP-00125 +- status: in_progress +- gap: operator:action.keyframe_type +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.keyframe_type 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-00126-operator-action.keyframe_type.blend` +- Generator: `tools/web/generated/M16-GAP-00126.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-00126.py -- tests/files/web/generated/M16-GAP-00126-operator-action.keyframe_type.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00126 +node tools/web/check-generated-gap.mjs --task M16-GAP-00126 + +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-00126/` +- Status: `docs/status/M16-GAP-00126.md` +- Manifest: `tests/golden/M16-GAP-00126/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00126 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00127.md b/docs/tasks/M16-GAP-00127.md new file mode 100644 index 00000000..734fc3d1 --- /dev/null +++ b/docs/tasks/M16-GAP-00127.md @@ -0,0 +1,37 @@ +# M16-GAP-00127: operator:action.markers_make_local LOCAL_EXACT slice + +- task: M16-GAP-00127 +- parent: M16-GAP-00126 +- status: in_progress +- gap: operator:action.markers_make_local +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.markers_make_local 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-00127-operator-action.markers_make_local.blend` +- Generator: `tools/web/generated/M16-GAP-00127.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-00127.py -- tests/files/web/generated/M16-GAP-00127-operator-action.markers_make_local.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00127 +node tools/web/check-generated-gap.mjs --task M16-GAP-00127 + +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-00127/` +- Status: `docs/status/M16-GAP-00127.md` +- Manifest: `tests/golden/M16-GAP-00127/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00127 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00128.md b/docs/tasks/M16-GAP-00128.md new file mode 100644 index 00000000..49ac461c --- /dev/null +++ b/docs/tasks/M16-GAP-00128.md @@ -0,0 +1,37 @@ +# M16-GAP-00128: operator:action.mirror LOCAL_EXACT slice + +- task: M16-GAP-00128 +- parent: M16-GAP-00127 +- status: in_progress +- gap: operator:action.mirror +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.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-00128-operator-action.mirror.blend` +- Generator: `tools/web/generated/M16-GAP-00128.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-00128.py -- tests/files/web/generated/M16-GAP-00128-operator-action.mirror.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00128 +node tools/web/check-generated-gap.mjs --task M16-GAP-00128 + +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-00128/` +- Status: `docs/status/M16-GAP-00128.md` +- Manifest: `tests/golden/M16-GAP-00128/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00128 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00129.md b/docs/tasks/M16-GAP-00129.md new file mode 100644 index 00000000..b6cfc7c8 --- /dev/null +++ b/docs/tasks/M16-GAP-00129.md @@ -0,0 +1,37 @@ +# M16-GAP-00129: operator:action.new LOCAL_EXACT slice + +- task: M16-GAP-00129 +- parent: M16-GAP-00128 +- status: in_progress +- gap: operator:action.new +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator: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-00129-operator-action.new.blend` +- Generator: `tools/web/generated/M16-GAP-00129.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-00129.py -- tests/files/web/generated/M16-GAP-00129-operator-action.new.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00129 +node tools/web/check-generated-gap.mjs --task M16-GAP-00129 + +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-00129/` +- Status: `docs/status/M16-GAP-00129.md` +- Manifest: `tests/golden/M16-GAP-00129/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00129 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00130.md b/docs/tasks/M16-GAP-00130.md new file mode 100644 index 00000000..0ea7a52a --- /dev/null +++ b/docs/tasks/M16-GAP-00130.md @@ -0,0 +1,37 @@ +# M16-GAP-00130: operator:action.paste LOCAL_EXACT slice + +- task: M16-GAP-00130 +- parent: M16-GAP-00129 +- status: in_progress +- gap: operator:action.paste +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.paste 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-00130-operator-action.paste.blend` +- Generator: `tools/web/generated/M16-GAP-00130.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-00130.py -- tests/files/web/generated/M16-GAP-00130-operator-action.paste.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00130 +node tools/web/check-generated-gap.mjs --task M16-GAP-00130 + +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-00130/` +- Status: `docs/status/M16-GAP-00130.md` +- Manifest: `tests/golden/M16-GAP-00130/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00130 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00131.md b/docs/tasks/M16-GAP-00131.md new file mode 100644 index 00000000..93fca3a5 --- /dev/null +++ b/docs/tasks/M16-GAP-00131.md @@ -0,0 +1,37 @@ +# M16-GAP-00131: operator:action.previewrange_set LOCAL_EXACT slice + +- task: M16-GAP-00131 +- parent: M16-GAP-00130 +- status: in_progress +- gap: operator:action.previewrange_set +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.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-00131-operator-action.previewrange_set.blend` +- Generator: `tools/web/generated/M16-GAP-00131.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-00131.py -- tests/files/web/generated/M16-GAP-00131-operator-action.previewrange_set.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00131 +node tools/web/check-generated-gap.mjs --task M16-GAP-00131 + +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-00131/` +- Status: `docs/status/M16-GAP-00131.md` +- Manifest: `tests/golden/M16-GAP-00131/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00131 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00132.md b/docs/tasks/M16-GAP-00132.md new file mode 100644 index 00000000..83e97ea8 --- /dev/null +++ b/docs/tasks/M16-GAP-00132.md @@ -0,0 +1,37 @@ +# M16-GAP-00132: operator:action.push_down LOCAL_EXACT slice + +- task: M16-GAP-00132 +- parent: M16-GAP-00131 +- status: in_progress +- gap: operator:action.push_down +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.push_down 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-00132-operator-action.push_down.blend` +- Generator: `tools/web/generated/M16-GAP-00132.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-00132.py -- tests/files/web/generated/M16-GAP-00132-operator-action.push_down.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00132 +node tools/web/check-generated-gap.mjs --task M16-GAP-00132 + +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-00132/` +- Status: `docs/status/M16-GAP-00132.md` +- Manifest: `tests/golden/M16-GAP-00132/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00132 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00133.md b/docs/tasks/M16-GAP-00133.md new file mode 100644 index 00000000..1f2b1b85 --- /dev/null +++ b/docs/tasks/M16-GAP-00133.md @@ -0,0 +1,37 @@ +# M16-GAP-00133: operator:action.select_all LOCAL_EXACT slice + +- task: M16-GAP-00133 +- parent: M16-GAP-00132 +- status: in_progress +- gap: operator:action.select_all +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.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-00133-operator-action.select_all.blend` +- Generator: `tools/web/generated/M16-GAP-00133.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-00133.py -- tests/files/web/generated/M16-GAP-00133-operator-action.select_all.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00133 +node tools/web/check-generated-gap.mjs --task M16-GAP-00133 + +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-00133/` +- Status: `docs/status/M16-GAP-00133.md` +- Manifest: `tests/golden/M16-GAP-00133/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00133 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00134.md b/docs/tasks/M16-GAP-00134.md new file mode 100644 index 00000000..818e8398 --- /dev/null +++ b/docs/tasks/M16-GAP-00134.md @@ -0,0 +1,37 @@ +# M16-GAP-00134: operator:action.select_box LOCAL_EXACT slice + +- task: M16-GAP-00134 +- parent: M16-GAP-00133 +- status: in_progress +- gap: operator:action.select_box +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.select_box 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-00134-operator-action.select_box.blend` +- Generator: `tools/web/generated/M16-GAP-00134.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-00134.py -- tests/files/web/generated/M16-GAP-00134-operator-action.select_box.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00134 +node tools/web/check-generated-gap.mjs --task M16-GAP-00134 + +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-00134/` +- Status: `docs/status/M16-GAP-00134.md` +- Manifest: `tests/golden/M16-GAP-00134/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00134 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00135.md b/docs/tasks/M16-GAP-00135.md new file mode 100644 index 00000000..91baf044 --- /dev/null +++ b/docs/tasks/M16-GAP-00135.md @@ -0,0 +1,37 @@ +# M16-GAP-00135: operator:action.select_by_type LOCAL_EXACT slice + +- task: M16-GAP-00135 +- parent: M16-GAP-00134 +- status: in_progress +- gap: operator:action.select_by_type +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.select_by_type 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-00135-operator-action.select_by_type.blend` +- Generator: `tools/web/generated/M16-GAP-00135.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-00135.py -- tests/files/web/generated/M16-GAP-00135-operator-action.select_by_type.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00135 +node tools/web/check-generated-gap.mjs --task M16-GAP-00135 + +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-00135/` +- Status: `docs/status/M16-GAP-00135.md` +- Manifest: `tests/golden/M16-GAP-00135/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00135 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00136.md b/docs/tasks/M16-GAP-00136.md new file mode 100644 index 00000000..d9ae3b8c --- /dev/null +++ b/docs/tasks/M16-GAP-00136.md @@ -0,0 +1,37 @@ +# M16-GAP-00136: operator:action.select_circle LOCAL_EXACT slice + +- task: M16-GAP-00136 +- parent: M16-GAP-00135 +- status: in_progress +- gap: operator:action.select_circle +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.select_circle 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-00136-operator-action.select_circle.blend` +- Generator: `tools/web/generated/M16-GAP-00136.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-00136.py -- tests/files/web/generated/M16-GAP-00136-operator-action.select_circle.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00136 +node tools/web/check-generated-gap.mjs --task M16-GAP-00136 + +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-00136/` +- Status: `docs/status/M16-GAP-00136.md` +- Manifest: `tests/golden/M16-GAP-00136/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00136 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/tests/files/web/generated/M16-GAP-00096-modifier-SOLIDIFY.blend b/tests/files/web/generated/M16-GAP-00096-modifier-SOLIDIFY.blend new file mode 100644 index 0000000000000000000000000000000000000000..55fdec1bd29eded6bb053e60bba7c9eb05c9c150 GIT binary patch literal 86420 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 T$j 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 literal 0 HcmV?d00001 diff --git a/tests/files/web/generated/M16-GAP-00098-modifier-SURFACE.blend b/tests/files/web/generated/M16-GAP-00098-modifier-SURFACE.blend new file mode 100644 index 0000000000000000000000000000000000000000..afe39c9d72bb708375e5d308e0582691e22381d9 GIT binary patch literal 86387 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 z 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 literal 0 HcmV?d00001 diff --git a/tests/files/web/generated/M16-GAP-00099-modifier-SURFACE_DEFORM.blend b/tests/files/web/generated/M16-GAP-00099-modifier-SURFACE_DEFORM.blend new file mode 100644 index 0000000000000000000000000000000000000000..7b2a5d7919f5a89660f67a108e4aa84f5a49b905 GIT binary patch literal 86421 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 z zWhqLE7cUC&w7i872yK?6nM?j73CF7NjbYY>U$=eT7iQgdZCO^h*;Q57t>1L3sG7Pu zMYoA+ZI)`8?lKZp%RCOc@fm+~#K~<>tis}ZuZuPkwJW>E*`iPos`7Rk2i0cTjxX7dh0)id{@9Z>`%!U< z^gM0U^Jbq{gsjWYD*}^o9>Y_Q>hhO@ZR@EUj@z>9hNHqs;h?JvN1H%jzpSeA_v4}} znf!i~Kh=jNBpqFpKO7QH3nCrEX=$#T*0SZ^>IoLvu z6#Qe6EruAj8I87`7*fNp>$+~++H{OIa(tn$g}nrBuNMZdqYY`ajilCEwwj{0u?WuY z{>ie8RXeI(Zyfr8#&JjwkbVq}`!mk|SeGq?@<$aJiAETnHp0;22z_3WSP$K3Cq@^! zqHC5sdh90fL2CIpq+=X<5R7r?9|5TI_j>w`wT6d~#-SNAY`xy_Z|k<~IP?bvjYR*& zb*o!V!%$r-o8V?ihCPm97k=TgeOl8Ir&4BrjqB#!m zae$XGd9c5+3%9S^K8RhnntG+BRc5Zpf^L~J<<<4$+EVfZ3h!tn<+?ey|8s0^jejvu zZs*iEm*!A7r*kHj*Vfh&A?j7G%#pdrFw_g>LbdQOLIK4>txy|Eg-W5&7)nE#FjNUe zLOq6`-uD;rJh@Np6Z^D2?I%?$3kmRte)+hPSgBX}DSbkp^pp8iK9Ns%ip4uQzwmq8 ze_-pjIj`)R^M9bzc2Y$-Xo{kyHuZm?Q|UzB26Q_4U+T-p)yqxsFV)nPb5m1O&P`2C zIe*={{hwxJywUAn2SyCp`G1GD)7eN(o6siRWS%<{l}%*RbB_H*I&ci*UYv_-ajX~C zRo3q-<5t|pskjt};xx|0mA|M5N8jSQ+TL?cdt{(_iSY5v* zIJ$maTD~kV;IFIeckBA;+R;dgWpid)nKqNklx8MW!=fIuY?(-=v;VbrRJ&fh1m^(U zQSEvy#ODZBu);~`d|mBB#+%cOj5ntb8Es>v62NDlrRqz00t94^k}rukU$g^ z4^v?PC)#t2b83Q}c1Y$?HP+wM-L)o(#>`}vBj=Adh!viLjmO(FvZBgi1&Twzp0Z zv|P`>fCz7|j^vYfzIoZrDuzcY{*Js(2~>~J^#Ic2bd5=i{+iXzGXvo`jRdW`8}sm3 zpO;NsZ6BC)A<%)<)4|^Q2th-qQQt-I);E2=^}DE?9(U(skDW5KGqyF&M4pYDN=81m z_wRjEeU#H}(*iC%F~7HL2_ zYzFNzLEzfj#3!o$uCc_PbBxh36-`AWnep!(8+l6dP8(1&2W3=mX>w+WSI#h8$2;G# z#_i|FD%nbFtKCiMtp+Lu&xq~G%zVZ2=xyZKR8uxWO%KSbWKF;`6?@;i(U?mNDjcX| zvw@k(T%N`+#+^#_E%5ShmsW4b(%$mUG(%KpiHB4 HHwMy4qiVi=O>?w$h$>=!zH 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

73Twk$b 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 XaRdO5?EnB64gvrJ00000vFehK_07I| literal 0 HcmV?d00001 diff --git a/tests/files/web/generated/M16-GAP-00100-modifier-TRIANGULATE.blend b/tests/files/web/generated/M16-GAP-00100-modifier-TRIANGULATE.blend new file mode 100644 index 0000000000000000000000000000000000000000..93b6d0034b39d57789944d07212b55e8017c3952 GIT binary patch literal 86387 zcmV)!K#;#EwJ-gkK?VT;-8KNaMqCj|U>cqSyT$wmJqFws4PKu^Y$3q&>ColS;Njq* z@nua)3B>=0(tmNi^UP(w(FQRIEQYtQ=z(saGJz*55LDW9`dkoy+D9WO1pomD0r~(> zr_Akkivoeb9M30En5}jjQ@oCrh0sQLEBnVE?@5 zf9DYu6&|r%E^WN0r{~+Yt%A$FyNpI72`u(1uIrlo;DHoO#36p$zQ3SQpeg_W0H%I^ z7C>oeXt-RkQmItR$jJQd*6wz@M|EB6>~_1a)o!CWI5##roo>tZdNrHL35LU=l_YBt z(-$(?tN;)Q+LVAtI7C;o|C`qw#zK8M(Tu%CTrR zn>;F1h$6vcGH*zb(6l3wNL$6y((V0Lu~@XdOiWn5zC3sh7%&FN<#PM+c+6t8CV{`- zwQ~8)#de$J@%dtkJRa}Fa>?v+y<%-7R8$$RIywVvKR%xiMzhI4EsM==5fcL&dj?}6 z7%oVC1wnz5!C)}g914YHqG(jfRTYOd9XIPAZO_%r<+CJMR#j;bjEabIh{PBKzu&Lx z>2wmoFeSB?Oo*w;Vnxt=Rs!Qk(=va0%JvKiWOI2!&6u+RTXDZi7$w+f;S($rTJyo z-GXWtHAF``)`LU1L~R=gkNo+mYZ}KD@BIp?Qq?Gj$K!nwAUGz2!5}SQx7$S}lgJt1 zuh)y&nCzeTT+K{A6AFStac*vS-g_VphwB=R#TQHWy=6=$cHZ+f9WOJf-um z9Y5>1mT}owjVGrj3(KXFKuoWP(|PZK1Oy21p@=$ll7(gU_Z;_9J_~^FsDTwR(2${# zDM^zw27v{}AVY|Rh^odCU_c-g4T2B~K@bi>2rz^oVF)4wAwUQ!hC&ol#xce8Fb8C+ zE4u+`ah>soF@QfENq}Q1pbBXPpz^hME*lX}0&Td_?1tg8EDO{P&Li#cB1KQEU4t0F zYlr#(Zrp%0SVp7o_(h!@4mOZrM`4`6?GoTX$J`x=OYQX}xrpKo9!s9=@++zTqkO#i$lFzu2eXR=L?<>Fe|NkFuLkHkT zX@LY2!kl?Pw-9@u<^KO*(E*t75|}UJ2IR-!|4*9e0Q}{}-1m4dFk3Iyb*sL&pZWj3 z1swoN&Es8&`hpP8arYPEz4!kA*@zCncayu{`1+vvJp%)~&jtVgNB^+}x%u1#_)Kkx}sqJ^tTjk;)WQ(a2U=lxHir=rUESs8SMG_q`MywTX!2 zqD-Wws9Ln>B-8F0TVzEIAVEGY`1!|6nsM5m=|05Yq$mkEesvm<=}uRCec_}p!+yVg z%R3->eX3*MxgFDnL?EMsGcm;ye)T#r#nxRkD^0P8?mKmtrf3242RO2$n7!`16aZ|w z*TQ4KvtQEiyHHaCc%P?#aXM*^12BZoY}Rb?bod-Zj64 ztnS9LYYk9hfkWbZhF*AMbb}h8m&wlO?I9EBO&y?ti|2f0oeAXD254jx#`l74O+e8z z;2ATPdF6Ql#D@)7eC}I)4VtJ-O2?bufHI{T6>=;TAJACoeP*;CxRnNAM>EqMB%5cX z$MWybr3NUqFa4m5a0CFnjsa?8=}uD+Ag9@83`OG+<^nCEi4fX}V$0uwIE-YxcS#?` z$+PL>2Q#yMB9J~cZll_igpx?rlnY7W>-+iHue%Ofe0{Th@fwzTlnbde)oI5Mq8qg& zG6ksw<^;b4Fp>G+BhVk3mSPevB1x7Y0mAj$Lb*~HJ!;tCF=s=7{?JrL+7X~XG>yeS zpk=V~;)zhd75(GJQK34O2=$9iMgp-csC0x?e362H(-*MI zwro)U;+6>YYprGY#qz({uIdgf62I+#fargS%Oo&K)6O!p|J`LqZ~bOF`f*}TwgY$L zf6;%ktzT=gIGe!lD`Ks{2J;6d>;w&IDWr@|Nr*gu=dlJ_S2Vsv;8AB?)t~E=YR8ri~mReacLEtM{Pj6 zz>nIXw|1(ew{B!R@_E1}=^e384I3-@EXVN1(p$gH_HPaT=YCw2|3(2DzwXPrZOg() ztQuU;RaHy%L^_d5a-K(Wl#xEq@hrn~+|F+d$1eP`?d!TS>$Y&PW!WtTbGfzY{I@7d zU6fMwTB)8aHVyJDbEVWz-kj!9Uu!zQocoL$i)VRr-JD=KzB#=yd~_UUKz2qsv~tlijtWHJh5{ z86zaT#mJH%TPiN##li|>VjKw}^*wRq%*y^Z3OXRKkb#o0C94)C!7n61wyIR1p(YI< zD5VW5_^uXJGW#DFL?R@C9c<8Y*DOPhd?5jP9Rcp(@kL4nR~L+tPZBCHv_#^DuUee} z!v>H*bBGhmkRxA4fL>rYTC`wB_8^6dB}E@iMJ)>H8ABLyB}>4ZbZPb4Jb5950!#V+ zZ@_J02aFdT*P-@G5}+4Y4$=t{B|r|qfLK>Dz_62}t6}w3Fv1Kk>@c><|BGTTvmx(^ zg8^UyM3v=>4>|IsBk%j1_e{%O$663A+Py7%Q+nTmniYSL`z}=L4Rl};@FEnj@3A}29G(Nf0Tts+a>@!wu3-Jot{`)zw)Jd4ixYpC!4C;j%~1^Hk^=#Ur3T4y3Mf8WJ zxUrYOjh!q(j`O&r!e`vrEbHXhw)Ag}{?N2YgrUq>3?L!^H8ENK+X3hgOn~V8u~-i^Gu)oG+5*@()zEe(o$Pv zfAha-vRZ0uriL;8dz1e^91efD&SBjl;bxY?_z!-h3&)YK9yoejpGc1d@XrD}Yh?A` zYCn!10dI1!1MIA24Hl$EYC(<|zL?_IYX7Z;0e&~8-;TDvl_E|1x;@ryO%nzT7{Aef zj?g_BpbmNIUYIaq(E0bWiMaOq%?X6fTGC zk8IoLLk+G}9%2>$fS77g)7>!>_CL9x-j<^50|dW#O-EFu1;}nniudvnc%R zHmJiw5|u~Q+C2h6|*U6O7BY(8Q7FykH?AAVdSYq4~G~h zl##&{JKi*w;^$Ak9rTqy;TuM7yKvDADR+X@IM9{6&=M!+DJ`_~; zdJP>N<#TkD&-u+J{(Bc`F&O?Ap$S=?3coMwD;pFKBKN`zG~ghUUP0-`bR*kS2EaD} zq-k(E!FsA^ssC#>H>UsS=+`i`_%HrFHMO<#H`!DEtJKuiKAPt>AoAw_A;Aq^lx2)2 zWf_AjifcxU7(#$LFJKTUAmt38msgM(Q)LhsGGy$$O0TIYU{{P1NExKdtNbtO>nIWb z-o2zSVyd*%*2a-&?|pstx5_$ERCL=lPH(ZNrM8BW8iaqlfd0@_3vm#%g$0mdkWh}Z zGj%;5|8S^LHiI^xa>GRnRd^B<2B3u@!W~91GO^ZLFxeGasB$nnDo`USq!9Y4nn36$ zOV7Dem{aCOP?jDX7c6>kVwBM9^M{Q|rosU;9c12^=}?2j%*YU(DS}Q5V0KjW{8UX~ z0#%$T!{A2-#|4Yt)r~FYSJ;)QgUlP@8XFkBI)zd*99INfkkaAMxeqX#AwZp{+w=!L z+kwwnk<=Bd(M=9;85%GkX8|jCRz@obXAt1%nAy7YMAe1RsMiAms7|15+Ajz6M9@>D zM*t@`pi@aQ&?r<&4+60c$_y~y5cc7r1fd_WC1(R51cAXK%4{xC)i9T?>@j&~LNEu- zRc1_T9+-I?B)6@~DGKS=C< zDfTz1vW6xU7%3+E%b7}&QMF_SD`i@RA@+Z-4-X}nz}*=s)@+HYMsLiT!lcR?vj0sc zH4lU*{6R9Iz(^6|&{<~eZ^oix&ZID5P8Lz-{q8sD4^2tilI=FJq~T^Z4R7kEn=T&-yn)7@aN{Tmh*uptB@LoR5Ux0DYF@7>3n?j!Zdg+DGkTFK%NOO<%Nx_n8`F`_&MVz>;~Vkne@=H3GL&#iXFh&Z&sp&IWtlnI zjI{t#hGY1>@%4XBb+7!)nU)QHkK6405wNcY*0pGRspo%?$xHmw5 zXnL}F7msHUdzF`LzO~&v0adC_Lm-+GE zEu+u83>jaF-n#85c=umIFoQtQszYvuLsA)iXNON5+;!p223&)A6u>b>&|!n# z1|K+fs)H6eA<7CN92Y3i^sa6=5w5X$+FCQe!mfIC3h}o1dD21*_A%6Qg$Y!lrVN9h zixs`A8&1rxFdJpUH8xVcI)$nzus{tZm&fpnT=bdm^ckE^pMZ9UoJSKrg!Ro`xG3!| zH?lp07XWz5a16h@i^ydx)4DBi`#^tas?lyt8qG+b=`$Y_G=R{UpaGQjh%qFsM~op_ zejf@ueP*==PcMCTKKcx&<)GEjW@Xjjiq1(#xawJw5V$dUk#R@&MjOisum~40*hM7C z%#|d#1PsX#CR|zp;L6&nfg@|<&>x!4vY7#&n4u46?e7!A#_;P>P-bO=vl>*-RaH;7 z%vq8$IhOM%m-!seG6~D^8^fauzjOP#th>c_i)_#hl38y~2lD^wS(2g%3+- ze=?6}Sbk#{eqG(N!BuTRLJ%(wR0(I7wk*R z5LeQ~fVd)}q5anvnf||IVdta6&V-2^1+YXuA169n@(1`21}AnToLD&T;lzI25;1>TXmw*)YyrEkixaze{;%NgP2bu)cWaY?6o$j$u+4v4 zquzGg6D|s$6F@icpsN4$KR4$&5OUspWyR+n#EHH5aZ!|TVmK&;*dE`qs$~>T>{u7) zEu^U}00biW0lmO-AOSOKvVDlV-Hl1y-I#t`(Fs8wqbe=6wJRR}D;`AMZAoZL0pIPera^kXzCwR!no}db5cj5% z=ILqvABin|RzEtYMg!_;rX(u4k?rXTSWJ>G-HI&9QH}WG$Ki4prT)(E@6}s>4{(4| zj^!AR;is-IUUy?@8KRG9G#iRO5d+cpCDCU!!lD3LHn@r!h)G6Pm1FWO$+0A(NI0IO zMmLtDKEv@WyDu!q?;FG9>%#Bpwy*25Zp*g8mL1!b4F+2^xU%P}s_I#;B}tBBS-xrh zw>XPYm&GVpj^7v-qg?nEquO@~Zj5!eUUGAKy8}12vcbJW4W4VMk|)$yl2A~eSbZE=hxe03lRmOGP2vEN&pu(RDhUX9&MKH24+Bjk8!Sp;}BbS$N4 zX5gJQr15Ozns_y^ns{1fTRf~dUU)XL4Dmu#AOfnh6#7v8zHZC_K?~VgO?B;F*znRu)btG^jlW;%> zMik_1s_Sg3OUw@@9WVqQoto3Et0RG%E^QURvr|kNS<>`6Q0l;ZQbU%QhwZXO{UZEt9ycb}T+>4gp_{n@W*S0;gk}^_mVU6! ze7DVPG9p$!wtKJbp3io7nY1Cpq0h&E&Lz^0U?%5rzAXhj$8ro4A_S&=-8RSu*PrU3 zL0ZNhBuEex^4x<4eQ6I8BnZlRG|+G;pCvikmI}f1zsL2Q<5`B~czt6Se#zH$+m=x9 zK>nZW)w3i=LZ9UrrlA1^sQ@q-^n#%RyQAiIgKrL+g+|syOm!46&$5X6pv`fz!$)?) zle8U*7FhTo&x)QN6;G-Z5JHR43dD>l4&I2Bo%pfDY+5?h`|^~urOe9AK@bf)Gb$i} z5oKgJcG`m$If2Es(K>CoT+WY1>VxL>`>>z|`F&V&xbjYJ-}!Fe5kY3#QDQc<;u;Q5 z_*On1lRx?<2g75Q&qzB0*^5_1Wx~iCFW|l|@KFi^{I+h(+Hg0fU+WxsCAg}qdXD7} zJ~6`~iDkqR!YqG}@f*V~{Jw7Kwkr zFvzEtfC-?XkwHVsi$lX177u~Y)F|M`hsLW$8jnyG3_OUaTH}D45Jm?Vz$jz6l$`+P z%%&1(?@J4fa#4bVj*vr@lHD?^wq$9yuTGg4L1Yh(3#J~Nr=(t=D7T0TSWFRg5U`z8 zfN99$LW5i?U?GI#A_WuS8XFfG^tdR&fs+5Kkte9c5p={Dq{yKW03aX$003hcU^oip zNh)O_lk^T0fCv>jiXduu6cPqSq+}Qn3IxK25eQ%ahQSboVK_h;rj(MN0RZqCeTn18 z;^4{tjs~*4)O534hgnJ=hU-GU$)0A?vJKH{w&38PR>O_46b}}_hv7!{AMUDSw%r)C zf~OB^!muQ5$acyr_rk@#q?%l^9l9G|yv%GtBoFi$kmj3EE>yNbm4MneKkC*UJ3;3N zv7OX5j57gyNU~gHW1#)*9knu+Aj991ws~oE9oX@Xbv5Cbx5^l7G3o_|mIho|m8-se z@OE2T?Sq?HI%U|SKc(RN@L!DVIjAj2s#4g(Hom1|ojPdy<8%JjIrp-@TV6X`5UD%c zYI?O$z0HBFvDZ$i3!zlN**f4Y5*xJ?R|^!Gu%+?FN(RNrQl`Kx=;_ZOH$*1SPplht zYKzG6Mi%tmhUH%s-2$1}3R=EP4=A8cwBG(KWa9R)O@m^m`zShhlYWetzR@uLhk7i^ zwq_wg#Nbd|QY2B)kg?R>2fc|!MwqGCg5ENN%-#I8Bsa)C)$7YFG!Lrr^Dnv!y{hBZ z{X+9-ZilITW}$8I0I@Y-P1X$0LSUj6*@`oJ$=Q)EpS5dP4|Foxf!pPtQl*og-W>7c zf*B37=4ol_RJ1r}0y}w_@@H$)Bq?Ysih|c(bR`5skM&@1=;9y~9_y~-qB=D}Oq58P zbJJptn8BKC6L?#d>Df!X+V?yaT5HMd^ySiA8OqwkSP|Md(oMhJY`NOjSTjkpbaJQF z#BCea)X+M0kZTr!nOw2Vd$u$5E%@r&0}UH9v-RhiV0yZGMKeOn3OF!xMi3CE1W5wK zv9IX03N)l)xWQd7S^^667ukv7-mcha8oPS)*!AY8))zQtR~_F`?v3kvaEkfnI}yPd z$=i@da9kr;SWIco90J2I*%`F(wy-(2uvGZnfdwqg@E+4J(6e@3HLi%8P-lBTx028e zpj$&{E8Dr#E2+g|&B8i7`3-N<;c86f|JpIU?bhfm@*mwx{Pk~u`gtIDH6tJE!u)wJ z^=AVAD6EnP|JiY`Sm?Smr}FRP(K>TYuXODv2>dbm$671PnK-QL^?%e^hxAl>4wC^e zChcmH-L290-bC{gVk>?5Sclyj*UKlalB@~61|!a;Md48PaLA%b$9>QOvucCw`!*ZS zsypdx5BBF)#ii;dC8T~$XE)tRTL7H48Wym|Hm{8a=3x4k%3JzHVX`vV%;gSvgzoxC z;Gk#=D`sJwhuZNovyu*50Y}Lqd5=~6r5d0vDZjAk*pKCKUy3(|r>YZ4LgZQzM({I{l*-0<);xm`*xzO%yDMTHTq!9 zSSnCu;+`8z^b|VbSwt;kd9ZsATUbh6#TBc1EVwPz*DSU?F_(VjWvkMA7rmjp8-Akj z>Vn!hp}Mvz4w)n2DRa)owC|n29TaYd|xJ(ny|lBWA~4 z$I7e_e}O>(V`*suR&5b?Ae%AUxZsN2N@W@B?IO`qw_!uUw5cldHePd!&z4J`ZEdsK zy3U=*Emuy@Ryxy^##U{iBByW>*m4VdUC(A|0#nOw1=~n)ZZ@rqtSTy0L~fBUduz*o zpqo4*?#`yE`bUVK>pzFit^I-rfrwT%ck#>H^(?%QEtKg2U#EY_+sf5eKN-J-z<$I* zb?j;BjnOwEf`!~zPsp7k{)oB1IveI5JdagqD|y3_fo*&5a&jxxGx*w7yIk2ySsuF# z)PEJfl{6T+4 z1pTMq*XlIIR`N~HhRh`Yt%hqC6gxGFP6#DW@5}$K7m>_F`*q$S#`|)GyNV^Qy-R3R zRsZmpYhF2jEU)ae23zCOfRW^z)}EBW4M((r_^ZMV9JmRXh|8x(GZ(U z?}53@t+XxgQaY=_reh*lDpzn0ZlxG}4n5=ZJ1yFQTNyVqLrZCE-m!mO>R5pun9Alt zva@2>$0RMsJ0EG&d^;E<%5s|<+`@XLha*-s&(ks7K&1A1U|Q9W^6x7xwbm&ym3l$D zW^S=c{p@@10g5Au4BkHciro@3Vp+XL`vA2Iv#UvRF2U-17z3cme=te-_hzh@R>54Pt@;woiq{ScThWcqwKwP zcux#-!bHtD&wLiAz0gectFsQD7Ws`dHPfKNzT{*u>yZ90(}rmi$NzOt)j(XQb-1G6VeyWLv*S4i9O~68QK5)Oe%gDKu4yJ_q#^*O2EWRsbm^rBCZ)JrcISVI z?uBC6qW@C6TeoBz&dBq&1D|;+wp)Xy73vwsx^>$e_IJ{@UN&Tl4Q6&X_Fp%%UrbS5 zbUOXICT#=x0p2Rz;1rb)nn7*(9Ta>Q*|^>OIWC~43BK=AA#(w9Q-#p zX?xwpik1u*YR!i_ZSk16oQ_7a2_>K}&se*LE(gU;_LtPdt&b(Tri4=yPb6q+QXNFt!~2YN zb^9afF=7O9m7p^#s<{l#)g{JtcEdp{qYti?-8Klk$3-o5H)g_1u-&je>Hw0&b5>Pp znr@WFxX)xLYe~+#%WX+m&EJ+CwKPIyT8W^OyJ0s0Ms^+T4bS5ZJDs~5aOk>*%C3O< z4M;u{V++lPZRDRO+t-<=RP|?Ag(q^Enxz~JaF|~0ab&PFzekw zzAoU=o_RUUly-P*lH7VwT+`wNS3HQHs=weVGL(VzAXp@5nQ}U9(X~Vb))BrX>k;w& zB;vW9vuBbR=R*ArIe5^PSmmW_(O!ecuHRcK_Dk0?dfEKj0(w2Z-foYvzEkE$v_d`I zX=958#!~agHmF9m+^wcH{&IFnm+#t|)0^_MEM(aq>o*a$HcxyIa;NcFxJ95dTjCTn zl5GOcEsd4+e(%EAQd}JnTLNhsjUN-=obaq7u{K-X^1Q??K-?*KNod$J;lSu&yx1+> z4mGNbSzf9d*Y?43Em5v$#tk$i;DwNw>>&BCMsRp|56f$n!{2=%IhOD$nLuRRGT`bL z?^TW%V^az)T`;s>cyd{7p5Hz%qvPf9wNs4wvd8&D*xon6RVNuJ? znMtOaA%DS_U&|CC=e15hA9)N2g8{!71Lim>&&@88H@K3?C(wtf?CbdAln`iW?JYuc0#ETmf_)26@6q5H={jeg(zBI?-YrU zo(ZmR(F@!C@y!@H;5Y5_rgJeGOv75!)!;fo3H*zxTWFC!}NxEDdW2RWkd7R z_rIPAt@!k~d4+DKS5|*1lh53V5nOy%indGgW5726TC$Q3O2$ihrb#!~J*FK7EwH$!_R`Om-O+g#n14f_d;C8WcQ^uesb`*^(zMp-giH&SyniOWzm9uEwu~u zP^~w{zoPL?b?D{RS{RR+FNM)fO=DeyhOPhOoXS(@0AA%QOb%WY<2_ToL_#$+V@+CO zPholmN&6dH@zMe}ZL_T+E6s8}vKs(H7>;F}Tk14e=0%vE%Q$R=k`+6I)pz)PRC0uN z&iW+SUmn+ma56q0dI!wylEP?S)JD>;BiC4(qhBC>W!fU+Br$g+kTz2VH`wI;oL(Eh zrAz_DP9Pel@NPENG>z4wCh)=>*@-2yk==%&?E3sp>;@w)uUG8>cjX-A=Enl=(UPfw*+cj2 zz7`cz$F2QRyQNDvp#k|0g#&AWW!Tu9&(hEZQ zI~G2bL6*J(Z5;G8*VH6naEd@%f>6GdI(N$)^5{*og_8FT|6%X>hivF?Eh*eIPq1^ zC}?*=E$&?bHMRvt%CXd{m4nC3SkKN_YNx~0J$k(hyY@ExbS^+F zOk*q{6r1O5an;R}3*G-cw{oeqBDWJnRC)|iTQ}wbgntNWUH(L~OrOuU`X{6`=UCj> z2GBbX)T@BjM~ONi7=tV{%GYUewy_w?%r%;l~78T&&!N zrEGrut&TQ(#lh2ksf^uxjW-9_vIj(QoA&;lPRmAg*_Rg-7nu^DkG%P zeNu_M%zpDvd!=^J$d^PfP;M-5(p=r#WLu>{7e57WU^s$MeqFNWu3DPg({-?^^~koD z@KYKG9rtu6g<6`V@om>g+U+yTVF$dF^L%9VVbKzY&pEcl5T$vK=sFD~?{oAYhu%Tz zw8phmC&fN^LD~?Tz)bGv$N=jTF5r{#7h}au%e`k-S#Z$X$}>3TUXly&*uKE+F*{}Y z88q)KX-nBD>;Tyq!+poX7DgEFm=zh!Z`Zso$%y~412mXzL_dzOxPT2r6o%u5uN(FZ ze4>U12-3!iE@4=ro*-tp!AW;kJK}FHY!EpLEU63ix*-7Nmj?M~h@m)LX3q=jhQIE$ zO+UFi>RT$L$I-U6;cPScls#EzMn|pHp)ntsq~gu>#x8#Ol?& zu_fzogrW-Jm@6D}uzO#MdRRfei1F$vA0(7?Y9B_leFb4*5x8S8?N-jEY2)yeGrO~b zSa-|}mi~fJb$^?RB!F#c3F;WL*$oZAqI!N=W*TVtC6o;fUS@rpVf;NNI9%~UWro3HOm7$ji`4Ej zXtxt~sK(4mw@_}@!}LP#ji)$o9Xugt7|_1&!U-*U{}L7PO?{-v?$8BXyVkZd$*cSf zw2agaQi;lW+s*Z{`EW+ut-g1AzTo}~ZX$Yady?Aa z?izpws@(A_mq&Y>;F}@E9HCli4Q^peeS}*dR*#QuKg7X&Coa8;dqhWj{XnF0y^1t0)9qP-o&ibzW1u!Q_UA{%K6MGE#67tFEAr>mvyc}~ zr7=oa%uyx7qJBMkAb zYU1bg6g;r@?i?O2##*=^-R7R$_{R*_>gibA2c5%`FnDbs3OKmIq5o}`Ks!F)ANWh7 zIT{{yYokXVBa|JQ1cXIa`wBwFu6$TMQ^Ueklc#M6b8kCccXU^?Hj_%~aJ@pkebLZW91~yvB2d%ms$CgQ`j&Nqd zt(UELwfiAAU`K`>Dtc!w0z&|6K9M4ryU~UEHhQKFV_I{F(PxUCIdj3{Fjb2sZ3nhQ zm0#C8F^s(=LXMH-mKb8$F^(u98w8ZRj(1Y~ox6z3n7Eb%kbe1@q7lJ}s!iQaiSoz$ zoP9?+TeuKk*IAnm2B6|v-bjZb2#3&CZ*x#)2s=&AVIhGtrh~CWUm*`0 zzGdrfYfG1lt;4sYVGfVlTnW_X-B+i3dzm@uji@~o6Trz$K>!db|dKt28pHdA!C&W!yW<(RHr-QHCABkr}8JFW=gY4Gw{3k3c7gK3qS7INxxvb?-7;@;TaPAlXE zb7c?i6FD2}3+@VGUni=j)m@`&{8n`K+`}HRrs&jUtW?n==cJL>fS0F3q997%Ns&^? z4;0w13j}foa!^6!!dQ*Zw$Kf5(!^e!2lTCb(^}Ul&o4b}M#9X=>dO>1&Sn)BnX?o@T$20>_F+dSq{{0kkgeFq_zL4*Zz2mAI`ulFj^^0|9nx^)90 zwD0zq`;>_^b!HtHqN^k}cPaj&uM*9lyRXqX4Db!6&_16F;A)MVIWDzX3EeO){H!4cZ0TgCv452)Ay zAT8U0UjN*Euvx*cUYG0(YIDmHZA+5a9)qyMfvp=dwCRTA$iPoxTyMQqtEEPA7}95; zD^0SV({+pTc5Yl$u)4*R1etp)`OE1=lg+;6FAf~5Tlsz;kXNa^@`n|6{qrpc67ha{ zX6i1$WYuAD-S3xzC&#zhUY4mtV4L~xLUTUF=pp`RV!yO7>>djrc3^#X(^?kIwkHPQ zd6G!Xr1wPh!3=1+YW?uo5p9MKR^b+TlYziL2}x$H3k+V7#aJ|2kIQ@xyVqR|lYi8I zmSj)5uBMNRqU+X=C*}5t%+C22JNh~gpHtlx&t1i~x8z>c@@(sb+fl}nx1k4rmmH6I zEovH&>qQSLce#DgSU5RH5}gW~j|Fcvm(X}hyd-5qb;THka(0pVgw5JaI9ax>Ik@_* zCVW~L>jTn++)iWTG~P@ZtzCMX(^Q+Z^*#`Px+$iS#kL#jfEqjw=93#`W*J+BL47yp zu|G)uoI5!(>&lJT-LI9X6`J!EKU)%)i1KlYX~u#5wmVte)~-B1ssaaVZWRw2He<k6RD1d)qU|!|;Ba;cR=4cYuFAg+TXBCQ|_K55xrlyT`;V^a9)h!UD3E z0G4Ad!5hObZecF0^tUhT23vMzgKF?x)w3kWw9j(tfD1>?0HMVslx0#FF*lrH!iX`$ zgb`yNNfY3UBVmu?3i6et3y2ssjz_{BJ{>|8Jti_BTuH!r zCu{kqM~F4r8bL?^1SG%=a|i}8g;ksgq=4q-ht&5%07++AI_XRSK&X6Qh_q-g8jwc~ z3Nj1m-9W>KDm`N{xZuPG2e1$VQUwWc5heh=H@_HW3b%zbkP1f5Kn=VAV@wP#NcFCi z5mxDd0>Ua)!kjyTED7lHgv{gtfI=pZ7DYWBcz7|RU@#%v;R*-g4p~q_EKy)E!yJOa zETpFkEJrQuH=1OB%L=nqYgrdbeQXck1>W)JIAI$yELp`5;?zwYa{dIs^u zKVrl$itrx|3JQ$b9;gz8Wpz9-eGtF^&xr(4l*E@q4TR9boF}9&GQi<13wH!fha}h+ z=17aQ7h8_7Fv6IoXM+&3ijD*h2-P!JZCWURow5^gOtWbzN$<-9T5!-u2pLvLeQFTo z0$LRbZp5jHEqCBFA7?1n5EGu5>F`1k86aS@hYcFQicl*Vyr_G8r+c8K5L|VaQXO)N zP~wX#i7%d57$rHvI03{LVwZOQuO6MeVD~_OXu1#WJNwX$Y&u<{6-0#tm{S&HP{9`n z0y>3q{*RLPA*FqY0SwrNqMSYn#IF?0vlC!KfHpEYdw5R|`z=9CfrD_NUI$T%) z2ju}SC}brD5uXOk6udG$I4NkMA^?S`2vr}zSil58D8n8%!Uf#WfN%jgJaB5+@Dl?H zP)=`<7#4biNEl>3bpXQ*(**~!3StN|t3U=SW(BZA!h|6Lj0%T;DB?na_>jaF2?vQm zfLTEdOkTuKi(Zxh(g;(?^TsfTKbRUg(J?G54LA6G28Skwyfsp>rf6 z@kVz^c$R})N@AEtB<|3@CYa#1!8vp0XdT>R(WrINi?pGSKh1{2;Srz_ATN>tgLDOx z6hQ(8mE=%EzJweBJ5;%Qai~KL`8w1S;AO;^f*}=^1jqptkOMFxP)5G4NF!Ec5|jio z>DtmoHf$Z}4^4+dRTH`U_w9lv(<(HXR`HwpHvmSPpoCWE{C!v0+jikpUj7tsB%aVK z*g0ne7hY)<+baEiSzhBcuv{rm5KZ|J4|B-0kc>2Eoby>GB03SDFvLKwE+Sht5Q*9b zA~BE+13D0q_}enzYa#Z7_C@uR5a=-x!W%7k=BqZ)kS^Udj6f(J1KYOGqM^Ew28^#8Q&ejIzR^N<@3 zheHLh|6wbv9Z9^9ba@@=QnCd+0+vGzA%K&jh*xQ;t@U8QfDyunlbYHZ{JI%j4KdJ9 zP%X){e{vuB>N;>pmy!dI0E2A#OpN02_kHu=JA=mr+6Mx_ktWSJI?EDuKttnz1-=hH z2$Ys&B!wQNdJoLuAuPZNv;-{q0aE~>9vwgxnuD_VG=}GF2;SChBfyG9H#O*E*9fR* zNxJ)_dovc!pW=D5Dt6dgMIcA$d^Vv6u=n{mL*e)NkjDsoma}e!!s8sQh&0GT0Dj$; zg+LGjD+JUQhQL|c!hl~qNFWf&k8}d8fCL7+h-|I90rH2y2mu@f=PdK#1H*h?mtqy)-d~@f!RFJADZqFzisakCyDiDGQc+@ zz}^f67R`g-%EyLamvBD21l*nTJ|FWr;z;P5GY5-sN!GwZao8A1_#VOABYr#DBmND- zhCfZucs@^ggwh^y;)IAa9X@{H*WDxj+igSeUu@YR8(hVxCs7)Xm*gns^DM)1ER$~x ztE3CR?Yl+RZG$cQu52(K)!;gxt6B!nrt;rnxk-GJI603G^LU2kH-_Ke+?EZlO8Bfi z=wtwlI>t|yk|aPR0r5t&(K1#Us*F=cDT9kr#foZrxVv|3_l5F@jZ+>c zS)Tuo#2{mg7jY!U$NyJhT}V0s3t%qNPtYZh$I1W@RS6Y#7Nhdk|V$* zNq|sEfW3DkUAeB-Qmqs#6_i@FlzPe{p^|*1Myb31ji5g?oulM5N6;Ud;>2qjT6l<2 zWXAAmBg6wtIw2ll+6eK0Dg?Ya`>(6i)Yfc-cz`*k3x%TBZCNi6{P%M5g4%x;7x5!q z>+7@M;#pJbKhcSfyL$09_WyNoRc}V{q=x@qTAw8uHAZa}Dl{<2kuD`jz=9lnaWPq9 zvPM)Li~u9L)~D)V1enSGvmC>(%i82$JcRzx^av855+z+ht|3Rhj08F8O7ih~4X&$^ zAWnjO)avQpbOY!QP0OO*dH%b{{wQg_2qowIr`u!2sSkPq_p3x=Rdl5`}|+dY;j1yqm&B~aRg zX#|UesKm0>Ovap%5g9-L00aP27*H@22yk*Y;5inKBit0Rw-d@(y66hEmo#H^w^N5 z9%l&vNk)YHA`l)K9=G6+Sv||Uao-$c0NL^(qHv?I;f}iQmW&MR-WrW*Hf6iEvBAF9 zk8wMdvSm+_aYY;JWC{^W>qZ0aFw58Z;|)rM=RnVX&Wb!+GIbkwm1|6>TW+n~F|s(2 zVzPG{e|+R}2brqmteTURicJElKn>_}gdr?6qG~2X)tWQ`1{qSZ6M?GfDR$+JnOp=2 zdnIbqW9M7sZI)1EP-Pwo%EYEZ>O&9E1un~2Y7tqndgD|;;^{~Oy8BMfn6~2kgfd_@ zCWY)Ru&Utfbtn-u(2fdm1#fZF=PSPp<@7*1zi`?q(cVJ6Voeld45`@3L7f_IfVqZL zjijKeT94w^HrkE${d8HhJ&|F&cGI`V1Pq2O7%YC2nw4plDT(MIIAswj!tr*0w<*FX z%`3>M1XhhCwo-X)fGMI08eyig_Lx9Zg$a6)8c->tni35&Q$BNsaXsIEdmaZ!H75L4 zv3A|Pkp3>+{yKNP4`v2-nn$O)vD{AimFXVPjgoB?*;I*##zgaqpQ$)?r(`pFGxM+y zz8LE$)whtRf4j6d9823HJ715g&eHVQMUy3n@?I3gXuVH>ZjR9nIm^~%+kKqNtoC;~sx$&6vKI%ZIgj9#1(-);mgy{Bcj}Mdt$}r`)~*ntOGL@1*R(vmyD! zh&{r2(F*J6wtCO36;+=`cn5;2owKLx3oi1I3{%)_al9vijbTR~EuBRkUtI7IRp{#^ z=x~;_kB8}I09P28DbvdjY!B^q1s4Ir+u9=;bL^yDL}13RlpDat2Zw)Uw|ft6Rv-&A zkS+WfqJoM?e-q$dKw29Bn>CSkZZt~FH^6sQB5hKsr?cKk5ZO z9I8tIXbMU=_qyPoE}7_CZMEE81(&RYj(nEa)M|D!4?sWdB)?0(ZYFIR0(pCN^A^#` z!r1SLX6a;eRIEoB@(Rcam(&M?(3~sb_-7$j5hFgP6Zv+U`xD)xAx4-$+M-|FYf4wpUQo``vkWW z@R>18KTEtpN|n@NU_h}}Q>6lAnkr<+4A=-_nAX2cBGY8ND8IJhH+0IvVX2OxciKD2 z-}s^6xf04deG7-T&c=zNLalAjmBp`cgFftwuR7%qs{~fe!L+>8YVgPGzswgg-Qd}j zj$GPR(mD)UeyInUV{yC`3+OGje{L= zA1l+%Y)t-gsx)?D>{Cl`D&HLj7Eq%7a_P$4eQ$+i{t|j^sHAa7~ zj6vHp5~i8{I96`3jBUl%-Bj+`FZ?V~${@X@E>ZSb>?;DZI1c8H@Kx)I2sjo>AA^JJ z5)UXdD0)F^q<z2SbLA@12nH}D%xptyGB5EKkOnHXJh4zlph+jg#rxW z*iX|S>oi+1HsWir!H;q23q!=VI9kwkS{LWn>}*Y&m1`8td7fkXHc-r*er=X`iuwBF zp~%?DSnnD8Jy(_mXYcAP_~Vn|f---tKx1{o(k}FGj_yV1y(x~==)Ltu8#0qUsR%DP zw>Szmf9x8by3*p*;H`YA4KIVB7!O9fq_c#amqCy--Qv;GnfOSBFjtlQWhWp2&&EP0J`xY#Cz*s`rMv#&Reld9*kwm0lk@kx3t8qT${Q$TjQ zNdptCOUSj~qk;F3(J`>dF~}%ker;HD1F~8AvlTu-#ASeEd4n)qE+&{E87zHO(14;X zRA1!4jV#UvL3>6G2eh#$V^#wZxtiRdxuuhprG-rdKL%hq-$Ol-TfLYUd48pV)eTP5 z#30zeKfs;7pRv<%+Aha3po`4k?^yf)L(`CX#qb9~jPP$Uv$(H_#l%RlBoTRKvUPsv zKFN{GJt&qc^=someOEMr4QEKmX4K;I{O|wUbG)v7}8)HqocT2C$AKmi5eHv z9=UThV}sUkDf}g{e+l~}lV!0S(Sud6{T{xcNrqseOV&oH4t@9S3A^6*mQ-itCPgk|!qgW;lhq+~RMlkVD z+54GJ-M%x>AJzlQ6?`JV=WG8B1(@yDo522y8g9}s&-i$B+42*$m+i%>X*gDP zeKZf}Eq1zvS=y--tAJ9XZo3K6ON>@AmG0RVvpKZPPi;k-lW+}199A~GwK<&-j+Q{Y zV=65sADjFoaADV}#7!O)XDoQl@_s#2vKN=jTj!_|`IMbf+mFx+eA9FtuV^G#{;xxQ zJI=aF-Ig|Tz{nevF}H>~9b22)p70nU7gEi~NSWrSuhVUrOhneKgCES2ePO2dV*ark zmQ{}V(|ALZ6IIsuvir{1qj?m`_q7#HBqClyob~BP0AWd{i`25QkT|w znc5TgpnX^8O9g$I+7lOLJdeZDz0qJ^*d-DA?QubdruL_u`o*TfO;O1PQO-l1N_+Z$ zZu~7nt2sYo6TQEX*ZVn*-VyX#bVXz^?)5SIBJ^~IMEL6y9y{};*@I>l9$Z3t_~W?Z z#2|h%$O*&-d<10Z{SjxP+m^M*hb~KEZJ!G4+w&!Gw58dF@bJno>BZ{&ED;AKY}>Szl+F1iGv+o+;@A_J8HYjjx6$6+CZZ%2wUuc z43>5Yct~T*(%oJd;{t;*zM%2@13_-`oH)TN0^7kk;s)rfW2oGPk*2HvHNSK_abj+_ z7Km!2xt*Y8sUsgiRleoH^g(AenNF;~8Ev`UUbsE3-Mm}cdtJv?T2{B-nEt!{2LEQT zKChQ0y+Me5p#N@;8w+~)M)fVn?AzGwOT5B4t%u-dd^Uppv)(>p?7v^cb*Wh3I%ZiA zfPK)io^r4`j{C9XE$}^Cd`?$<=SLQwKlB*vv-J2NTD60)RM-NsjW`QA?KS%wVHRVI z#7z7w+}GJfzKy}1f*ZHML9gePh96bqd67=IuvLwBX{k;W_wcrC{M8MkxkmQgW28)t6AH#2*ftl4tQJ-PAQHCa~(|^iETVgIrljRQ%iAyY1vue2)V|37sPT7 zE*&mU77lD!lKeOIj!7#%JrT)K$hAn?C(GRXBU5=^kx6;)>pCRTLq%w}xR2uzdb^7& zIk7miIv@#~fKh-RcM9>TU&Gc_GFhru(^Jv#ioQ7v1=12Tn+qZp>m5PHh(*Z?bpBvP zE)^NUQChnB&bSYqSv~zDsFLZz)I?Nn;##W#&gqbc55?}q6qoMmr=Wl(bI zvpWO9dGgxFPozEGqbFKt_#Nal8sJ?2P3_c1~bMp?K=*1rZMvccCe zp}Z8^z%aKQEHDRU!L5Je-!5bp0Sj0t>*nv1p)+`OmzI_d5`GYD)+2dy=j03MV%YdF zm&)WbOmE%>?iRYa@xdU$oLbnFH7Uz_4XlZ;w=KxrWCus}mD~8T^~;h~sRU2%-K6jTE zcI47XFM#xS0<$XywA=-aAVVlR*g#=fZqSx1Kuct!2c|tH31>HyH27f2lItK#oQzTU z)R%%$(3CrtwjPPpOPiQ3-Ame#XF9uDW%cPrmi9uw8~{v(X@itwJ7+0VRXJ`%47Q&& z+gmo|t;jwa$0&%@ifN76LykFa{-bjVU2I&n9By2#e+$LlK3X>qb_)ixlq?({>t&9Y z)}g32yJUInPN8SzxM{`Ud2Y7B4jMPP7?EmM#y$qZ_W0RS+X_S(qBZPhTsH%~b3HG; z0t?4+BZoIk%%kj(V=lXtv3n7NP%QWa8l$_v^L;+c&s}F-gl)R-zWsYbYt@pqYHs77P8n{TR z<|)0Uhz(`Rv+W>N&HQr#S{Jqv{%HhuRo1Ch)NSLH<)U>R=0%&e&j{2w@qxB=Zo>bw zPEWn?a1a6joW)D*x}=(2l^2@A!cr&0iUeVH)y2b`Ww-+SG~6<+VjMP3=9Rz7(f#_) znQu&vYsi!1Qp-HLiC{|}a__KZ?p4Mah|xHnfq_*P13+Qy7;XRDd;=0ZHYCr0ejGSS zRws52`FjbnM9Nm>G^l~)t%Es)NXs4yjChT12oGBlZ?`K9$ir%}zRI2hG_v^FN?1og zhva_=+Dck65**I%717@v2w)S87AcD~pxI=Lhr0_hERaq6AgB#L%=izJ4m~P32ah03 zs;e<3BGQxENf0^GLyhek+Le>(1<+$ZsaxAJlvrTB71Yt6Qv1L4%l+Z&`^3DpQ;dP* zonw+M{h7e6OgX<3adV{4dIRg%{13{?Bt3ki-uUTnH=b^`{D&1to2)mkr=t!sRhFJ9 z3=l+byW`&o5QOKcthcaJguA+Ll_r=5+lLf?OQ437PO#qKtHF7Tr@^c-#<9e$z=|Zd zhp)4*A|Q-Fj(KM34WPF5Wm;&QXT3oj#Ep16(px_p)L@Oh<&gZfQZL=tInUS|EhxGP zR?T_~_jaGp;RQd;xhV#PPLK)X0rK2mIJ4f`1;y4g77eWOv1u=b3nF(rcCzW0)(D66 zHW(R;RjRm_>&_C==1veO2pRe%@X9Di9=l~U6(X)fdpoMt-jTMUPR4qBD+m;=vp=3k zdUE2S!52~!#nP>_Zz)Y=M9=(OI*1~L1H&LgUs?tj(k^D5EsGn%?2bUQHxf4TBi7sD zhCWBV5ra1XJF9*|(vIGDr`xYR*s@DA$l;5V-H`TX9dz$L z#8P1u^K)@rNP9oHb)V%nKPP!?F-{Jtx$jM{SZ|ZG?qJxuhpq7~ertRSG0}cxTd_#2 z)C;wm&tUUfhE~Hy48qQKV2eD zKkBB%8VGX>+Sb79CYt2y4a?Y`n`zj_+o!nT)&MBBquLML^a6OZBb4z5Q4h06m!nm? zjP+$9nP%-I)yzM+qxk&|%rWuP${Av;GyiI#-XHA^Rq-I{A5%Ecp>b*_i@uonF*Bz5 z`$N(9=;STDU^hfGl3)9`SY6ZP4d5p|-E)tG!pHM+vkon*1uWh#*?|T|9EDG4o?)nhc`C2mkpc zVI)B}1GpY_n;W8o!GP8}Ok%$M0!D2FQe)uM`Z3dlLR|!3i0pCd9>&`2D-Jf_I&)nr zTVcCPUt{P1#?A^gEk0ga0LW&ML(vy_DCC>#dSmH*DJ^u`?t-|FiJWar4X1rq{4=%= zGqKDHOO=C+c=U6u7YQ=^mAba9&Ft+VEOFaVdwm?rMkB!z6NNSI)7RZa`@nNkUMG5S z99gG(b)HN1F*SdZDd=t^Tk}bjiSNC$^C|je3(>vWDv12z+hM{_wkR1xj6f!Iwts(& z*ffxPYIoazJwi@H_6V@u^VfvYgZz7`P}un6P<^7Si0{e%0601ZKO6OJDOy0HuQN*> zvspWWH&PE}IWs0;N#6{47p-MLTl#0g->DE&IuiF@H<~q@Q5b?Rl~yYi};>3dLbATQ}=3E znwFo$9ssi4C4`9OG3d+_&w8l^;M*@#=K$OQ-~bc4*Ug;UO4uzML3iv5VO&*}sHP9X z6mw` zc8c=ojrIUzH+Mv{)Co%t0OUI7(>dj3RQGNtF2uihzpl=)QznBYjc_qaLi?X$*N&Qy zs%h_NH~(K&nxz35=RW^m0*`vk1$ItN`2Vzqe37m-{LEL~?F?fPlUDvI)ut2kV(u8Tn6Xau6VGIw@moH#+UZSh> z0bA!It#>vW-z|s8|AmFGYl3cD^tCJwk6mwct7?N&(;7QPY3LE{GsbSp5X~}1SaKL3 z*DpSuUtV_6y;}>8^)HM4x}_G~mS}9*6(YM1g{!IpRMQk+ilXq)exmE95NDPqcF9ZV zkZTg7&Mq;J2;Z#*uKp#z*X5quvbvUCaqJqjR~1NuYARw((GViq$FQ3sXqMqua?s=Y z>vZ;u)mGXu+Le}QXP?n}cAdy#ehd&9n?`|}DJ^ExGRu-L&~S$9 z9oCViyuHx>!$Da%`J8-WWb0qI#RiI!kd$byilQYQXAGanpyK#P){%W9D!YD>bXA`S zs-{1rr|1hY(f&coZUQ0AO_o2zy-Cg#?oH|?aBni#zP-tf=Iu?sk8W@Nc5ZL(&i3ZK zW!E0#s>Vb$mPmj(*ueSi(t3Ln# z3z09M#>I&KNDCobANrzeR-e|09tv($$pTS4!#w zgxsj3w%4d6NeWr!0~|mQgppDyW@PTR0TaLgfx^iQ#ZVv!gpM)@f*=T(2nZnpLI@#* z5JHGfk~9aIe6dUwClw@3;wpfLV#>^LlZCcD$o7jGY}R%wLr_a6iuw>rRIWlX?+&?- zStYuS#lr9DoV$EaNP@CMc$53g0zKWBlfD86p9rE`j^!*+{)R5tc4$y{{!N4^q`deQ zKD_wc3OejYg1RK(_GO*?py;mS=|5*N{Cn)9nvS23+;GhL*_Y56hZxPCrK1-o&G=#3 zUamv1GfhpupO{#!pacwYF1WQUtO!3kp6=^Dwd(~z*q9tio+u7utfj&j&|iRay$#r9 zy;MTzAglrap|Sdmye*l~Rkr%JcZA0NHtn@%+{SN9{NIeNE=n6W(d@UPWm;&feahRx zU8yG8Y+k{oX^5z|vrtTJY1$?A#YB{5<=bL|L^Wb4&+5iaLry&ca?C#^>p)w7BwgB~ zVKAd^j+hQ=k!#Mj=ky9VlR8Ye$t7C@jBQO`86 z9tkwwE2MI98`Yz?z@9%T&4`9lEb-1m#Rho;0ud>^V`;N}))|1m9%u5Cn zJ142dzyiMqX56o)p+?s(3F^|mKS@tW&@4CZI*%hJxM`im4T~r~-LO=H<*b|BD(JwQ zNefWgwS?_5E%vCy%I}c{t=CvoqP~UZ=Fq9x>iC;|Irv9t>8(!^!CEzD4ze zZRj)Y$+nCjQ}YZ!k4|8pMl(L9^?DEKEVTj!X$;U)F8=5yTa;PA)Ark{lK-Q+U|;~1 z3|Bu~S)Ka88dTOlsS83%7O@dZB|MQW?`}J4v=lv`wLB8o6KL?$|8|0hL@pI5Qyg|O{96tx0 z!yDwA&hc~5IlMu>=^Q@?ox>aC8~z-PIfQLI*yKF3Ra0z|JIWeTBbG2_s;1BEuf!>% zZf&m$e??nteCaC>i*Eao~xKlK0Nk!0mWi;mURD!|iA^?K;y0zdOMaO`e=sc<+n~*^bX_STRUeBxwE7 zVy#!X-%bF5gL-{$BTYt$f>-VozBguJw!^!N*O?~#?Fz~$@#I9wduM9kc08?cEna7BvcHodq0EyRCGX9tfi0Kq zHrdIBvw+Dse!PW?JM&Wp^^+wfz0k@X%GTy6%ywurwK~(2{apzeCFcCyOlBFH{t^Wq+C`TVs$bu=VHZ6!N8#S2#*N zEXD`xbVat?c)Ci4brm+Wgs^&wEL2a87`ae6PrV21YasDOCy|^)W{ZIOD5m)U&PJRZ z4T8Y`TCSXevxYLr%%zw_>4=0YDag!?P7?5jn-;ed6;c2zlO?FOF`nDHu+F&~pfJ`(oUqT@1n)(7#97YAaUA2E(h=16b`#(uu;ah|Z~seco9vwe zcNu{e_7`lvfVuLeCXQm*_;m5Uv?=2y7LH@epP8DMnOm4VW2Q}-E@8s72@?hudKm&$ zD8DdnKZSK&1%M! zUJcBdfk-fF#=Opyp&2nEO-vUyXu6yMBgV()^%yYdYvE| zG2>-gE({6g%jA|VZN#V<0#(R~UdHd|3mPwDUiV3 zfMBAT+;_$no?+7ltbIOa#5E!t70UR$hJm(Fh1Zvtm)IGf8JTb2nQ|;+riD=qgT{vi zHDlN;CJmS`XIL2H#plbKE??Ai`60nGtMM|5IgrhneaJIs#(41&)5VOKFI{M#IA%>O z^zk7h%4}tP$`DqjOP4P!ycTamvyaW0GK_`k@|sN<>k=!Y!k&)`1AR0!HyWBpHgP~N zs}VDPYCI4qG&7`Tyye3D__YCZ47}aI(g%&KgpHG5ZniMqnJ+e+m@(cNF@F)WWy>ra z!So1$VH-1P{^A4PL@+NEZa!wlumv{HJ}-B9twx11uVLg@mU)f&i_kZM8B6({S%LQ9 zzzn7g3qD?aK%3~r3rLD;UU9-Uwb0h(-OL!XVtGhed=E_lSGE(hx?C3v7NGNWy+T(IrlPq86HrB*hUX1co&66Tics za5j!&&AZh~FC1+lO(aRrtBE7b1^YnKMf+$}!Wt0i8q1q&=;t92h!m%dCG1%2%Yi|p zO^nUHawzAD-E275IUG5Xq$ebLhX;K#-1x##aor}zpj@0QG$HZ!!5+nFw1rBb*zHD+ zVC{nqJ z@aB!Q*|{Jk8M^1Yhnz`Pzl-=NAVVt zGFXol(iUV3!&}UTd*#B~x7*hf;yl_bHVKL_8$VCXVkP`3hi>3_1A<-gz@IP{Bm~;R ztO-NLTN8$jm@ZzJ7s{|HgQkm*C)&nZ3>0l*?B^C_8*!y=76uK{K$=(^!Ouuw3b}-DBm} z0|Mb}_gDe?3eY`3TLJoRAU9diDh|t`5z4+ zS^m*%`G91EyR_xmyqqVeLpswS6X>v#ma5wkzowHLVn;6?DM>l278S$ zSdi^Sk{~T6iZ(I!y~H69NDK3wWj5R!a14b$nm5B&^L~1)fP1em{1J*X zlp}}6&l82jR}J*Sn>gNRG~Dg=&BpIF8*Mo98d#FIAhBi>5@R5iH!m<2lCKZUfw`Rc zvf0Ag4JXn-P)HOKW3eyx{k*;q2mZi@azjJ+&_r16mIG^8uJl+D@@zq*ZC0y!vljyTMtN!g)YwUoA-K% zcI&Yc!kaP&=0rF>Iq~JmXs;n!j3)ZrzB8^;9EU<%ncNo<%_|lYy~zF|JG6yoWVcZ0 z7RE3(qXBf0E-mG)$I1u<);@5=)qY@KEoK8tGG+t4@!JSK>0{g9&UCKJP$2g*Lsbp`ef zeKhZ@k-6_>181^w_I;)2g|i`&6lpUroO$642u6b6_kH3=!pg85M+2Fq_Q7(Y%oDF% z=^23>LDCflm0uYG&?pLhr02Z{+H7A>&@8+XM0!Bs5D+XZgMx6knJWmlkn13tEwtgr z+aBohz*`MG7W>9+-#9x4hPW3P`IJ1F! zBuN8EzHT)c&hud5t(?_7+&8P;ZbRS5FIU1om<&da@WRoC{(+G>vAo@G%i_cdg-Gw4 zeYQbc21F!IWka-3Ot1Li;*t`y5@FqaJXiqXO{jJc>BW(nc;dbwiYSe9c? z&(EwTmN~HeXfayo*TgT5gVX8VRj-0PcxHPIUa@@U`BjjV-1plq4YcZ=D+;a~xJiQ~;>D?L{% z^k6riT1eh-G1tv?Tfbz8gpmUFoqhem55o%mZQI z_(Os^8g>=S9=c$?WmFlD?Sm^gypi+mdGd(lLg3Z5+-DrKS%EF_11 zZb0J~#=zPn`JM5`w295g+RL?PVbhlFfhoIfuoRkqrqO}iyTGr^^LU=yp1>8 zH+r7TlP!}yhOsz6GBCC#CW^B)J|*m1fxN+LAsg}ryN#IflXa2V%J_h=PYvuF*?_l@ z=EJ58ZDn9!kcdVMcpLJ0ynvu6C#_}IeueB&%kn=?aTLfq^FM-m)| zags4xESr*h68D!7z1Cl&x_e;AP_kumZSJ4@;*BvG?iELb)xOz4FBoj-9xFpVR&rj?&{l@- z$!#U~5D0Xoyr9InRCGKWhv9V;<*Dlvfq`kn`&+Qv$Vqs?qF5`10${1RQ@>+@cp2SnDu5$2l2m7Z7* z<-FL?2PcaVX%lAvW!G>c%&UE(>?Z!e_P(3#17V_TA#j9|IT=lqg|@F|6Kw~1wQ&3) z(|`$Llf!*77cJ=T=JH}ToQ#TXC`Q_bVy;WE6k*`(gL&jD2fk=8oEQVcpP-lPuoi}6 zc{r9ankWR?axN-47nMsI&NYVLPc2MSia9Wb#RbM5%9Sv%gn?caD{shA+?4}w;}`S@ z+H9d$)qII(GZ6ji2`tUEpSJwel8&fjMw+423T5i8GXofny2!O3>gz zLAcjFL0bvh2F7CH59y+EDV9Ppmkf*zCxj4s-jIjOzI~&R4fm}FcPm{U?UN0ImFSbHSHn)iZ%BMiLZer7gUF1+=8 zui5z3LelkZ48pk{!C5&dgmW!~^KfKIj-kwz#mXDkU%ArLW5r4iEWvV|UAfY8`({=S zKUfaumEzDK3`Y(HeI-nMmiu5~7&``z;rE(!4SQY1jH?_&7wq+UR?N7lR59bC;sRfA zdSu{8-ol#gg@c6NOp@e^oXO4-%VxuB(#D#3&tj9GFOr*UY0)b??Z>)hd zFm{C`hi>F|?nZjG4L;8D>l-#N7isQ*Kn?EBVDo3Mf-3x zh@tFnA&@5rSzrA>r+G%zTX zJ&GepZa`%NlFB#mSS{ufe@M^sV4o`n`##wS*1nks#=LU8jbqFfu#4*WHQ`~biu@+*|YHjNir7N#A6{?3&Fb*b76tgWBYER=aJ!9 zx+ZTkSD2;8%B|+b!BUEGyb&lif3Y8XmP^zwj!fN~#@XA8gF2NUwXGG-%17)2X6vw^hR4F|J{ zuuB_g3&P@&L!^wfiKFb5`)VWjs^M(4(Dr%a%{B{xM%##c?ajg;G3c-KUb(L}hO_ea z#Xego^K!9C5*&p*Z-$pB^J2GKoS~cthO+M^!aSNxNX&sku5mTbb*v_HiRJitwVDXS zy_V6wmq?pUdNvRQM;KXq;ev$3ar|r#jb9k#1$m&YM;sQGBMt`ViVgf|ug^B@C6b^l zq+NzHkR|Q~&SJP4c}^T}E*dNxB5#j4GFH2}dPtTa8ODajnCpcjLtA)=E5EOH zD{bKyWcy$)+D!%?wCm<7#WMHR$`HsbBH)hM#-Q+q^ITwUh9Nvd1@_5;z!wgd6JM{=b@&QjK|{2#_Q@`7qHH0L29h#yXqlL!;U>i!4R>r5 zg=Eh{+K021u+IjLo|Q5O27xac?W>WYPzjdecym1j0@=he2ae!vhL;!wzREBLx_*r~ z+dm6^E(W{ZUao^g8<6WDToCRc98CB2n#`v_RYSV zIL>0AH$=w35(e6AB8&{b@a2IcE{qe>!q-=lwQwxG4;()d2eXAYZ-jY6Gm$3V#ImG? zB}ofmHt;qBXJ0Lxc`-2PBW*a3{C>P2@{7G@qc=2uAbHLkz1t-j=0Kr^M4Bu%em{Rd zH`*6O{tTAiNaDz$j|P@Fnn=Dr4+Iil;vmrHmA2630g+$r99Y)Cvh;>xlejQe!_`8M ztbJZA_Fd9GkM@NlSbjBE2)A#BWdwtAw-P4?;lL3`l0i0*bmhVuEsR|mMO^ujxSyW# zM#I6#9JtIIl7(dK8)wTrnFj`emb}DNO~piW($XUth}*8-ac52CjOA%_)~_l zpfL8rk+dM17_)ujSB5iqG}tF2MVSW#3ri9V!p-1`h`k8$+nM?$0IGPv~#)*TIc_3*MW3jI!Vc$O`?E`;6n(P<|-bj#U`-DIoh@$}} z{&_&6NTYqWSxAl_DElSiu1ta@?iG$@`FWo$<^pHmD3;{5@T-Zjko3s#@%te?FbEuD z;!g?IymAz8wa|-!;|R*gQY=Bz2Esy`YaF_XFxR8_Q{q0CNc+kUw&?ohIz|i0kOXtz zF)#*_I2%rcc`nxviKEFpG6sUSL0b%Tfi|(no7uwK?W-O8#yGi4GK|&6uM9`<#}+R1 zjc~4fm9hkB-|aH?xx5ngd6Ph}Z!Eo!X1mqOTdj17GFuo6Cug>B2n5>72j0LD_T56# zCXynQ;maGv686cwnJxS&MX^SDF&kLs!15+@UB&@lu5gUGTreH&KG{QM4lGG=I3c{*_WgYEj)ktTHVaAb29lv@^M+vG45SSU zW#LbGE5q@#;b0%_pBYXZCqeKv?F)*9waXC<>XB_lM#FtSx4{^$3~9I8_Xx&D(Ho+P zw?kMclYt^mw1qJnNPB^Qqm2A+InWDnL8Hqx`(CcASc!#RF07F_n#>kX4t+E$Lm$lp ze_$W%+h-%i688rh!2~uJ6y8(qRpfHFgmauQ~gM~EM5UeDJ zeRF-Qfu&dCM6bl98S-qQXDf4$6_EVET_|yBN?aNj+}O&1K_d=!j};nC9Bm;DD7^fc zg`iL=jzHl*uo4_g5-60(!jjB=wy;))wU8G3z@H#nNDII6MusssSl)m!u?Es+HZsh0 zDa8>7f^k9;Cer>XV`C`ffw%9696=fm^h$B0k+yG)GnDhrm0nFONgT{|%|#A^V+j=Q z`owfurkI`%2P_ zfiv6p1N#y3V&Od?EtJJTAlP>+ZQ%IbJTNG9dBefdQ^iUw9OwguJP>C4O41g3LpRqf z97Wed<2SxSng_rSlKfo1LLty*<&71u7M3>L=(-fe(Hr`Kjo%1{KdwnIEJtwH zO&o7EO4J<>ihO>b;u=GlqNS^y@+rrv5kmfz~jpOH)G~6cx$?vsI zgoT4R+7~of`)sa9FqDO*4UC1Z;b3_a`)=OgZK!P z&~!lq#^*Ur5t0Fr2?RKU2OdiPt#m;HCRLQ>DjMM`65%Qe;VQ!Nimtq(o>ye$6;*jf zAY4Tsydn=?Q3tPxgIDBwMH{>#D))#qc#bH8=ZG+Pj_88th%9)HsDkH+D0q%&%5y{$ zJVzwKb3{^}BjS0ED1zsRAh?U@fxC#J+(qQTC(+KCh#EK(5tK2xjV(Z{xQZBfMNqt` zwMn$Pid0uo>Mlg6FA<%#L}Z$ZN>dSOD%!twC3TTkG!ltkQ5AKsh`tq==L*ca0-`x3 zqTlMt*G{IDlWE;#S~Z#03ry>rY0YF>F_~5iOzS1nYRR-#^41Exl)QD4w^HD(6L_m6 zZ;j-wki7Mgw>t7x3A{A|Z*AmS8M#&nTWCM+JLtf@>W8ob&zQlWLg>U4|M_mPy=}@AaDKSt$tJm^syv6 zM^Y0&D*~pKk9X<;hUC!^sC#_X<7*yY4e)rp^^UjN@zy%tO2=CZ@K!nA8pm7VcppVyp@f&uJKkit~HHoCBRoSex#mJ&A8Swu9b{BfN33LTE&>wFs4-i(;9$l1>>Fi z#g0@j?lKuz0=0`Hu#_8_=SBwMMk*JZ>K2=-7Mp4on<^HY7R^Y#;zg=%EYir=C%!sytxa4j6ITfyP~)t~OT1NyuSwj4#MdK!2qQ*hbpwjH zRwCZD?0`DNwF2N;g?Oh1ajigH>klVVeK?WY!??-=B6WvXsB(1pkgkRgnQ?qb&0$(` zm~MKIdc%X*@YWjMn!#5LzVsnA&W6;X8&Gp!g}w%T#eFT`O4e~eDh&ftZ`UebtL;E) z?LsQ;LMqUO)EO?MhF^asq|Uy|t`)r2Sgo+PzTW!1Rfe~EZ;j!ta4HNh74z0NKR@~U z!dDl*y7}6|*EU~SxK=jT>NBlt>I!dF^VT#knrS^Vt!A!Og}0{g)-uyd=IfXTsbb!t zhFOpb=AQcHp6cbE+GPe*F7K%D0xAk`J>dgX((g246LJ&I+EBf@jU( zSuuFl3%*+L)(YNA!F%f$=y=XLo}D4jI^|g>xK;_isuWPAeC4^18o}3k0!AaCn~(ay zJvGWb)q$@&*V@2SGrmHp41CpjYwIiP>uMBz2T&8;_cpzY(u+jt5PC-fC?Js*KnNk! zNJl^cF+hUI3kV3INoWa3CxHZv(xgRx^xmtDNQZz*Xo}^1{~zDXxqEl_%$_s5b7$|& zJ(*`K~61rVqUYbShidqkLP*U6EB5`$)>3|3S~#}7ruUQm+BbQ0w>6C) z+x}$hn-n^=!|F_`jE$zjvO>vgptB&eAjV)KfQ_;$8->IS9wmm=aY>yl8LhoKNewIJ zIxxKQ=(ZK|su1th=hU#pr9Hl16y^|Qv~binuFf1qGs98i)%(a~Du9(1&Kx1e^^FN1 z^Ut~VH(@P6n%J4d4E;B%n~lnaGQQbk+-v#-Vr+VhqZkY@q2gmlVq>V@7n%l6!zRVr z`#N1lGzwFM(#WTwqyD4St3Q$9@hii2_$;*I=28Iifk|R`c11`JbhBHpXTkTQz}j>E z>~`bLZHnGo(*^m8s|I?X0Iaqy5zCcsIYXF=Cie##*%RnTJ%anuCpR9jI<~ znnPy$#KyNbH<(sMB7%oL!H!~FkWepUAjMmFg&!04bFl64#z*}}-*6q%y)1i0^<{z) z#e<(@j$*8+WdafK!A}B5F}K;6m=+w;+j%#>C8D~o)25&I?Zu%|bDqQZVme}?C}sRn zT~b5uyc@lFwqWFoi%#shXgA#9ioZ0pjY)AuJ4YYKd8XtZ5 zP~P@oj>f;I-X%e!_aDp{uYN6aFktfrG0NUMb>(KFcl_qPkZ;0%f^2_2oEwWQCNvJ2 zgf-n)2Sun6ul-cpR@*Vk1P3=ww`4MB@=t&2W5h%dS9uqvQ@g(geQeWucoL&V1(dd* zpu6=W+WS9|(A|3QrfE3xKJEMDCp_9%gr<=i0^j*IN?paZ3!TLH()cGoJw+R9Myzaq z>wp*w6IZ!C=kQwJY;iI2kZ$z_hl$n+oo{z=F|v^ED-=M{fpBkIcht8y+VuD**f0K+ zke_{@(2N)W6~Gy>8`ph_mNWh-gb^b_1#m>f_I+|^#E4J<>=B0B-xN{C+%$*rPe)X5 zwg}F?Po|6*C)#vU`zLfa2aSLHlQts;6tNO#y!`1E&EYJD)PCE0$dBlEBdyx_T^U`z zYu*?@SL%9-2}e3Ab;X>0jQ%orNEANJFOE5Oc0hEE+3BO{>$7plr*Ay?o$gN6SwoUc<_pQ~=K6O6q`FN^mX^HK=RfL%m~^HoY~nrimR ze3k0dJC{A%X9&!bkYCQ&98JPHp}iQR+4ipWhx13fB%0B{0)sxY@B#V($_V)i{7OHd z|6F_`IRL%k=!^QjV|%Z|S&XtcW#@?sDJ^bhI2&l5q3I>6-s^-=M9B`}J|b?15QGpZ z%I~+EpcYKpjd+o8s+S%Ud?=?AcJI8pv#Pzk;F$h`axH=)wKb&}t91oAaqF)7AG4MV zwn_IKfuCkpZu}zaHn%&R)imE7&zBc_kfI3E46|D(&iy{)S^n}UhV#n8r8`b4noDa0 z399h3?OEQU+v;xouY8OOlDB7p6IDWL&u!ma6orfmc5UTQKsLwg9rMbX(Q5=_&4)g= zRVIOJw$YTOLPE ziVlBN=3!Fm4p94IT!%g=_YXEQc!b(DdO*|Sc07J*kkxf{qH#UY3Q8w1?@pf?xZ+nsWKTlE0&rmQNig4G%87$G?blA3CUqfoWy&~$ z(UMy6kdmKjhkLN|YwGk@=T10<;h=xP*g17J>8J}8p#Z=3tDW%XPZ~d-REKB>#%Kub zy!({O9b|YiQAghnE{;`P?cX|f5Kbu9;)Tuzm4AYCP3f(dDJd59{v8{-PZB)v(<%$x{l>RYb)1J^*UF@*3vEH+44&8qybBTfj6UfD(ze#s zMAfmcjP(YKW(T=yl?g+33w|zi)3exCjQWffP;~{d$JAT{-CdAehXWVoBq?@IWm5SN zxmIR;_+YKRG|anrtRLQNqRR;T4zjBh*$Rfk5Gk<^8v%j()cXD8Fk2nX_}yE*O? z0Xus};F_R!)8B={w~Xk~(<4;oeaG@A#|}x{15L%ozb0P(E&W^aSL_@@)5cGTcBE*! zPZs?x{3~(}U6z;>iAQ7Wdf6y;QKs1I*lrUYww$a!K~!$<6S-S*D>83Jjc=`$ ziJ(WASA--|1v(Q(qi^3_=kU_p0?CvzZ3|ut5M=ArSyR_si<4eqMh64K@WJY(%g5Ib z6R4_d?{W>97X%p7BY&8QhfSN>{ip!wa8x} zXR{3UTubT+_MRZ+bGFHHk8%ozge-mvb5jf*N}?J@iNP(1RL$lr!{4VAWz39eiwE1%Z&?QaZ{Tp?%fQUQDS$YEcYc#U;8fIH zh<+P|d$ktH`9+KCQ)FRS$M_@4@$4=wmBM+czr*hNuV>IFk-r>zau4;W?FSptpUyrO z8UXJ9=35w`-&%MFxi!_-;y4j=={x8L$H0Hl|2`>RU+um&5Pf6C*XtlfKp`wiGlaNU#(H6Gno%}n$iw_W#*v@K31*5A@^OKql~MA+6|aAMICGAt`Qts1tcQOuLAtB>w&{G- z66C&K$U?1z8+N+E>A=Jmd9d8D6uoq|c!pd>zC*6UDuPVAG~)FCh5fVN%^B}LFuePJ zc&Mvx^!v+_f$}k%LDQLBq}sev_iE`bot@-ytY?}-T1|kAjCqu9lQ;(OVd|E50dO}+ z7%*C3#)zBu0+Y2vcA~uQ#67q&D6eL#hLvlvPMEYIjQbQc zUHAFRH{`}Q6yUGS;jhf^Cx2hWBM@xenpFi+E}!342{RBnd;E1&&2X2qqTrV$?qQ_v7(_#N z!Vyfo4w|eW1x0R9l#`^ozoWD;D>?&+Eha&j;ijZ&@V!*(w$SNI4LLpewhv z&v1`-qzV+qy@#o<1~84I<}SDH_{qBl1a)R{bBI1W%4r-}^tDhFRc*c|q|-3@S&cP= z8~>sT2VM4^c2E01$8k^P|gEazc)-6e>`&ci$C98!>lw);Y! z&Bxq89JV4fD4dLcK?=I#p0^6o&)56szp9)qWzqb!4VC<$DI*U5WrM$u!xz1#kA-c= zKraLPa96af3oLu9q5D#ge@U?z-dQ z_Y2$|jnWTX{*!joH=yg39~Z2~7lvnyZlGF;EUrZU#Q_N5O|BUmx$?cjD`})+9*}Y+V`}?DcJxs*O!agtN z1-Sw2fOA4ypj!akLYpsy*ON)N%beBnj|a+Le5RXlgm~ReEr06cw{~!`N4Vy_Mf#u2 z88Mx~)EgB;Tp3|^UR=WIyw#Ks|4aRBY0&;ck=06H?~!nr#pP^2Yn^nC+2?6@sD%>w zK@&xfCW^#yce0DMg^x+8VT+$FO2oAsZnUJTH!|l7ov`xOC_3Oo`dhVf5O<{T>YjJB z#LAnVuH!TrLsb+ge_k{4t*Z@_9P-6 z+^EnBjFK)jP)m7mzoNuI?ZQ)4qFGz7$l2_)$;uo21uy*>fA^w%|2_!9A8_(}INe`7 zfR~kx*Glu=#d9*!6;h)d^0zdNUf6U0&hqW$%Xshr@t_i4IvVu%zJKp|dgV-mVuI7- z9Xoz`??^eGCQ`=cOtIefF6+kVq=iTEo7U)GDUm9(Jp!jJL4$MD#4YvOx&AFn&0Eqh z_J$M_B>ME_r#Z^e-xh`@aQa~vsAq$F??-#}we>VB=IbD@CWGIt>Ec+A+T=n&6XMbMAL+Lg{T|DiB(T{{{9y+EmP^7om45^ zi<(d9@@ESJL|o&0i;rAn=Gz+&s%E&-F7W6#-yVi!{;VB(GQMHzdsL@N%NJRIiu_Yu zT@zJOy|5;4QQX%$P#G852gLkj8&dsT~>m*vCsj5Ipkpe!BYxN#bApmt-4CiE?iCC*Wo zTE{T`msTX3Pq6E8$22J4A@}qd+rX2!lRB~gw)#)Ec1+tC z7>b1%N^5feEA^6(U&HK zqtho&x3<{=WseK-qZxK^W_D=3#44M!Xtbbp#+uWJP#@^B$-Z>`<$$%`Y7N`nUTBPi zl3t|6dK{?gnO}cBl)J`3J`40vVyO2q2ym&(b;S9VWf@QOxOA$HsShYnYu}*^_$;Tj zUKKC3XI+!ef$FYM>eP_=3tTSw z`CO+gxynk9Md$2w+%5I{0tDXmHu^g#;@sAREfg~M6pCDQ#$-K`ghXu>jl8RR*&ycD ze#yPc3$l5Wpo=oJTnoQdxm*%-rlkvA-e?k5$_4qzMaXjLEH|snR69=meJ5{$b0wcs zIFElPkzdff){`}wOaK2LH+&W!OWx&@dG^vPS<8nxiRt*|t-m)ORwnMAKB~qh=5rL} z8ef?)vDtmmm|9pzdvgBaky5;!xu?r%7wDWzIcPeHomFJ5xkCksf^pyBQPo4 z+`3_(v1t_fQn51PrF`UV;Ut6FH;*>lH-(cVGv{xZnwV9CB9f!h%a? znlLtwk97Ve)edExmd7k8=<%vi-c<9bKr$hY z(Q*4XGl(~qZbdu4+_QRAva$eQP=e>0Oc^TM`~?<4;cE#vTaddf5xsD_T($ z4enU`l)M)T4e0xJEQ`^xx$>hEXt%lps9E`J;-IA**AKzKSze!tKa znCmM@9MF>S(I)C~3SEx?G4T^k5&73%19Mjb5?4}27Lg;T0`K|)M#9LO`g2DmJ1Bd0 zlzkMHcmr_*v2gYE*rm{Cq-@oz7kjRu`H~CZ)-*j@4wL3skcC_hJ!>T(jg+-wIUFY0 zTRPnF%)ZM4{2byJuaj#2Sdp13_rA0jwIIfer&gLn6Ke>h%$32Ru#X%1Ax9<6xRN)x z5(=)QQQ95`v3G&kL#c{D1XNg28L=SrdW;)1uUMY(&;1ONO$J@w_O_t4m%Wvj{hhmW zE`z1%mF+4_p;tHTnNayxB6$34tE;)WLX9uIy3`l;dtLvRneG{*1XXE91kmJn_34a~ zsE(3IoWqLlXGY0`%5^u0{>A$dt5ynXZh14&AJ3eh9Q+(-O1^oh7rg8bn%f%5zv{iW*vPPzQn9Iv05v* z{yNqFII&#ovgta{9`^xGs#38rwa8~bF-ZH7nT=K_g?NeLLTio7=ZF|z0~I(b^6iN( zutW3Np-}b;h_K0$&gG?JR+r3>@kPD9MfnR04Bfz&$l}WH7q!g_K(2V%U-q(hveYt) z)c@vXe`!`#UNV_`yi{B~aQ;_7=(`Mk{Z~ZArBdh9aTUx^N|zt#-PkE{K1>!L6DoN& zdHYFt;tw1XzGOdaA0hNKH1JwzpirA%$?K5c=5!$s!q!;Z;#lk8SZnK;=X^@?-7Y5f zD!u0kcgMFp`nNoqd)ts>t^R($F>zW_i%WR5Di_p#Q>iYdTW&Ssj>PBlGwkZa0SObx1%mPcK?E3o$ zFWLh}gQC2hmcQon5jbAfhb}6@M$@ag(00$Lmz{(%%GulD9^P4TYfPt$h_>R-OD?n%q7$G;fn4Z38A9ZU8T>c}Q-02>ORc85#mpkBZnBMR%Y=P7(@Q|FIA>mB(_7 z%4AlsVk^#Ka1GkLXoO8>d%;j!%1|3}s4ZZq&1I;~a>x{M8f0N6EU~x+$UJI&g}j@S(W3 zUHFOJoAy%=2l^8$eTbb7#PcMN4n3wh^W956Q4s$QeD|pK)M6|(WNZp4aW2}kxMQal zpD|S&-_yF|;j!-Fd{Q(|RnS|R$F~RUsFN5)&M3P;n)|kT9xxki=SLxEtq9`6=o1BI zV-s0s>@9ii=}!B{SeDMB4lg@puM71%XPtHRLPn7_uIMeq&V%M$)UMa>DY$MYignHfIqr3> z*@^y@A@KBA_IZ}*^ew%>vfaZTE0nhj_jx8)p7wfTHhPi!b4(r|JBuVciYmSA_!@0& zg6%`E+c{g4&PaoCb`9;dadxEklsLP(u(4A&6>q!Rk$DGm+nN#VeST*$;d_(im-%?L zr^nXE0X*~EGV%@__);(ZUu=IRO+u!Pqmq~hw3(|OGuJ{W@)u?oBrVTNt+iv4ao71j zT%iexMKc3itT$F@nWP%R0>{d00SxOLPn zuJ>zA@)5sH9ze!uP1QOB!p@zCXIixEeHs6PzZ1*X`8}Qq3wZKEl0ka$D$o4+HczjqycUny z?+pdC3@0gbF6$Y#1J|DvxO=r$9f1|q1ZD!cGl6sra0~+^VSpJJUXWHwT9ve54rcHXW@Sq*bhQhxLY`pZD){@&e#J?Or%r~jWWmY1?do88|yXDm> zO^;OA_8BTwjWl~!^60jRfe9&1X{ZyM_U6VWFzBxn2QXHF`(3THj-`OOS?q9Z5Hes= zI}*z0j8@3g&FZ$1&GvmU=u{@*D0s=S%U;WRLrnhDpO=Wq_qE9`a&y=AY)jS^QlXh` zlN#2yYOGsSZDM5QBcseQQ|i`lNbGd|7U`!#yjZ>y9<1Rj=^?EK={~d|->tZlTEki~ zYYmgJseBKVbE#4jL*BsgxD&hVWur=!*VhD2*;(8MwJ6H#!m&JXXP$f>XS|S1o{_*j zPDm!hNWdAV$~{?lx@~(Lwc4y$tMQmeuo%eBof>PcG^q?h*(jJ~q$oW^V~dIlwiU7& z@&e_;{RJt3wp}_3XAm1#Vy%iMH`_et|L&J>F_WGZ5BAwbUoB6kEpG{K4MQ)aHQlVE1gvwcl-!dNtBhWf`OS4yfN_ z5ByB=4iA(L)s%!VXhq@Iio%ciyT*i0CY5Nv219j9#nV0vBG$SdC+OlGCUwg?^vc{I zJAz?JV}pn&ktsz7)CzWN(DgW+okrM-#d7Qj4ru4Q@p#3utQ2km7F_(~KAgU^QIoIu zk>@CsfmRfZ70Mt?%I)B-AiDwwqsFR9u?8%M59AKj+5((zq(;b|{Y1W#clmX0C? z@Yi&_Z_^(3M)P)R$SeQ?x{@Kq%nRPVNLIXt^vb`R-nU$tKaE5SMS8PQC!TZ0MkTJK zn_^}+S50X8z1=A4lM%bikqUn4ZJS-uUd1^F<45167FcCIb5%2$jUGL_Y^dWWo72vD zL-F$EKg0atqamB$i2O!tZytC>ys1jNal3O)(xNR-T8eX4+uX|Fb3op`Fy$~L@# zwCoLUW!h7Vv}nKn4~mL>6N6d4#W?LoLESX_4Y7=aYmdC;D4v7S86DrREO;{gt=)vD z8>a7?lxVA6IsA`7xqSG85mOzDM#Vml-KI7SbQ@7K2f7U#FRi>wIr|InE2)}>xW{M_woIT)w#_FR1; z_Tzil|6&7CD}S=r#d6qBrgRt@e1|=F&9A(NT?|TTtS72{s#}dZvEyA4yW$m_8oNX- z4Vr`eoJ3Ah8~VF}RL>o6orvcn$Poy9vfEd5^5rEW@1MXfcTMP24E{mUgmGs7=?5X2 zyUbh3@5B-q}y=><`x}3nSVEc1d1n zSn&}hfzT-v=u{nvIE)YZk({x^vz+|zdmb8LZ54Rvz@V@l+MAu~y#fqk z8;jl=g^ly+&hVYwPpf*Eh!0NgbkM4?+9@VLG*2L!u?rK>z0o|nHOqn%8>QwBQSMFx zTT;a(FQt8u#}+8AxAM|t4y-7~`ByoQ&XpG{4$!d?mxz+B;g}TU>CEB6!z(8R zIM7zfR5=ca6)%qC_@!=Wt8QmwV71onl_|kx9Y=BIGMZ7nPZzc3~x2 zyEp~4K&;k`yzjicZ%U&2$)tMbPLaTM-OT%;M!oKLo=ght3Hz$+riA;U$EiB=o1pPc zkWMdGZY*-dxY-{Aq97mq%LJLJH+Yq`(~-l&7(c4Hk-#=$9Jgr|{Bi8691PtenqsBUNI2bv@C@Vi|jn*BOb0?+*w&C2K^E|OH zL&h5$fQLspttcyZs@vZ^%ysu8{u-6wu#-&}U9KzL<`jt-VC%B|qVvcRmFJQFm@oYp&ArE*;jV9q!NKMP0N4g?DYu0bMy! zD|xfEK0G@GPP4}S?`p8|R-4Av>wr~S-g(Z0L+e!TJ8eK_PUkzVv23R~LFZ2AISI76 z2O#V_IR;>eDEA(D<8bdRAwvh<)4+E)`ov0G?PXZl9j)Yb0L{xvldAFgamkge&s1OM zlO)lE#hq*&Ki}_Py@FZg49N7}(OrPiV`JOeaW|i8&m4C3u7iz$m z-pg$Wv5>&KPg|#gY<)o8)I7)_zqr+{SFK_7KqK_ONih^6R)ZII+TAcK)(fwFR=NqD2JOb