TAPREVEALfield manual start here source open the app →
vol.01 ⁄ cyanotype edition · document nº2

FIELD MANUAL

Every tool, slider, preset and shortcut in TAPREVEAL studio — the tap & hold reveal maker for X.

The one idea: the base image gets the transparent pattern and fuses into X's background. The front layer — clothing, an overlay, a “Tap me” stamp — stays 100% opaque and is all your followers see. Tapping brings the base image back.

Contents

00 ⁄ How the effect works

X keeps PNG files that contain transparency — fully opaque uploads get re-encoded as JPEG and lose it. The whole trick lives in that rule.

The base image is riddled with a 1-pixel lattice of transparent holes. The front layer stays 100% opaque.

In the timeline, X composites the image over the viewer's theme background and downscales it hard. The 1-pixel lattice is far too fine to survive that: it averages out and fuses with the background, so the base image sinks away. The opaque front layer keeps its full contrast and is the only thing that reads.

Tap or long-press and X serves the image at full resolution in the media viewer. The lattice is spatially resolved instead of averaged away, and the base image comes back. That is the reveal.

Dark themes hide best. On Lights out the patterned base fuses into black and vanishes; on Light it only washes to pale grey and stays half-readable. Most of X browses dark, which is why this works.

TIMELINE · WHITE → HIDDEN TAP VIEW · BLACK → VISIBLE
fig.01 — patterned base (left) vs opaque front layer (right)

Why PNG-8? Indexed color (a palette of ≤256 entries plus one transparent slot via the tRNS chunk) keeps files small and stable, so X preserves the exact pixel pattern instead of resampling it away. The app writes the PNG byte stream itself and re-decodes every export to verify it.

Everything runs in your browser. No image ever leaves your device — there is no server.

01 ⁄ Interface map

02 ⁄ Getting images in

03 ⁄ Tools

ToolKeyWhat it does
MoveVDrag a layer to reposition it. Click selects the layer under the pointer (rotated layers hit-test correctly). Fine-tune rotation / scale / opacity in §04's layer properties.
BrushBPaints the reveal mask (shown as a blue tint). Size 4–400 px ([ / ] = ∓8), Hardness 0–100 — low hardness gives a soft edge, which the exporter converts into a gradual pattern falloff.
EraseESame brush, removes mask instead of adding it.
WandWClick a color region to mask it in one go. Tolerance 0–120 sets how similar colors must be; Contiguous only restricts the selection to the connected area under the click — untick it to grab that color everywhere in the image.
TextTClick the canvas to place a text stamp (default “TAP & HOLD!!”) so viewers know to interact. It is a normal layer: move it with V, style it in §04.
PanHDrag to pan. Holding Space pans temporarily from any tool.

The rail also holds Undo / Redo (Ctrl+Z / Ctrl+Shift+Z or Ctrl+Y) — history covers mask edits, up to 30 steps — and Fit (0).

04 ⁄ Layers

05 ⁄ The front layer (the mask)

The blue tint marks the front layer — what stays 100% opaque and sharp in the timeline. Everything you leave unpainted receives the pattern and hides. Paint nothing and the entire image hides, which is the simplest and often the best result.

Three ways in, from the Front layer panel:

The readout under those buttons always states the split, e.g. front layer covers ~18% — the other 82% hides.

06 ⁄ Reveal effect

Presets are one-click bundles of the settings below — Classic 1px checker is the recommended default; Classic + compensation adds brightness correction for the tap view; Soft veil / Heavy hide trade subtlety against concealment; Scanlines / Bars / 2px checker are stylistic or robustness variants.

PatternRemovedCharacter
1px checkerboard50%The classic. Strongest optical fusion, disappears best on Light theme.
2px checkerboard50%Coarser blocks — more resistant if a client re-compresses the image, slightly more visible up close.
Sparse dots25%Gentle veil: the area stays readable in the timeline, just washed out.
Dense75%Aggressive hide; the tap view darkens noticeably — pair with compensation.
Rows / Columns50%Every other line — CRT / scanline aesthetic.
Custom density10–90%Free removal amount via ordered (Bayer) dithering; the Removal slider appears when selected.

07 ⁄ Preview — X simulation

08 ⁄ Export

09 ⁄ Projects & autosave

10 ⁄ Shortcuts

KeyActionKeyAction
V B E W T HTools (§03)SpaceHold to pan
[ / ]Brush size ∓80Fit to view
+ / Zoom ±20%WheelZoom at pointer
Ctrl+ZUndo mask editCtrl+Shift+Z / Ctrl+YRedo
Ctrl+SSave projectCtrl+EExport PNG-8
Ctrl+VPaste imageDeleteDelete selected layer
F1In-app README

11 ⁄ Posting on X

12 ⁄ Troubleshooting & limits

tapreveal studio · vol.01 · cyanotype ed. · MMXXVI · app github