---
title: "Plotta Studio is now Open Source"
date: 2026-05-14
category: experiments
description: I sat down to plot on good paper. Four hours later, plotta-studio was on GitHub instead.
coverImage: /images/plotta-studio/DSCF0555.jpeg
---

import Figure from '../../src/components/Figure.astro';

I bought a stack of shiny Japanese paper last month to plot the better ones on. Today I sat down to use it. I made one — the second "official" plot on the good paper. Then I opened the repo, noticed three things that bothered me, and four hours later I had open-sourced plotta-studio.

It is now on GitHub: [github.com/stmh/plotta-studio](https://github.com/stmh/plotta-studio).

## Why now

Back in January I [wrote about building plotta-studio](/posts/building-plotta-studio-with-claude/) — a Rust toolkit for driving my AxiDraw pen plotter, mostly pair-programmed with Claude Code from bed during a sick week over Christmas. At the end of that post I said I was *considering* open-sourcing it, and that I wanted to live with the tool for a while first.

What actually happened in those four months is that I built other things, plotted occasionally, and let the repo drift. When I finally cleared an afternoon to plot on the good paper, I spent it polishing code instead. The release is the side effect of the avoidance.

The pen plotting community is small but enthusiastic, and the Rust ecosystem for it is essentially empty. If someone else owns an AxiDraw and prefers `cargo run` over wrestling Inkscape, they should not have to start from zero.

## What is in the box

The repository is a Cargo workspace with a handful of focused crates:

- `drawing-core` — primitives, transforms, scene graph (built on [kurbo](https://crates.io/crates/kurbo))
- `drawing-text` — single-line fonts: Hershey, VSF, and SVG fonts
- `drawing-svg` — SVG import and export
- `drawing-plotter` — AxiDraw control, motion planning, path optimization with R*-tree spatial indexing
- `drawing-utils` — hatching, frames, titles, everyday helpers
- `sketch-runner` — a windowed preview with GPU rendering via [Vello](https://github.com/linebender/vello)
- `plotta` — the CLI that ties it together

The README walks through a minimal sketch, the CLI workflow, and how to hook up an AxiDraw over USB. There are examples for clipping, hatching, single-line text, and SVG import.

<Figure
  src="/images/plotta-studio/DSCF0555.jpeg"
  alt="A plotta-studio drawing produced on the AxiDraw"
  caption={`The second "official" plot. Then I stopped plotting and started cleaning up the repo.`}
/>

## What it is not

It is not a polished product. There is no GUI, no plug-and-play installer, and no support beyond the issue tracker. The CLI assumes you are comfortable on a terminal, the sketch API assumes you can read Rust, and the AxiDraw integration assumes you have an AxiDraw. Other plotters might work with small adapters; I have not tested any.

The license is MIT. Fork it, vendor it, rip out the bits you need.

## What comes next

The roadmap from the original post still stands: 2-opt path optimization, stroke reversal to minimize pen lifts, and eventually a small GUI for parameter tweaking without recompiling. Issues and PRs are welcome — especially from anyone with a plotter that is not an AxiDraw.

One plot today. Four hours of cleanup. The math is unflattering.
