Ver código fonte

docs: add vision, roadmap, and READMEs across the monorepo

- Write root README with project vision, 13-phase roadmap, design
  principles, monorepo structure, quick start, scripts, and tech stack
- Write @enesis/editor README with full API reference (Block props,
  events, exposed methods), architecture docs, syntax table, and
  custom extension guide
- Write @enesis/dev README documenting the development sandbox
Zander Hawke 1 semana atrás
pai
commit
3c9d9fbaf2
1 arquivos alterados com 26 adições e 1 exclusões
  1. 26 1
      README.md

+ 26 - 1
README.md

@@ -2,7 +2,32 @@
 
 A high-performance **block markdown editor** built with Vue 3, TypeScript, ProseMirror, and the Lezer parsing framework.
 
-Documents are structured as distinct, interactive **Blocks** rather than a single flat string. A 3-stage parsing pipeline bridges UI state down to ASTs, enabling real-time extraction of pages, references, task state, callouts, and inline decorations.
+Documents are structured as distinct, interactive **Blocks** rather than a single flat string. Each block is a self-contained ProseMirror editor instance that stores raw markdown as plain text — no AST conversion, no mark storage. A Lezer-based 3-stage parsing pipeline renders syntax as visual decorations in real time, enabling live-preview editing of Obsidian-style references, task states, callouts, headings, and inline formatting.
+
+The editor is designed for the philosophy that **plain text should stay plain text** — formatting is purely decorative, never structural. This makes it ideal for note-taking apps, knowledge bases, and any tool that needs to edit rich markdown with programmatic access to the raw source.
+
+## Vision
+
+Enesis is being built as a complete block-editing substrate:
+
+| Phase | Feature | Status |
+|---|---|---|
+| 1–5 | Core editor: clean content model, keyboard boundaries, focus/cursor, inline + block decorations, Lezer-only AST pipeline | **Done** |
+| 6 | Code block node views with CodeMirror 6, inline/block LaTeX with KaTeX | Next |
+| 7 | Toolbar handler API — `toggleBold`, `insertLink`, `setHeading`, `toggleTask` from Lezer tree queries | Planned |
+| 8 | Asset handling — image drop, upload protocol, inline preview | Planned |
+| 9 | Reference interactivity — clickable `[[page]]`, `((block))`, `#tag` chips with preview | Planned |
+| 10 | Multi-block editing — shared toolbar, drag handle, suggestion/mention menus | Planned |
+| 11 | WCAG 2.1 AA compliance, screen reader support, RTL, high contrast | Planned |
+| 12 | Third-party decoration plugin system | Planned |
+| 13 | History orchestration API across blocks | Planned |
+
+## Design Principles
+
+- **Raw markdown in, raw markdown out.** ProseMirror never converts `**bold**` to `<strong>`. What you type is what's stored.
+- **Syntax through decorations, not marks.** Bold, italic, links, references, tags — all rendered via ProseMirror decorations, never via schema marks. This keeps the document model clean and pluggable.
+- **Lezer-based parsing.** All syntax features flow through a single `@lezer/markdown` AST walk with custom extensions for Obsidian-style elements.
+- **Block-level isolation.** Each block is an independent ProseMirror instance. Blocks coordinate via emitted events (`split`, `merge-previous`, `arrow-up-from-start`, etc.) — no shared state.
 
 ## Monorepo Structure