Repository navigation
Conversation
Three items requested by Martin-PB, each backed by research: a CRDT-backed document model as the foundation for later real-time co-editing and asynchronous multi-device editing (candidates Yjs/Yrs, Automerge, Loro); a fully client-side deployment so the Complexus Lab showcase site runs Cartocortex in the visitor's browser with nothing sent to lab servers (browser file dialogs, OPFS persistence, zero-network audit); and synchronization with the user's own cloud accounts - Amazon S3, Google, Microsoft OneDrive/Azure, and S3-compatible decentralized providers such as Hippius. A living document: more items will be added as they are detailed. Agent: Vibe (Mistral, glm-5-latest-short) Reviewed-by: Martin-PB
The first commit over-escaped the inline code spans, leaving a literal backslash before every backtick pair in docs/backlog.md. Rewritten with the correct code-span syntax; the prose is unchanged. Agent: Vibe (Mistral, glm-5-latest-short) Reviewed-by: Martin-PB
How several people edit the same map at once, local-first: the edits travel as CRDT deltas (transport-agnostic in Yjs, Automerge and Loro), participants share one random room id carried in a link (URL fragment, never sent to a server; optional room password encrypts the peer traffic), WebRTC data channels carry the document peer-to-peer, interchangeable signaling servers broker only the initial handshake, and ICE/STUN/TURN cross firewalls - roughly 10-20% of sessions need a TURN relay, self-hostable like every other component, so the lab owns no single point of failure. The desktop app can go broker-less (Hyperswarm DHT, same-LAN discovery). Backlog item 1 now points at the study. Agent: Vibe (Mistral, glm-5-latest-short) Reviewed-by: Martin-PB
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Intent
Martin-PB asked for a place to gather the project's coming work, and detailed the first three items: adopt a CRDT (Conflict-free Replicated Data Type) as the backing data model to open the road to real-time co-editing and asynchronous editing; deploy Cartocortex to the Complexus Lab showcase site so visitors run it fully locally, in the browser, with nothing sent to lab servers (the lab sees none of their data); and synchronize sheets with users' own cloud accounts (Google, Amazon S3, Azure / Microsoft Drive, and S3-compatible decentralized providers such as Hippius). More items will be detailed later and added to the same page.
He then detailed the missing link for real-time co-editing: how the edits travel between participants — an identifier to send across the network, firewall traversal, sessions during meetings and video calls, local-first, and as little central infrastructure as possible. This PR therefore also carries the transport study.
What was done
Three commits on one branch, two study/plan files:
docs/backlog.md— the living backlog document. Every entry records the intention and the research behind it, with a status (Proposed / Studied / In progress / Done). The three initial entries:model.ts, open questions (library choice, tombstones and compaction, persistence format and migration, undo/redo).isTauriguards), what it needs (browser file open/save via the File System Access API, OPFS/IndexedDB persistence, zero-network audit of the web build, showcase-site embedding), and when WebAssembly is actually needed (only to reuse Rust code fromsrc-tauriin the browser, via a WASI shim to OPFS).s3.hippius.com, regiondecentralized, AWS Signature V4, path-style); Google Drive, OneDrive and Azure Blob have their own APIs; credentials stay client-side; pairs with the CRDT item (snapshots and deltas in a bucket give asynchronous multi-device sync).docs/realtime-collab-study.md— the real-time co-editing transport study (status "study only — specified, never executed"):What the agent did
docs/folder onmain), so this PR creates it.Human checks
Doc-only from
main, one branch: no conflict with any other open PR; no README change (PR #7 owns the "Not yet" section).Agent: Vibe (Mistral, glm-5-latest-short)
Reviewed-by: Martin-PB