Releases: Apoo711/obsidian-3d-graph
2.2.3
2.2.2
Version 2.2.2
This release focuses on quality-of-life improvements, UI polish, and internal code quality to align with the latest Obsidian guidelines.
✨ New & Improved
- The
README.md
has been significantly updated to better highlight the plugin's powerful features and help new users understand what makes it stand out.
🐛 Fixes & UI Polish
- The settings panel has been updated to follow Obsidian's design guidelines. The top-level header was removed and section headings are now standardized for a cleaner look.
- All UI text now uses sentence case for consistency with Obsidian's native interface (e.g., "Rotation Speed" is now "Rotation speed").
🧹 Housekeeping & Theming
- All component styling has been moved from inline JavaScript into the
styles.css
file. This makes it much easier for custom themes and CSS snippets to modify the graph's appearance.
2.2.1
✨ What's New
🚀 Greatly Improved Filtering Experience
The graph layout no longer resets or "explodes" when you toggle filters like Show Tags, Show Attachments, or Hide Orphans. Existing nodes will now hold their positions, allowing you to seamlessly add and remove elements without losing your orientation.
🧠 Intelligent Node Placement
When new nodes are added to the graph (e.g., by showing tags), they are now intelligently placed near their connected neighbors. This prevents the jarring effect of nodes appearing at the center and being violently pushed outwards, leading to a much calmer and more organic feel.
🔧 More Stable & Predictable Physics
-
No More Cumulative Energy: Repeatedly changing filters or settings will no longer cause the graph to "heat up" and fly apart. The simulation's energy is now properly managed and reset during updates.
-
Reliable Force Controls: The Center, Repel, and Link force sliders now behave as expected. Adjusting them will apply the forces in a controlled manner, allowing you to fine-tune the graph's layout without unpredictable movements.
🛠️ Bug Fixes
- Fixed a TypeScript build error that could cause issues when compiling the plugin.
- Fixed an issue where repeatedly toggling filters would cause the graph to become unstable and expand uncontrollably.
- Fixed an issue where force controls would become unresponsive after certain filter operations.
2.2.0
Release Notes: 3D Graph v2.2.0
This is a huge update focused on giving you more real-time control over your graph's appearance and behavior, along with a critical bug fix for theme compatibility.
✨ New: Live Graph Settings Panel!
The biggest change in this version is the new in-view settings panel. You'll now see a gear icon (⚙️) in the top-right corner of the graph view. Clicking this opens a floating panel that lets you adjust almost every aspect of your graph without ever leaving the view!
This makes it incredibly easy to fine-tune the graph's appearance and physics on the fly to better explore your notes.
The new panel includes real-time controls for:
- Filters: Instantly toggle visibility for tags, attachments, and orphans.
- Search: Filter your graph by a search term and toggle neighboring nodes.
- Groups: Add, edit, and remove your custom color groups in real-time.
- Forces: Adjust the center, repel, and link forces with sliders to see how the graph dynamics change.
- Appearance: Change the size of nodes/attachments/tags, adjust link thickness, and even change the shape of different node types.
- Interaction: Fine-tune the camera rotation, pan, and zoom speed to your liking.
🚀 Improvements & Bug Fixes
- Fixed: Theme Color Compatibility: A critical bug has been fixed where the graph would fail to render colors from themes that use modern CSS functions like lab() or color-mix. The plugin now reliably uses a canvas-based method to read colors, ensuring compatibility with virtually any Obsidian theme.
- Improved: Performance: Color lookups are now cached during each render cycle. This provides a performance boost for large graphs, making interactions smoother.
2.1.3
Fixes how colors are read when themes use modern css.
2.1.2
Superceded by 2.1.3 as this version did not work.
2.1.1
v2.1.1: Build Fixes & Type Safety
This is a hotfix release to address build errors that were occurring with the new GitHub Actions workflow.
🐛 Bug Fixes
- Fixed Build Errors: Resolved several strict TypeScript errors related to missing type definitions (
implicit any
) that were preventing the plugin from being built automatically via GitHub Actions. - Improved Type Safety: Added explicit type definitions for graph links and other objects to make the code more robust and prevent potential runtime errors.
- Corrected Material Handling: Added a type assertion for Three.js materials to safely access the
.color
property, resolving a build-time error.
2.1.0
v2.1.0: Stability & Feature Enhancements
This is a significant update focused on resolving bugs and implementing highly requested features from the community. A huge thank you to everyone who provided feedback!
✨ New Features & Enhancements
- Real-time Updates: The graph now automatically updates when you create, modify, or delete files in your vault.
- Full Content Search: The search bar now searches the entire content of your notes, not just filenames, for much more accurate filtering.
- New
file:
Filter: You can now create coloring rules for specific files using thefile:
prefix in the "Groups" settings (e.g.,file:MyNote.md
orfile:*.pdf
). - Show Neighbors Toggle: You now have a setting to control whether the graph shows only your direct search results or also includes their neighboring nodes.
🐛 Bug Fixes
- Resolved Graph Freezing: The longstanding issue where the graph would freeze or go blank when a search returned no results has been fixed. The graph now correctly displays a "No search results found" message and remains stable.
- Improved Color Rendering: The plugin is now much better at interpreting modern CSS color formats from themes, preventing crashes.
- Group Coloring Priority: Custom color rules in "Groups" now correctly apply regardless of whether "Use theme colors" is enabled.
- Filter Logic: The
file:
filter now correctly matches against the full filename, including the extension.
Acknowledgements
Major thanks to @ElsaTam for the feedback
2.0.1
Version 2.0.0
Follow the tag guidelines.