8000 CRichText tweaks · Issue #263 · composablesys/collabs · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

CRichText tweaks #263

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
4 tasks
mweidner037 opened this issue Jul 16, 2023 · 1 comment
Open
4 tasks

CRichText tweaks #263

mweidner037 opened this issue Jul 16, 2023 · 1 comment
Labels
api Improves the API optimization package:crdts crdts package
Milestone

Comments

@mweidner037
Copy link
Collaborator
  • Rewrite internals to use before and after positions between characters, instead of "normal" vs "endClosed" spans. This would make the implementation more in line with Peritext, and allow us to have open-start spans.
  • A closed-start span overlapping a longer span makes the latter's second half be open-start.
  • Describe endpoint behavior in terms of expand?: 'before' | 'after' | 'both' | 'none' instead of open/closed endpoints. This idea comes from Automerge's API.
  • As a saved state optimization, use reference counting to detect when spans are no longer relevant (completely overwritten), then delete them from the CSpanLog. This is especially helpful if you store embeds as a special formatting span on a dummy char: once the char is deleted, the span (hence embed data) will be deleted.
@mweidner037 mweidner037 added api Improves the API optimization package:crdts crdts package labels Jul 16, 2023
@mweidner037 mweidner037 added this to the Collabs 1.0 milestone Jul 16, 2023
@mweidner037
Copy link
Collaborator Author

More generally:

  • Split formatting from the text itself, so you can also apply formatting to e.g. spreadsheet rows/columns.
  • Can we make formatting work for suggestions / sharded lists (cf CPositionSource sharing #264)?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
4197 Labels
api Improves the API optimization package:crdts crdts package
Projects
None yet
Development

No branches or pull requests

1 participant
0