Reference · Looking

pxart onion

Frame B drawn over A's silhouette, and a readout of how B's edges moved from A's ('top -1'), for a 1px jump too faint to see; --feet N reads only the bottom rows.

onion A B -o x.png [--scale 8] [--rows Y0-Y1 | --feet N] [--tint-a [COLOR] | --fade-a] [--variant V] [--dry-run]
usage: pxart onion [-h] [-o O] [--scale SCALE] [--dry-run] [--rows ROWS | --feet N]
                   [--tint-a [COLOR] | --fade-a] [--variant V]
                   a b

  onion A B -o x.png [--scale 8] [--rows Y0-Y1 | --feet N] [--tint-a [COLOR] | --fade-a]
        [--variant V] [--dry-run]
      Frame B drawn over A's silhouette, and a readout of how B's edges moved from A's ('top -1'),
      for a 1px jump too faint to see; --feet N reads only the bottom rows.

positional arguments:
  a
  b

options:
  -h, --help        show this help message and exit
  -o O
  --scale SCALE
  --dry-run         print the readout and each output's size and layout, write nothing ('(dry run; nothing written)'); -o may be left off
  --rows ROWS       Y0-Y1: only these canvas rows count for the readout and the best shift
  --feet N          only the bottom N rows count (--rows for the feet)
  --tint-a [COLOR]  draw A as a silhouette in COLOR (the default, in #ff4060a0)
  --fade-a          draw A faded to 35% instead, as onion once did
  --variant V       draw A and B in V (a halo lit only at night counts); an input's own %V wins

      B at 80% opacity drawn over A as a flat silhouette in a translucent red (#ff4060a0),
      with render's grid and rulers: where A shows past B is plain.
      Prints where each frame's opaque pixels sit on the shared canvas and how B's edges moved
      from A's, then the whole-sprite shift that best explains B, as anim finds it:
      "B vs A: left +0, right +0, top -1, bottom +0; best shift +0,-1 then 4px changed (no
      shift: 20px)": the head rose 1px, the feet stayed. Two different sprites (other sizes, or
      more than half the larger one's opaque pixels still changed at the whole sprites' best
      shift; --rows and --feet don't change that; two frames of one animation in one file
      are always one sprite, however much changed) print
      "...; different sprites: edges only": their edges still compare where the feet stand,
      but a best shift between two characters means nothing. y grows down, so +1 is lower.
      The edges are the sides of each frame's opaque bounding box: 'top -1' is B's top row 1px
      above A's.
      --rows Y0-Y1 (canvas rows as the readout prints them, both included; one row: --rows Y)
      or --feet N (the bottom N rows) limit the edges and the best shift to that band, so a
      weapon swing above doesn't hide what the feet did: 'B vs A (bottom 4 canvas rows 20-23;
      A opaque in 20-23, B in 21-23): left +0, ...'. The shift still moves all of A (pixels
      come into the band from above) and counts only the band's pixels; when the bottom edges
      agree, one up or down only lines up what moved above them, and the readout says no
      shift. The PNG darkens the rows outside the band.
      --tint-a COLOR draws the silhouette in another color. --fade-a draws A itself at 35%
      opacity instead.

See also, in pxart help all: FORMAT: pivots and timing (pivot=x,y, direction, repeat, ms);
  LOOKING: centering (frames of different sizes, --bg, --dry-run).

pxart help all has the whole reference, pxart help TOPIC one part of it.

This is the output of pxart help onion. The other looking commands and their shared notes are in pxart help LOOKING.

This page is built from site/src/data/reference.json in the repository.Edit on GitHub