That's really cool! I am trying to learn from it! One question: Are the lines for event listening (to capture the filter) the reason a double click to reset all filters doesn't work?
Yes, but if you filter on more than one attribute, double click seems just to reset the current filter, making it a bit hard to find the other filters.
(I hardly know vega lite, but I am currently coding an observable based upon vega lite (https://observablehq.com/@ee2dev/exploring-a-csv-file-with-vega-lite) where I am happily substituting my crossfilter with your because you just solve several questions I have. But the (default?) behaviour in that cross-filter is :a single click on the attribute resets this filter whereas a double click resets all filters - which seems preferable (mainly I don't see where the different behaviour comes from, that's why I asked.