Skip to content

v2.3.0 — Sharp 4× raster exports

Choose a tag to compare

@tt-a1i tt-a1i released this 15 Apr 06:06
· 231 commits to main since this release

Quality release. Fixes the reason raster exports looked soft, and removes the scale selector that was tempting users into soft output.

What was wrong

The export pipeline used to rasterize the SVG at its natural `viewBox` size (e.g., 1000×680), then `ctx.drawImage(img, 0, 0, width * scale, height * scale)` bitmap-upsampled that small raster onto a larger canvas. That just blew up pixels — the image got bigger, but no sharper. Even at 4× the output looked soft.

What changed

`serializeSvg()` now sets the serialized SVG's `width` / `height` to `4 × viewBox` (the viewBox itself is untouched, so coordinates don't shift). The browser rasterizes the vectors natively at that target resolution. `drawImage` then draws at the image's natural size with no scaling. Result: edges, text, arrowheads, dashed strokes are all genuinely crisp at 4×.

The 1× / 2× / 4× selector is gone — every raster export is now 4× by default. A typical diagram exports at 4000×2720 (≈300-700 KB PNG). That's the sharpest you can get from the source, which is what you actually want when pasting into a slide deck or docs.

Also

  • JPEG / WebP quality bumped 0.92 → 0.95 (tiny file delta, cleaner edges)
  • Toast no longer echoes the scale (always 4× now)
  • Menu keyboard nav simplified; all other shortcuts preserved
  • Preview screenshots and `examples/web-app.html` regenerated

Install

Claude.ai: Settings → Capabilities → Skills → + Add → upload `archify.zip`.

Claude Code CLI:
```bash
rm -rf ~/.claude/skills/archify
unzip archify.zip -d ~/.claude/skills/
```

See CHANGELOG.md for details.