Multi-pane docking and sizing

The layout remains the reference library's model (root, panels, pane groups and panes) rendered by Uno controls. DockWidth/DockHeight are GridLengths and DockMinWidth / DockMinHeight remain minimum constraints, not alternative preferred dimensions. The original two-pane splitter protocol observations and their assertions are unchanged by this increment.

Mixed fixed/star resizing

A star weight competes with every star in its grid, not just the two panes beside the splitter. Converting one resized star to newPixels / pairPixels discarded its relationship to untouched siblings; a 30-DIP resize could move an unrelated pane by hundreds of DIPs. The resize now captures the entire displayed axis and uses an unaffected, unconstrained star's weight-to-arranged-pixel scale to calculate new endpoint weights. Unrelated sibling weights are never rewritten.

If every outside star is at its minimum, the scale keeps those minima binding. An unconstrained star/star pair keeps the existing weight-plus-displacement rule so ordinary layout rounding does not introduce a drag-start jump. When endpoint minima mean its weights no longer describe the observed pixel ratio, the pair is rebased to the requested actual sizes. Zero-weight stars with nonzero minima can therefore be expanded. The two-pane mixed-unit reference behavior is retained when there are no competing outside stars.

The preview still defers writes until release. Absolute range automation uses actual requested pixels; pointer/keyboard operations use displacement. Unrepresentable new star weights are rejected before publishing either model endpoint. This is not a new layout allocator or a change to Uno's impossible-minimum arrangement.

Resize validity and callbacks

The snapshot includes each displayed pane's length, minimum, arranged size and parent version. A batched sibling edit or detach-and-return cannot silently reuse old ratios even before the root's deferred Updated event is delivered. Size changes also invalidate an unfinished preview before another move/release.

After model setters invoke application callbacks, peer length/minimum/ownership checks participate in the existing two-endpoint transaction. A competing sibling edit aborts publication and restores only still-owned endpoint values. The application edit itself survives. Existing exception aggregation, cancellation, root replacement, RTL and native capture behavior remain unchanged.

Orthogonal edge docking

A wrapper inserted to split a pane on the perpendicular axis now inherits the replaced slot's DockWidth, DockHeight and minima. It no longer substitutes default 1-star/25-DIP metadata and redistributes unrelated outer panes. Inner content, pane identity, compatible group types and the ownership collection remain as before. Both pixel-sized and star-sized outer slots are covered.

Validation

The docking-sizing actual-host suite adds 52 named cases across horizontal and vertical axes and left-to-right/right-to-left layouts. It covers mixed endpoints, minimum-bound stars, zero star weights, outside constraints, absolute automation, batched peer changes, parent-version ABA, callback edits and orthogonal slot retention. Internal splitter protocol tests are identified as such; automation cases call the real native range provider. Existing native pointer, original splitter, accessibility, docking-guide and full runtime suites remain enabled.

A complete local before/after run of the same 52 assertions produced 48 failures on the merged predecessor and none after these fixes; four already-correct minimum-bound-peer cases passed on both. The tests reuse one native window so native window startup does not become a per-case timing precondition. Earlier interrupted local runs are not counted as completed evidence.

This increment does not assert complete WPF, reference-library binary/pixel or arbitrary layout parity. Native WinUI runtime, physical AppKit pointer input, pure Wayland, mixed-DPI hardware and general large-data-table behavior remain separate coverage. No packages are published by these changes.

Public contract references: - The pinned reference library's public vendor documentation (identified in contracts/reference.json). - Recorded Reference.Layout.LayoutPositionableGroup1` DockMinWidth/DockMinHeight contracts in contracts/reference-metadata-release.json