Overlay Transform Reference
Reference poster, not a template - shows overlay()'s transform (position and rotation) reused across one page, plus condition/image-field per-call resolution on a second page.

Overlay Transform Reference
A reference document, not something to print and use.
Page 1 - transform
One partial (swatch.canvas) reused nine times, each call using a different dx/dy/rotate combination. Compare process.js's overlay() calls against where each swatch lands to see how the transform arguments compose.
Known limitation demonstrated here
Every reused call produces a block with the same id. Harmless for a plain image block (position and rotation never look anything up by id) - but NOT harmless in general: an image block with a filters chain has its filtered result cached keyed by block id (see pdf_service.dart's _prepareFilteredImages), so two same-id filtered-image blocks from different calls could cross-contaminate each other's result. And any block type whose content should differ per call (text, scan code, grid, signature) would silently collide - worth knowing before copying this pattern.
Page 2 - condition/image source.field per-call resolution
condition_demo.canvas reused three times after inputs.x is reassigned before each call - same per-call-transform pattern as page 1, this time showing that a block's condition and an image block's source.field both resolve against THAT call's own inputs snapshot, same as text, scan code and grid templates already did. Each column correctly shows only its own value (1, 2, 999). This page originally documented the opposite (a real bug - both read the single final merged inputs state instead, uniformly for every call) - confirmed empirically via yatate.exe --batch, then fixed in the app itself, 2026-09-01 (see ProcessService.blockConditionPasses/resolvedImageSource).