417 lines
13 KiB
JSON
417 lines
13 KiB
JSON
{
|
|
"schemaVersion": 1,
|
|
"planId": "BLENDER_WEB_IMPLEMENTATION_FIRST_WAVE_P25",
|
|
"status": "ACTIVE_SOURCE_BACKED_IMPLEMENTATION_QUEUE",
|
|
"authority": "user_authorized_implementation_first_execution",
|
|
"sourcePlan": "docs/BLENDER_WEB_PARITY_TASK_PLAN_V2.json",
|
|
"executionPointer": "docs/EXECUTION_QUEUE.md",
|
|
"runtimePolicy": {
|
|
"blenderSource": "blender-5.2.0",
|
|
"mainAuthority": "blender_main",
|
|
"browserPolicy": "chromium_only_for_later_verification",
|
|
"verificationPolicy": "deferred_until_implementation_wave_closes",
|
|
"reusePolicy": "source_hash_behavior_hash_and_dedupe_key"
|
|
},
|
|
"inventoryPolicy": {
|
|
"total": 6900,
|
|
"legacyCompleted": 281,
|
|
"legacyPending": 6618,
|
|
"effectiveCompleted": 290,
|
|
"effectivePending": 6609,
|
|
"overlayMutation": "forbidden_during_implementation_wave",
|
|
"provenance": "read_only"
|
|
},
|
|
"tasks": [
|
|
{
|
|
"id": "WBV2-P24-000",
|
|
"phase": "P25",
|
|
"title": "authorize_object_move_collection_continuation",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P23-003"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "SOURCE_BACKED",
|
|
"parallelGroup": "p25-000",
|
|
"gate": "G1",
|
|
"card": "docs/tasks/WBV2-P24-000.md",
|
|
"behavior": "Retained source-backed Object Move-to-Collection continuation.",
|
|
"outputs": [
|
|
"implementation-report",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"real source or WebEngine Main path is wired",
|
|
"unsupported input fails closed",
|
|
"implementation smoke is reproducible",
|
|
"verification remains deferred until the verification wave"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P24-001",
|
|
"phase": "P25",
|
|
"title": "select_object_move_collection_batch",
|
|
"kind": "feature",
|
|
"owner": "PARITY",
|
|
"dependsOn": [
|
|
"WBV2-P24-000"
|
|
],
|
|
"parityId": "OBJECT_OPERATIONS.MOVE_COLLECTION",
|
|
"implementationClass": "SOURCE_BACKED",
|
|
"parallelGroup": "p25-001",
|
|
"gate": "IMPLEMENTATION",
|
|
"card": "docs/tasks/WBV2-P24-001.md",
|
|
"behavior": "Retained the unique moveObjectToCollection candidate without rerun.",
|
|
"outputs": [
|
|
"implementation-report",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"real source or WebEngine Main path is wired",
|
|
"unsupported input fails closed",
|
|
"implementation smoke is reproducible",
|
|
"verification remains deferred until the verification wave"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P24-002",
|
|
"phase": "P25",
|
|
"title": "object_move_collection_engine_receipt",
|
|
"kind": "feature",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P24-001"
|
|
],
|
|
"parityId": "OBJECT_OPERATIONS.MOVE_COLLECTION",
|
|
"implementationClass": "SOURCE_BACKED",
|
|
"parallelGroup": "p25-002",
|
|
"gate": "IMPLEMENTATION",
|
|
"card": "docs/tasks/WBV2-P24-002.md",
|
|
"behavior": "Retained the existing compiled WASM Main move receipt.",
|
|
"outputs": [
|
|
"implementation-report",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"real source or WebEngine Main path is wired",
|
|
"unsupported input fails closed",
|
|
"implementation smoke is reproducible",
|
|
"verification remains deferred until the verification wave"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P24-003",
|
|
"phase": "P25",
|
|
"title": "switch_to_implementation_first_mode",
|
|
"kind": "feature",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P24-002"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "SOURCE_BACKED",
|
|
"parallelGroup": "p25-003",
|
|
"gate": "IMPLEMENTATION",
|
|
"card": "docs/tasks/WBV2-P24-003.md",
|
|
"behavior": "Authorize implementation-first execution with verification deferred.",
|
|
"outputs": [
|
|
"implementation-report",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"real source or WebEngine Main path is wired",
|
|
"unsupported input fails closed",
|
|
"implementation smoke is reproducible",
|
|
"verification remains deferred until the verification wave"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P25-000",
|
|
"phase": "P25",
|
|
"title": "authorize_source_backed_implementation_wave",
|
|
"kind": "enabling",
|
|
"owner": "PROGRAM",
|
|
"dependsOn": [
|
|
"WBV2-P24-003"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "SOURCE_BACKED",
|
|
"parallelGroup": "p25-000",
|
|
"gate": "G1",
|
|
"card": "docs/tasks/WBV2-P25-000.md",
|
|
"behavior": "Create a capability-family implementation queue from the existing source tree.",
|
|
"outputs": [
|
|
"implementation-report",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"real source or WebEngine Main path is wired",
|
|
"unsupported input fails closed",
|
|
"implementation smoke is reproducible",
|
|
"verification remains deferred until the verification wave"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": true
|
|
},
|
|
{
|
|
"id": "WBV2-P25-001",
|
|
"phase": "P25",
|
|
"title": "implement_main_command_registry_and_dispatch",
|
|
"kind": "feature",
|
|
"owner": "ENGINE",
|
|
"dependsOn": [
|
|
"WBV2-P25-000"
|
|
],
|
|
"parityId": "ENGINE.COMMAND_REGISTRY",
|
|
"implementationClass": "SOURCE_BACKED",
|
|
"parallelGroup": "p25-001",
|
|
"gate": "IMPLEMENTATION",
|
|
"card": "docs/tasks/WBV2-P25-001.md",
|
|
"behavior": "Create and consume one source-of-truth registry for Main-authoritative WebEngine commands.",
|
|
"outputs": [
|
|
"implementation-report",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"real source or WebEngine Main path is wired",
|
|
"unsupported input fails closed",
|
|
"implementation smoke is reproducible",
|
|
"verification remains deferred until the verification wave"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P25-002",
|
|
"phase": "P25",
|
|
"title": "implement_core_scene_object_surface",
|
|
"kind": "feature",
|
|
"owner": "OBJECT",
|
|
"dependsOn": [
|
|
"WBV2-P25-001"
|
|
],
|
|
"parityId": "OBJECT_OPERATIONS.CORE_SCENE",
|
|
"implementationClass": "SOURCE_BACKED",
|
|
"parallelGroup": "p25-002",
|
|
"gate": "IMPLEMENTATION",
|
|
"card": "docs/tasks/WBV2-P25-002.md",
|
|
"behavior": "Complete create, duplicate, delete, rename, transform, parent, collection and visibility paths.",
|
|
"outputs": [
|
|
"implementation-report",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"real source or WebEngine Main path is wired",
|
|
"unsupported input fails closed",
|
|
"implementation smoke is reproducible",
|
|
"verification remains deferred until the verification wave"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P25-003",
|
|
"phase": "P25",
|
|
"title": "implement_mesh_authoring_surface",
|
|
"kind": "feature",
|
|
"owner": "MESH",
|
|
"dependsOn": [
|
|
"WBV2-P25-002"
|
|
],
|
|
"parityId": "MESH.AUTHORING",
|
|
"implementationClass": "SOURCE_BACKED",
|
|
"parallelGroup": "p25-003",
|
|
"gate": "IMPLEMENTATION",
|
|
"card": "docs/tasks/WBV2-P25-003.md",
|
|
"behavior": "Complete mesh edit, UV, material slots, vertex colors and weights paths.",
|
|
"outputs": [
|
|
"implementation-report",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"real source or WebEngine Main path is wired",
|
|
"unsupported input fails closed",
|
|
"implementation smoke is reproducible",
|
|
"verification remains deferred until the verification wave"
|
|
],
|
|
"status": "done",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P25-004",
|
|
"phase": "P25",
|
|
"title": "implement_nonmesh_geometry_surface",
|
|
"kind": "feature",
|
|
"owner": "GEOMETRY",
|
|
"dependsOn": [
|
|
"WBV2-P25-003"
|
|
],
|
|
"parityId": "GEOMETRY.NON_MESH",
|
|
"implementationClass": "SOURCE_BACKED",
|
|
"parallelGroup": "p25-004",
|
|
"gate": "IMPLEMENTATION",
|
|
"card": "docs/tasks/WBV2-P25-004.md",
|
|
"behavior": "Complete curve, surface, font, volume, metaball and grease-pencil paths.",
|
|
"outputs": [
|
|
"implementation-report",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"real source or WebEngine Main path is wired",
|
|
"unsupported input fails closed",
|
|
"implementation smoke is reproducible",
|
|
"verification remains deferred until the verification wave"
|
|
],
|
|
"status": "in_progress",
|
|
"ready": true,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P25-005",
|
|
"phase": "P25",
|
|
"title": "implement_animation_constraint_render_surface",
|
|
"kind": "feature",
|
|
"owner": "ANIMATION",
|
|
"dependsOn": [
|
|
"WBV2-P25-004"
|
|
],
|
|
"parityId": "ANIMATION.RENDER",
|
|
"implementationClass": "SOURCE_BACKED",
|
|
"parallelGroup": "p25-005",
|
|
"gate": "IMPLEMENTATION",
|
|
"card": "docs/tasks/WBV2-P25-005.md",
|
|
"behavior": "Complete keyframes, F-curves, NLA, constraints, cameras, lights, world and sculpt paths.",
|
|
"outputs": [
|
|
"implementation-report",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"real source or WebEngine Main path is wired",
|
|
"unsupported input fails closed",
|
|
"implementation smoke is reproducible",
|
|
"verification remains deferred until the verification wave"
|
|
],
|
|
"status": "planned",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P25-006",
|
|
"phase": "P25",
|
|
"title": "implement_io_media_storage_surface",
|
|
"kind": "feature",
|
|
"owner": "IO",
|
|
"dependsOn": [
|
|
"WBV2-P25-005"
|
|
],
|
|
"parityId": "IO.MEDIA_STORAGE",
|
|
"implementationClass": "SOURCE_BACKED",
|
|
"parallelGroup": "p25-006",
|
|
"gate": "IMPLEMENTATION",
|
|
"card": "docs/tasks/WBV2-P25-006.md",
|
|
"behavior": "Complete image, library, font, blend save/reopen and asset/resource routing paths.",
|
|
"outputs": [
|
|
"implementation-report",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"real source or WebEngine Main path is wired",
|
|
"unsupported input fails closed",
|
|
"implementation smoke is reproducible",
|
|
"verification remains deferred until the verification wave"
|
|
],
|
|
"status": "planned",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P25-007",
|
|
"phase": "P25",
|
|
"title": "implement_frontend_workbench_surface",
|
|
"kind": "feature",
|
|
"owner": "FRONTEND",
|
|
"dependsOn": [
|
|
"WBV2-P25-006"
|
|
],
|
|
"parityId": "FRONTEND.WORKBENCH",
|
|
"implementationClass": "SOURCE_BACKED",
|
|
"parallelGroup": "p25-007",
|
|
"gate": "IMPLEMENTATION",
|
|
"card": "docs/tasks/WBV2-P25-007.md",
|
|
"behavior": "Expose implemented command families through the worker, client and workbench UI.",
|
|
"outputs": [
|
|
"implementation-report",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"real source or WebEngine Main path is wired",
|
|
"unsupported input fails closed",
|
|
"implementation smoke is reproducible",
|
|
"verification remains deferred until the verification wave"
|
|
],
|
|
"status": "planned",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
},
|
|
{
|
|
"id": "WBV2-P25-008",
|
|
"phase": "P25",
|
|
"title": "run_implementation_wave_smoke",
|
|
"kind": "feature",
|
|
"owner": "RELEASE",
|
|
"dependsOn": [
|
|
"WBV2-P25-007"
|
|
],
|
|
"parityId": null,
|
|
"implementationClass": "SOURCE_BACKED",
|
|
"parallelGroup": "p25-008",
|
|
"gate": "IMPLEMENTATION",
|
|
"card": "docs/tasks/WBV2-P25-008.md",
|
|
"behavior": "Run one bounded build and browser-start smoke before opening the verification wave.",
|
|
"outputs": [
|
|
"implementation-report",
|
|
"manifest",
|
|
"status"
|
|
],
|
|
"acceptance": [
|
|
"real source or WebEngine Main path is wired",
|
|
"unsupported input fails closed",
|
|
"implementation smoke is reproducible",
|
|
"verification remains deferred until the verification wave"
|
|
],
|
|
"status": "planned",
|
|
"ready": false,
|
|
"queueMutationAllowed": false
|
|
}
|
|
]
|
|
}
|