@tutti-os/workbench-surface 0.0.233 → 0.0.235

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -44,10 +44,18 @@ When a node body or header needs host-owned business state, pass an
44
44
  `subscribe(...)`, the host re-renders when that subscription notifies.
45
45
 
46
46
  Node body and header contexts expose `isDragging` and `isResizing`. The Workbench
47
- shell continues applying live frame geometry during direct manipulation, while
48
- an expensive body adapter may use these flags to suppress frame-only renders
49
- until the interaction settles. The adapter must still observe both interaction
50
- transitions so the final committed frame reaches responsive body layout.
47
+ shell continues applying live frame geometry during direct manipulation. Window
48
+ position is shell-owned: changing only `frame.x` or `frame.y` does not render a
49
+ body during drag or resize. Width and height changes remain live, as do changes
50
+ to node data, external state, focus, visibility, or interaction state. The body
51
+ always renders after the interaction settles so the final committed frame
52
+ reaches responsive layout. Body actions that need execution-time window
53
+ position should read the current node from `context.host.getSnapshot()` instead
54
+ of closing over a rendered position.
55
+
56
+ Translated window boundaries keep using their window rect for menu clamping,
57
+ but viewport-positioned menus portal to `document.body` so fixed coordinates
58
+ are not offset a second time by the window translation.
51
59
 
52
60
  Headers keep live frame renders by default. A definition may provide
53
61
  `getHeaderFrameRenderKey(context)` when several intermediate frames produce the