Skip to content

[pull] main from Shopify:main - #219

Merged
pull[bot] merged 2 commits into
code:mainfrom
Shopify:main
Aug 22, 2026
Merged

[pull] main from Shopify:main#219
pull[bot] merged 2 commits into
code:mainfrom
Shopify:main

Conversation

@pull

@pull pull Bot commented Aug 22, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

dennytosp and others added 2 commits August 22, 2026 11:18
processTransform3d built the skew matrices with React Native's
MatrixMath indices, but MatrixMath is column-major while Matrix4 here is
row-major. The shear factor therefore landed in the transposed slot, so
`skewX` sheared vertically and `skewY` sheared horizontally - the
opposite of CSS, React Native and SkMatrix, where skewX offsets x in
proportion to y.

This is the only path behind the `transform` prop, `processTransform2d`
and the exported `processTransform3d`, so every backend was affected.
The two skew baselines were recorded against the swapped behaviour and
are regenerated here.
declareImageShader called makeShaderCubic on both branches, so the
non-cubic path passed a FilterMode and a MipmapMode where the cubic B
and C coefficients belong. The default became a B-spline cubic
(B = FilterMode.Linear = 1, C = MipmapMode.None = 0) instead of a plain
bilinear filter, and sampling={{ filter: FilterMode.Nearest }} silently
resampled with a cubic filter rather than nearest neighbour.

drawImage already picks between drawImageRectCubic and
drawImageRectOptions the same way, and the native recorder defaults to
SkFilterMode::kLinear, so only the JS player was affected.

Co-authored-by: William Candillon <wcandillon@gmail.com>
@pull pull Bot locked and limited conversation to collaborators Aug 22, 2026
@pull pull Bot added the ⤵️ pull label Aug 22, 2026
@pull
pull Bot merged commit 842f1ae into code:main Aug 22, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant