list-positions
list-positions copied to clipboard
Efficient "positions" for lists and text - enabling rich documents and collaboration
Bring benchmarks up to paper quality: - [ ] Multiple trials with average and stddev - [ ] Warmup trials - [ ] Report memory using profiler instead of (unreliable)...
- [ ] Benchmark performance of splice-like case (one giant bunch), for when you convert an existing doc into a single bunch.
For custom load/save formats and some optimizations, it seems useful to allow direct access to a List's internal map (bunchID -> SparseArray of values). E.g., in our [replicache demo](https://github.com/mweidner037/list-demos/blob/master/replicache-quill/client/src/index.ts), we...
`List.set` and `delete` allow efficient bulk ops on sequential Positions in a bunch. To make use of these in most apps, though, the app needs an efficient way to determine...
In principle, we could add `AbsPositions.compare` and `AbsPosition.createPositions` functions, which do the same thing as the corresponding `Order` methods but working with `AbsPosition`s. One advantage of standalone methods over just...
On PRs, for sanity. (`npm publish` will already check the tests before letting you publish.)
- [ ] Metadata management, incl getters & iterators - [ ] Save & load - [ ] createPositions error cases (equals, wrong order, min/max) - [ ] receive error...
- [ ] 100% code coverage - [ ] ` from` methods - [ ] indexOfPosition cases where Position is not present - [ ] Cursors - [ ] slice...