fix(layout): Phase-5-Review — off-screen-Clamp, Drag-Cleanup, Blur-Position, Import-pos
- Render + neuer debounced Resize-Handler clampen --board-x/y gegen den
aktuellen Viewport: ein auf breiterem Fenster platziertes Board rendert
nie mehr off-screen (und damit per Drag unerreichbar). board.pos bleibt
unveraendert, bei spaeterer Verbreiterung wird die Originalposition erreicht.
- drag.js: cleanup() + pointercancel-Listener. Die Klasse .board.dragging
klebte bei Touch-Interrupt/Browser-Geste sonst dauerhaft und legte den
app.js-Sync-Guard (Quick-Save-Render) still.
- main.css: '.board.blurred { position: relative }' entfernt — lag im
utilities-Layer und schlug das absolute Free-Layout (geblurrtes Board fiel
aus seiner Position + war nicht mehr drag-bar).
- data.js: board.pos wird beim JSON-Import durchgereicht (safePos-Validierung
via Number.isFinite), sonst Verlust des frei gesetzten Layouts beim Restore.
This commit is contained in:
+4
-3
@@ -910,9 +910,10 @@ body.show-desc .bm-desc { display: block; }
|
||||
.board.blurred .board-title {
|
||||
filter: blur(5px);
|
||||
}
|
||||
.board.blurred {
|
||||
position: relative;
|
||||
}
|
||||
/* HINWEIS: KEIN `.board.blurred { position: relative }` — .board ist im Free-Layout bereits
|
||||
position:absolute (= positionierter Containing-Block fuers Overlay). Ein relative hier liegt
|
||||
im @layer utilities und wuerde das absolute schlagen -> geblurrtes Board faellt aus seiner
|
||||
freien Position + waere nicht mehr drag-bar (Phase-5-Review). */
|
||||
.board-blur-overlay {
|
||||
display: none;
|
||||
position: absolute; inset: 0; z-index: 5;
|
||||
|
||||
Reference in New Issue
Block a user