inkvec / studio /guide /viewer.html
Incorporo-user's picture
Inkvec 0.2: the presentation page, and Inkvec Studio Lite under studio/
8b468fc verified
Raw
History Blame Contribute Delete
11.1 kB
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="inkvec-guide" content="studio">
<title>The viewer · Inkvec Studio guide</title>
<link rel="stylesheet" href="guide.css">
</head>
<body>
<div class="shell">
<aside class="side"><a class="guidebrand" href="index.html"><img src="logo-mono.svg" alt=""> <span>Inkvec Studio</span></a><div class="grp"><h4>User guide</h4><a href="index.html">Overview</a><a href="install.html">Install and first launch</a><a href="getting-started.html">Getting started</a><a href="viewer.html" aria-current="page">The viewer</a><a href="result.html">Result</a><a href="tune.html">Tune</a><a href="palette.html">Palette and colour groups</a><a href="export.html">Export</a><a href="minify.html">Minify SVG</a><a href="fabricate.html">Fabricate</a><a href="batch.html">Batch</a><a href="settings.html">Settings</a><a href="shortcuts.html">Keyboard and mouse</a><a href="troubleshooting.html">Troubleshooting</a></div><div class="grp"><h4>Tutorials</h4><a href="tutorials/jpeg-logo.html">Clean up a JPEG logo</a><a href="tutorials/favicon-asset-pack.html">A favicon and an asset pack</a><a href="tutorials/vinyl-htv.html">Layered vinyl and iron-on</a><a href="tutorials/laser.html">Laser: DXF and G-code</a></div><div class="grp"><h4>Online</h4><a href="https://logolabs.github.io/inkvec/">Inkvec documentation</a><a href="https://logolabs.github.io/inkvec/studio/viewer.html">This page on the web</a></div><p class="guidenote">This copy of the guide is part of the app and works without a network.</p></aside>
<main><article><h1 id="the-viewer">The viewer</h1>
<p>The stage of the Vectorize tab shows the image you opened (<strong>Source</strong>) beside the SVG it became
(<strong>Vector · SVG</strong>). Both panes share one pan and one zoom, so the same spot is always under the
same place in both. The SVG pane is drawn as a real vector at every zoom: at 12× an edge is still
an edge, not an enlarged bitmap.</p>
<h2 id="comparing-side-by-side-wipe-ab">Comparing: side by side, wipe, A/B</h2>
<p>The three buttons at the left of the toolbar arrange the two panes.</p>
<ul>
<li><strong>Side by side</strong>: the two panes next to each other.</li>
<li><strong>Wipe</strong>: one pane over the other, with a divider. Drag the divider to move it; the source is on
the left of it and the SVG on the right.</li>
<li><strong>A/B</strong>: one pane at a time, the SVG. Hold <kbd>Space</kbd> to see the source instead, and
release to go back. Flicking between the two in place is the quickest way to see a small
difference.</li>
</ul>
<h2 id="zooming-and-panning">Zooming and panning</h2>
<table>
<thead>
<tr>
<th>To</th>
<th>Do this</th>
</tr>
</thead>
<tbody>
<tr>
<td>Zoom about a point</td>
<td>Scroll the wheel (or pinch on a trackpad) over either pane</td>
</tr>
<tr>
<td>Pan</td>
<td>Drag with the left button</td>
</tr>
<tr>
<td>Fit the drawing to the window</td>
<td>Double-click a pane, press <kbd>0</kbd>, or press <strong>Fit</strong></td>
</tr>
<tr>
<td>Zoom to a fixed stop</td>
<td><strong>1×</strong>, <strong>4×</strong> or <strong>12×</strong> in the toolbar</td>
</tr>
<tr>
<td>Zoom in or out a step</td>
<td><kbd>+</kbd> and <kbd>-</kbd></td>
</tr>
</tbody>
</table>
<p>Zoom runs from a quarter of the image's size to 64×. The view fits the window until you zoom or
pan; after that it stays where you put it when the window is resized. From 4× up, the source is
drawn with square pixels rather than smoothed, because those pixels are the evidence the trace was
measured against.</p>
<h2 id="overlays-what-the-svg-is-made-of">Overlays: what the SVG is made of</h2>
<p>The <strong>Show</strong> toggles draw on the SVG pane.</p>
<ul>
<li><strong>Fill</strong>: the drawing's colours. Turned off, the fill dims rather than disappears, so the
outlines still have something to sit on.</li>
<li><strong>Wireframe</strong>: every outline as a thin line.</li>
<li><strong>Anchors</strong>: every node, as a dot.</li>
<li><strong>Handles</strong>: the Bézier control handles, as lines with a diamond at the end.</li>
<li><strong>Certainty</strong>: how sure each edge is (below).</li>
</ul>
<p><img alt="Wireframe, anchors and handles over the SVG at 4×" src="img/overlays.webp"></p>
<p>A key to the marks appears at the right of the toolbar while any overlay is on. Anchors and
handles are how you judge what the file will be like to edit: fewer nodes, and handles that line
up, are easier to work with. <a href="tune.html#the-denoiser-and-editable">Editable structure</a> is the setting
that moves them towards what an artist would draw.</p>
<h2 id="detail-the-pixel-grid-under-the-edge">Detail: the pixel grid under the edge</h2>
<p><strong>Detail</strong> draws the source's pixel grid under the SVG, one cell per source pixel, and zooms to
12× if you are further out (the grid is only drawn from 6× up, where a cell is big enough to see).
It shows where a vector edge falls inside the partly covered pixels along the source's
anti-aliased boundary: a good trace cuts through them where their shade says the boundary is.</p>
<p>While Detail is on, a small note on the stage names the <strong>worst corner</strong>: the place where the
trace and the source disagree most, with its colour difference and position. <strong>Jump to it</strong> goes
there at 12×. The same jump is <strong>Find the worst corner</strong> in the <a href="result.html">quality report</a>.</p>
<h2 id="certainty">Certainty</h2>
<p><strong>Certainty</strong> draws a band along each boundary showing where that boundary could be, measured from
the pixels: two standard deviations either side of the traced edge.</p>
<p><img alt="Certainty bands and the pixel grid at 12×" src="img/detail-certainty.webp"></p>
<table>
<thead>
<tr>
<th>Colour</th>
<th>Means</th>
<th>Band's typical half-width</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>sure</strong> (green)</td>
<td>A crisp edge; the curve sits where the pixels say</td>
<td>up to 0.1 px</td>
</tr>
<tr>
<td><strong>soft</strong> (amber)</td>
<td>A softer edge; still well placed</td>
<td>up to 0.3 px</td>
</tr>
<tr>
<td><strong>unsure</strong> (red)</td>
<td>A blurred, soft or compressed edge; the curve here is a best guess</td>
<td>more than 0.3 px</td>
</tr>
</tbody>
</table>
<p>A thin green line everywhere is what a clean PNG gives. Wide red bands usually mean the image was
enlarged, blurred or compressed; the <a href="settings.html#denoiser">denoiser</a> or a better source helps
more than any setting.</p>
<p>If a trace has no certainty information, the toggle is greyed out until the next trace.</p>
<h2 id="draft-and-full-traces">Draft and full traces</h2>
<p>Every change to a control starts a <strong>draft</strong> straight away: the same settings, traced small
(512 px on the longer side by default) with a short time limit, so the picture keeps up with you.
When the controls have been still for a moment (0.8 s by default), the <strong>full</strong> trace starts. A
chip at the top right of the stage says which one you are looking at:</p>
<ul>
<li><strong>draft · 512 px</strong> (gold): a draft; the full trace is queued.</li>
<li><strong>final · 1024 px</strong> (green): the full trace, at the size it was traced.</li>
<li><strong>re-tracing · …</strong> (copper): a trace is running; the drawing on screen is the previous one.</li>
</ul>
<p>The chip flashes when a draft is replaced by its full trace, so the swap is never silent. Draft
size, draft time limit and the wait before the full trace are in
<a href="settings.html#performance">Settings, Performance</a>.</p>
<p>Only the full trace is ever exported: <a href="export.html">Export</a> always runs one first.</p>
<h2 id="the-status-strip">The status strip</h2>
<p>The line along the bottom of the stage says what is happening: the stage the trace is on and the
time so far (with <kbd>Esc</kbd> to cancel), or how long the last trace took, at what size, and
how many segments it has. When the update check has found a new version, it says so here and
nowhere else. The right end always carries the same sentence: <em>Your image never leaves this
computer.</em></p>
<h2 id="when-the-stage-is-not-showing-a-drawing">When the stage is not showing a drawing</h2>
<table>
<thead>
<tr>
<th>The stage says</th>
<th>What it means</th>
<th>What to do</th>
</tr>
</thead>
<tbody>
<tr>
<td>Reading <em>file</em></td>
<td>The image is being decoded; tracing starts as soon as it is in memory.</td>
<td>Wait.</td>
</tr>
<tr>
<td>This image is one flat colour</td>
<td>There is no boundary to trace; the whole output would be one rectangle.</td>
<td>Open another image.</td>
</tr>
<tr>
<td>This file will not decode</td>
<td>The file is damaged or not an image the app reads. The message says why.</td>
<td>Open another image.</td>
</tr>
<tr>
<td>The trace would run out of memory</td>
<td>The trace size needs more memory than is free; the card gives the estimate.</td>
<td><strong>Retry at</strong> the smaller size it suggests; it usually costs nothing visible.</td>
</tr>
<tr>
<td>The trace stopped</td>
<td>Something failed; the message says what.</td>
<td><strong>Trace again</strong>.</td>
</tr>
<tr>
<td>Trace cancelled</td>
<td>You pressed <kbd>Esc</kbd> or <strong>Cancel</strong>. The last full trace is still on screen and still exportable.</td>
<td><strong>Trace again</strong> when you want.</td>
</tr>
<tr>
<td>This preset wants the denoiser</td>
<td>You chose <em>Photo or scan</em>, or turned the denoiser on, before downloading it. The trace runs without it.</td>
<td><strong>Download the denoiser</strong>, or carry on.</td>
</tr>
<tr>
<td>No network</td>
<td>The update check could not connect. Tracing never needed a network.</td>
<td>Nothing.</td>
</tr>
</tbody>
</table>
<p>A large image is traced at the <strong>Trace size</strong> (2048 px on the longer side by default) and the SVG
is still written at the image's full size. When that happens a note says so; it is normal, and the
SVG scales without limit.</p><nav class="pagenav"><a class="prev" href="getting-started.html"><span class="dir">Previous</span><span class="lbl">Getting started</span></a><a class="next" href="result.html"><span class="dir">Next</span><span class="lbl">Result</span></a></nav></article></main>
<aside class="rail"><h5>On this page</h5><ul><ul><li class="l2"><a href="#comparing-side-by-side-wipe-ab">Comparing: side by side, wipe, A/B</a></li><li class="l2"><a href="#zooming-and-panning">Zooming and panning</a></li><li class="l2"><a href="#overlays-what-the-svg-is-made-of">Overlays: what the SVG is made of</a></li><li class="l2"><a href="#detail-the-pixel-grid-under-the-edge">Detail: the pixel grid under the edge</a></li><li class="l2"><a href="#certainty">Certainty</a></li><li class="l2"><a href="#draft-and-full-traces">Draft and full traces</a></li><li class="l2"><a href="#the-status-strip">The status strip</a></li><li class="l2"><a href="#when-the-stage-is-not-showing-a-drawing">When the stage is not showing a drawing</a></li></ul></ul></aside>
</div>
</body>
</html>