-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Further updates to configurable options #15
Comments
Thanks for your feeckback and suggestions. You can increase the link distance to view all the connections, especially when dealing with extensive text. Furthermore, additional customization might impose a significant workload on the system rendering when there are many nodes present. I will consider these options if they are feasible. |
I'd recommend a "lower performance" mode - for mobile devices and laptops and such - though high-end desktops can definitely handle this without any problem. It'd be a lot to implement, however if you need any help I'm willing to try, it was my suggestion after all. I wonder if I can get the 3d engine to take advantage of graphics cards in some way... I know hardware acceleration is an obvious, but leveraging that kind of performance with 3d plugins like this would definitely help on lower end systems. Again, not 100% sure how it works but potentially something to look into. What rendering engine are you using for this? I'd be happy to take a look at some potential improvements to performance when I have the time (starting school today, so might be a little busy). I'll clone the repo later and take a look at any obvious things I can find. |
That's a good point! I'm also considering adding a lower performance mode. However, it might reduce visual details and make the experience less engaging, especially when dealing with large amounts of content that could feel less interesting without the full visual effects. Currently, the plugin uses Three.js, which utilizes WebGL for low-level hardware acceleration. I'm glad you're willing to help! More customization always means more work, but I'm still figuring out what exactly needs to be done. |
Suggestions from this morning:
|
Thank you for your feedback! Nested Tags: The plugin already supports nested tags. You can create nested tags by using the format #tag/sub-tag/another-sub-tag. The plugin will automatically generate a hierarchy for these tags, with #another-sub-tag linking to #sub-tag, which in turn links to #tag. All related markdown files will link to the root tag (#tag) for a clearer graph view. You can also tag content with just #tag, #tag/sub-tag, or #tag/sub-tag/another-sub-tag, and the plugin will create the appropriate hierarchy and calculate the tag counts accordingly. I’ll consider creating a Wiki to provide more detailed documentation on this feature. Performance Optimization: While the plugin performs well on most devices, including older ones like your 2015 MacBook Air, some users may have very large node trees with over 10,000 nodes. Therefore, ongoing optimization is always necessary to ensure smooth performance across all scenarios. Link Spacing: I agree that the default link spacing should be increased, especially in node text mode. I’m considering adding an option to turn off text display, which would make the graph clearer. This way, users can choose the most suitable view based on their specific use case. Groups: The idea of adding groups, similar to the default graph view, is interesting and might be implemented in a future update. Tag Color Synchronization: Currently, tag color synchronization needs to be done manually. Integrating this feature would likely require a separate tag-color plugin, as it might be outside the scope of this plugin. Tooltips: Adding tooltips for moving the graph is a great suggestion. This would help first-time users navigate the graph more easily. |
I'll take a look at starting on link spacing and tooltips for now while I get used to the codebase, I've already got it cloned locally. Do you use any extensions for developing on Obsidian? I use VSCode so checking my work isn't the easiest. |
I'm also using VSCode, and I think it should be sufficient for now. Since the plugin is still in the development phase, the focus is more on functionality rather than perfecting the code style at this point :). I hope that's okay with you—I plan to clean things up and make the code more polished later on. |
Just a heads up for the time being, I've started school recently, and I'm absolutely swamped with high level classes. Updates are going to be few and far between with me, as free time is limited between working on an hour of AP homework, reading textbooks, etc etc. You know the deal. I'll probably be available over the weekends and that's where I'll push a majority of my updates, but I do have a lot on my plate so don't expect too much for now. That being said, where is the class you initialize the page for obsidian? I'm new to developing to obsidian, and still getting used to Three.js. If you could provide some simple kind of top-down overview of the class names I may be able to work faster. |
Basically, you can turn to Obsidian Developer Docs for an overview and startup, and also with three.js. Actully the 3d-force-graph is what I have used. You can take a look at them for a good start! |
Describe the solution you'd like
Ability to change the intensity of glow between objects, as the current system of glow makes tags nigh unreadable. Background color being configurable would also be nice if possible. Potentially adding text resizing would also be a nice feature that'd help with readability, and maybe a font selection? I honestly prefer the font of obsidian itself, thought I'm not 100% sure if it's possible to set the font with whatever 3d library your using. I have further suggestions I'd be down to discuss on discord, I'm a half-qualified developer :) (@Sourceofficial on discord)
Describe alternatives you've considered
Reducing the overall glow of all objects, however this would take away from the style of the plugin
Additional context
Overlapping tags have this problem a lot more
The text was updated successfully, but these errors were encountered: