Features
Everything you need for structured markdown editing, built into a fast, cross-platform editor.
WYSIWYM Editing
Trellis uses a What-You-See-Is-What-You-Mean approach. You write markdown with inline formatting rendered live, while the underlying structure stays clean and predictable.
- Inline bold, italic, code, and link formatting with keyboard shortcuts
- Block-level rendering for headings, lists, and code blocks
- Full undo/redo with inverse command tracking
- Character-based offset system for precise editing
- Style spans that auto-adjust as you type
Cross-Platform
A single Rust codebase powers Trellis on every platform. The Lattice architecture separates document logic from rendering, making true cross-platform editing possible.
- macOS desktop app with native menu bar and .app bundle
- Windows desktop with NSIS installer
- Linux build-from-source support
- Web PWA with offline support and service worker
- Android and iOS through Makepad mobile targets
Offline-First Architecture
Trellis works without a server. Your documents live on your device, and the web version uses modern browser APIs to keep everything local and fast.
- IndexedDB storage for web-based documents
- Service worker for full offline capability
- File System Access API for direct file editing
- No account or sign-in required
- Zero data sent to any server
Multi-Document Workspace
Organize your writing with projects, folders, and drag-and-drop. Trellis treats your workspace as a first-class concept, not an afterthought.
- Nested folder hierarchy with drag-and-drop reordering
- Directory-native persistence with .trellis.json manifest
- Sidebar navigation with collapsible folders
- Autosave with project-level configuration
- Multi-document editing within a single project
Modular Architecture
The Lattice framework behind Trellis is a strict three-layer architecture. Each layer can be used independently, so you can build your own editor on top.
- lattice-core: headless document model, commands, undo/redo
- lattice-layout: viewport virtualization, glyph metrics, hit-testing
- lattice-shell: platform event normalization, render bridge
- One-way dependency direction for clean separation
- Feature flags for optional capabilities like cosmic-text shaping