v2.3.0 — Sharp 4× raster exports
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.