{"_id":"@affectively/capacitor","_rev":"2-6b21d540d1fe8bdcdb35447daa22771e","name":"@affectively/capacitor","dist-tags":{"latest":"5.0.0"},"versions":{"5.0.0":{"name":"@affectively/capacitor","version":"5.0.0","keywords":["editor","embedding","crdt","collaborative","wysiwyg","ai","esi","markdown"],"license":"MIT","_id":"@affectively/capacitor@5.0.0","maintainers":[{"name":"buley","email":"buley@outlook.com"}],"dist":{"shasum":"701789c8e95acfae8cbe40b74b3d1d9e79f60950","tarball":"https://registry.npmjs.org/@affectively/capacitor/-/capacitor-5.0.0.tgz","fileCount":67,"integrity":"sha512-rAiyQb7zGjoTYtFj/CPE1fbbDc5Mq4invJSQhaiKWVja+xkGpL2WIMATap6CqTjWIQBrHsV3JN84WH3IjalybQ==","signatures":[{"sig":"MEQCIAObPbFtJdJ1PuZ2eehgMfZA9t6saojMwyJFjIdwBV1wAiB8aTqp6/pAjh3XXj+koLDO2lKk0HRg0kF82n7bqLN5qA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":705901},"main":"src/index.ts","type":"module","types":"src/index.ts","scripts":{"dev":"vite","test":"vitest","build":"vite build","test:run":"vitest run"},"_npmUser":{"name":"buley","email":"buley@outlook.com"},"_npmVersion":"11.8.0","description":"The Embedding Editor — an embedding-first collaborative WYSIWYG editor where text is a derivative of the vector space","directories":{},"_nodeVersion":"25.5.0","dependencies":{"yjs":"^13.6.0","react":"^18.2.0","three":"^0.170.0","react-dom":"^18.2.0","@types/three":"^0.170.0","@affectively/aeon":"workspace:*","@affectively/auth":"workspace:*","@affectively/dash":"workspace:*","@dashrelay/client":"workspace:*","@affectively/zk-encryption":"workspace:*"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","vitest":"^1.0.0","typescript":"^5.3.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0","@vitejs/plugin-react":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor_5.0.0_1773155984476_0.7716687342170796","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package is deprecated and no longer supported. Do not use."}},"time":{"created":"2026-03-10T15:19:44.415Z","modified":"2026-03-27T20:03:16.855Z","5.0.0":"2026-03-10T15:19:44.669Z"},"license":"MIT","keywords":["editor","embedding","crdt","collaborative","wysiwyg","ai","esi","markdown"],"description":"The Embedding Editor — an embedding-first collaborative WYSIWYG editor where text is a derivative of the vector space","maintainers":[{"name":"buley","email":"buley@outlook.com"}],"readme":"# @affectively/capacitor\n\n**The Embedding Editor** — where text is a derivative of the vector space.\n\nAn embedding-first collaborative WYSIWYG editor. Every block is a vector embedding first, with text as the human-readable projection. Entities, classifications, positional encodings, and semantic relationships are all first-party primitives. CRDT-based, mobile-first, with AI native throughout.\n\n## Core Principles\n\n- **Embedding-first**: The document's primary representation is a vector space. Text is a projection.\n- **Voice = Tone**: Embed content → train voice model → generate in-voice. Writing style is a fingerprint in embedding space.\n- **Horizon UI**: Single surface, infinite depth. Everything is latent, ready to summon, instant when called. Cmd+K for Spotlight-style omnisearch.\n- **Code as first-class citizen**: When embeddings project as code, the editor adapts — line numbers, symbol detection, and inference-based \"imagined execution\" that predicts outputs inline.\n- **Agents write in embeddings**: Language-agnostic. Any language, made-up languages, binary. The embedding understands meaning, not syntax.\n- **Better than git**: CRDT-native revision management with rollback, rollforward, branching, merge (conflict-free), cherry-pick, time-travel, and blame.\n- **Perfect typography**: Source Serif for body, Inter for UI, JetBrains Mono for code. OpenType ligatures, old-style numerals, smart quotes, hanging punctuation.\n- **Publishing is a projection**: Text, audio, 3D space, email, PDF — each is a projection surface of the same embedding space.\n- **Content provenance**: Every block is UCAN-signed. Cryptographic chain of custody. AI contribution tracked per block.\n- **Reading is the other half**: Medium-quality reading experience with focus mode, Tufte sidenotes, progressive disclosure, engagement analytics.\n\n## Architecture\n\n```\n┌─────────────────────────────────────────────────────────┐\n│  EditorRoot (React)                                     │\n│  ┌──────────┬──────────┬──────────┬──────────┬────────┐ │\n│  │   Edit   │ Markdown │  Read    │  Spatial │ Audio  │ │\n│  └──────────┴──────────┴──────────┴──────────┴────────┘ │\n│  ┌───────────────────────────────────────────────────┐  │\n│  │  CommandPalette (Cmd+K)  │  GhostSuggest (Tab)    │  │\n│  └───────────────────────────────────────────────────┘  │\n│  ┌───────────────────────────────────────────────────┐  │\n│  │  BlockRenderer → WordActionMenu                   │  │\n│  │  ContentEditable + Entity overlays + Comments     │  │\n│  └───────────────────────────────────────────────────┘  │\n│  ┌───────────────────────────────────────────────────┐  │\n│  │  CollaborationPresence (multiplayer cursors)      │  │\n│  │  InlineComments (threaded · suggested edits)      │  │\n│  └───────────────────────────────────────────────────┘  │\n├─────────────────────────────────────────────────────────┤\n│  AeonDocument (Yjs XmlFragment — CRDT surface)          │\n│  ↕ bidirectional sync                                   │\n│  EmbeddingDocument (vector space)                       │\n│  ┌──────────┬──────────┬──────────┬───────────┐         │\n│  │Pipeline  │ Semantic │  Entity  │   Voice   │         │\n│  │(embed,   │  Graph   │  Layer   │  Engine   │         │\n│  │ NER,     │(cluster, │(registry,│(train,    │         │\n│  │ classify)│ edges)   │ PII)     │ score)    │         │\n│  └──────────┴──────────┴──────────┴───────────┘         │\n├─────────────────────────────────────────────────────────┤\n│  Projections                                            │\n│  ┌─────────┬──────────┬──────────┬──────────┐           │\n│  │  Text   │  Audio   │  Spatial │ Reading  │           │\n│  │(default)│(Web Audio│(Three.js)│(Tufte,   │           │\n│  │         │ synth)   │          │ focus)   │           │\n│  └─────────┴──────────┴──────────┴──────────┘           │\n├─────────────────────────────────────────────────────────┤\n│  Intelligence                                           │\n│  ┌──────────────────┬────────────────────────┐          │\n│  │SemanticBacklinks  │DocumentSearch          │          │\n│  │(auto wiki-links)  │(semantic + fuzzy)      │          │\n│  └──────────────────┴────────────────────────┘          │\n├─────────────────────────────────────────────────────────┤\n│  Publishing · Provenance · Analytics                    │\n│  ┌──────────┬──────────┬──────────────────┐             │\n│  │Pipeline  │Content   │Reading           │             │\n│  │(draft→   │Provenance│Analytics         │             │\n│  │ publish) │(UCAN sig)│(engagement heat) │             │\n│  └──────────┴──────────┴──────────────────┘             │\n├─────────────────────────────────────────────────────────┤\n│  CodeRuntime │ ESI Registry │ RevisionManager           │\n│  DevMode     │ XPath Engine │ UCAN Permissions          │\n└─────────────────────────────────────────────────────────┘\n```\n\n## Modules\n\n| Module | Entry | Purpose |\n|--------|-------|---------||\n| `core/` | `EmbeddingDocument`, `EmbeddingPipeline`, `SemanticGraph`, `EntityLayer` | The embedding space |\n| `document/` | `AeonDocument`, `XPathEngine`, `MarkdownIO` | CRDT surface & addressing |\n| `revisions/` | `RevisionManager` | Better-than-git revision system |\n| `editor/` | `EditorRoot`, `BlockRenderer`, `WordActionMenu`, `CommandPalette`, `GhostSuggest` | React editor UI |\n| `code/` | `CodeRuntime` | Inference-based imagined execution |\n| `esi/` | `ESIRegistry` | On-demand inference tags |\n| `voice/` | `VoiceEngine` | Embed → train voice → generate in-voice |\n| `projections/` | `AudioProjection`, `SpatialProjection`, `ReadingProjection` | Embedding projection surfaces |\n| `collaboration/` | `CollaborationPresence`, `CommentManager` | Multiplayer cursors, comments, suggested edits |\n| `publishing/` | `PublishingPipeline` | Draft→review→publish, SEO, social cards, multi-format export |\n| `intelligence/` | `SemanticBacklinks`, `DocumentSearch` | Auto wiki-links, semantic + text search |\n| `provenance/` | `ContentProvenance` | UCAN-signed authorship attestation, AI contribution tracking |\n| `analytics/` | `ReadingAnalytics` | Privacy-preserving engagement tracking |\n| `devmode/` | `DevModeController` | Page-as-editor (filesystem-free) |\n| `ui/` | `tokens`, `editor.css` | Horizon UI design system |\n\n## Quick Start\n\n```typescript\nimport {\n  // Core\n  EmbeddingDocument, AeonDocument, EmbeddingPipeline,\n  // Editor\n  EditorRoot, CommandPalette, GhostSuggest,\n  // Projections\n  AudioProjection, SpatialProjection, ReadingProjection,\n  // Collaboration\n  CollaborationPresence, CommentManager,\n  // Intelligence\n  SemanticBacklinks, DocumentSearch,\n  // Publishing\n  PublishingPipeline,\n  // Provenance\n  ContentProvenance,\n  // Analytics\n  ReadingAnalytics,\n} from '@affectively/capacitor';\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}