Graph (<kweb-graph>)
Purpose
Show the selected node and its neighborhood, with link labels and quick travel.
Inputs
Events listened to
kweb:selection-changed
kweb:hover-changed
kweb:time-range-set, kweb:time-range-cleared
kweb:focus-link (optional)
Data required
- nodes + links
- selected node id
- hover node id (optional)
- optional active time range filter
Outputs
Events emitted
kweb:navigate (preview on hover, commit on click)
kweb:focus-link (optional)
kweb:log (optional)
UI and interactions
- Click node: commit navigate
- Hover node: preview navigate
- Optional: show 2nd neighbors on hover
- Link labels:
- always visible on small graphs, or
- show on hover/focus
Rendering
Implementation detail is open, but the public behavior must match the event contracts.
Edge cases
- Graph too dense: degrade gracefully, reduce labels, or cluster.
- Missing nodes referenced by links: show placeholders.
Definition of done
- [ ] Click and hover produce correct
kweb:navigate.
- [ ] Graph reflects time range filter (if set).
- [ ] Selected node is visually distinct.
✒️
edit (requires access)