Ah yes, that appears to be a Chrome error with the way I hacked to do zipped sqlite in Observable. Hopefully Observable team can streamline that if Chrome can handle big sqlite databases. Can you try Safari or Firefox?
Yup, works in FF. In theory one should be able to consume both the zip and json as a stream, but zip.js doesn't support streaming decompression, and I haven't found another client-side lib yet.
I looked into the data source on this. The issue was primarily that the JSON was not minified. I'm putting a new one up that is not even directly zipped.
Ok this works in Chrome! Nice try with Oboe though! That's a great technique if I encounter a bigger file that needs to work in Chrome. I think the 7-11 level deep hierarchy (and associated tabs) are a unique challenge for any JSON library, especially streaming.
You could also change how you represent your data, so that it can be parsed line by line (e.g. parent_id , id, value, label). CSV or JSONL would work, and for CSV I imagine that compression will also improve.
Having a flat data structure allows you to insert new items into the tree as you encounter them.