3.0 KiB
Issue 25 — remove misleading canvas activation controls
Root owns Gitea issue 25 (claim/recheck comment 668), compilation and native
acceptance. This worker owns the isolated worktree
C:/Users/User/Documents/Git/ARCADIA-Studio/.local/always-active-canvas-20260912,
branch codex/always-active-canvas-956atf-20260912, baseline e57c390.
Source finding and scope decision
There is no canvas activation gate to turn on. The production Viewport accepts the first clean pointer press, passes semantic hits/tools to its child, and focuses that canvas through ordinary pointer ownership. Gesture eligibility is derived from valid clean ownership, not either removed control.
The toolbar's Canvas control only dispatched keyboard Focus. The header's
Focus canvas/Restore panels control toggled presentation panel visibility;
top-level views.rs reads the corresponding presentation state. Neither enabled
editing. F6/Tab focus operations and pointer focus are legitimate separate input
ownership policies, particularly while Inspector or a form owns typing.
Parent explicitly approved removing both affordances and the unused controls() focus argument while preserving the independent existing panel-layout command semantics. Details/panel redesign remains issue 24. Free geometry remains issues 20/22. No behavior.rs or scenario_activation files changed.
Changes
- Remove
CanvasandFocus canvas/Restore panelswidgets from process and scenario presentation. Remove their local event/intent plumbing and the shared controls() focus argument. - Keep F6/Tab/Enter/Space/Escape guidance on the remaining toolbar tooltip.
- Extend actual mounted process OA/SA and scenario editing checks with absent Canvas/Panels control identities and no initial keyboard focus grab. Existing first canvas pan, tool selection and canvas creation clicks require no prior activation and keep their source/model/form-lifetime checks.
- Keyboard tests traverse directly from Fit through the remaining controls to viewport, preserving real focus, visible rings, F6 entry/exit and Inspector typing checks.
- Retained toolbar tests capture only controls that still exist. Independent panel-layout lifetime tests invoke the public presentation command and retain their stale camera/gesture/source checks.
Verification and handoff
git diff --check passed. No Cargo/compiler/native/Gitea operations were run.
Attempting to reuse the independent Astra/high critic failed with agent thread limit reached. Root completed source review and found scope, first-click,
F6 and text ownership changes sound; commit authorized.
No executable or native acceptance is claimed.
Useful root Windows filters:
behavior::topology::view::layout_tests::behavior::scenario::workspace::tests::production_app::behavior_removal_tests::for retained keyboard/text-ownership dependents
The root should inspect the native default process/scenario view, first-click selection/tool creation, F6/Tab keyboard entry and typing after Inspector focus.