Scrolling to the bookmark doesn't yet work, so the IndexedDB usage is moot until that is fixed.
IndexedDB access should be moved into a service layer before merging.
- 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>
Implements a checkbox option for kinds 30041 and 30818 that allows users to display all loaded content events instead of being limited by the number input.
Changes:
- Added showAll property to EventKindConfig interface
- Added toggleShowAllContent method to visualization store
- Updated EventTypeConfig UI to show "All" checkbox for content kinds
- Modified display filtering to respect showAll setting
- Disabled number input when showAll is checked
This improves the user experience by making it easy to show all content when working with publications and wiki pages.
🤖 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>
- Use total pubkeys size instead of newly fetched profile events length
- This accounts for profiles that were already cached
- Update both initial fetch and missing events fetch
The issue was that when profiles were already cached, profileEvents.length
was 0, making it look like no profiles were fetched even though they were
available from cache.
🤖 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>