59 lines
3.0 KiB
Markdown
59 lines
3.0 KiB
Markdown
# 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 `Canvas` and `Focus canvas`/`Restore panels` widgets 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.
|