Hi Rob,
I appreciate the chance to suggest filter features!
First, I think the “Match Any/None/All” system is quite unintuitive and confusing as a primary consideration for the logic. Instead, I would strongly recommend a stacked filter structure where the user can define filters and then layer them in AND/OR relationships.
For example, I might define:
“Events with Tags A, B, or C”
and then have another filter:
“Characters with Tags X and Y”
Then stack both of these filters so that anything which passes either filter is displayed.
In my personal case, I’ve got several immortal characters who were born many thousands of years before the story begins and they are still alive but not relevant to the early saga. They become relevant later. So what ends up happening is I get tons of blue bars that go across the screen for characters who are still living, somewhere out in the universe, but they are irrelevant to the part I’m filtering for. And there are some immortal characters who actually are relevant, so I want their bars to appear. But then I might want to see events relevant to one story while other events that are still in the timeline but meant for a different story can be hidden.
I know that’s really vague, so I’ll provide a concrete example next time I am faced with one. I’ve mostly just been operating with characters hidden entirely and then using a date range filter. It’s not impossible to get the views I’m after, it just takes a fair bit of tinkering. I’m still not sure if I’m even using tags correctly for my use case, so I will keep playing around with it and see what happens.