Files
ARCADIA-Studio/harness/projection-navigation-20260925.md
T

53 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Projection switching and canvas inspection
Branch contribution for [#42](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/issues/42)
and [#43](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/issues/43),
based on published preview `715036e132677dd2bc2fb37ed316d93dc9987aec`.
Owner: Codex-ytr83r, session 01a0d706. This is a candidate, not integrated
acceptance or a replacement release. Live status belongs to the linked issues.
## Decision and alternatives
String projections are presentation filters over one authored diagram. Preserve
opposite-layer placements, routes and visibility selections when switching away
from Traceability; ordinary projections render only their declared layer. This
extends the existing documented preservation of inapplicable element kinds.
Deleting incompatible placements loses authored arrangements; automatically
creating a second view fragments the user's work and makes repeated switching
ambiguous. Neither alternative satisfies reversible view switching as directly.
Missing identities and wrong reference kinds/families remain errors. StateMachine
and Scenario keep strict typed membership. Frozen versions 1–6 retain their old
layer admission before migration. The current version-7 correction adds no fields
or wire shapes; older version-7 readers may reject newly admitted latent records.
That compatibility limit must remain explicit until coordinated version adoption.
The explicit RelocateNode operation continues to require a compatible destination
layer or Traceability view; retaining latent records is distinct from moving a
placement into an incompatible destination.
Canvas inspection carries the originating route context and preserves view/layer.
Explicit model navigation continues to follow the target layer. Draft validation
and stale-context rejection apply before inspection. Existing production group
selection already retained the canvas; fallback edge/port selection and canvas
context actions require the correction. Actual native reproduction must establish
which path accounts for the user's reported click; source diagnosis alone does not.
## Acceptance
- OA and SA switches through all ordinary projections preserve the complete model
except projection, source/JSON/bundle round trips, and one-step Undo/Redo.
- Returning to Traceability restores applicable placements; parent, port and edge
projection never leaks an opposite-layer record into an ordinary view.
- Invalid references and State/Scenario membership still reject; source and JSON
versions 3–6 retain their old layer checks and located diagnostic identities.
- Actual canvas clicks, context Properties/Hide and explicit navigation exercise
the intended selection distinction; stale packets and invalid drafts preserve
selection and source/history.
- Windows native selection, projection switching, Save, Undo/Redo and fresh reopen
are checked against predeclared full-model/source expectations. Compilation and
automated handler tests do not substitute for this acceptance.
Linux remains excluded by the existing user pause. Independent design critique
identified saved visibility selectors and frozen migration as additional admission
paths; both are included. Automated and native outcomes are not yet recorded.