FolioTier 2
@sprite-pixelate
Resolve a sprite from a mosaic while it fades (target by slug). What `sprite show`/`sprite hide ... with pixelate` lowers to.
The @sprite-pixelate effect transitions a sprite between a blocky mosaic and a sharp, fully resolved image. You reach for it directly when the shorthand forms of sprite show and sprite hide with the pixelate modifier do not give you enough control - for instance, when you want to freeze a sprite mid-dissolve, tune the block size for a particular character, or sequence the reveal against other concurrent effects.
The to parameter determines where the animation lands: driving toward 1 sharpens the sprite into view, and driving toward 0 dissolves it back into a mosaic. The high-level sprite show and sprite hide commands both lower to this construct internally, so understanding @sprite-pixelate tells you exactly what those commands are doing.
Because wait defaults to false, two @sprite-pixelate calls on different sprites can run at the same time without any extra work on your part. If you need one to finish before the next line runs - say, before a character speaks - set wait to true on that call.
The size parameter sets how coarse the mosaic looks at its most pixelated moment. A larger value reads as a dramatic retro effect; a smaller value produces a subtler shimmer. The value you choose is most noticeable at slow durations, where the audience spends more time looking at the mid-dissolve frames.
If you call @sprite-pixelate on a sprite that is already visible and fully resolved, the effect will still run from whatever the current pixel state is - it does not reset to a full mosaic first. If you want a clean mosaic-in entrance, make sure the sprite starts hidden or use sprite show with pixelate, which handles that setup for you.
Parameters
| Parameter | Kind | Required | Default | Notes |
|---|---|---|---|---|
| target | string | yes | "" | Sprite tag to target. |
| to | number | no | 1 | 0-1 (0-1). Default 1. |
| size | number | no | 24 | 4-120 pixels. Default 24. |
| duration | number | no | 0.4 | 0.05-3 seconds. Default 0.4. |
| wait | boolean | no | true | Block for the effect's duration when true; false fires and continues so effects can overlap. |
Canonical example
sprite show ada with pixelate
say "Ada": "Don't look at me like that."
sprite hide ada with pixelate
@sprite-pixelate is the sibling of @sprite-opacity:
it ramps the sprite's opacity exactly like a fade, but layers a mosaic
on top - the sprite resolves out of chunky blocks as it appears, and
dissolves back into them as it leaves. target is the sprite's slug (the
name it has in the Sprite Manager); size is the largest mosaic block,
to the opacity endpoint, duration the ramp in seconds.
How to fire it
Authors reach it through the Sprite Action card's own Transition section -
pick Pixelate. The transition belongs to the card, not to Show or Hide, so a
sprite set frame change carries it too; direction (in / out / across) is derived
from stage state at playback, never authored. It lowers to the with pixelate
tail:
sprite show ada with pixelate
say "Ada": "..."
sprite set ada frame worried with pixelate(0.8)
sprite hide ada with pixelate
On a show or a hide the tail lowers to a standalone @sprite-pixelate step. On a
sprite set it stays on the set step: the swap needs both the old and the new
texture at the same moment, which a one-sprite tween cannot express.
with pixelate and with fade are mutually exclusive on one beat - a beat
has a single transition. A slide-in entrance (from(...) with <curve>) also
suppresses it (the motion reads better unmasked).
Notes
@sprite-pixelate is a Pixi-renderer effect - a small WebGL filter snaps the
sprite's UVs to a block grid that shrinks to nothing as the transition
resolves. It is skipped under the reader's reduce motion preference (the
opacity fade still plays). The mosaic block size scales with render resolution so the
block count reads the same across displays.
See also
@sprite-opacity- the plain opacity transition@sprite-pop- scale pop for emphasis@sprite-color-matrix- per-sprite color gradesprite- mounts the sprite thattargetmatches