> agree, the UI needs improvement. No one feels the gaps more than I do. But they say, "launch before you're ready!" ;)

Oh I fully agree, I'm also sure that things I don't like are points of joy for others :) Launching like this is important, it helps you focus on things that people find rather than things you think they'll find.

> For one thing, scrolling on its own (with mouse scroll), doesn't automatically highlight whichever card is now centered. So it breaks the flow.

Yeah, I was going to try and suggest something but I'm not sure what'd be better (I make terrible UIs). The problem is the alternative is while you're scrolling automatically making other columns move which could be jarring. Your approach might be better and I might be 'using it wrong' because I'm trying to read it like a normal doc.

> That's true, more or less. Table of contents, chapter & subsection breaks, etc, are all attempts to make the structure clearer.

But you have the same structure, internally. That was rather my point. It's an editor and a viewer, not a new structure, which is why I would heavily suggest you use standards rather than writing your own.

The structure is this

Section := Title, Content | Title, Content, [Section]

This is covered by already existing standards, which will play nice with accessibility devices too. If I was a company, I could be held liable if I release something which is unusable to the blind because of the way I'd mixed the content.

> We could have all of physics, or comp-sci, in one tree, and the reader will always be able to drill in for more, or zoom out for overview.

I hate to be a downer on this, but a tree won't describe these things well, there isn't an exact hierarchy. So you improve it incrementally like so:

* Make it a DAG

* Realise there can be cyclic references, make it a graph

* See that the graph looks like trees with links but with links in between them

* Represent it as a series of distinct trees with links and anchor points

* Make it lazy loading

* Define a way of allowing people to link between different trees stored anywhere

* Realise that's the internet

While that's a bit of an annoying thing to say, it's actually nice :) Lots of stuff that'd be a great boon already exists. If you can use existing HTML standards then you get lots of functionality for free.

> Working collaboratively is also easier, because each person can focus on their particular strengths

Yes, it will really help this, having embeddable nested trees works wonderfully, it's why latex is nice for collaborative work. Although I'd like the nesting to be arbitrary (maybe there's a way of doing this, but I don't think so). It's also why the web works so well.

What I'd suggest is this:

* Use HTML sections.

* Write a bit of js to load in specific nodes from other documents lazily. The semantics for linking already exist.

* Keep the sexy visuals :)

You'll have properly marked up, parseable documents. They'll link together or be embeddable (depending only on the renderer, the semantics are the same) and you can represent any graph with it, but still have a focus on trees, and render graphs as trees. You'll get more and have to build less yourself.