BS-JD-004 - Unified operator/action framework #6
Labels
No Label
area:assets
area:brushes
area:extensions
area:governance
area:inspector
area:operators
area:physics
area:project-ux
area:quality
area:runtime
area:scene-io
area:terrain
area:viewport
priority:P0
priority:P1
priority:P2
priority:P3
roadmap:jackdaw
type:architecture
type:docs
type:epic
type:feature
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Falling-Metal-Interactive/Blacksite#6
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Unify command palette actions, history commands, asset drag/drop, and modal tools behind one operator interface with preview, commit, cancel, and undo.
Why
Future brush, terrain, material, and physics tools need consistent mutation semantics rather than one-off UI handlers.
Implementation notes
Acceptance criteria
Tests/docs
Operator unit tests and UI smoke coverage for commit/cancel/undo invariants. Update
docs/editor/architecture.md.Starting next M0 slice after
2054fa2.Initial scope for this pass:
Local implementation progress pending QA/sign-off (not committed yet):
crates/editor/src/operators.rswithEditorOperator,ActiveOperator, lifecycle phases, disabled reasons, preview/commit/cancel handling, and immediate-operator helper.EditorCommandRegistryimplementations andEditorHistoryundo payloads.play.toggle_possessionwhen not in Play mode.Verification so far:
cargo fmt --checkcargo test -p editor operatorscargo check --workspace --all-targetscargo check --workspace --all-targets --all-featuresKnown scope left for #6 after this bridge: migrate representative asset drop/material apply/component add/gizmo commit actions onto explicit named operators and add undo snapshot coverage for those paths.
Committed and pushed operator bridge in
d77cc6a(Add editor operator lifecycle bridge).Landed:
crates/editor/src/operators.rswithEditorOperator, lifecycle phases, disabled reasons, preview/commit/cancel handling, andActiveOperatorstatus.EditorCommandRegistryandEditorHistoryundo payloads.play.toggle_possessionnow reports a blocked operator status when not in Play mode.Undo: Tool: ... - Committed ...; undo/redo now report useful labels.Verified before commit:
cargo fmt --checkcargo test -p editor operatorscargo check --workspace --all-targetscargo check --workspace --all-targets --all-featuresRemaining #6 scope:
Local implementation progress pending QA/sign-off (not committed yet):
Asset workflow migration slice:
crates/editor/src/assets/operators.rswith immediate operators for:assets.placeassets.place_subassetassets.apply_textureassets.apply_materialVerification:
cargo fmt --checkcargo test -p editor operatorscargo check -p editor --all-targetscargo check --workspace --all-targetscargo check --workspace --all-targets --all-features(before the doc-only follow-up; workspace check rerun after docs)QA focus:
M0 completion update landed in
cc6acb1(Complete M0 editor asset workflow).Completed scope:
assets.place,assets.place_subasset,assets.apply_texture, andassets.apply_material.Validation:
cargo fmt --checkcargo test -p editor operatorscargo check -p editor --all-targetscargo check --workspace --all-targetscargo check --workspace --all-targets --all-featuresUser QA passed. Closing as the M0 operator/action framework slice is complete; future richer operation coverage should be tracked as follow-up tickets.