{ "schemaVersion": 1, "task": "WBV2-P1424-001", "job": "SEQUENCER-AUTHORING", "parentSha256": "46a3ce65d56747da8684af422a1a94540612c767a6dcc42da7939930731399d5", "acceptance": "pending independent local validation", "result": { "status": "ready", "summary": "Move, rename, mute, lock and change channels of existing flat image, movie, sound and scene strips without reopening their media or replacing native strip data. Blender's native translation keeps strip animation aligned. Structural and source changes retain the existing construction path; behavior verification is deferred until all features are implemented.", "workflow": "Move, rename, mute, lock and change channels of existing flat image, movie, sound and scene strips without reopening their media or replacing native strip data. Blender's native translation keeps strip animation aligned. Structural and source changes retain the existing construction path; behavior verification is deferred until all features are implemented.", "sourceUnits": [ "web-command:setSequencerStrips" ], "routeIds": [ "web-command:setSequencerStrips" ], "sourceReferences": [ "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp", "blender-5.2.0/source/blender/web_engine/web_engine_api.cpp", "blender-5.2.0/source/blender/sequencer/intern/strip_transform.cc", "blender-5.2.0/source/blender/sequencer/intern/strip_relations.cc", "blender-5.2.0/source/blender/sequencer/intern/strip_edit.cc", "blender-5.2.0/source/blender/sequencer/intern/strip_add.cc", "blender-5.2.0/source/blender/sequencer/intern/animation.cc", "blender-5.2.0/source/blender/web_engine/web_engine_sequencer_animation.cpp" ], "changedFiles": [ "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp", "my-tools/prepare_wbv2_sequencer_full_workflow.py" ], "dependencies": [ ".emscripten-web", "blender-5.2.0/source/blender/sequencer/SEQ_animation.hh", "blender-5.2.0/source/blender/sequencer/SEQ_relations.hh", "blender-5.2.0/source/blender/sequencer/intern/animation.cc", "blender-5.2.0/source/blender/sequencer/intern/strip_add.cc", "blender-5.2.0/source/blender/sequencer/intern/strip_edit.cc", "blender-5.2.0/source/blender/sequencer/intern/strip_relations.cc", "blender-5.2.0/source/blender/sequencer/intern/strip_transform.cc", "blender-5.2.0/source/blender/web_engine/web_engine_api.cpp", "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp", "blender-5.2.0/source/blender/web_engine/web_engine_sequencer_animation.cpp", "build_web_blender6/CMakeCache.txt", "my-tools/build_local_webengine.py", "my-tools/prepare_wbv2_sequencer_full_workflow.py", "my-tools/wbv2_compilation_recipe.py", "tests/files/web/sequencer_scene.blend", "tools/web/incremental-web-build.mjs", "tools/web/run-incremental-typecheck.mjs", "tools/web/sync-web-engine-runtime.mjs", "web/app/src/engine-client/WebEngineClient.ts", "web/app/src/workers/web-engine.worker.ts", "web/app/vite.config.ts", "web/package.json", "web/protocol/scene-ir.ts", "web/protocol/sequencer.ts", "web/protocol/web-engine.ts", "web/tsconfig.json" ], "artifacts": [ "build_web_blender6/bin/web_engine.wasm", "build_web_blender6/bin/web_engine.js", "build_blender_native/bin/blender" ], "checks": [ { "id": "wasm-source-build", "argv": [ "python3", "my-tools/build_local_webengine.py" ], "cwd": ".", "kinds": [ "source_build" ], "timeoutSeconds": 1800 }, { "id": "web-build", "argv": [ "node", "tools/web/incremental-web-build.mjs" ], "cwd": ".", "kinds": [ "typecheck" ], "dependsOn": [ "wasm-source-build" ], "timeoutSeconds": 180 }, { "id": "authoring-lint", "argv": [ "node", "node_modules/eslint/bin/eslint.js", "app/src/app/App.tsx" ], "cwd": "web", "kinds": [ "lint" ], "timeoutSeconds": 90, "continueOnFailure": true }, { "id": "chromium-authoring", "argv": [ "node", "node_modules/@playwright/test/cli.js", "test", "tests/e2e/sequencer-authoring-ui-production.spec.ts", "--workers=1", "--max-failures=1" ], "cwd": "web", "kinds": [ "chromium", "positive", "negative", "undo_redo", "save_reopen", "determinism" ], "dependsOn": [ "wasm-source-build", "web-build", "authoring-lint" ], "timeoutSeconds": 180, "continueOnFailure": true } ], "cases": [ { "id": "sequencer-authoring-positive", "kind": "positive", "checkId": "chromium-authoring", "receipt": "unallocated/sequencer-authoring-positive.json", "unitIds": [ "web-command:setSequencerStrips" ] }, { "id": "sequencer-authoring-negative", "kind": "negative", "checkId": "chromium-authoring", "receipt": "unallocated/sequencer-authoring-negative.json", "unitIds": [ "web-command:setSequencerStrips" ] }, { "id": "sequencer-authoring-undo_redo", "kind": "undo_redo", "checkId": "chromium-authoring", "receipt": "unallocated/sequencer-authoring-undo_redo.json", "unitIds": [ "web-command:setSequencerStrips" ] }, { "id": "sequencer-authoring-save_reopen", "kind": "save_reopen", "checkId": "chromium-authoring", "receipt": "unallocated/sequencer-authoring-save_reopen.json", "unitIds": [ "web-command:setSequencerStrips" ] }, { "id": "sequencer-authoring-determinism", "kind": "determinism", "checkId": "chromium-authoring", "receipt": "unallocated/sequencer-authoring-determinism.json", "unitIds": [ "web-command:setSequencerStrips" ] } ] } }