fix(registry): halftone fidelity
Merged
KA
2mo ago+170+170+012345678901234567890123456789-128-128-012345678901234567890123456789
- Paint dot area as the cell's own tone. Coverage, source tone and depth each entered through a floor, so every logo arrived the same flat grey.
dotScaleis now measured against a full-coverage halftone dot — same default, different paint. - Read tone as contrast against the surface the artwork sits on rather than the source's own range, so mid shades keep their weight.
- Measure the lattice floor in device pixels, not CSS pixels, so small marks keep their shape instead of collapsing to a handful of dots.
- Resample the lattice by area when consolidating, so edges lose the uneven beat they picked up.
- Size the playground preview bake by device pixels so the grid control reaches it; close the gap above the preset picker's first category.
- Mirror the renderer's tone law in the launch video.
- Tests and changesets updated;
public/rregenerated.
Breaking: one major changeset — the same dotScale value paints differently.
Summary by cubic
Fixes halftone dot rendering so painted area matches each cell's own tone, and small marks keep their shape on high-DPI screens. dotScale now measures against a full-coverage halftone dot — the same default value paints differently, so this is a breaking change.
Bug Fixes
- Tone is read as contrast against the surface the artwork sits on, not the source's own range, so mid shades keep their weight.
- The lattice floor is measured in device pixels, so small marks don't collapse to a few dots.
- Lattice resampling by area removes the uneven edge beat when consolidating.
- The playground preview bake is sized by device pixels so the grid control reaches it, and the preset picker gap is closed.
- The launch video's tone law now mirrors the renderer's.