ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻譯準備中
A Paper Typesetting Editor
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
For the old version, please check out the repo: Eorg.
For v1 of SoftMaple, please check out the main branch.
Softmaple is a collaborative $\LaTeX$-flavoured document editor. Each layer
below is its own workspace package — here is the path a keystroke takes from
the browser to durable storage:檢視完整 README ↗⚠️ Under Construction
For the old version, please check out the repo: Eorg.
For
v1of SoftMaple, please check out themainbranch.
Softmaple is a collaborative $\LaTeX$-flavoured document editor. Each layer below is its own workspace package — here is the path a keystroke takes from the browser to durable storage:
Browser
apps/web · apps/playground
│
┌─────────────────────────┼──────────────────────────────┐
│ │ │
@softmaple/editor @softmaple/binding-lexical @softmaple/awareness
Lexical UI shell Lexical ↔ block model ephemeral presence
│ │
@softmaple/block-model │
blocks · marks · event batches │
│ │
@softmaple/eg-walker │
event graph · CRDT convergence │
│ │
RichTextEventBatch on the wire │
│ │
@softmaple/collab-protocol │
versioned wire messages │
│ │
@softmaple/collab-runtime ──PresenceCodec──┘
DocumentRoom / PresenceRoom semantics
┌────────────┴────────────┐
│ │
Node/Nitro Cloudflare
apps/collab-nitro apps/collab-cloudflare
│ │
Redis Durable Object
pub/sub · leases hibernatable room
│ │
└────────────┬────────────┘
│
Supabase/Postgres
durable event log
The diagram is ordered by data flow, not by import direction — a package drawn
lower is not necessarily the one being imported. The actual import graph is
enforced by shared ESLint rules
(packages/eslint-config/collaboration-layers.js):
@softmaple/block-model imports @softmaple/eg-walker, and
@softmaple/collab-protocol imports @softmaple/block-model — never
@softmaple/eg-walker directly — so the protocol validates the batches it
carries without depending on the sequence CRDT.
Awareness stays independent of every convergent document model and meets the
bindings only inside an app. @softmaple/collab-runtime hosts PresenceRoom
but never imports @softmaple/awareness — the labelled edge above is the
payload-opaque PresenceCodec seam, and a host app is what binds the two.
Both collaboration runtimes host the same @softmaple/collab-runtime
semantics and write the same Postgres event log, so a document can move between
them without a history migration.
Design source of truth:
docs/design/collaboration-layers.md ·
collaboration-consistency.md ·
collaboration-runtime.md ·
collaboration-operations.md.
apps
app folderpackages
@softmaple/eg-walkerWe use pnpm for package management, if you never used it, see pnpm for installation.
pnpm install
pnpm dev
The SoftMaple community can be found on GitHub Discussions, where you can ask questions and voice ideas.
To chat with other community members you can join the SoftMaple Discord.
Our Code of Conduct applies to all SoftMaple community channels.
Devin AI $500 grants
tsconfig.jsondocs