# Bug 1783779: a decoration line thinner than a device pixel must not vanish # or double in thickness depending on the sub-pixel position it lands at. # Snapping the two thin-axis edges independently rounds a sub-pixel line to # either 0 (it disappears) or 2 device pixels; the snap must instead round the # thickness once, floored at 1, so every line below renders as a stable 1px # (or a genuine 2px) line matching the reference. The fractional coordinates # stand in for the fractional device positions a `scale()` transform produces. --- root: items: # Horizontal, sub-pixel thick at a phase that collapses to zero without the # fix (round(20.1) == round(20.4)). - type: line bounds: [20, 20.1, 200, 0.3] orientation: horizontal color: black style: solid # Horizontal, ~1px thick at a phase that inflates to 2px without the fix # (round(40.45) == 40, round(41.55) == 42). - type: line bounds: [20, 40.45, 200, 1.1] orientation: horizontal color: black style: solid # Horizontal, a genuine 2px line: must stay 2px (guards against the fix # over-shrinking real lines). - type: line bounds: [20, 60.0, 200, 2.0] orientation: horizontal color: black style: solid # Vertical, sub-pixel thick, collapse phase. - type: line bounds: [20.1, 90, 0.3, 200] orientation: vertical color: black style: solid # Vertical, ~1px thick, inflate phase. - type: line bounds: [40.45, 90, 1.1, 200] orientation: vertical color: black style: solid