feat: make spiral leaf-node phases use direct recursive-tail births #109

Closed
opened 2026-04-28 01:57:52 +00:00 by barrettruth · 0 comments
barrettruth commented 2026-04-28 01:57:52 +00:00

Problem

spiral has recursive phases where the next pane is a leaf-node insertion and should be birthable directly into the recursive tail. Those cases should not need full reprojection or cross-branch birth churn.

Blocked by: #101, #102

Proposed solution

Identify the spiral leaf-node phases and implement a layout-aware explicit new-pane path for them first. Accept later ratio correction after birth, but not wrong-branch first frames in those phases.

Leave the harder node-leaf phases, where the old tail gets pushed inward, to a separate issue.

Context

This isolates the easy recursive spiral work from the harder subtree-reordering phases. The strongest surveyed birth-first precedent is emretuna/tmux-layouts, which stores the previous spiral tail pane and builds the spiral through the split sequence itself.

Acceptance notes

  • Leaf-node phases should birth in the correct recursive branch first.
  • Preserve append-order semantics.
  • Keep node-leaf-phase churn reduction out of scope for this issue.

Alternatives considered

  • Keep full BSP reprojection for all spiral phases.
  • Try to solve all spiral phases in one issue.
## Problem `spiral` has recursive phases where the next pane is a leaf-node insertion and should be birthable directly into the recursive tail. Those cases should not need full reprojection or cross-branch birth churn. Blocked by: #101, #102 ## Proposed solution Identify the `spiral` leaf-node phases and implement a layout-aware explicit `new-pane` path for them first. Accept later ratio correction after birth, but not wrong-branch first frames in those phases. Leave the harder node-leaf phases, where the old tail gets pushed inward, to a separate issue. ## Context This isolates the easy recursive `spiral` work from the harder subtree-reordering phases. The strongest surveyed birth-first precedent is `emretuna/tmux-layouts`, which stores the previous spiral tail pane and builds the spiral through the split sequence itself. ## Acceptance notes - Leaf-node phases should birth in the correct recursive branch first. - Preserve append-order semantics. - Keep node-leaf-phase churn reduction out of scope for this issue. ## Alternatives considered - Keep full BSP reprojection for all spiral phases. - Try to solve all spiral phases in one issue.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
barrettruth/tmux-mosaic#109
No description provided.