SkepticMystic/breadcrumbs

Bug: v4 Children of implied parent are no longer siblings

Brett-ai opened this issue · 5 comments

Hi ScepticMystic!

I built my breadcrumbs structure in the old version using just d:: [[Child Note Name]] in all my MOCs. It worked great!

In v4, Matrix view in the right-hand side pane no longer shows a note's siblings.

In the hierarchy settings I have selected 'opposite direction', which means that the parent of my note is shown in the Matrix view.
And I have selected 'Same Parent -> Siblings' too, but the notes which have the same implied parent are not showing.

It is as though it doesn't recognize the children of an implied parent as siblings, if that makes sense.

Hey Brett, thank you for the feedback!

Indeed, I hadn't considered that, but you're right. Currently, implied edges don't build off each other. Only real edges are considered.

I hear you though. Perhaps this can be added as an option. I want to think about how best to do it. Maybe you can choose a number of rounds? If you only go one round, then only real edges are considered. But if you go two or more, then real and implied and checked together.
I don't know if 3 or more rounds would have any difference tho... so maybe just a toggle between Real Only and Real And Implied.
What do you think?

Thanks for looking at my feedback!
A toggle between Real Only and Real And Implied sounds like it would work perfect for my system, so long as it's not too much trouble.

Making a note for reference.
I think the solution here is to introduce a "rounds" option, where you can decide how many rounds of implied edges to add. The narrower version of this is a toggle between 1 and 2 rounds.
On the first round, only real edges are considered. Instead of the builders adding edges directly, they should return a list of new edges, which all get merged together, deduped, then added in one go. This solves the duplicate issue, and ensures that the order the edge builders are called doesn't matter. They all start with the same info.
On rounds 2+, only implied edges are considered (maybe? I think that's right). Again, return a list of edges, merge, dedupe, add.

Hey @Brett-ai
Happy to announce that I'm implemented a feature to be able to control this in a fine-grained way :)
If you update to 4.0.19-beta, then go to Breadcrumbs Settings > Hierarchies > Hierarchy Settings, you can read a little about the new system. I've introudced "rounds" to implied relations, where you can decide how many times each implied relation kind gets added. Each time a kind starts a new round, it will consider all real relations, as well as the implied relations added in previous rounds.
You can read a little more in the beta README

Woo! Nice!
It works great now. Thanks so much for your work on this addon.