P6-01: Prevent overlap-resolution vertical drift and preserve compactness #30

Closed
opened 2026-02-19 14:19:07 -05:00 by Rbanh · 1 comment
Owner

Objective

Stop auto-layout from collapsing into tall vertical stacks due to one-direction overlap pushes.

Scope

  • Replace one-axis downward push with axis-aware overlap separation.
  • Keep components within compact bounds while resolving collisions.
  • Preserve determinism and lock-respect behavior.

Acceptance Criteria

  • Sample layouts no longer exhibit extreme vertical drift.
  • Collision resolution can separate in X or Y as needed.
  • Deterministic output remains stable across repeated compiles.
## Objective Stop auto-layout from collapsing into tall vertical stacks due to one-direction overlap pushes. ## Scope - Replace one-axis downward push with axis-aware overlap separation. - Keep components within compact bounds while resolving collisions. - Preserve determinism and lock-respect behavior. ## Acceptance Criteria - Sample layouts no longer exhibit extreme vertical drift. - Collision resolution can separate in X or Y as needed. - Deterministic output remains stable across repeated compiles.
Rbanh added this to the Phase 6 - Layout Coherence and Readability Stabilization milestone 2026-02-19 14:19:23 -05:00
Author
Owner

Delivered in commit 47fabe6.

Implemented:

  • Reworked overlap resolution to be axis-aware (X or Y push) instead of always pushing downward.
  • Added directional separation based on overlap geometry and relative centers.

Outcome:

  • Eliminated vertical drift/tall-stack failure mode seen in sample layouts.
  • Layout remains deterministic and lock-aware.
  • Regression gates passing (npm test, npm run test:ui).
Delivered in commit `47fabe6`. Implemented: - Reworked overlap resolution to be axis-aware (X or Y push) instead of always pushing downward. - Added directional separation based on overlap geometry and relative centers. Outcome: - Eliminated vertical drift/tall-stack failure mode seen in sample layouts. - Layout remains deterministic and lock-aware. - Regression gates passing (`npm test`, `npm run test:ui`).
Rbanh closed this issue 2026-02-19 14:20:27 -05:00
Sign in to join this conversation.
No Label
No project
No Assignees
1 Participants
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: Rbanh/schemeta#30
No description provided.