Overlay Transform Reference

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

Overlay Transform Reference preview

Overlay Transform Reference

A reference document, not something to print and use.

Page 1 - transform

One partial (swatch.json) reused thirteen times, each call using a different dx_mm/dy_mm/rotate_deg/scale_x/scale_y 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/rotation/scale 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, scanCode, grid, signature) would silently collide - worth knowing before copying this pattern.

Page 2 - condition/image source.field per-call resolution

condition_demo.json 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/data/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).