dtkav/canvas-native

Rust

0

10 commits

updated Sep 26, 2026

See the code

See what people are saying

SourceMessageScoreDate

Drawgent: Coding agent on a live Excalidraw canvas

I am working on a similar thing for jsoncanvas (.canvas files in Obsidian). My takeaway is that agents are heavily trained on specific formats (e.g. svg), and are conversely pretty bad at niche formats. My strategy was to create a native renderer [1] so that at least they can rapidly iterate…

0

Sep 26, 2026

README

canvas-native

Renders Obsidian canvases without Obsidian.

The binary draws a JSON Canvas file to SVG or PNG with Obsidian's geometry and styling.

Canvas native provides a fast loop for agents to generate canvas json and iterate visually.

cargo build --release
cp target/release/canvas-native ~/.local/bin/
canvas-native file.canvas out.png

SKILL.md teaches an agent to render after every edit and read the result. Register this directory as an agent skill, or copy SKILL.md into your agent's skill directory after putting canvas-native on your PATH.

Release build

make package builds a static Linux x86-64 binary and writes a tarball and SHA-256 checksum to dist/. It needs Rust 1.94.1, the x86_64-unknown-linux-musl target, musl-tools, and Python 3.11 or newer.

Pushing an annotated v tag that matches the Cargo version builds and tests Linux x86-64 and ARM64, macOS Intel and Apple Silicon, and Windows x86-64 on GitHub Actions. The tag message becomes the release notes. Each archive contains the binary and both licenses, and has a matching SHA-256 checksum.

License

MIT. Inter is embedded under the SIL Open Font License 1.1; see assets/Inter-LICENSE.txt. Obsidian is a trademark of Dynalist Inc., which has no connection to this project.

Contributors

dtkav

10 commits

dtkav/canvas-native

Rust

0

10 commits

updated Sep 26, 2026

See the code

See what people are saying

SourceMessageScoreDate

Drawgent: Coding agent on a live Excalidraw canvas

I am working on a similar thing for jsoncanvas (.canvas files in Obsidian). My takeaway is that agents are heavily trained on specific formats (e.g. svg), and are conversely pretty bad at niche formats. My strategy was to create a native renderer [1] so that at least they can rapidly iterate…

0

Sep 26, 2026

README

canvas-native

Renders Obsidian canvases without Obsidian.

The binary draws a JSON Canvas file to SVG or PNG with Obsidian's geometry and styling.

Canvas native provides a fast loop for agents to generate canvas json and iterate visually.

cargo build --release
cp target/release/canvas-native ~/.local/bin/
canvas-native file.canvas out.png

SKILL.md teaches an agent to render after every edit and read the result. Register this directory as an agent skill, or copy SKILL.md into your agent's skill directory after putting canvas-native on your PATH.

Release build

make package builds a static Linux x86-64 binary and writes a tarball and SHA-256 checksum to dist/. It needs Rust 1.94.1, the x86_64-unknown-linux-musl target, musl-tools, and Python 3.11 or newer.

Pushing an annotated v tag that matches the Cargo version builds and tests Linux x86-64 and ARM64, macOS Intel and Apple Silicon, and Windows x86-64 on GitHub Actions. The tag message becomes the release notes. Each archive contains the binary and both licenses, and has a matching SHA-256 checksum.

License

MIT. Inter is embedded under the SIL Open Font License 1.1; see assets/Inter-LICENSE.txt. Obsidian is a trademark of Dynalist Inc., which has no connection to this project.

Contributors

dtkav

10 commits

Languages

Rust

73.3%

JavaScript

13.8%

Python

12.7%