Individual skill
getvect
Convert a raster image (PNG, JPEG, BMP) into a vector file (SVG, EPS, DXF, PDF) locally, with no network call and no account. Use when you have generated or been given a bitmap and need clean editable paths — a logo to scale, line art to cut, a diagram to embed at any size. Do not use for photographs you want to keep looking photographic, or for anything you only need resized.
SKILL.md
Source commit 597426e3b41224c437ad3c8d2648d460a8d7fc33
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Not checked yet
- Last checked
- Nov 6, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 103
- Repository last updated
- Oct 27, 2026
- License
- MIT
Observed agent integration: claude-code, codex
- ai-agents Repository topic
- desktop-app Repository topic
- electron Repository topic
- image-tracing Repository topic
- offline-first Repository topic
- privacy Repository topic
- raster-to-vector Repository topic
- svg Repository topic
- typescript Repository topic
- vectorizer Repository topic
- engineering Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
.claude/settings.jsonasset · 1,195 bytes.claude/skills/katra/SKILL.mddoc · 7,703 bytes.github/ISSUE_TEMPLATE/bug_report.ymlasset · 3,076 bytes.github/ISSUE_TEMPLATE/config.ymlasset · 319 bytes.github/workflows/ci.ymlasset · 3,407 bytes.github/workflows/pages.ymlasset · 3,303 bytes.github/workflows/release.ymlasset · 33,873 bytes.github/workflows/win-smoke.ymlasset · 3,094 bytes.gitignoreasset · 786 bytesAGENTS.mddoc · 3,929 bytesCHANGELOG.mddoc · 6,834 bytesCLAUDE.mddoc · 11 bytesCONTRIBUTING.mddoc · 6,484 bytesLICENSEasset · 1,072 bytesPUBLISH-CHECKLIST.mddoc · 18,645 bytesREADME.mddoc · 25,782 bytesREFERENCE.mddoc · 8,467 bytesSIGNING.mddoc · 17,019 bytesSKILL.mdcore · 5,618 bytesSKILL.mdcore · 5,618 bytesSKILL.mdcore · 5,618 bytesSKILL.mdcore · 5,618 bytesSKILL.mdcore · 5,618 bytesSKILL.mdcore · 5,618 bytesSKILL.mdcore · 5,618 bytesbin/getvect.mjsruns · 7,366 bytesbuild/entitlements.mac.plistasset · 1,747 bytesbuild/icon-1024.pngasset · 575,332 bytesbuild/icon.icnsasset · 1,223,852 bytesbuild/icon.pngasset · 168,204 bytesdocs/CLI.mddoc · 9,909 bytesdocs/HARNESS.mddoc · 104,878 bytesdocs/TESTIDS.mddoc · 42,410 bytesdocs/assets/frankie-before-after.pngasset · 165,535 bytesdocs/assets/frankie-mascot.pngasset · 101,472 bytesdocs/assets/frankie-vector.svgasset · 17,844 bytesdocs/assets/getvect-wordmark.svgasset · 5,686 bytesdocs/assets/icon-512.pngasset · 168,204 bytesdocs/assets/screenshot-palette.pngasset · 115,934 bytesdocs/assets/screenshot-side-by-side.pngasset · 410,462 bytesdocs/assets/screenshot-zoom-sync.pngasset · 337,251 byteselectron-builder.ymlasset · 7,828 bytesfixtures/arcs-560x256.pngasset · 5,009 bytesfixtures/comet-flame-219x168.pngasset · 3,310 bytesfixtures/comet-flame-sticker-542x416.pngasset · 11,910 bytesfixtures/logo-flat-1024.pngasset · 13,070 bytesfixtures/logo-flat-512.pngasset · 4,785 bytesfixtures/logo-noisy-512.pngasset · 174,165 bytesfixtures/manifest.jsonasset · 28,333 bytesfixtures/photo-gradient-512x384.jpgasset · 13,989 bytesfixtures/reference/ARTWORK.mddoc · 3,642 bytesfixtures/reference/fox-sticker-white.pngasset · 311,167 bytesfixtures/reference/fox-sticker.pngasset · 352,776 bytesfixtures/reference/frankie-sticker-white.pngasset · 510,350 bytesfixtures/reference/frankie-sticker.pngasset · 568,678 bytesfixtures/shapes-256.bmpasset · 196,662 bytesfixtures/spikes-bands-384.pngasset · 3,369 bytesfixtures/sticker-alpha-256.pngasset · 1,238 bytesfixtures/third-party/LICENSES.mddoc · 3,833 bytesfixtures/third-party/lineart-engraving-447.jpgasset · 47,726 bytesfixtures/third-party/lowres-poster-250.jpgasset · 20,087 bytesfixtures/third-party/photo-highcontrast-800.jpgasset · 368,714 bytesfixtures/third-party/poster-letterforms-900.jpgasset · 233,566 bytesfixtures/third-party/sticker-figure-900.pngasset · 295,892 bytesfixtures/unsupported-animation.gifasset · 38 bytesfixtures/unsupported-notes.txtdoc · 102 bytesinstruments/lib/decode.mjsruns · 4,278 bytesinstruments/lib/metrics.mjsruns · 92,114 bytesinstruments/lib/render.mjsruns · 6,391 bytesinstruments/reference-engine.mjsruns · 3,595 bytesinstruments/run-fit-excursion.mjsruns · 7,837 bytesinstruments/run-instruments.mjsruns · 63,918 bytesinstruments/run-screenshots.mjsruns · 9,929 byteskatra/.gitignoreasset · 8 byteskatra/HISTORY-PLAN.mddoc · 6,972 byteskatra/config.ymlasset · 115 byteskatra/entries/2026-08-04-a-pit-crew-gauntlet-graded-against-a-quality-bar.mddoc · 2,543 byteskatra/entries/2026-08-05-five-screenshots-five-instruments.mddoc · 2,736 byteskatra/entries/2026-08-05-flattening-the-image-before-the-tracer-sees-it.mddoc · 2,973 byteskatra/entries/2026-08-05-frankie-takes-the-throne.mddoc · 2,508 byteskatra/entries/2026-08-05-getvect-goes-public.mddoc · 2,574 byteskatra/entries/2026-08-05-shipping-day-a-domain-an-icon-and-one-pixel-under-the-next-layer.mddoc · 2,752 byteskatra/entries/2026-08-05-the-staircase-that-was-never-in-the-polyline.mddoc · 2,782 byteskatra/entries/2026-08-05-three-characters-of-code-the-l1-fringe-bug.mddoc · 3,232 byteskatra/entries/2026-08-16-deantialias-makes-the-notch-and-still-cannot-unmake-it.mddoc · 6,694 byteskatra/entries/2026-08-16-every-byte-measured-the-purge-and-the-rewrite.mddoc · 7,021 byteskatra/entries/2026-08-16-four-pictures-we-did-not-draw-and-the-answer-changed.mddoc · 5,910 byteskatra/entries/2026-08-16-incidence-not-efficacy-and-the-notch-is-in-the-file-we-ship.mddoc · 8,183 byteskatra/entries/2026-08-16-the-4x-that-was-a-short-boundary.mddoc · 4,300 byteskatra/entries/2026-08-16-the-corner-that-was-never-recovering.mddoc · 7,570 byteskatra/entries/2026-08-16-the-fitter-was-innocent-of-the-notch-and-guilty-of-something-else.mddoc · 6,299 byteskatra/entries/2026-08-16-the-fixture-and-the-beneficiary-were-the-same-object.mddoc · 6,807 byteskatra/entries/2026-08-16-the-staircase-was-real-the-hypothesis-was-not.mddoc · 7,652 byteskatra/entries/2026-08-16-the-white-outline-right-about-the-worst-spot-wrong-about-the-rule.mddoc · 6,400 byteskatra/entries/2026-08-16-two-laps-two-bounds-and-the-distribution-that-settled-it.mddoc · 5,451 byteskatra/entries/2026-08-16-verifying-a-parallel-lap-three-findings-confirmed-one-refuted.mddoc · 5,284 byteskatra/entries/2026-08-17-the-staircase-was-in-the-viewer-not-the-vector.mddoc · 8,484 byteskatra/entries/2026-08-18-the-halo-the-artwork-brought-with-it.mddoc · 7,015 byteskatra/entries/2026-08-19-nobody-had-ever-installed-the-exe.mddoc · 3,812 byteskatra/entries/2026-08-19-the-gates-only-one-machine-could-run.mddoc · 2,892 byteskatra/entries/2026-08-19-the-log-goes-public-gate-and-all.mddoc · 2,112 byteskatra/entries/2026-08-19-the-release-that-only-knew-one-operating-system.mddoc · 9,633 byteskatra/entries/2026-08-20-the-exemplar-gets-audited-by-its-own-standard.mddoc · 3,165 byteskatra/entries/2026-08-20-v0-1-1-the-tag-that-ships-two-operating-systems.mddoc · 2,005 byteskatra/entries/2026-08-21-the-install-nobody-had-timed.mddoc · 3,009 byteskatra/entries/2026-08-25-gate-the-copy-that-ships.mddoc · 6,135 byteskatra/entries/2026-08-25-the-install-that-succeeded-and-could-not-start.mddoc · 3,563 byteskatra/entries/2026-08-25-three-pages-not-thirteen-and-a-table-that-could-not-go-red.mddoc · 4,017 byteskatra/entries/2026-08-26-the-signature-was-the-easy-half.mddoc · 4,978 byteskatra/entries/2026-08-27-freeze-it-for-the-caller-who-is-not-there-yet.mddoc · 5,080 byteskatra/entries/2026-08-28-a-guard-that-could-not-have-failed-is-not-a-guard.mddoc · 4,957 byteskatra/entries/2026-10-27-a-flat-logo-is-not-shaded-art-the-cleanup-was-rounding-the-corners.mddoc · 4,567 byteskatra/epics/2026-08-20-standards-pass-follow-ups.mddoc · 369 byteskatra/media/arcs-560x256.pngasset · 5,009 byteskatra/media/corpus.htmlasset · 3,081 byteskatra/media/cream-zoom.pngasset · 14,157 byteskatra/media/deletion-accounted.htmlasset · 2,447 byteskatra/media/devlog-live.pngasset · 186,229 byteskatra/media/discrim.htmlasset · 3,544 byteskatra/media/dist.htmlasset · 3,693 byteskatra/media/enhance-payoff.pngasset · 528,763 byteskatra/media/ergo-findings.htmlasset · 2,591 byteskatra/media/extent.htmlasset · 3,113 byteskatra/media/fox-before-after.pngasset · 298,293 byteskatra/media/fr-4x-eye.pngasset · 14,251 byteskatra/media/frankie-before-after.pngasset · 170,794 byteskatra/media/g1.jpgasset · 233,566 byteskatra/media/g2.jpgasset · 47,726 byteskatra/media/incidence.htmlasset · 3,882 byteskatra/media/install-footprint.htmlasset · 2,539 byteskatra/media/layers.htmlasset · 3,545 byteskatra/media/lrsite-off.pngasset · 33,242 byteskatra/media/lrsite-on.pngasset · 34,359 byteskatra/media/muzzle-notrim.pngasset · 15,113 byteskatra/media/muzzle-trim.pngasset · 15,705 byteskatra/media/needle-notrim.pngasset · 6,868 byteskatra/media/needle-trim.pngasset · 9,275 byteskatra/media/new-face.pngasset · 79,547 byteskatra/media/notch-today.pngasset · 11,303 byteskatra/media/pane-fixed.pngasset · 13,341 byteskatra/media/pane-shipped.pngasset · 13,592 byteskatra/media/pitcrew-loop.htmlasset · 4,224 byteskatra/media/purge.htmlasset · 3,756 byteskatra/media/release-graph.htmlasset · 4,076 byteskatra/media/ship-cmp.pngasset · 43,176 byteskatra/media/ship-ear.pngasset · 80,634 byteskatra/media/site-download-011.pngasset · 178,707 byteskatra/media/site1-16x.pngasset · 11,303 byteskatra/media/site1-after.pngasset · 11,641 byteskatra/media/sliver-after.pngasset · 9,167 byteskatra/media/sliver-before.pngasset · 22,820 byteskatra/media/sweep-disposition.htmlasset · 3,134 byteskatra/media/tint.htmlasset · 3,066 byteskatra/media/wordmark-pink-preview.pngasset · 36,806 byteskatra/tasks/2026-08-20-adopt-a-linter-and-formatter.mddoc · 324 byteskatra/tasks/2026-08-20-clear-the-dev-only-audit-findings-esbuild-nanoid.mddoc · 341 byteskatra/tasks/2026-08-20-close-the-renderer-sandbox.mddoc · 404 byteskatra/tasks/2026-08-20-csp-meta-for-the-static-site.mddoc · 1,958 byteskatra/tasks/2026-08-20-path-validate-the-file-read-ipc-handler.mddoc · 400 byteskatra/tasks/2026-08-20-reproduce-or-retire-the-smart-aa-fox-number.mddoc · 356 byteskatra/tasks/2026-08-20-test-the-renderer-s-no-network-claim.mddoc · 351 byteskatra/tasks/2026-08-20-upgrade-sharp-past-the-libvips-cves-move-it-to-devdependencies.mddoc · 456 byteskatra/tasks/2026-08-21-ergonomics-pass-leg-g.mddoc · 320 byteskatra/tasks/2026-08-21-installer-can-destroy-an-existing-install-and-still-exit-0.mddoc · 588 byteskatra/tasks/2026-08-21-installer-silent-failure-mode-under-an-av-active-box.mddoc · 531 byteskatra/tasks/2026-08-21-uninstaller-should-remove-the-updater-cache.mddoc · 451 byteskatra/tasks/2026-08-25-prove-the-macos-signing-pipeline-end-to-end-on-a-real-release.mddoc · 5,135 byteskatra/tasks/2026-08-26-one-control-for-the-colour-budget.mddoc · 5,104 byteskatra/tasks/2026-08-27-analytics-decisions-live-only-in-a-script-comment.mddoc · 2,757 byteskatra/tasks/2026-08-27-the-app-entry-count-is-a-floor.mddoc · 2,836 byteskatra/tasks/2026-08-27-the-web-bridge-no-network-test-does-not-exist.mddoc · 4,645 byteskatra/tasks/2026-10-27-thin-spikes-in-flat-marks-come-back-bowed-with-blunt-tips.mddoc · 1,494 bytespackage-lock.jsonasset · 226,373 bytespackage.jsonruns · 3,326 bytesplaywright.config.tsruns · 1,281 bytesscripts/bundle-engine.mjsruns · 2,271 bytesscripts/bundle-updater.mjsruns · 2,948 bytesscripts/check-analytics-coverage.mjsruns · 4,445 bytesscripts/clean.mjsruns · 537 bytesscripts/derived-assets.stamp.jsonasset · 790 bytesscripts/dev.mjsruns · 1,367 bytesscripts/devlog-analytics.mjsruns · 8,495 bytesscripts/devlog-gate.mjsruns · 10,810 bytesscripts/docs-screenshots.mjsruns · 4,140 bytesscripts/ensure-deps.mjsruns · 944 bytesscripts/generate-fixtures.mjsruns · 101,860 bytesscripts/generate-third-party-notices.mjsruns · 10,976 bytesscripts/measure-load.mjsruns · 5,150 bytesscripts/notarize-dmg.mjsruns · 6,912 bytesscripts/regenerate-derived-assets.mjsruns · 33,423 bytesscripts/run-engine-tests.mjsruns · 3,085 bytesscripts/run-tests.mjsruns · 2,847 bytesscripts/source-fixture.mjsruns · 6,348 bytesscripts/verify-artifact-metadata.shruns · 2,848 bytesscripts/verify-demo-panes.mjsruns · 10,451 bytesscripts/verify-electron.mjsruns · 3,188 bytesscripts/verify-signed-dmg.shruns · 4,245 bytesscripts/verify-signed-zip.shruns · 3,767 bytesscripts/verify-update-feed.mjsruns · 9,108 bytesscripts/verify-windows-install.ps1runs · 7,625 bytessite/CNAMEasset · 21 bytessite/README.mddoc · 993 bytessite/assets/favicon.pngasset · 4,806 bytessite/assets/frankie-before-after.pngasset · 84,964 bytessite/assets/frankie-mascot.pngasset · 35,895 bytessite/assets/frankie-raster.pngasset · 188,814 bytessite/assets/frankie-vector.svgasset · 17,844 bytessite/assets/getvect-wordmark.svgasset · 5,686 bytessite/assets/screenshot-palette.pngasset · 35,836 bytessite/assets/screenshot-side-by-side.pngasset · 159,968 bytessite/assets/screenshot-zoom-sync.pngasset · 134,185 bytessite/demo.jsruns · 6,237 bytessite/devlog/app.jsruns · 39,862 bytessite/devlog/data.jsonasset · 193,654 bytessite/devlog/index.htmlasset · 2,674 bytessite/devlog/media/corpus.htmlasset · 3,081 bytessite/devlog/media/cream-zoom.pngasset · 14,157 bytessite/devlog/media/discrim.htmlasset · 3,544 bytessite/devlog/media/dist.htmlasset · 3,693 bytessite/devlog/media/enhance-payoff.pngasset · 528,763 bytessite/devlog/media/extent.htmlasset · 3,113 bytessite/devlog/media/fr-4x-eye.pngasset · 14,251 bytessite/devlog/media/frankie-before-after.pngasset · 170,794 bytessite/devlog/media/g1.jpgasset · 233,566 bytessite/devlog/media/g2.jpgasset · 47,726 bytessite/devlog/media/incidence.htmlasset · 3,882 bytessite/devlog/media/install-footprint.htmlasset · 2,539 bytessite/devlog/media/layers.htmlasset · 3,545 bytessite/devlog/media/lrsite-off.pngasset · 33,242 bytessite/devlog/media/lrsite-on.pngasset · 34,359 bytessite/devlog/media/muzzle-notrim.pngasset · 15,113 bytessite/devlog/media/muzzle-trim.pngasset · 15,705 bytessite/devlog/media/needle-notrim.pngasset · 6,868 bytessite/devlog/media/needle-trim.pngasset · 9,275 bytessite/devlog/media/new-face.pngasset · 79,547 bytessite/devlog/media/notch-today.pngasset · 11,303 bytessite/devlog/media/pane-fixed.pngasset · 13,341 bytessite/devlog/media/pane-shipped.pngasset · 13,592 bytessite/devlog/media/pitcrew-loop.htmlasset · 4,224 bytessite/devlog/media/release-graph.htmlasset · 4,076 bytessite/devlog/media/site1-16x.pngasset · 11,303 bytessite/devlog/media/site1-after.pngasset · 11,641 bytessite/devlog/media/sliver-after.pngasset · 9,167 bytessite/devlog/media/sliver-before.pngasset · 22,820 bytessite/devlog/media/tint.htmlasset · 3,066 bytessite/devlog/media/wordmark-pink-preview.pngasset · 36,806 bytessite/devlog/styles.cssasset · 31,264 bytessite/docs.htmlasset · 32,257 bytessite/download.jsruns · 4,783 bytessite/favicon.icoasset · 7,147 bytessite/index.htmlasset · 26,112 bytessite/styles.cssasset · 18,118 bytessrc/cli/decodePng.tsruns · 6,669 bytessrc/cli/index.tsruns · 15,167 bytessrc/engine/color.tsruns · 103,343 bytessrc/engine/dxf.tsruns · 15,707 bytessrc/engine/eps.tsruns · 3,610 bytessrc/engine/fit.tsruns · 42,891 bytessrc/engine/imagetracerjs.d.tsruns · 1,637 bytessrc/engine/index.tsruns · 67,686 bytessrc/engine/path.tsruns · 17,100 bytessrc/engine/pdf.tsruns · 6,757 bytessrc/engine/preprocess.tsruns · 50,469 bytessrc/engine/svg.tsruns · 5,235 bytessrc/engine/trace.tsruns · 14,788 bytessrc/engine/types.tsruns · 9,373 bytessrc/main/aiEnhance.tsruns · 35,290 bytessrc/main/cliMain.tsruns · 7,588 bytessrc/main/main.tsruns · 17,547 bytessrc/main/preload.tsruns · 4,721 bytessrc/main/prompts.tsruns · 3,605 bytessrc/main/updater.tsruns · 12,806 bytessrc/main/windowGuard.tsruns · 3,839 bytessrc/renderer/App.tsxruns · 96,720 bytessrc/renderer/api.tsruns · 3,452 bytessrc/renderer/assets.d.tsruns · 138 bytessrc/renderer/components/Preview.tsxruns · 10,647 bytessrc/renderer/components/UpdateBanner.tsxruns · 3,410 bytessrc/renderer/favicon.pngasset · 2,160 bytessrc/renderer/getvect-wordmark.svgasset · 5,686 bytessrc/renderer/index.htmlasset · 1,471 bytessrc/renderer/lib/decode.tsruns · 3,047 bytessrc/renderer/lib/engineClient.tsruns · 3,588 bytessrc/renderer/lib/raster.tsruns · 6,057 bytessrc/renderer/main.tsxruns · 334 bytessrc/renderer/styles.cssasset · 28,431 bytessrc/renderer/workers/vectorize.worker.tsruns · 1,599 bytessrc/shared/aiEnhance.tsruns · 5,578 bytessrc/shared/testids.tsruns · 7,045 bytessrc/shared/update.tsruns · 3,847 bytessrc/web/bridge.tsruns · 7,668 bytessrc/web/env.d.tsruns · 201 bytessrc/web/favicon.pngasset · 2,160 bytessrc/web/index.htmlasset · 2,969 bytessrc/web/main.tsxruns · 1,016 bytestests/e2e/a-ingest-behaviour.spec.tsruns · 4,628 bytestests/e2e/a-ingest.spec.tsruns · 3,353 bytestests/e2e/a2-decode-failure.spec.tsruns · 3,435 bytestests/e2e/ai-enhance.spec.tsruns · 12,813 bytestests/e2e/b-controls-affordance.spec.tsruns · 25,541 bytestests/e2e/b-engine.spec.tsruns · 6,038 bytestests/e2e/b-source-line.spec.tsruns · 3,505 bytestests/e2e/b-wordmark.spec.tsruns · 4,154 bytestests/e2e/b1-stability.spec.tsruns · 3,808 bytestests/e2e/b2-presets.spec.tsruns · 5,603 bytestests/e2e/b3-palette-reset-parity.spec.tsruns · 3,792 bytestests/e2e/b3-palette-state.spec.tsruns · 6,801 bytestests/e2e/b3-palette.spec.tsruns · 7,174 bytestests/e2e/b4-quality.spec.tsruns · 4,974 bytestests/e2e/b5-advanced.spec.tsruns · 4,999 bytestests/e2e/b6-result-style.spec.tsruns · 2,373 bytestests/e2e/c-preview-interaction.spec.tsruns · 12,930 bytestests/e2e/c-preview.spec.tsruns · 4,008 bytestests/e2e/c2-resize-fit.spec.tsruns · 2,839 bytestests/e2e/c4-zoom-sharpness.spec.tsruns · 8,259 bytestests/e2e/c5-checkerboard.spec.tsruns · 10,671 bytestests/e2e/d-export.spec.tsruns · 4,453 bytestests/e2e/d3-dxf-variants.spec.tsruns · 4,812 bytestests/e2e/d4-export-status.spec.tsruns · 4,832 bytestests/e2e/d5-export-formats.spec.tsruns · 4,481 bytestests/e2e/helpers.tsruns · 18,863 bytestests/e2e/q-decode-parity.spec.tsruns · 7,122 bytestests/e2e/smoke.spec.tsruns · 1,159 bytestests/e2e/u-update-banner.spec.tsruns · 6,618 bytestests/e2e/w-web-offline.spec.tsruns · 7,704 bytestests/e2e/z-window-guard.spec.tsruns · 3,419 bytestests/engine/alpha.test.mjsruns · 5,612 bytestests/engine/cli-app-path.test.mjsruns · 7,663 bytestests/engine/cli.test.mjsruns · 10,323 bytestests/engine/demo-settings.test.mjsruns · 4,324 bytestests/engine/engine.test.mjsruns · 20,745 bytestests/engine/lineart.test.mjsruns · 4,831 bytestests/engine/no-keychain-at-startup.test.mjsruns · 9,049 bytestests/engine/parity.test.mjsruns · 40,227 bytestests/engine/provenance.test.mjsruns · 8,708 bytestests/engine/rendered.test.mjsruns · 23,389 bytestests/engine/sharp-corners.test.mjsruns · 7,262 bytestests/engine/skill-doc.test.mjsruns · 10,471 bytestests/engine/small-logo.test.mjsruns · 14,534 bytestests/engine/third-party-notices.test.mjsruns · 4,274 bytestests/engine/update-mode.test.mjsruns · 4,263 bytestests/engine/web-bridge.test.mjsruns · 8,616 bytestsconfig.jsonasset · 414 bytestsconfig.node.jsonasset · 598 bytestsconfig.renderer.jsonasset · 561 bytesvite.config.mtsruns · 846 bytesvite.web.config.mtsruns · 1,158 bytes
Read excerpt
# getvect
Trace a bitmap into vector paths. Runs entirely on the local machine.
## When to use this
Reach for it when the output must stay sharp at any size, or must be edited as
shapes rather than pixels:
- a logo or icon that needs to scale
- line art or a scan destined for a cutter or CAD (`dxf`)
- flat illustration you want as editable colour layers
- an image you produced yourself and now need as paths