Skip to content

feat(viewer): Split hover preview from selected details#42

Merged
mhiro2 merged 1 commit into
mainfrom
feat/viewer-hover-preview
Apr 8, 2026
Merged

feat(viewer): Split hover preview from selected details#42
mhiro2 merged 1 commit into
mainfrom
feat/viewer-hover-preview

Conversation

@mhiro2

@mhiro2 mhiro2 commented Apr 8, 2026

Copy link
Copy Markdown
Owner

Summary

  • Separate hover interaction from click-to-select, adding a lightweight popover that shows table summary
    (kind, name, column/edge counts, issue badges) on hover
  • Introduce subtle 1-hop neighbor highlighting distinct from the stronger selection highlight, with
    directional inbound/outbound styling
  • Refactor selection orchestration into a unified renderInteraction loop that coordinates hover preview and
    selected state without conflicts

Changes

  • c57d5df : feat(viewer): split hover preview from selected details
    • Add a floating hover popover that displays table kind, display name, schema, column/inbound/outbound
      metrics, and severity-colored issue badges
    • Introduce hover-preview CSS classes with softer glow and directional hover-inbound/hover-outbound
      variants, distinct from the stronger selection highlight
    • Refactor state and interaction model: add hoveredNode to HighlightState, split neighborhood
      computation, unify rendering via setSelectedNode + renderInteraction, and clear hover on
      viewport/filter/state changes

Hover interactions now use a lightweight popover and subtle 1-hop
preview, while click promotes a node into fixed selection and opens the
detail drawer. The viewer keeps selected state authoritative so hover
preview is fully suppressed until the selection is cleared.

Update the embedded HTML/CSS and TypeScript highlight flow, regenerate
the committed viewer bundle, refresh the fixture render audit snapshots,
and document the new hover-versus-selected behavior in the renderer
architecture notes.
@mhiro2 mhiro2 self-assigned this Apr 8, 2026
@mhiro2 mhiro2 added the enhancement New feature or request label Apr 8, 2026
@github-actions

github-actions Bot commented Apr 8, 2026

Copy link
Copy Markdown

Code Metrics Report

main (cebe8c4) #42 (e53c85f) +/-
Coverage 93.7% 93.7% +0.0%
Test Execution Time 1m36s 1m32s -4s
Details
  |                     | main (cebe8c4) | #42 (e53c85f) |  +/-  |
  |---------------------|----------------|---------------|-------|
+ | Coverage            |          93.7% |         93.7% | +0.0% |
  |   Files             |             71 |            71 |     0 |
  |   Lines             |          28584 |         28751 |  +167 |
+ |   Covered           |          26789 |         26956 |  +167 |
+ | Test Execution Time |          1m36s |         1m32s |   -4s |

Code coverage of files in pull request scope (99.9% → 99.9%)

Files Coverage +/- Status
crates/relune-render-html/src/html.rs 99.9% +0.0% modified

Reported by octocov

@mhiro2
mhiro2 merged commit 3fde7b1 into main Apr 8, 2026
3 checks passed
@mhiro2
mhiro2 deleted the feat/viewer-hover-preview branch April 8, 2026 13:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant