arboard (image-data) approved for clipboard paste: image bytes become a PNG attachment, copied files inside the vault are linked without copying, outside files are copied; works in Visual and Source. image crate gains jpeg, gif, webp, bmp decoders. Lazy system-font fallbacks for 28 scripts (Bengali, Indic, Thai, CJK, Khmer...) and the math font as last resort. JetBrains Mono copy with calt emptied (SIL OFL, renamed). Big embedded images are shrunk to the texture limit off the UI thread (fixes a crash). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
NotesCraft
A native, Obsidian-compatible notes app for the Craft suite, written in Rust (egui/eframe). Your vault is a folder of plain .md files that stay readable by Obsidian: wikilinks, embeds, callouts, tags, frontmatter, backlinks, full-text search, daily notes and templates, a graph view, canvas and whiteboard files, diagrams (Mermaid subset, including UML), a plugin host (WebAssembly), an MCP server and a CLI so agents can work on the vault.
Status: pre-alpha. The engine and most crates are built and tested; the desktop app opens a vault with a file tree, tabs, a read-only note view, backlinks and outline, a command palette and animations. See ROADMAP.md for what is done and SPEC.md for the contract.
Screenshots
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Regenerate with the offscreen renderer: cargo run -p notescraft-ui-egui --example snapshot -- --vault <vault> --out x.png --size 1440x900 --open "note.md" [--tab explorer|search|tags|buffers|source] [--theme id] [--vim] [--source] (set HOME to a scratch directory so the run does not touch your settings).
Try it
export PATH="$HOME/.cargo/bin:$PATH" # use rustup's stable toolchain (1.95 or newer)
cargo run -p notescraft -- /path/to/your/vault
Without a vault argument, set NOTESCRAFT_VAULT. Keys: Cmd/Ctrl+K command palette, Cmd/Ctrl+O quick switcher, Cmd/Ctrl +/-/0 zoom.
Render the UI to a PNG without a window (useful for design checks):
cargo run -p notescraft-ui-egui --example snapshot -- --vault /path/to/vault --out ui.png --size 1440x900 --open "folder/note.md"
Install
Release builds: packaging/macos/package.sh (DMG), packaging/windows/package.ps1 (MSI), packaging/linux/package.sh (deb, rpm, AppImage); see packaging/README.md. notescraft with no argument reopens the last vault, or asks for a folder.
Develop
cargo xtask ci # fmt --check, clippy -D warnings, tests, layer check
cargo xtask layers # crate dependency layering only
Read AGENTS.md first (rules for people and AI agents), then docs/ARCHITECTURE.md (crate map and APIs). The workspace follows PhotoCraft and VectorCraft conventions; shared crates come from craft-libs.
Design
The design lives in a PaperCraft project named NotesCraft (tokens for Catppuccin Mocha/Latte, workspace, graph, command palette, slash menu, settings, whiteboard, assistant panel, 4K screen). Rounded floating panels on a canvas colour, separated by tone, not borders.
Licence
MIT OR Apache-2.0 (LICENSE-MIT, LICENSE-APACHE). Fonts (Inter, JetBrains Mono: SIL OFL 1.1) and icons (Lucide: ISC) keep their own licences, see ATTRIBUTION.md.







