Search for blocks that contain links to specific notes

For more context, I explained something more in this thread.

The basic need is pretty simple: I need a plugin that searches for all the blocks that contain specific [[links]]. This is actually already possible by using the inline query with the block search feature (see the thread linked at the top for an explanation), but the user experience of it is really uncomfortable if you want to make many searches quickly.

This plugin would be fundamental for me, but I think it’s a very nice and fast way to look for relationships and it would be useful for many other users.

What already exists and we can take inspiration from:
The best thing to take inspiration from (and, actually, the reason why I need it, being that my workflow has been built upon it) is the backlinks filtering of Roam Research. Here’s an explanation for those who aren’t familiar with it:

Here we are in the backlinks of [[Note 0]] (so by default it’s showing all the blocks that contain a link to that [[Note 0]], just like in Obsidian but in the Roam’s traditional block format).

By clicking in the filter icon it shows this window

In this list, in the form of buttons, there are all the Notes that are linked in those backlinks. By clicking on those buttons, we add those notes as positive search terms, while by shift-clicking them we add them as negative search terms.
So, for example

Basically, in this screen I’m looking for all the blocks that contain [[Note 0]] (because we are in its backlinks) AND [[Phylosophy]] AND [[Python 3.2]] but NOT [[football]].

A fundamental feature is that when I select the first term [[Philosophy]], it already removes from the list all the buttons that are not related with it


As you can see, [[beans]] and [[ethics]] already disappear because they are never present in the same blocks where [[Philosophy]] is present.

How I imagine it:
I would like to replicate this in Obsidian, and at a general level. So not putting it as a feature of the backlinks pane (whoever wants to develop this plugin, could add this feature in any case if he/she wants), but as a plugin that ideally is accessible from the left ribbon or from command palette. Being at general level, the initial list of “buttons” would be all the notes in the Vault. By building up the search (i.e. by adding search terms), the list would be filtered out leaving only the Notes that are still in relation with the search terms as it happens in Roam. This is fundamental because it really helps you build your search. Usually you don’t know what you are looking for, but by seeing the list shortening, it already suggests to you all the possible arguments you want to investigate. While adding search terms, the blocks would be shown as in Roam, so we can see the context in which these notes have been linked (this is why I focus on blocks).

I hope I have been clear enough!