* fix: slow stale embedding check
* fix: mark all blocks for embedding when full embedding
Also, store hnsw index for each batch so that embedding can continue
when aborted by switching graph or closing the app.
* remove embedding/re-embedding-graph-data!
* enhance: mod+c mod+s to rebuild both keyword and semantic search
Finally no need to worry about parent-left conflicts and broken chain.
With :block/order, we only need to re-compute new orders for siblings
with same order (it can happens if there're bugs in our code, or
updates from rtc), but it doesn't break UI.
Another huge potential benefit after discussing with Zhiyuan is:
Ee might be able to simplify both RTC and undo/redo, currently, we
need to handle each new op for both of them, with recently
refactorings like properties being db attributes, :block/order
is a string instead of a ref, we can handle most property value
conflicts using last-write-wins, and others (e.g. :block/parent,
property with :default type) specifically.
I haven't fixed the issues of using :block/left in RTC and undo/redo,
because we might change both soon.