From 5b12b1597fe8dd3b99dd27f6f51d089525dda2a5 Mon Sep 17 00:00:00 2001 From: Danila Poyarkov Date: Fri, 22 May 2026 23:55:20 +0300 Subject: [PATCH] test(canvas): make luminance tile fixture visible --- tests/e2e/canvas/renderer-visuals.spec.ts | 5 +++-- ...ansformed-tile-fills-openpencil-darwin.png | Bin 19763 -> 25579 bytes 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/e2e/canvas/renderer-visuals.spec.ts b/tests/e2e/canvas/renderer-visuals.spec.ts index d033d8e04..ffc679ccb 100644 --- a/tests/e2e/canvas/renderer-visuals.spec.ts +++ b/tests/e2e/canvas/renderer-visuals.spec.ts @@ -212,7 +212,7 @@ test('luminance masks and transformed tile fills', async () => { opacity: 1, imageHash, imageScaleMode: 'TILE', - imageTransform: { m00: 0.35, m01: 0, m02: 0.15, m10: 0, m11: 0.35, m12: 0.1 } + imageTransform: { m00: 3, m01: 0, m02: 0, m10: 0, m11: 3, m12: 0 } } ], strokes: [ @@ -252,7 +252,8 @@ test('luminance masks and transformed tile fills', async () => { gradientStops: [ { color: { r: 0, g: 0, b: 0, a: 1 }, position: 0 }, { color: { r: 1, g: 1, b: 1, a: 1 }, position: 1 } - ] + ], + gradientTransform: { m00: 1, m01: 0, m02: 0, m10: 0, m11: 1, m12: 0 } } ] }) diff --git a/tests/e2e/canvas/renderer-visuals.spec.ts-snapshots/luminance-masks-and-transformed-tile-fills-openpencil-darwin.png b/tests/e2e/canvas/renderer-visuals.spec.ts-snapshots/luminance-masks-and-transformed-tile-fills-openpencil-darwin.png index 4f3c623b9fbf48999233032b0a306b6cb514712c..a65ab2e425f3692c4decfe36dbe5b9265b08b291 100644 GIT binary patch literal 25579 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 Omwq6^O0TDqFiA)J&Vxb_VM6HrZ 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 K9_{t{?LPqWLUd~Y