- Use tag.value consistently instead of reconstructing tag.type-tag.label
- Fix auto-disable to work for ALL tag types (hashtags, authors, event refs, titles, summaries)
- Each tag type now maintains separate initialization state
- Eliminate a component that is no longer needed.
- Reduce duplicate code.
- Tidy up code along the way.
- Ran `deno fmt` to auto-format code (hence the large diff).
-Combined filtering, counting, and set construction into a single pass with getEligiblePersons
-Reduced redundant iterations and improved performance for large networks
- Change minEventCount to 1 to display all tags regardless of occurrence count
- Add radio buttons to sort tags by count (default) or alphabetically
- Add "Invert Selection" checkbox to toggle all tags at once
- Fix tag sorting implementation with proper Svelte @const placement
These changes provide better control over tag visibility and organization,
making it easier to explore and filter the visualization by tags.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Remove entire Graph Traversal section from Settings panel including:
- "Search through already fetched" toggle
- "Append mode" toggle and clear graph button
- Remove expansion depth control from Tag Anchor Controls in Legend
- Make entire header sections clickable for better accessibility:
- Main panel headers (Legend/Settings) are fully clickable
- Section headers within panels are fully clickable
- Add hover effects for visual feedback
- Use pointer-events-none on arrow icons
This simplifies the UI by removing unused features and improves
accessibility by making larger click targets for toggling panels.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Previously, only certain node types (person anchors, tag anchors, and 30040 events) would remain fixed after dragging, while other event types like kind 1 would snap back to their force-simulated positions.
Now all event nodes remain fixed in their dragged position, giving users full control over the graph layout. This applies to both regular force simulation and star visualization modes.
Changes:
- Modified setupDragHandlers to keep all nodes fixed after drag ends
- Modified createStarDragHandler to keep all nodes fixed after drag ends
- Removed special cases that only fixed certain node types
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Added visual indicators in the legend to explain the different colored edges:
- Green edges: Person authored the event (signed-by connection)
- Blue edges: Event references the person (referenced connection)
These edge colors only appear when the Person Visualizer is active and help users understand the different types of connections between people and events.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Give disconnected nodes (like kind 0) random initial positions so they appear in the graph
- Add center and radial forces to keep disconnected nodes visible within the viewport
- Update filterByDisplayLimits to respect per-kind limits from visualization config
- Now properly limits kind 0 profiles to the configured display limit (e.g., 5 of 7 fetched)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Remove entire Display Limits section as it duplicates Event Configuration
- Remove related state variables and functions
- Remove unused imports (displayLimits store and Label component)
- Simplify Settings panel to focus on unique functionality
The Event Configuration panel now handles all event limits, making the
Display Limits section unnecessary and confusing.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>