Clearly distinguish between types representing the domain model, its serialization into local storage, and its wire representation from the incoming bundle.
Use numbers instead of uid strings interally; treat uids as a presentation concern.
Rewrite the local repostiory to be more type-safe.
Add a singleton Typesetter to the global context for reuse across components, rather than re-building a parser for each render.
Also incidentally unifies some repeated components.
Still TODO on this branch
[x] Fix related trait table
[x] Fix double-fetch on boot
[x] Fix double-initialize of typesetter
[x] Restore truncated typeset rendering
[x] Move trait's proof hydration to store
[x] Clean up serialization logic
[x] Better "wait for data to load" handling across pages
Major changes:
Also incidentally unifies some repeated components.
Still
TODO
on this branch