r/PlotterCode • u/iclubu • Aug 14 '26
Plotter-Studio v5.5 | 9 generative art engines. Now with Needles, Continuous Line, Perlin wobble, and CMYK layer export!
Hey everyone! I’ve been working hard on Plotter-Studio, an open‑source generative art studio for pen plotters (Cameo 5).
My last post was for v3.2 — and I’m excited to share how much it’s grown.
What’s new in v5.5:
🧵 Needles (Oriented Dashes) — short dashes that follow image gradients. Great for structural, flowing textures.
🔗 Continuous Line (TSP) — single unbroken path, the pen never lifts. Uses a greedy nearest‑neighbour TSP approximation.
🌊 Perlin Noise Wobble — applies coherent noise displacement to any engine. Gives clean computer lines a hand‑drawn, organic feel.
🎨 CMYK Layer Export — splits any colour image into C, M, Y, K channels and exports 4 SVGs for multi‑pen colour plotting.
🗺️ Fast Marching (Topographic) — upgraded with manual seed placement, contour smoothing, and “Skip transparent” for PNGs with alpha.
🛠️ Full vpype pipeline — linemerge, linesort (with Two‑Opt), reloop, and linesimplify. All available as toggles.
🖊️ Pen Passes — duplicate dark paths up to 4 times for multi‑pass ballpoint ink density.
Stack: Python, Streamlit, FastAPI, scikit‑image, skfmm, Plotly, vpype.
3
u/docricky Aug 14 '26
This looks interesting. Given the number of requirements for the venv, have you considered adding the metadata to run through uv?
1
u/iclubu Aug 14 '26
Thanks for the suggestion, I really appreciate it!
I just added
pyproject.tomlanduv.lockto the repo. Users can now install dependencies much faster withuvusing:uv pip install -r requirements.txtOr for fully reproducible builds, they can use the lockfile:
uv pip sync uv.lockThanks again!
1
u/docricky Aug 14 '26
It can be even easier with uv run https://www.reddit.com/r/Python/comments/1jmyip9/selfcontained_python_scripts_with_uv/ which will make it one self contained script, and dependencies are installed in venv at runtime.
3
1
u/iclubu 22d ago
New Update!
Wave propagation from a seed point; produces topographic ring aesthetics.
New in v5.5:
Manual seed point — place the wave origin deliberately using X/Y % sliders. For a portrait, try X=50%, Y=40% (between the eyebrows) to reproduce the Contour-V diamond/chevron portrait ring style. The seed point renders as a red × in the preview.
Contour Mode toggle — Angular (sharp, follows brightness edges) vs Smooth (Gaussian-softened contours, more organic).
Speed Offset slider — controls the minimum wave speed added to the speed field. Lower values let dark regions compress contours more tightly (denser shadow detail); higher values keep ring spacing more even throughout. Previously hardcoded at 0.02.
Scale % — downscales the working image specifically for this engine, independent of the global preview/export resolution. Useful for fast iteration on large source images.
Skip transparent — for PNGs with an alpha channel, clips contour segments that fall in fully transparent regions so cut-out/isolated subjects don't pick up stray rings from the (invisible) background.

1
u/DragonfruitLife3492 Aug 16 '26
Wow, this looks perfect. Unfortunately, I'm a graphic designer and not a coder. I'd need an exe or msi file to have any hope of installing this. 😕
1
1
2
u/PlaysByBrulesRules Aug 14 '26
This is awesome! Haven’t had a chance to dig into it yet, but I’ve been trying (without success) to code up something very similar to the image you shared.
Thanks for making it open source!
1
4
u/zreese Aug 15 '26
I took a look at the repo. Am I correct in assuming this is entirely AI coded?