fix v1.28.1: openings fully inert in View mode

- op-hit: pointer-events none + default cursor by default; interactive (grab,
  hover outline, drag) only inside Plan; lock badge is a pure indicator
- opening click edits in Plan with any tool; no interaction whatsoever in View
- smoke_inert_openings.mjs; TESTING.md updated
This commit is contained in:
Matysh
2026-07-22 10:34:03 +03:00
parent b9fecbdd95
commit 961d6afe67
11 changed files with 109 additions and 57 deletions
+12 -8
View File
@@ -242,22 +242,26 @@ export const cardStyles = css`
transition: opacity 0.15s;
pointer-events: none;
}
g.opening:hover .op-outline {
.stage.markup g.opening:hover .op-outline {
opacity: 0.9;
}
/* openings are pure status graphics outside Plan mode: no cursor, no hover,
no hit target — View must not interact with them at all */
.op-hit {
fill: transparent;
cursor: grab;
pointer-events: auto;
touch-action: none; /* drags, not scrolls, on touch */
}
.op-hit:active {
cursor: grabbing;
pointer-events: none;
cursor: default;
}
.stage.markup .op-hit {
pointer-events: none; /* markup clicks go to the stage tools */
pointer-events: auto;
cursor: grab;
touch-action: none; /* drags, not scrolls, on touch */
}
.stage.markup .op-hit:active {
cursor: grabbing;
}
.oplock {
pointer-events: none; /* a status badge, not a control */
position: absolute;
transform: translate(-50%, -50%);
width: calc(var(--icon-size, 2.5cqw) * 0.62);