Repository navigation
45-docks: N5 dock tab flash, N7 hold Ctrl to place without docking, N8 empty strip remnant - #389
Merged
Merged
Conversation
… switch - PhoneDockHost published --pd-top by measuring its body even while the frame was hidden (an editor with its own frame, e.g. the docked Image editor or Node editor, in front): 0px. A hosted window (Statistics, Objects, Chat, ...) shown next was placed top 0 -> bottom 0, the whole browser window, until the next measurement a frame later. - publishTop() skips a frame with no box (keeps the last real edge) and markHosts() measures before it marks a window shown. - Suite dock-switch-flash (mutation + frame log): red on feat/44-int in 4 of 5 switches (top 0, height 900), green after; the hosted -> hosted control green on both. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- DockTabs painted its tab bar (.dt-bar: inset surface, 1px border, 1px padding) with no tab in it, a 4x24 px sliver of "tabs" left of the "+" on the empty dock (44 M5). The bar is hidden (not unmounted - the W7 drag measures it) while the strip has no tab. - Suite dock-strip-empty: desktop in all five built-in themes + unfolded dark/light, with the docked-tab control; red on feat/44-int in all 7 empty-strip checks, green after. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ce it without docking - Decision (Visual Studio / JetBrains): a floating window dragged over a sidebar column, the dock's tab strip, the bottom band or another window's header still docks / merges by default; holding Ctrl (Cmd on a Mac) stands every one of those targets down, so the window is placed floating where it is dropped, over a sidebar or the dock too. - $lib/placeFree.js (a leaf): the one switch, read from each pointer event and live from keydown/keyup while a drag watches it - pressing or releasing the key with the pointer still flips the target at once. - Wired into bottomDockDrop (an ungrouped window), TabStrips (a dragged group and a torn-out tab) and windowTabs (the header merge). - The target carries a second line, "Hold Ctrl to place without docking", on a surface pill so it reads over a busy column; while the key suppresses a target a chip beside the pointer says "Placing without docking - release Ctrl to dock" (kept inside the window). - Touch has no modifier: the window menu's Float stays the path (docs fragment). - Suite window-place-free: column / dock strip / bottom band (Cmd) / header merge / group strip, each with the no-key control; red on feat/44-int (Ctrl docked and merged), green after. sidebar-plus-empty 5.1 reads the zone's label line now (the window target carries the hint). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Lane 45-docks, roadmap 45 (the user's preview-1-35 review, toward 1.36.0): N5, N7, N8. N6 was deferred by the user, so no N6 code changes.
N5: no full-screen flash when switching dock tabs (951df1e)
PhoneDockHost(the dock frame that holds docked Statistics, Objects, Chat, AI assistant and Live profiler) measured its body's top (--pd-top) while the frame was hidden. That happens whenever an editor with its own frame is in front, such as the docked Image editor or Node editor. The hidden frame measured 0, so the next hosted window shown was placed from top 0 to bottom 0 (the whole browser window) for a frame.dock-switch-flashlogs the window's position on every DOM change and every frame. Onfeat/44-intit fails 4 of 5 switches (top 0, height 900). After the fix all pass. The hosted → hosted control passes on both.N7: hold Ctrl (Cmd) while dragging to place a window without docking (c57d3cd)
$lib/placeFree.js.bottomDockDrop), a group dragged by its strip and a tab torn out of a group (TabStrips), and the header merge (windowTabs).window-place-freecovers the column, the dock strip, the bottom band (with Cmd), the header merge and the group strip, each with a no-key control. It fails onfeat/44-int(Ctrl still docked and merged) and passes after.sidebar-plus-empty5.1 now reads only the label line, because window targets carry the hint.N8: no tab remnant left of "+" on the empty dock (ab88a17)
dock-strip-emptycovers all five built-in themes on desktop and the unfolded phone in dark and light. It fails 7 of 7 on base and passes after.Gates
dock-hosted-windows,sidebar-drop-targets,sidebar-plus-empty,dock-strip-drop,window-dock-menu,dock-split,phone-dock-tabs,dock-empty-focus,dock-tab-drag,sidebar-any-window.Evidence
~/.code/lanes-30/after-45/45-docks/holds before/after shots (n8-*,n7-*),docs-fragment.mdandsummary.md.Still to check on a device
🤖 Generated with Claude Code