Skip to content

Feat column hover highlight - #14

Merged
dbose merged 4 commits into
mainfrom
feat-column-hover-highlight
Sep 11, 2026
Merged

dbose merged 4 commits into
mainfrom
feat-column-hover-highlight

Conversation

@dbose

@dbose dbose commented Sep 11, 2026

Copy link
Copy Markdown
Owner

Canvas changes: Highlight the joined columns at both ends on hover

How it was tested

Checklist

  • Tests pass locally (uv run pytest)
  • Lint passes (uv run ruff check packages/)
  • Docs or the README updated if behavior changed
  • The change fits the git-native, stateless design (git stays the source of truth)

The picker sourced its Available/Included objects by fetching the FIRST existing
subject area's detail — so a model with no subject areas showed an empty picker (you
couldn't create your first area with any members), and any fetch failure blanked it
with "TypeError: Failed to fetch". A subject area is a filtered view of the model, so
the object pool is the whole model, not one area's membership.

Source the pool from the projected model instead: ModelWorkspace passes its
conceptual entities in as `objects`, so the picker is always populated with no network
call and works with zero existing areas. The only thing that still needs a saved area
is the "add related objects" expansion (it walks a real area's graph on the server);
its Preview button is now disabled with a hint when no area exists yet, instead of
failing.
The ER canvas exposed relayout() and fitView(), but only the architect canvas wired
them to buttons — the SME Studio Model tab had no way to auto-arrange or fit the
diagram, so overlapping nodes could not be tidied (only the React Flow zoom controls
were available, which pan/zoom but don't re-arrange). Surface both as ghost buttons
next to "+ Entity", reusing the methods the canvas already provides.
Hovering an attribute already dimmed unrelated entities and lit the relationship
edges, but the column it joins to on the far side stayed plain. Now hovering a data
element highlights the paired columns at BOTH ends of every relationship it takes
part in (accent wash, a left marker, brighter text), so you can see exactly which
data element links to which across the two cards, the way an ER tool shows a
foreign-key pair. Reuses the existing highlightAttrs channel that edge-hover already
fed; a hovered edge and a hovered attribute now share one both-ends code path.
@dbose
dbose merged commit c08b399 into main Sep 11, 2026
0 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant