Repository navigation
Keep schema diagram cards from overlapping - #10
Merged
Merged
Conversation
cascadeSeparate (run on expand, drag and resize) stopped after 8 passes, so a push down a long column left the 9th card onward on top of each other, and it never checked a pushed card against the pinned card it started from. It now runs until settled, checks every pushed card against every other card, and prefers a push that lands on free space. The Linked view never separated cards at all: a card that widened on auto-fit, grew when its columns loaded, was resized or was dropped could cover its neighbours. The canvas now runs the same pass whenever a card appears, changes size or is dropped. The ranked layout's row gap now matches the separation margin, so expanding one card no longer nudges every untouched neighbour. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EqzDdX3P6mdtFrhudiXLeR
# Conflicts: # TODO.md
robertsolves
changed the base branch from
claude/project-thread-sroiel
to
main
November 3, 2026 09:32
# Conflicts: # CHANGELOG.md # TODO.md
# Conflicts: # CHANGELOG.md
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.
Requested by Robert · project thread
What & why
Cards in the Schema view (View ▸ Schema) and the Linked view could end up drawn on top of each other.
cascadeSeparatepushes neighbours apart when a card is expanded or dragged. It stopped after 8 passes, so in a long column every card past the 8th was left overlapping. It also never checked a pushed card against the pinned card the push started from. It now runs until everything settles, checks every pushed card against every other card, and picks the shortest push that lands on free space (or at least clear of pinned cards). That last part stops a card squeezed against a pinned one from bouncing between its neighbours.How it was tested
test/schema_layout_test.dart, covering both layout modes, a 20-card push chain, 1000 random drops onto a tidy grid, and a card caught between two pinned cards. 5 of its 7 tests fail against the oldschema_layout.dart.Checklist
fvm flutter analyzeis cleanfvm flutter testpassesCLAUDE.mdstill hold (no SQL touched).dbscopeconnfiles in the diff🤖 Generated with Claude Code
https://claude.ai/code/session_01EqzDdX3P6mdtFrhudiXLeR