Developer-Mike / obsidian-advanced-canvas

⚑ Supercharge your Obsidian.md canvas experience! Create presentations, flowcharts and more!
GNU General Public License v3.0
365 stars 17 forks source link

[FR] Group Shapes & Custom Connection Things #107

Open Graywaren opened 2 months ago

Graywaren commented 2 months ago

Hi I love your plug-in and am so glad it (and others) exists so I can hammer obsidian into doing what I want πŸ˜…. I have a few feature requests I'd love to see implemented so far.

Also, I'm not sure if these were requested before or if either are possible, but I would desperately love:

Thanks so much for such a wonderful plug-in. I'm looking forward to seeing what you add in the future!

Developer-Mike commented 1 month ago

Thank you for the feedback πŸ™πŸ»

Although adding shapes to groups would be possible without much work (https://github.com/Developer-Mike/obsidian-advanced-canvas/blob/main/src%2Fcanvas-extensions%2Fadvanced-styles%2Fstyle-config.ts#L42). It comes with some problems like the detection of containing nodes.

Adding anchors to edges is also planned and nearly ready to release.

I have some ideas regarding multiple attachment points for nodes, but it will take a while before this feature gets implemented.

Graywaren commented 1 month ago

By detection of containing nodes, do you mean that having the shapes make it more difficult to detect which nodes in it should move with it?

Not sure if this is helpful, but I did make a custom class that turns the shape of groups into the circle/oval that I use as my work around for this, and it's been working really well so far. I've not noticed any issue with it not moving nodes it should or moving ones it shouldn't. Admittedly, I haven't done anything very fancy or extensive with it, but it moves my single line text nodes that are entirely inside the border of the circle and doesn't move ones that aren't entirely inside it, which is how I'd expect it to work. It's been working great for venn diagrams and bubble plot type things. I could be totally wrong since I'm unfamiliar with the code, but that would at least indicate to me that at least the circular shape would be less likely to have any issues.

Could you clarify what "edges" means? I've seen it a number of times but have never been able to figure out if it means the lines you can connect nodes with or the edges of the node containers themselves >.>

If it's the lines/arrows, does that mean being able to customize where they're going is what is nearly ready? Multiple attachment points sounds like the second part, that will take a while. Just making sure I understand lol. Very cool to have something almost ready!

At least when it comes to the multiple attachment points my partner showed me a hack (have an empty node behind it to line up where you want the extra point), that I can use in the interim!

Developer-Mike commented 1 month ago

Huh? I could have bet that I replied... Sorry for the delay.

I'll take a look at the group shapes but I think you haven't encountered some edge cases.

The canvas consists of edges and nodes. So the edges are the lines you can connect nodes with.

Although I've something ready for the edge path anchors, I think I'll discard it and take another, better approach.

I'm glad you've found a partial solution for the limited connection points.

Because I'm the only one working on this project, it's very very difficult to provide any ETAs. I hope you understand.

Graywaren commented 1 month ago

No worries! I totally understand, and honestly I think people who make free plug-ins and maintain them deserve medals of honor lol. If there's anything I can test for you, feel free to ping me. I'm known for running into the most obscure bugs πŸ˜… Looking forward to the new features whenever you deem them ready. Thanks again for making such a cool plug in!