Coordinate spaces
| Space | Range | Used by |
|---|---|---|
image | 0..1 over the source after EXIF orientation | redact, annotate |
crop | 0..1 over the crop output rectangle | sticker, frame, watermark |
SourcePx | pixels of the logical full resolution | stroke widths, font sizes, blur radii, frame thickness |
The renderer knows the logical size and the actual buffer size at every stage and scales SourcePx values by their ratio. A 3 px stroke looks the same on a 2048 px proxy and on the 8000 px original. Pixelate cells snap to the logical grid so both show the same blocks.
Resize targets are absolute output pixels. In preview mode they become a ratio, and a proxy is never upscaled.