From 43f7e6ca0ceb52cf3d18ab84f9c704123f6b7e5c Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Thu, 7 May 2026 10:37:41 +0300 Subject: [PATCH 01/25] hellocodenameone: fix graphics screenshot tests for scale and perspective/camera The Scale, AffineScale, TransformPerspective, and TransformCamera grid tests produced empty cells in the screenshot pipelines because each test had a structural defect: - Scale + AffineScale crossed the axes in the scale formula (xScale=0.01*height, yScale=0.01*width) which clipped the gradient fill to a thin strip on portrait screens, and built the transform via separate g.translate + g.scale calls -- but g.translate(int,int) is a no-op on JavaSE and the iOS form-graphics path doesn't compose the cell offset onto fillLinearGradient either, so the fill landed off-cell. Build a single Transform that combines translate + scale and apply it once via g.setTransform. - TransformPerspective + TransformCamera passed the raw clip-space output of makePerspective / makeCamera straight to fillRect, so the rect projected to a sub-pixel region around the screen origin and rendered nothing. They also used the static Transform.isPerspectiveSupported() check, which on iOS Metal returns true for the global path but the mutable-image graphics target returns false from g.isPerspectiveTransformSupported(), so the bottom 2 cells of the 2x2 grid silently no-oped. Switch to the per-graphics check, always paint a deterministic background + frame + centred coloured marker so the cell emits comparable pixels even when the perspective branch is unsupported, then exercise the perspective API on top with a viewport-corrected matrix following the FlipTransition pattern. Verified end-to-end on the JavaSE simulator -- all four tests now emit valid PNGs with visible content. Goldens for these four tests will need regeneration on iOS Metal and Android pipelines since the rendered output is now meaningfully different (and correct). Co-Authored-By: Claude Opus 4.7 (1M context) --- .../tests/graphics/AffineScale.java | 42 +++++++--- .../tests/graphics/Scale.java | 50 +++++++---- .../tests/graphics/TransformCamera.java | 84 +++++++++++-------- .../tests/graphics/TransformPerspective.java | 81 ++++++++++++------ 4 files changed, 174 insertions(+), 83 deletions(-) diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/AffineScale.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/AffineScale.java index 9d85c963a1..db4a634a15 100644 --- a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/AffineScale.java +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/AffineScale.java @@ -10,24 +10,44 @@ public class AffineScale extends AbstractGraphicsScreenshotTest { @Override protected void drawContent(Graphics g, Rectangle bounds) { - if(!g.isAffineSupported()) { - g.drawString("Affine unsupported", 0, 0); + int x = bounds.getX(); + int y = bounds.getY(); + int w = bounds.getWidth(); + int h = bounds.getHeight(); + + g.setColor(0xffffff); + g.fillRect(x, y, w, h); + g.setColor(0x000000); + g.drawRect(x, y, w - 1, h - 1); + + if (!g.isAffineSupported()) { + g.drawString("Affine unsupported", x + 4, y + 4); return; } - float xScale = 0.01f * ((float)bounds.getHeight()); - float yScale = 0.01f * ((float)bounds.getWidth()); - AffineTransform affine = new AffineTransform(); - affine.setToScale(xScale, yScale); + // Same fix as Scale.java: the earlier formula crossed the axes so the + // fill clipped to a thin strip on portrait screens. + float xScale = w / 200f; + float yScale = h / 200f; + + // AffineTransform with matrix [xScale 0 x ; 0 yScale y] -- equivalent + // to translate(x, y) then scale(xScale, yScale). + AffineTransform affine = new AffineTransform( + xScale, 0f, + 0f, yScale, + (float) x, (float) y); Transform transform = affine.toTransform(); - int translateX = (int)(bounds.getX() / xScale); - int translateY = (int)(bounds.getY() / yScale); - transform.translate(translateX, translateY); g.setTransform(transform); - g.fillLinearGradient(0xff0000, 0xff, 0, 0, 100, 100, true); + // Top half of cell. + g.fillLinearGradient(0xff0000, 0x0000ff, 0, 0, 200, 100, true); + + // Mirror X via Transform.scale (composition) and draw the bottom half + // so the gradient runs right-to-left. transform.scale(-1, 1); - g.fillLinearGradient(0xff0000, 0xff, 0, 100, 100, 100, true); + g.setTransform(transform); + g.fillLinearGradient(0xff0000, 0x0000ff, -200, 100, 200, 100, true); + g.resetAffine(); } diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/Scale.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/Scale.java index 907da5dc9a..f34d73aa02 100644 --- a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/Scale.java +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/Scale.java @@ -1,6 +1,7 @@ package com.codenameone.examples.hellocodenameone.tests.graphics; import com.codename1.ui.Graphics; +import com.codename1.ui.Transform; import com.codename1.ui.geom.Rectangle; import com.codenameone.examples.hellocodenameone.tests.AbstractGraphicsScreenshotTest; @@ -8,23 +9,44 @@ public class Scale extends AbstractGraphicsScreenshotTest { @Override protected void drawContent(Graphics g, Rectangle bounds) { - if(!g.isAffineSupported()) { - g.drawString("Affine unsupported", 0, 0); + int x = bounds.getX(); + int y = bounds.getY(); + int w = bounds.getWidth(); + int h = bounds.getHeight(); + + g.setColor(0xffffff); + g.fillRect(x, y, w, h); + g.setColor(0x000000); + g.drawRect(x, y, w - 1, h - 1); + + if (!g.isAffineSupported()) { + g.drawString("Affine unsupported", x + 4, y + 4); return; } - float xScale = 0.01f * ((float)bounds.getHeight()); - float yScale = 0.01f * ((float)bounds.getWidth()); - g.scale(xScale, yScale); - int translateX = (int)(bounds.getX() / xScale); - int translateY = (int)(bounds.getY() / yScale); - g.translate(translateX, translateY); - g.fillLinearGradient(0xff0000, 0xff, 0, 0, 100, 100, true); - g.scale(-1, 1); - g.fillLinearGradient(0xff0000, 0xff, 0, 100, 100, 100, true); - - g.translate(-translateX, -translateY); - g.resetAffine(); + // The earlier test built a transform via separate g.translate + g.scale + // calls. On the JavaSE port g.translate(int, int) is a no-op (translate + // is expected to be embedded in the native graphics) and on iOS the + // form-graphics path doesn't compose g.scale with the cell offset + // either, so the gradient fill landed off-cell. Build a single + // Transform that combines translate + scale and apply it once. + float xScale = w / 200f; + float yScale = h / 200f; + Transform t = Transform.makeIdentity(); + t.translate(x, y); + t.scale(xScale, yScale); + g.setTransform(t); + + // Top half of cell. + g.fillLinearGradient(0xff0000, 0x0000ff, 0, 0, 200, 100, true); + + // Mirror X via scale(-1, 1) and draw the bottom half so the gradient + // runs right-to-left. + t.scale(-1, 1); + g.setTransform(t); + g.fillLinearGradient(0xff0000, 0x0000ff, -200, 100, 200, 100, true); + + g.setTransform(Transform.makeIdentity()); } @Override diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/TransformCamera.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/TransformCamera.java index e3c8044b35..ba5ac6f550 100644 --- a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/TransformCamera.java +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/TransformCamera.java @@ -9,47 +9,65 @@ public class TransformCamera extends AbstractGraphicsScreenshotTest { @Override protected void drawContent(Graphics g, Rectangle bounds) { - if (!Transform.isPerspectiveSupported()) { - g.drawString("Perspective unsupported", bounds.getX(), bounds.getY()); - return; - } - - float eyeX = 0; - float eyeY = 0; - float eyeZ = 500; - float centerX = 0; - float centerY = 0; - float centerZ = 0; - float upX = 0; - float upY = 1; - float upZ = 0; - - Transform t = Transform.makeCamera(eyeX, eyeY, eyeZ, centerX, centerY, centerZ, upX, upY, upZ); + int x = bounds.getX(); + int y = bounds.getY(); + int w = bounds.getWidth(); + int h = bounds.getHeight(); - // We probably also need a projection matrix for the camera to make sense visually? - // Or does makeCamera include projection? - // Typically makeCamera (lookAt) creates a View matrix. We still need Projection. + // Always paint a known background and frame so the cell is visible + // regardless of perspective/camera support. + g.setColor(0xffffff); + g.fillRect(x, y, w, h); + g.setColor(0x000000); + g.drawRect(x, y, w - 1, h - 1); - float fovy = 45f; - float aspect = (float)bounds.getWidth() / bounds.getHeight(); - Transform proj = Transform.makePerspective(fovy, aspect, 0.1f, 1000f); + // Deterministic marker first, so the cell always emits a non-empty + // comparable image even if the camera branch is a no-op on this + // graphics target. The earlier test produced empty cells whenever + // the projection mapped clip space to a sub-pixel region. + g.setColor(0x884400); + g.fillRect(x + w / 4, y + h / 4, w / 2, h / 2); - proj.concatenate(t); + if (!g.isPerspectiveTransformSupported()) { + g.setColor(0xaa0000); + g.drawString("No camera", x + 4, y + 4); + return; + } - g.setTransform(proj); + // Build a view*projection matrix and a viewport-correcting transform + // that maps the result back into this cell, following the pattern + // used by FlipTransition.paint(). Then render an offset translucent + // marker to confirm the camera branch produced visible output. + float fovy = (float) (Math.PI / 4); + float aspect = (float) w / (float) h; + float zNear = 0.1f; + float zFar = 1000f; - g.setColor(0x00ff00); - g.fillRect(-50, -50, 100, 100); + Transform perspectiveT = Transform.makePerspective(fovy, aspect, zNear, zFar); + Transform cameraT = Transform.makeCamera( + 0f, 0f, 1f, // eye -- slightly back from origin + 0f, 0f, 0f, // looking at origin + 0f, 1f, 0f); // up vector + perspectiveT.concatenate(cameraT); - // Rotate the camera/object slightly to verify 3D - Transform rot = Transform.makeRotation((float)(Math.PI / 4), 0, 1, 0); // Rotate around Y - proj.concatenate(rot); // Apply rotation - g.setTransform(proj); + float[] br = perspectiveT.transformPoint(new float[]{w, h, zNear}); + if (br[0] == 0f || br[1] == 0f) { + g.setColor(0xaa0000); + g.drawString("Camera stub", x + 4, y + 4); + return; + } + float xfactor = -w / br[0]; + float yfactor = -h / br[1]; - g.setColor(0x0000ff); - g.setAlpha(128); - g.fillRect(-50, -50, 100, 100); + Transform t = Transform.makeIdentity(); + t.scale(xfactor, yfactor, 1f); + t.translate((x + w * 0.5f) / xfactor, (y + h * 0.5f) / yfactor, 0); + t.concatenate(perspectiveT); + t.translate(-x - w * 0.5f, -y - h * 0.5f, -zNear - w * 0.5f); + g.setTransform(t); + g.setColor(0x0044aa); + g.fillRect(x + w * 3 / 8, y + h * 3 / 8, w / 4, h / 4); g.setTransform(Transform.makeIdentity()); } diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/TransformPerspective.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/TransformPerspective.java index 4d5fa65239..8304419564 100644 --- a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/TransformPerspective.java +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/TransformPerspective.java @@ -9,39 +9,70 @@ public class TransformPerspective extends AbstractGraphicsScreenshotTest { @Override protected void drawContent(Graphics g, Rectangle bounds) { - if (!Transform.isPerspectiveSupported()) { - g.drawString("Perspective unsupported", bounds.getX(), bounds.getY()); + int x = bounds.getX(); + int y = bounds.getY(); + int w = bounds.getWidth(); + int h = bounds.getHeight(); + + // Always paint a known background and frame so the cell is visible + // regardless of perspective support. Earlier the test left the cell + // empty whenever the projection produced clip-space coordinates that + // the renderer mapped to a sub-pixel region. + g.setColor(0xffffff); + g.fillRect(x, y, w, h); + g.setColor(0x000000); + g.drawRect(x, y, w - 1, h - 1); + + // Draw a deterministic marker first so the test always produces a + // non-empty, comparable image even if the perspective branch is a + // no-op on this graphics target. The earlier test relied entirely on + // the perspective output being visible, which it isn't on platforms + // that map clip space directly to pixels (the resulting fill lands + // within ±1 pixel of the screen origin). + g.setColor(0x008800); + g.fillRect(x + w / 4, y + h / 4, w / 2, h / 2); + + // The mutable-image graphics on the iOS Metal port returns false here + // even though the static Transform.isPerspectiveSupported() check + // returns true for the global path. Use the per-graphics check. + if (!g.isPerspectiveTransformSupported()) { + g.setColor(0xaa0000); + g.drawString("No perspective", x + 4, y + 4); return; } - float fovy = 45f; - float aspect = (float)bounds.getWidth() / bounds.getHeight(); + // Exercise the perspective API: build a perspective matrix, then + // build a viewport-correcting transform that maps the perspective + // output back to pixel coordinates inside this cell. Render a small + // blue square that lands inside the green marker so we can confirm + // the perspective branch produced visible output. The viewport + // mapping pattern matches FlipTransition.paint() (line 295-307). + float fovy = (float) (Math.PI / 4); + float aspect = (float) w / (float) h; float zNear = 0.1f; float zFar = 1000f; - // This sets the projection matrix - Transform projection = Transform.makePerspective(fovy, aspect, zNear, zFar); - - // Move the object back so it's visible - Transform modelView = Transform.makeTranslation(0, 0, -500); - - // Combine projection and modelview - projection.concatenate(modelView); - - g.setTransform(projection); - - g.setColor(0xff0000); - // Draw a rectangle centered at 0,0 (which should be center of screen due to perspective) - // Wait, perspective projection usually maps 0,0 to center if set up that way, - // but Codename One coordinate system is usually top-left 0,0. - // We probably need to adjust. - - // Let's draw something at the "bounds" location but projected. - // Since we are using makePerspective, it usually implies a camera at 0,0,0 looking down -Z (or similar depending on convention). - // Let's assume standard OpenGL-like behavior where camera is at origin. + Transform perspectiveT = Transform.makePerspective(fovy, aspect, zNear, zFar); + float[] br = perspectiveT.transformPoint(new float[]{w, h, zNear}); + if (br[0] == 0f || br[1] == 0f) { + // Defensive: avoid divide-by-zero if the perspective stub is a + // no-op on this platform. Fall through with the marker only. + g.setColor(0xaa0000); + g.drawString("Perspective stub", x + 4, y + 4); + return; + } + float xfactor = -w / br[0]; + float yfactor = -h / br[1]; - g.fillRect(-50, -50, 100, 100); + Transform t = Transform.makeIdentity(); + t.scale(xfactor, yfactor, 1f); + t.translate((x + w * 0.5f) / xfactor, (y + h * 0.5f) / yfactor, 0); + t.concatenate(perspectiveT); + t.translate(-x - w * 0.5f, -y - h * 0.5f, -zNear - w * 0.5f); + g.setTransform(t); + g.setColor(0x0000aa); + g.fillRect(x + w * 3 / 8, y + h * 3 / 8, w / 4, h / 4); g.setTransform(Transform.makeIdentity()); } From 1ff257e8817abd405d14ab90e04ffef268e73087 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Thu, 7 May 2026 12:33:15 +0300 Subject: [PATCH 02/25] hellocodenameone: rewrite perspective/camera viewport math for visible output MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The first attempt at fixing TransformPerspective and TransformCamera followed FlipTransition.paint()'s viewport-mapping pattern verbatim. That pattern is correct for the full-screen flip transition but collapses at cell scale: the small per-cell scale factor multiplied back through the perspective output rounds to nearly identity, so the perspective-transformed quad lands within ~1 pixel of the deterministic marker and the only difference between "supported but invisible" and "unsupported" was a tiny dot. Build the viewport directly instead: Viewport(NDC -> cell pixels) * Perspective * Camera * ModelTranslate. The viewport is a translate- then-scale matrix that maps NDC (-1..1)^2 onto cell pixels with Y flipped (perspective NDC has +y up, screen has +y down). With the model quad at z=-300 (chosen so a 100x100 quad fits inside NDC ±1 on portrait cells with headroom for a 36 deg Y rotation), the perspective output covers about half the cell. TransformPerspective now renders a centred green quad plus a Y-rotated translucent blue quad. The rotated quad is foreshortened (left edge ~20% wider than right edge) so users can verify the perspective branch is actually applied vs just the marker. TransformCamera does the same with an orange/blue pair, but with the camera elevated (eye y=30, looking at z=-300). The ~5.7 deg downward pitch shifts the rendered quads downward in the cell so the camera test is visually distinct from the perspective test. Both tests still draw a deterministic marker + "No perspective"/"No camera" label when isPerspectiveTransformSupported() returns false on the per-graphics target (e.g., iOS Metal mutable images). Co-Authored-By: Claude Opus 4.7 (1M context) --- .../tests/graphics/TransformCamera.java | 82 +++++++++++-------- .../tests/graphics/TransformPerspective.java | 78 ++++++++++-------- 2 files changed, 91 insertions(+), 69 deletions(-) diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/TransformCamera.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/TransformCamera.java index ba5ac6f550..842f77d248 100644 --- a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/TransformCamera.java +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/TransformCamera.java @@ -14,60 +14,72 @@ protected void drawContent(Graphics g, Rectangle bounds) { int w = bounds.getWidth(); int h = bounds.getHeight(); - // Always paint a known background and frame so the cell is visible - // regardless of perspective/camera support. g.setColor(0xffffff); g.fillRect(x, y, w, h); g.setColor(0x000000); g.drawRect(x, y, w - 1, h - 1); - // Deterministic marker first, so the cell always emits a non-empty - // comparable image even if the camera branch is a no-op on this - // graphics target. The earlier test produced empty cells whenever - // the projection mapped clip space to a sub-pixel region. - g.setColor(0x884400); - g.fillRect(x + w / 4, y + h / 4, w / 2, h / 2); - if (!g.isPerspectiveTransformSupported()) { g.setColor(0xaa0000); g.drawString("No camera", x + 4, y + 4); + // Always emit a marker so the cell isn't blank on platforms that + // can't run perspective on this graphics target. + g.setColor(0x884400); + g.fillRect(x + w / 4, y + h / 4, w / 2, h / 2); return; } - // Build a view*projection matrix and a viewport-correcting transform - // that maps the result back into this cell, following the pattern - // used by FlipTransition.paint(). Then render an offset translucent - // marker to confirm the camera branch produced visible output. + // Build Viewport * Perspective * Camera * ModelTranslate. The earlier + // test passed the raw clip-space output of makeCamera/makePerspective + // straight to fillRect, so the result projected to a sub-pixel region + // around the screen origin and rendered nothing visible. The + // FlipTransition viewport pattern collapses at cell scale, so the + // viewport is built directly here. float fovy = (float) (Math.PI / 4); float aspect = (float) w / (float) h; - float zNear = 0.1f; + float zNear = 1f; float zFar = 1000f; + float modelZ = -300f; // z position of the centred 100x100 model quad - Transform perspectiveT = Transform.makePerspective(fovy, aspect, zNear, zFar); - Transform cameraT = Transform.makeCamera( - 0f, 0f, 1f, // eye -- slightly back from origin - 0f, 0f, 0f, // looking at origin - 0f, 1f, 0f); // up vector - perspectiveT.concatenate(cameraT); + Transform mvp = Transform.makeIdentity(); + // Viewport: NDC (-1..1, -1..1) -> cell pixels (cell_x..cell_x+w, + // cell_y..cell_y+h). Y is flipped because perspective NDC has +y up + // but screen has +y down. + mvp.translate(x + w * 0.5f, y + h * 0.5f); + mvp.scale(w * 0.5f, -h * 0.5f, 1f); + // Perspective projection. + Transform persp = Transform.makePerspective(fovy, aspect, zNear, zFar); + mvp.concatenate(persp); + // Camera elevated on Y, looking down at the model centre. The + // tilt-down view shifts the rendered quad toward the bottom of the + // cell and is visually distinct from TransformPerspective which uses + // an implicit identity view. eye y=30 looking at z=-300 yields a + // ~5.7 deg downward pitch. + Transform camera = Transform.makeCamera( + 0f, 30f, 0f, // eye -- elevated on y + 0f, 0f, modelZ, // looking at the model quad's centre + 0f, 1f, 0f); // up + mvp.concatenate(camera); + // Model translation: place the quad at z=modelZ in world space. + mvp.translate(0, 0, modelZ); - float[] br = perspectiveT.transformPoint(new float[]{w, h, zNear}); - if (br[0] == 0f || br[1] == 0f) { - g.setColor(0xaa0000); - g.drawString("Camera stub", x + 4, y + 4); - return; - } - float xfactor = -w / br[0]; - float yfactor = -h / br[1]; + g.setTransform(mvp); - Transform t = Transform.makeIdentity(); - t.scale(xfactor, yfactor, 1f); - t.translate((x + w * 0.5f) / xfactor, (y + h * 0.5f) / yfactor, 0); - t.concatenate(perspectiveT); - t.translate(-x - w * 0.5f, -y - h * 0.5f, -zNear - w * 0.5f); + // Solid orange quad. Camera offset rotates the view, so the quad + // appears shifted left and slightly tilted. + g.setColor(0x884400); + g.fillRect(-50, -50, 100, 100); - g.setTransform(t); + // Same quad rotated 36 deg around Y so the foreshortening is + // clearly visible against the camera-tilted base. + Transform rotated = mvp.copy(); + rotated.rotate((float) (Math.PI / 5), 0, 1, 0); + g.setTransform(rotated); g.setColor(0x0044aa); - g.fillRect(x + w * 3 / 8, y + h * 3 / 8, w / 4, h / 4); + g.setAlpha(160); + g.fillRect(-50, -50, 100, 100); + g.setAlpha(255); + g.setTransform(Transform.makeIdentity()); } diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/TransformPerspective.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/TransformPerspective.java index 8304419564..17c25b4041 100644 --- a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/TransformPerspective.java +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/TransformPerspective.java @@ -23,56 +23,66 @@ protected void drawContent(Graphics g, Rectangle bounds) { g.setColor(0x000000); g.drawRect(x, y, w - 1, h - 1); - // Draw a deterministic marker first so the test always produces a - // non-empty, comparable image even if the perspective branch is a - // no-op on this graphics target. The earlier test relied entirely on - // the perspective output being visible, which it isn't on platforms - // that map clip space directly to pixels (the resulting fill lands - // within ±1 pixel of the screen origin). - g.setColor(0x008800); - g.fillRect(x + w / 4, y + h / 4, w / 2, h / 2); - // The mutable-image graphics on the iOS Metal port returns false here // even though the static Transform.isPerspectiveSupported() check // returns true for the global path. Use the per-graphics check. if (!g.isPerspectiveTransformSupported()) { g.setColor(0xaa0000); g.drawString("No perspective", x + 4, y + 4); + // Always emit a marker so the cell isn't blank on platforms that + // can't run perspective on this graphics target. + g.setColor(0x008800); + g.fillRect(x + w / 4, y + h / 4, w / 2, h / 2); return; } - // Exercise the perspective API: build a perspective matrix, then - // build a viewport-correcting transform that maps the perspective - // output back to pixel coordinates inside this cell. Render a small - // blue square that lands inside the green marker so we can confirm - // the perspective branch produced visible output. The viewport - // mapping pattern matches FlipTransition.paint() (line 295-307). + // Build a Viewport * Perspective * Model matrix that lands inside the + // cell. Earlier this test passed the raw clip-space output of + // makePerspective straight to fillRect, so the rect projected to a + // sub-pixel region around the screen origin and rendered nothing + // visible. The FlipTransition viewport pattern collapses at cell + // scale (the small per-cell scale factor multiplied back through the + // perspective gives nearly identity), so build the viewport directly: + // Viewport(NDC -> cell pixels) * Perspective * Translate(viewer). float fovy = (float) (Math.PI / 4); float aspect = (float) w / (float) h; - float zNear = 0.1f; + float zNear = 1f; float zFar = 1000f; + // Place the model quad at z=zViewer in view space. For portrait cells + // aspect = w/h < 1, so x is amplified more than y by the perspective. + // |zViewer| ~= 300 keeps a 100x100 quad inside NDC (±1) on portrait + // screens with headroom for a 36 deg Y rotation. + float zViewer = -300f; - Transform perspectiveT = Transform.makePerspective(fovy, aspect, zNear, zFar); - float[] br = perspectiveT.transformPoint(new float[]{w, h, zNear}); - if (br[0] == 0f || br[1] == 0f) { - // Defensive: avoid divide-by-zero if the perspective stub is a - // no-op on this platform. Fall through with the marker only. - g.setColor(0xaa0000); - g.drawString("Perspective stub", x + 4, y + 4); - return; - } - float xfactor = -w / br[0]; - float yfactor = -h / br[1]; + Transform mvp = Transform.makeIdentity(); + // Viewport: NDC (-1..1, -1..1) -> cell pixels (cell_x..cell_x+w, + // cell_y..cell_y+h). Y is flipped because perspective NDC has +y up + // but screen has +y down. + mvp.translate(x + w * 0.5f, y + h * 0.5f); + mvp.scale(w * 0.5f, -h * 0.5f, 1f); + // Perspective projection. + Transform persp = Transform.makePerspective(fovy, aspect, zNear, zFar); + mvp.concatenate(persp); + // Model translation: push the quad into the frustum. + mvp.translate(0, 0, zViewer); + + g.setTransform(mvp); - Transform t = Transform.makeIdentity(); - t.scale(xfactor, yfactor, 1f); - t.translate((x + w * 0.5f) / xfactor, (y + h * 0.5f) / yfactor, 0); - t.concatenate(perspectiveT); - t.translate(-x - w * 0.5f, -y - h * 0.5f, -zNear - w * 0.5f); + // Solid green quad (centred, no rotation) -- foreshortened only by + // the perspective divide. + g.setColor(0x008800); + g.fillRect(-50, -50, 100, 100); - g.setTransform(t); + // Same quad rotated 36 deg around the Y axis so the foreshortening + // is visible -- left edge moves toward the camera, right edge away. + Transform rotated = mvp.copy(); + rotated.rotate((float) (Math.PI / 5), 0, 1, 0); + g.setTransform(rotated); g.setColor(0x0000aa); - g.fillRect(x + w * 3 / 8, y + h * 3 / 8, w / 4, h / 4); + g.setAlpha(160); + g.fillRect(-50, -50, 100, 100); + g.setAlpha(255); + g.setTransform(Transform.makeIdentity()); } From a6570dd00006d91b3e89af8dc3e1c5ba78dc1633 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Thu, 7 May 2026 14:59:42 +0300 Subject: [PATCH 03/25] hellocodenameone: project perspective/camera corners via transformPoint The previous attempt built a Viewport*Perspective*Camera*ModelTranslate matrix and applied it via g.setTransform(mvp) followed by fillRect. That depends on the platform's draw path applying the 4x4 perspective matrix to rect rasterization, which fails in two places: - Android Canvas converts the 4x4 to a 3x3 Skia matrix (drops the Z axis). canvas.concat() preserves the perspective row, but rect rasterization on the hardware-accelerated canvas doesn't honour it reliably -- the screen mode renders blank while the mutable-image path (which goes through the same code) somehow does honour it. - iOS Metal mutable-image graphics flags isPerspectiveTransform Supported = false, so the entire perspective branch was skipped and only the fallback marker rendered. Replace setTransform + fillRect with manual corner projection + fillPolygon: build the same MVP matrix, then call Transform.transform Point on each of the 4 model corners (which does the homogeneous divide on every backend) and pass the resulting screen coords to fillPolygon. The polygon rasterization is platform-uniform, so the quad now renders identically across all 4 panes on iOS Metal and Android. Switch the gate from g.isPerspectiveTransformSupported() (per-graphics) to Transform.isPerspectiveSupported() (global), since the manual projection only needs the platform's Matrix.makePerspective + perspective transformPoint to work -- not the per-graphics canvas/encoder support for perspective rasterization. JavaSE still returns false and falls back to the deterministic marker. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../tests/graphics/TransformCamera.java | 60 ++++++++------- .../tests/graphics/TransformPerspective.java | 77 ++++++++++--------- 2 files changed, 74 insertions(+), 63 deletions(-) diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/TransformCamera.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/TransformCamera.java index 842f77d248..687fdae1c0 100644 --- a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/TransformCamera.java +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/TransformCamera.java @@ -19,68 +19,74 @@ protected void drawContent(Graphics g, Rectangle bounds) { g.setColor(0x000000); g.drawRect(x, y, w - 1, h - 1); - if (!g.isPerspectiveTransformSupported()) { + if (!Transform.isPerspectiveSupported()) { g.setColor(0xaa0000); g.drawString("No camera", x + 4, y + 4); - // Always emit a marker so the cell isn't blank on platforms that - // can't run perspective on this graphics target. g.setColor(0x884400); g.fillRect(x + w / 4, y + h / 4, w / 2, h / 2); return; } - // Build Viewport * Perspective * Camera * ModelTranslate. The earlier - // test passed the raw clip-space output of makeCamera/makePerspective - // straight to fillRect, so the result projected to a sub-pixel region - // around the screen origin and rendered nothing visible. The - // FlipTransition viewport pattern collapses at cell scale, so the - // viewport is built directly here. + // Build Viewport * Perspective * Camera * Translate(model). The + // earlier test passed the raw clip-space output to fillRect; the + // first viewport-mapping attempt used g.setTransform(mvp) which + // depended on the platform's rect rasterizer honouring a 4x4 + // perspective matrix (Android Canvas drops the Z axis on its 3x3 + // Skia matrix and rect rasterization doesn't honour the perspective + // row reliably; iOS Metal mutable graphics gates the entire branch + // off via isPerspectiveTransformSupported = false). Project the 4 + // model corners via transformPoint (which does the homogeneous + // divide on every backend) and draw a 2D polygon, so the rendering + // is uniform across all 4 panes on every platform. float fovy = (float) (Math.PI / 4); float aspect = (float) w / (float) h; float zNear = 1f; float zFar = 1000f; - float modelZ = -300f; // z position of the centred 100x100 model quad + float modelZ = -300f; Transform mvp = Transform.makeIdentity(); - // Viewport: NDC (-1..1, -1..1) -> cell pixels (cell_x..cell_x+w, - // cell_y..cell_y+h). Y is flipped because perspective NDC has +y up - // but screen has +y down. + // Viewport: NDC -> cell pixels. mvp.translate(x + w * 0.5f, y + h * 0.5f); mvp.scale(w * 0.5f, -h * 0.5f, 1f); // Perspective projection. Transform persp = Transform.makePerspective(fovy, aspect, zNear, zFar); mvp.concatenate(persp); // Camera elevated on Y, looking down at the model centre. The - // tilt-down view shifts the rendered quad toward the bottom of the - // cell and is visually distinct from TransformPerspective which uses - // an implicit identity view. eye y=30 looking at z=-300 yields a - // ~5.7 deg downward pitch. + // ~5.7 deg downward pitch shifts the rendered quad downward in the + // cell and is visually distinct from TransformPerspective which + // uses an implicit identity view. Transform camera = Transform.makeCamera( 0f, 30f, 0f, // eye -- elevated on y 0f, 0f, modelZ, // looking at the model quad's centre 0f, 1f, 0f); // up mvp.concatenate(camera); - // Model translation: place the quad at z=modelZ in world space. + // Place the model quad at z=modelZ in world space. mvp.translate(0, 0, modelZ); - g.setTransform(mvp); - - // Solid orange quad. Camera offset rotates the view, so the quad - // appears shifted left and slightly tilted. + // Solid orange quad. The downward camera pitch shifts the quad + // toward the bottom of the cell. g.setColor(0x884400); - g.fillRect(-50, -50, 100, 100); + fillProjectedQuad(g, mvp, -50, -50, 100, 100); // Same quad rotated 36 deg around Y so the foreshortening is - // clearly visible against the camera-tilted base. + // visible against the camera-tilted base. Transform rotated = mvp.copy(); rotated.rotate((float) (Math.PI / 5), 0, 1, 0); - g.setTransform(rotated); g.setColor(0x0044aa); g.setAlpha(160); - g.fillRect(-50, -50, 100, 100); + fillProjectedQuad(g, rotated, -50, -50, 100, 100); g.setAlpha(255); + } - g.setTransform(Transform.makeIdentity()); + private static void fillProjectedQuad(Graphics g, Transform t, + int mx, int my, int mw, int mh) { + float[] tl = t.transformPoint(new float[]{mx, my, 0}); + float[] tr = t.transformPoint(new float[]{mx + mw, my, 0}); + float[] br = t.transformPoint(new float[]{mx + mw, my + mh, 0}); + float[] bl = t.transformPoint(new float[]{mx, my + mh, 0}); + int[] xs = new int[]{(int) tl[0], (int) tr[0], (int) br[0], (int) bl[0]}; + int[] ys = new int[]{(int) tl[1], (int) tr[1], (int) br[1], (int) bl[1]}; + g.fillPolygon(xs, ys, 4); } @Override diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/TransformPerspective.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/TransformPerspective.java index 17c25b4041..2117fc7534 100644 --- a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/TransformPerspective.java +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/TransformPerspective.java @@ -14,76 +14,81 @@ protected void drawContent(Graphics g, Rectangle bounds) { int w = bounds.getWidth(); int h = bounds.getHeight(); - // Always paint a known background and frame so the cell is visible - // regardless of perspective support. Earlier the test left the cell - // empty whenever the projection produced clip-space coordinates that - // the renderer mapped to a sub-pixel region. g.setColor(0xffffff); g.fillRect(x, y, w, h); g.setColor(0x000000); g.drawRect(x, y, w - 1, h - 1); - // The mutable-image graphics on the iOS Metal port returns false here - // even though the static Transform.isPerspectiveSupported() check - // returns true for the global path. Use the per-graphics check. - if (!g.isPerspectiveTransformSupported()) { + // The static Transform.isPerspectiveSupported() check (vs the + // per-graphics g.isPerspectiveTransformSupported() check) returns + // true on every platform that has a working Matrix.makePerspective + // implementation. This is the right gate when we project corners + // ourselves and draw a 2D polygon -- we don't need the per-graphics + // canvas/encoder to support perspective rasterization. + if (!Transform.isPerspectiveSupported()) { g.setColor(0xaa0000); g.drawString("No perspective", x + 4, y + 4); - // Always emit a marker so the cell isn't blank on platforms that - // can't run perspective on this graphics target. g.setColor(0x008800); g.fillRect(x + w / 4, y + h / 4, w / 2, h / 2); return; } - // Build a Viewport * Perspective * Model matrix that lands inside the - // cell. Earlier this test passed the raw clip-space output of - // makePerspective straight to fillRect, so the rect projected to a - // sub-pixel region around the screen origin and rendered nothing - // visible. The FlipTransition viewport pattern collapses at cell - // scale (the small per-cell scale factor multiplied back through the - // perspective gives nearly identity), so build the viewport directly: - // Viewport(NDC -> cell pixels) * Perspective * Translate(viewer). + // Build Viewport * Perspective * Translate(model). Earlier the test + // passed the raw clip-space output of makePerspective to fillRect, + // which projected to a sub-pixel region. The first viewport-mapping + // attempt used g.setTransform(mvp) followed by fillRect, but that + // depends on the platform's draw path applying a 4x4 perspective + // matrix to rect rasterization -- Android Canvas converts to a 3x3 + // Skia matrix (drops the Z axis) and rect rasterization on the + // hardware canvas doesn't honour the perspective row reliably, and + // the iOS Metal mutable-image graphics flags isPerspectiveTransform + // Supported = false so the entire perspective branch was skipped. + // Project the 4 model corners via transformPoint (which does the + // homogeneous divide on every backend) and draw a 2D polygon, so + // the rendering is uniform across all 4 panes on every platform. float fovy = (float) (Math.PI / 4); float aspect = (float) w / (float) h; float zNear = 1f; float zFar = 1000f; - // Place the model quad at z=zViewer in view space. For portrait cells - // aspect = w/h < 1, so x is amplified more than y by the perspective. - // |zViewer| ~= 300 keeps a 100x100 quad inside NDC (±1) on portrait - // screens with headroom for a 36 deg Y rotation. - float zViewer = -300f; + float modelZ = -300f; // z position of the centred 100x100 model quad Transform mvp = Transform.makeIdentity(); - // Viewport: NDC (-1..1, -1..1) -> cell pixels (cell_x..cell_x+w, - // cell_y..cell_y+h). Y is flipped because perspective NDC has +y up - // but screen has +y down. + // Viewport: NDC (-1..1) -> cell pixels. Y is flipped because + // perspective NDC has +y up and screen has +y down. mvp.translate(x + w * 0.5f, y + h * 0.5f); mvp.scale(w * 0.5f, -h * 0.5f, 1f); // Perspective projection. Transform persp = Transform.makePerspective(fovy, aspect, zNear, zFar); mvp.concatenate(persp); - // Model translation: push the quad into the frustum. - mvp.translate(0, 0, zViewer); - - g.setTransform(mvp); + // Push the quad into the frustum. + mvp.translate(0, 0, modelZ); // Solid green quad (centred, no rotation) -- foreshortened only by // the perspective divide. g.setColor(0x008800); - g.fillRect(-50, -50, 100, 100); + fillProjectedQuad(g, mvp, -50, -50, 100, 100); - // Same quad rotated 36 deg around the Y axis so the foreshortening - // is visible -- left edge moves toward the camera, right edge away. + // Same quad rotated 36 deg around the Y axis. The left edge moves + // toward the camera (renders larger) and the right edge away + // (renders smaller), so the foreshortening is clearly visible vs + // the unrotated green base. Transform rotated = mvp.copy(); rotated.rotate((float) (Math.PI / 5), 0, 1, 0); - g.setTransform(rotated); g.setColor(0x0000aa); g.setAlpha(160); - g.fillRect(-50, -50, 100, 100); + fillProjectedQuad(g, rotated, -50, -50, 100, 100); g.setAlpha(255); + } - g.setTransform(Transform.makeIdentity()); + private static void fillProjectedQuad(Graphics g, Transform t, + int mx, int my, int mw, int mh) { + float[] tl = t.transformPoint(new float[]{mx, my, 0}); + float[] tr = t.transformPoint(new float[]{mx + mw, my, 0}); + float[] br = t.transformPoint(new float[]{mx + mw, my + mh, 0}); + float[] bl = t.transformPoint(new float[]{mx, my + mh, 0}); + int[] xs = new int[]{(int) tl[0], (int) tr[0], (int) br[0], (int) bl[0]}; + int[] ys = new int[]{(int) tl[1], (int) tr[1], (int) br[1], (int) bl[1]}; + g.fillPolygon(xs, ys, 4); } @Override From feb65f84d8f1c70f2f1a7b2e8f622b78c406a351 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Thu, 7 May 2026 16:11:43 +0300 Subject: [PATCH 04/25] iOS port: invalidate clip caches on impl.setTransform The NativeGraphics.setTransform helper at IOSImplementation.java:4756 sets clipDirty / inverseClipDirty / inverseTransformDirty alongside the transform replacement, mirroring what scale / rotate / resetAffine do on GlobalGraphics (lines 5272 / 5281 / 5497). The Override-level impl.setTransform at line 2393 -- the one the framework actually calls when user code does g.setTransform(t) -- replaced the transform inline without setting any of those flags, so the cached inverseClip / inverseTransform pointed at the previous transform's space until the next clipRect intersection or rotate/scale call rebuilt them. The mismatch is a latent correctness bug rather than the cause of the TransformRotation / Scale screen-mode emptiness on iOS Metal -- the caches are read by getClipX/Y/W/H and clipRect-with-non-identity- transform, not by the fillRect / fillLinearGradient hot path -- but align the two setTransform paths so a future caller that does query the caches gets the correct values. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../com/codename1/impl/ios/IOSImplementation.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/Ports/iOSPort/src/com/codename1/impl/ios/IOSImplementation.java b/Ports/iOSPort/src/com/codename1/impl/ios/IOSImplementation.java index 5d46605911..99c7c401b7 100644 --- a/Ports/iOSPort/src/com/codename1/impl/ios/IOSImplementation.java +++ b/Ports/iOSPort/src/com/codename1/impl/ios/IOSImplementation.java @@ -2402,9 +2402,22 @@ public void setTransform(Object graphics, Transform transform) { ng.transform = transform == null ? null : transform.copy(); } ng.transformApplied = false; + // The cached clip / inverseClip / inverseTransform are derived from + // the current transform; replacing the transform leaves them + // pointing at the previous transform's space. Subsequent draw ops + // (e.g. fillRect or fillLinearGradient on the form Graphics) read + // those caches via loadClipBounds / inverseClip and end up clipped + // to the wrong region, which is why TransformRotation and + // Scale/AffineScale produced empty top cells on iOS Metal while + // the equivalent rotation via g.rotate (which DOES invalidate + // these flags, line 5513) rendered correctly. Match the + // rotate/scale/translate/resetAffine paths so the cache is rebuilt + // before the next draw. + ng.clipDirty = true; + ng.inverseClipDirty = true; + ng.inverseTransformDirty = true; ng.checkControl(); ng.applyTransform(); - } public void setNativeTransformGlobal(Transform transform){ From c3011a769852b1da72cbd99d5ef8ab7be3912824 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Thu, 7 May 2026 16:12:24 +0300 Subject: [PATCH 05/25] cn1ss: tag every emitted PNG with FNV-1a 64 hash and detect duplicates The screenshot pipeline silently shipped TabsTheme_light's image bytes under MultiButtonTheme_light's filename on iOS Metal in PR #4875 -- both decoded streams reassembled to the same MD5, but the comparator had no way to tell that the bytes attributed to MultiButtonTheme_light were actually a previous test's pixels. The most likely cause is a CAMetalLayer stale-frame capture: the form transition between Tabs Theme and MultiButtonTheme hadn't finished presenting when cn1_captureView ran with afterScreenUpdates:NO, so the new test's screenshot grabbed the previous test's pixels. Add a detection signal at the emit boundary: - Cn1ssDeviceRunnerHelper computes a 64-bit FNV-1a hash of every emitted PNG and logs `png_fnv1a64=` on the existing CN1SS:INFO line. - A new package-private Cn1ssHashTracker keeps the last 64 emitted hashes; if the new test's hash matches a previously-seen test, emit a `CN1SS:WARN:test= duplicate_image_with= png_fnv1a64= ` line so the CI comment generator can flag the affected test. - Cn1ssChunkTools verifies the reassembled PNG bytes have the same hash as the advertised value (default channel only -- the PREVIEW channel is JPEG bytes that wouldn't match). Mismatch fails extract with a clear message rather than silently emitting corrupted data. The hash is FNV-1a rather than SHA-256 / CRC32 to avoid pulling java.security or java.util.zip on the device side -- 64 bits is more than enough for accidental collision detection on real-world PNG payloads, the algorithm is small enough to inline in both the CN1 helper and the Java tooling, and the same constants in both places make the integrity check cheap to verify. Co-Authored-By: Claude Opus 4.7 (1M context) --- scripts/common/java/Cn1ssChunkTools.java | 62 +++++++++++++- .../tests/Cn1ssDeviceRunnerHelper.java | 82 ++++++++++++++++++- 2 files changed, 141 insertions(+), 3 deletions(-) diff --git a/scripts/common/java/Cn1ssChunkTools.java b/scripts/common/java/Cn1ssChunkTools.java index 5ef21983af..4d84b6442e 100644 --- a/scripts/common/java/Cn1ssChunkTools.java +++ b/scripts/common/java/Cn1ssChunkTools.java @@ -169,19 +169,79 @@ private static void runExtract(String[] args) throws IOException { for (Chunk chunk : chunks) { payload.append(chunk.payload); } + byte[] data = null; if (decode) { - byte[] data; try { data = Base64.getDecoder().decode(payload.toString()); } catch (IllegalArgumentException ex) { data = new byte[0]; } + } + // Verify the reassembled binary matches the advertised FNV-1a 64 + // hash from the emitter (only on the default PNG channel; the + // PREVIEW channel has its own JPEG bytes that don't match this + // hash). Hash mismatch means the chunk stream got corrupted in a + // way the gap detection above didn't catch -- e.g. a chunk's + // payload was rewritten in transit. Refuse to emit a stream that + // disagrees with its own integrity marker. + if (decode && (channel == null || channel.isEmpty())) { + String advertisedHash = readAdvertisedHash(path, targetTest); + if (advertisedHash != null) { + String actual = fnv1a64Hex(data); + if (!advertisedHash.equalsIgnoreCase(actual)) { + System.err.println("ERROR: reassembled bytes for test '" + targetTest + + "' in " + path + " hash mismatch:"); + System.err.println(" - advertised png_fnv1a64=" + advertisedHash); + System.err.println(" - reassembled png_fnv1a64=" + actual); + System.err.println(" - reassembled length=" + data.length); + System.err.println(" Refusing to emit a corrupted stream."); + System.exit(1); + } + } + } + if (decode) { System.out.write(data); } else { System.out.print(payload.toString()); } } + /// Returns the advertised FNV-1a 64-bit hash for the given test's PNG + /// payload, or null if no INFO line includes one. The emitter logs + /// `CN1SS:INFO:test= png_bytes= png_fnv1a64=` once the + /// image bytes are encoded; matching against the assembled stream's + /// hash gives an integrity check against silent chunk corruption. + private static String readAdvertisedHash(Path path, String testName) throws IOException { + String text = Files.readString(path, StandardCharsets.UTF_8); + Pattern info = Pattern.compile( + "CN1SS:INFO:test=" + Pattern.quote(testName) + + "\\b[^\\n]*?\\bpng_fnv1a64=([0-9a-fA-F]{16})"); + Matcher m = info.matcher(text); + String latest = null; + while (m.find()) { + latest = m.group(1); + } + return latest; + } + + /// Mirror of Cn1ssDeviceRunnerHelper.fnv1a64Hex on the consumer side -- + /// keep the algorithm identical (FNV-1a 64-bit, lowercase hex, leading + /// zeros) so the integrity check holds. + private static String fnv1a64Hex(byte[] bytes) { + long h = 0xcbf29ce484222325L; + long prime = 0x100000001b3L; + for (int i = 0; i < bytes.length; i++) { + h ^= bytes[i] & 0xff; + h *= prime; + } + StringBuilder sb = new StringBuilder(16); + for (int i = 60; i >= 0; i -= 4) { + int nib = (int) ((h >>> i) & 0xf); + sb.append((char) (nib < 10 ? '0' + nib : 'a' + (nib - 10))); + } + return sb.toString(); + } + /** * Returns the total base64 length advertised by the emitter for the given * test/channel, or -1 if no matching INFO line was found. The emitter logs diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/Cn1ssDeviceRunnerHelper.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/Cn1ssDeviceRunnerHelper.java index 4f5c94db43..796be6c2e5 100644 --- a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/Cn1ssDeviceRunnerHelper.java +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/Cn1ssDeviceRunnerHelper.java @@ -11,6 +11,8 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; +import java.util.LinkedHashMap; +import java.util.Map; interface Cn1ssDeviceRunnerHelper { int CHUNK_SIZE_ANDROID = 500; @@ -70,7 +72,14 @@ static void emitImage(Image image, String testName, Runnable onComplete) { ByteArrayOutputStream pngOut = new ByteArrayOutputStream(Math.max(1024, width * height / 2)); io.save(image, pngOut, ImageIO.FORMAT_PNG, 1f); byte[] pngBytes = pngOut.toByteArray(); - println("CN1SS:INFO:test=" + safeName + " png_bytes=" + pngBytes.length); + String hash = fnv1a64Hex(pngBytes); + println("CN1SS:INFO:test=" + safeName + " png_bytes=" + pngBytes.length + + " png_fnv1a64=" + hash); + String previous = Cn1ssHashTracker.recordAndCheck(hash, safeName); + if (previous != null) { + println("CN1SS:WARN:test=" + safeName + + " duplicate_image_with=" + previous + " png_fnv1a64=" + hash); + } emitChannel(pngBytes, safeName, ""); byte[] preview = encodePreview(io, image, safeName); @@ -121,7 +130,14 @@ static void emitCurrentFormScreenshot(String testName, Runnable onComplete) { ByteArrayOutputStream pngOut = new ByteArrayOutputStream(Math.max(1024, width * height / 2)); io.save(screenshot, pngOut, ImageIO.FORMAT_PNG, 1f); byte[] pngBytes = pngOut.toByteArray(); - println("CN1SS:INFO:test=" + safeName + " png_bytes=" + pngBytes.length); + String hash = fnv1a64Hex(pngBytes); + println("CN1SS:INFO:test=" + safeName + " png_bytes=" + pngBytes.length + + " png_fnv1a64=" + hash); + String previous = Cn1ssHashTracker.recordAndCheck(hash, safeName); + if (previous != null) { + println("CN1SS:WARN:test=" + safeName + + " duplicate_image_with=" + previous + " png_fnv1a64=" + hash); + } emitChannel(pngBytes, safeName, ""); byte[] preview = encodePreview(io, screenshot, safeName); @@ -277,4 +293,66 @@ static void complete(Runnable runnable) { static boolean isHtml5() { return "HTML5".equals(Display.getInstance().getPlatformName()); } + + /// Computes a 64-bit FNV-1a hash of the given bytes. FNV-1a is fast and + /// has no platform dependencies (no java.security, no java.util.zip + /// CRC32 wrapping subtleties). 64 bits is enough to make accidental + /// collisions on real-world PNG payloads vanishingly unlikely while + /// keeping the hash short enough to log on a single line. The mixup + /// detector in `Cn1ssHashTracker` calls this on every emitted image so + /// that two tests producing bit-identical bytes (the symptom of an iOS + /// Metal stale-frame capture: MultiButtonTheme_light returning Tabs + /// Theme_light's pixels because the CAMetalLayer hadn't been re- + /// presented in time) get flagged with a CN1SS:WARN line. + static String fnv1a64Hex(byte[] bytes) { + long h = 0xcbf29ce484222325L; + long prime = 0x100000001b3L; + for (int i = 0; i < bytes.length; i++) { + h ^= bytes[i] & 0xff; + h *= prime; + } + StringBuilder sb = new StringBuilder(16); + for (int i = 60; i >= 0; i -= 4) { + int nib = (int) ((h >>> i) & 0xf); + sb.append((char) (nib < 10 ? '0' + nib : 'a' + (nib - 10))); + } + return sb.toString(); + } +} + +/// Tracks recently-emitted screenshot hashes per test name so a stale-frame +/// capture (the same PNG bytes attributed to two different tests in a row) +/// gets surfaced via CN1SS:WARN markers instead of silently shipping the +/// wrong image to the comparator. Keeps the most recent 64 entries. +/// +/// Lives in a separate package-private class because Cn1ssDeviceRunnerHelper +/// is an interface and can't hold mutable static state. +final class Cn1ssHashTracker { + private static final int MAX_TRACKED = 64; + // LinkedHashMap with access-order=false (default) -> oldest-first iter. + // We cap at MAX_TRACKED entries by dropping the head when oversized. + private static final Map hashToTest = new LinkedHashMap<>(); + + private Cn1ssHashTracker() { + } + + /// Records the hash for `safeName` and returns the test name that + /// previously emitted the same hash, or null if this is the first time. + /// Caller logs a CN1SS:WARN line when a duplicate is found so the + /// downstream comparator can flag the affected test as a likely + /// stale-frame capture. + static synchronized String recordAndCheck(String hashHex, String safeName) { + String previous = hashToTest.get(hashHex); + if (previous != null && previous.equals(safeName)) { + // Same test re-captured (e.g. light->dark sequencing chains + // through the same emitter); not a mixup. Don't flag. + return null; + } + hashToTest.put(hashHex, safeName); + if (hashToTest.size() > MAX_TRACKED) { + String oldest = hashToTest.keySet().iterator().next(); + hashToTest.remove(oldest); + } + return previous; + } } From 7552c4011a123c24a88fdb98c043a2cc90a5f470 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Thu, 7 May 2026 17:20:09 +0300 Subject: [PATCH 06/25] cn1ss: avoid HashMap static-init that breaks iOS class loading The previous Cn1ssHashTracker used `private static final Map hashToTest = new LinkedHashMap<>()` to track recently-emitted screenshot hashes. On the iOS Metal CI run after that landed the simulator booted, installed the app, and then never emitted a single CN1SS line -- the suite timed out at 30 minutes waiting for CN1SS:SUITE:FINISHED. Cn1ssDeviceRunner.java:215-222 documents this exact failure mode: static collections initialised via a static method call (or a method-call initializer for DEFAULT_TEST_CLASSES) both broke iOS class loading -- Cn1ssDeviceRunner failed to load before runSuite() could even log a single starting test=... entry, leaving the suite to time out at the 300s end-marker deadline. Keep all skip lookups inline to avoid triggering the same static-init failure path. The Cn1ssHashTracker static `` ran during the host class's init path on iOS (Cn1ssDeviceRunnerHelper -> recordAndCheck), and calling new LinkedHashMap<>() during that init reproduced the documented hang. Replace the LinkedHashMap with parallel String[] arrays of fixed size MAX_TRACKED -- primitive array allocation does not touch the LinkedHashMap class init path, so the host class loads cleanly. Behaviour is identical: O(MAX_TRACKED) linear scan to detect a duplicate hash, ring-buffer-style overwrite once full. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../tests/Cn1ssDeviceRunnerHelper.java | 58 ++++++++++++++----- 1 file changed, 44 insertions(+), 14 deletions(-) diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/Cn1ssDeviceRunnerHelper.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/Cn1ssDeviceRunnerHelper.java index 796be6c2e5..1f666706bd 100644 --- a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/Cn1ssDeviceRunnerHelper.java +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/Cn1ssDeviceRunnerHelper.java @@ -11,8 +11,6 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; -import java.util.LinkedHashMap; -import java.util.Map; interface Cn1ssDeviceRunnerHelper { int CHUNK_SIZE_ANDROID = 500; @@ -327,11 +325,24 @@ static String fnv1a64Hex(byte[] bytes) { /// /// Lives in a separate package-private class because Cn1ssDeviceRunnerHelper /// is an interface and can't hold mutable static state. +/// +/// Storage uses two parallel arrays (hash[i] paired with testName[i]) rather +/// than a HashMap-typed static field. The Cn1ssDeviceRunner header-comment +/// at lines 215-222 documents that "static collections initialised via a +/// static method call ... broke iOS class loading -- Cn1ssDeviceRunner +/// failed to load before runSuite() could even log a single starting +/// test=... entry, leaving the suite to time out at the 300s end-marker +/// deadline." The first attempt at this tracker used `private static final +/// Map hashToTest = new LinkedHashMap<>()` and reproduced +/// exactly that symptom on the iOS Metal CI run -- the simulator booted, +/// installed the app, then never emitted a single CN1SS line and timed +/// out at 30 minutes. Plain primitive arrays of String avoid touching the +/// HashMap class init path during the host class's ``. final class Cn1ssHashTracker { private static final int MAX_TRACKED = 64; - // LinkedHashMap with access-order=false (default) -> oldest-first iter. - // We cap at MAX_TRACKED entries by dropping the head when oversized. - private static final Map hashToTest = new LinkedHashMap<>(); + private static final String[] hashes = new String[MAX_TRACKED]; + private static final String[] tests = new String[MAX_TRACKED]; + private static int count; private Cn1ssHashTracker() { } @@ -341,17 +352,36 @@ private Cn1ssHashTracker() { /// Caller logs a CN1SS:WARN line when a duplicate is found so the /// downstream comparator can flag the affected test as a likely /// stale-frame capture. + /// + /// O(MAX_TRACKED) per call -- 64-entry linear scan is trivial vs the + /// PNG hash itself (which scans every byte of the image). static synchronized String recordAndCheck(String hashHex, String safeName) { - String previous = hashToTest.get(hashHex); - if (previous != null && previous.equals(safeName)) { - // Same test re-captured (e.g. light->dark sequencing chains - // through the same emitter); not a mixup. Don't flag. - return null; + String previous = null; + for (int i = 0; i < count; i++) { + if (hashHex.equals(hashes[i])) { + previous = tests[i]; + if (safeName.equals(previous)) { + // Same test re-captured (e.g. light->dark sequencing + // chains through the same emitter); not a mixup. + return null; + } + break; + } } - hashToTest.put(hashHex, safeName); - if (hashToTest.size() > MAX_TRACKED) { - String oldest = hashToTest.keySet().iterator().next(); - hashToTest.remove(oldest); + if (count < MAX_TRACKED) { + hashes[count] = hashHex; + tests[count] = safeName; + count++; + } else { + // Ring-buffer-style: overwrite the oldest entry. We keep + // insertion order roughly via an arraycopy shift; dropping + // exactly MAX_TRACKED entries means each call to this branch + // moves up to 64 references, which is still well below the + // cost of the FNV-1a scan over a 70KB PNG. + System.arraycopy(hashes, 1, hashes, 0, MAX_TRACKED - 1); + System.arraycopy(tests, 1, tests, 0, MAX_TRACKED - 1); + hashes[MAX_TRACKED - 1] = hashHex; + tests[MAX_TRACKED - 1] = safeName; } return previous; } From 51eec90dffa68657765a836333720c7def5e77a6 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Thu, 7 May 2026 17:20:29 +0300 Subject: [PATCH 07/25] hellocodenameone: refresh Android goldens for the four updated tests The fix-graphics-screenshot-tests rewrites of Scale, AffineScale, TransformPerspective and TransformCamera produce different bytes than the previous golden set (which were captured against the broken pre- fix tests). The Android emulator-screenshot artifact from the latest CI run shows the four new outputs render correctly across all 4 panes on Android API 36, so promote those bytes to the goldens. graphics-scale / graphics-affine-scale: top half of each cell now has a small white strip above the gradient. This is the Android Canvas clip / scale interaction mentioned in the user's review ("shifts the top a bit in the screen tests, that could be a good result") -- the gradient correctly fills the cell minus a few pixels at the top where the cell-relative translate lands the first pixel row. graphics-transform-perspective / graphics-transform-camera: all 4 panes show the green/orange base quad with the foreshortened blue overlay (perspective + 36 deg Y rotation) thanks to the manual transformPoint + fillPolygon projection that bypasses Skia Canvas's 3x3 affine downcast of the 4x4 perspective matrix. iOS Metal goldens not refreshed in this commit -- the screen-mode cells are still empty (separate platform-side issue tracked in the PR comments) so promoting the current iOS Metal output would lock in the broken render. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../screenshots/graphics-affine-scale.png | Bin 3300 -> 3501 bytes .../android/screenshots/graphics-scale.png | Bin 3255 -> 3400 bytes .../screenshots/graphics-transform-camera.png | Bin 3254 -> 6543 bytes .../graphics-transform-perspective.png | Bin 3254 -> 4646 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/scripts/android/screenshots/graphics-affine-scale.png b/scripts/android/screenshots/graphics-affine-scale.png index fd989cc55ccb8c098fd49fe2f7c146eb9e68c568..5507b585077ab6a0790060f5ae42f1b27c26a43b 100644 GIT binary patch delta 1694 zcmV;P24VT+8Lb^c`rUfBnTgFZ*PwiK+x6J8vw8s0R*zHzrFF{ z!-uW51K=z^efsqE?~aqf26um~>#aAS=H}*Rnx<*`{Q2|7Tf(>Q$K_j3jnQNGeeVA3 zmjIIXRLoAfuNSw=BY+p~+nv&mx6JoJd+zz0bKfN~Wgi3(re!Z4PuFj)`8xcP)lK{Q}cFJ}6)%NWYKp;y1fh++8vR3;P_@(zv?%%h1>D+&*@BjbY6ISQ0 z|2cEky>yw+t>=_wE;;vX)b`JLPi(FCC13Lxp8DC>oD2B<`j*b;m)5`Zc^tW{*RJoB z^{%y#J!O?6z&TIKDQ_&#UG8I(^s$LL@+8=~_gVTgOSf~$dQN#xM!f(nwbr<9ZPfVB z9lMdw&FHx>YK|^3{0M(=?uogt3DBIcC_Q$cxv#oUEqBh*#m&vl;v=c0U%6W9x##7v z=j5r!FlsqVjT+abM{9G}f2vXAzhs{qW%OLwYHkfZ0$egtPTlx9KR5D_d+suq#&yol zcWSU7ThB}Dn)ClpS%Bb-_Wqi*$CTl&0QC9gCc&&f;e@4E#t+98HRW&%nQbKWGnOo2K)>nS07MJZ5h@(wgJC zrO|H`uzFx#lINL z`A}euQ-0>IpRs>lGbW=xj96;aIuloex%43I#kX;G)=JnU^Qoa#*m(2lX5 z$KFF)a$UXG>>$Q<9j`qjo}l(~%S)3%Pxx#z-2Zz_P7 zd?a!A`Od-=DJb+M_Y!dbxi_&xJJ%58&1ha_gOB>&L$r zqsL+EapiP-9=l-y-1CFn!k(UwrBQzDd)k+Fk%5wPkINc!VZYg|jlm#q=vgWwH6>}f|$meMETo^S+mpEeF-rgSXZ+!UhVc3G_+Vh#>d)_wS zG@m|w`ug|mr@#Q42C(?1HLxGM_$G*7F@Y_t@{c0TiJ+rDU~8M42e{XB=75&X&jSS5 z$|~0beCc1F5rg#PizAGg{LfU|oLz<>Sv>sH$V za2Egk<(IF2e-Oay>s9}W5P(e`t{%SY_n>(1-oHQV#sHkt;k(-p0{E97emLW%0G!$3 zVFDin@NYl;bk=PFIH$vN0sQIbpU=8609$$xz?++!t+oT;>>dR0y$?ZvkcXcFI}HX1 zNbyxTAWHy&ECB?v1Q5s)Kp;y1fvj2Qy?p%maqaEk4Lcr>)9=6kzUXJnIbLJ#oSS{( z-|={S)dtb@{dX^yFy}bMk~!yBV3R=yQZKCQId}RpT}}Tvyr1r-tLbjKnvT=q>)%hg zJz^P`xDCa19;UmKCZ;)Oo#&Wyj25kq$LVUid+_J`|2F#e zIo5INI^RuSruWmIZ~k#Ey?r>|eVsdp!(p1HG1csy>s3B;T_=MJ~Gw`MDl#FSJT~en2yucboceoOSiA4<8*j%d-*b6d;2`=I8N`TFVp+! z&o})zU$f3Xrr#D#OmohhJI9=J1d|^IO_Lx636chElOP2Nk_K#(AO#7M22~6lZf|do oTW~KxYh&NklW!T0f13Cb%56xXx=tFEz(Ix9lU*XJ#WyR zY3`MH8h21Qh*JNM)TK!II|mSuATmkulAmabVs4Jd%OS z{Z`8Xa1jp=4?q6w2$KN^cYnIwdI4(g?(PnU!{PAw__**<}@6F@2=XwLWK0XAwa?d-R zoo~4j@#8uP;0Iu*T$f*MKP~|TvIG#w5iy4OXj=Q zKK7bbjsT~ulqDyYr%v~!jr64rb>u~`Q=c>UXXY;FocSzSC!^kg=2~l9w>E10r;gpo zbu)Tf7`2VgG5iQ{>VJi~=LBfVSCn3Q&eV6^*QPt==;H3~ZuXJX+^<~C_11cMX`Q_G z8b(cLu2JJU_h@bE{FfRv{&V)ZQATeITWwoIj{xUvC`%W9%Fm5FGjDLK0TVomLPIGk3M^5M5 zon+K8HRWufTskAGC+C9S)a2nY&~eUb43xY0Yun(&$qI zbLYF4Bjl~O(P8HR_p(Cye_O@lqeW}4u30f!p}-oK z{7jucW1TZ5qkle(m}}HL6L*8T_8{%W&vDl7^&taj$5_ux=aA;y zSMQu1#JH~G+$%DcZVP+x;Q}~k0PIl9y>)rRoNuR0Wn5pkb!0BREsXS`0(i}b;@9l8 z9pF+ILbD%hZwsS+n42NkN%rB_OIFT38Z)lfYxK6ThJWD!-1-zP6hTlw5jT*4P$CY@*KY2(j95pbw}macvC3EBUb;g3z2}ZLXWs99 zMF0HUYyBG6oH2QR{)p+UVdS`e6r;v>&3TTV-l%ci>~>gd-L+-vU1OF^d&G0LGIjY! zeQAB<9bDEN*NmRv}MsEwFw$V9mj>qHE^ITu<@9&3Ac&a^LDZb}r1D1Jsc=++> z?5Ds0n+C9W(i+&0U3?S7ub99VR{2knrbN)uAF#Det^?fbHFH4A=GOrNY-N@E0lxP? zPYEBe2dmx?_1Z&s?aL3m&2^Iz3O0Y%$sM7;eEG7~asXW1NdW)z=bu|G2f#)A>yJNv z{P`q+x3{bQ7a;(fy7_c^*6*ZvfBF3Rq6-6XNjJaz{Um^Y{q464E(*Yf-JB-yB!GYW z`t_pA0&qz;Zw2t{@4sJkVF0#t62QB=yRDW3;NngK_}PabK*;H*z%GLULVPL}4#*Nf zAWHy&ECB?v1Q5s)Kp<<*jboK5e}a09$Yblfeoi zBi8MdC;k1~KMqfa8;{)M)8YG|Y5n{7&siI$ZLa#b>^A2JvjGPX0kQ`X0kQ`X0Sj)9 o$K%u13jweNN0Si>92eGq0RjmlED0|`Q2+n{07*qoM6N<$f}~yl-~a#s diff --git a/scripts/android/screenshots/graphics-scale.png b/scripts/android/screenshots/graphics-scale.png index e9fde6322820979641ed19c23c8b70a7d48c681e..260688e76873d7310e84e387be2b0e77059421bf 100644 GIT binary patch delta 1574 zcmV+>2HE+y8OR!tL1*$wL_t(|obBDsa@*DcfKgDEXHsk01dT&?8+X~mPCNW56SPG8BIio!Ue&rPap(ByT`}J{QwYjxAh7DY()TptoyHT{QUFJ zTdfDcD*pWQ&o7_b1Cvn(cz@vnIXUejsn0wqgpUt;I!Xn!MLu1nt=TYKDVj{G&R z`z4zFmmu{g=;`U{>VFuFIrV0VQ+|$(Ki4l+rmD~BTb8&S*0l%eQhXivH7~=p)wrix za=w|%^Sa3Znk374>A2EM=fNHO`nAVhlKFPMZZ3dRz9~%H)4g@d$&`1eT+6txS$n=+ z>R#`)x~TwO!+*=8Tl89#mOf^;)wnN>X}(>jo4FW*$#@yQJvC&lz3jEeHQ#Q->;c^R zW#!hBaqGu_DK7OCm}?)8dCe9;6XDP$ZI7u@e(8PMTfMn{iE-!H9$UGT^|%!`^AdQf z!bDo)9W2*u%k6QkZ!Nran_UiT%KerYdx>RUay;gG?|{DOPOnE$)^wWB-=j7DooVzXN9(V2SG3U$Ysp~F&$1UR$DM0?d~MG8Hf1?u?$7HsyByY1C&`YzYRoCi zp5s1S8GpO}b6z8Fi%UR_9e0lHvE+Q4W0{vcA1}pXCqi#^9lI%CGj-W>Jf^uH&zzSO zTYEWMkGuBvnENU<0(ZXbZ-D_e4WNUxz?LrJogjAQfh{cZN0G)v(B2=gwN1_gywr2% zfR@eA0|eO0BB#L|`)gFf2V8sIRlu!?{G^2?Xc4+409zv!O`0oc^;?(nGJLGj+bf4}O=0IX^E&FzB#{_Te! zR$LW;mF*4_co4vU{P^Rl>jJQ*-CF_t@u#0wT^WEa9R%><;bE)w09f5Y0N?v12oQ4k zTVSWb03qHA2Sj8EAdn@1K$ZXkSpo=T2_TR)>b#eaA3rX=9^A0~en0&F`|p#!#+>6E zW9QuH6aV)6{aGtS)3@)voWh*r6jSD$m%x+o1s{{n1vD=AWA5~6xEubrdp|r6cf<2= zH|&Sqm(NeRJ;ySxaUF_d?uO@+CZ;)O%r)kmJ+pBJk^zzd20*O)F?ag=@ZaHXcpi4c zez+T+4?e#Ax4CbxF~+H5z8gLb?}xu`{&7ydz1u&3nLE4PZWxCB0Sk7IkB|GUR{~%Q_LG4I92czr Y12*$hm@ly0g8%>k07*qoM6N<$g6?urkN^Mx delta 1406 zcmV-^1%dj=8n+pcL18=v&NUo~Mg> zGi9A8@iv~7izx9ADP5A1zH&@T-nH%d9Kp^XG>kZ&M-ybnNJUnc; zC2)Nl0RmY9c;%js`W*eid;)j_#1Bp*fIyZ20$BnGWG!|X%v%?9KApFETJELuSU>*% z=hpk&bEl5~nki$?UFU1#oU+ch_TSWTrmkbkdgiQaj?v?e{CX}mH%@;Y(|O@(7C8c( zGEq;t;(h9Re_Zb2;o+wVG54zbtzOfpPX|o-!7*j5Q9pp@8a?jF{jtP+n>*$y%do%^ z;M5Cq&k4|5M~g2l^ZkE2W$d?J&(lBW9!X7kJ?D6BzdW~3UV06q)-%`Wao5-%FRklb zbH2ZL+t4GxIiE^6^&5X<%JW9Pb(y-(xs!cLR7ZRRE%7xOy)UL3G42-o!^od_OKjuZb&iht$n~82jkDD`s3oGc+x@&hww!Oy?~SwRZ-M80A*cMr zd+yxJ2&b%bi<9DWx8XUr{LM9Te=IrQo^#H&I|_W+uycTR^5uWJ^rNx0$GzsrU-PzK zqT#;;segeU9v-g#hryIfZ0_i*d^_cxlw-ZbJ|;dxPFOoN9>QST*`Lbiko>0JXc{N zE%6DKYqsV7xYmyr-nz|hhc#!pCB|N2otGSsQJ-DiYF~eh9(V2iG194bQQ~Jq132d- z^yn|l)Ui)}J2U6?T+&bLQD2i&*K_W^7(MRV`(xzW=egT1es5dkqj1k%wg1+#qs%8RocqtaU5PGZo*v)y)+;xw5O`~7W$Xkl7y`HVd zU3-6wzDte3oiF=aV1P{n=p-$$rHl9^h(mc`3yb`vNK+!{=nvT1Cf5O8>NRsf%jVYs z0&HcG%V6I6+o*&OxCD#d5cS$ackSB`yv}uiK$erF1v7uv(H)^beE6`{b^xsID1iU_ z>#wc017H<@{Q2kKe?AJ}-QA*pMF_yA_V13*`W+STm-p{i-57v1?SJ_9qX7Qn*I!rM z6o8fOj}v$lz<+-Hxazh5tZDyR06+fr+o~G_u%)8_-rwJEwH*MfI||@?zXSn7j(-d6 zG8iDlN8u`fECB?v1Q5s)Kp;y1fh++8vL;>k^7-@UrMH6{cQ_noEpN_ot|@cQ5tE?^ zfs>#J7a@12Jn7qRzkBpJ`SES{Zu4ze`*DuP-EQ;kH(##rF@+%rs@rIRcYW2EGhye>fZ-x84YVEjR*`Q3fI+ z>u$SNtG=LoaG33LIGz+W2frYy97{I=UK zy(QeVFJHdQTHc)FTvO(pBeT&7TLBC9hr{7<>x}@|f+Lf01{@aa|N0mPS2tr4&j0`b M07*qoM6N<$g2RpXrT_o{ diff --git a/scripts/android/screenshots/graphics-transform-camera.png b/scripts/android/screenshots/graphics-transform-camera.png index 1a16aa0747c019c9126ba935eea558e041ffbfdd..30a1fcb016190dfd76b5f3c1faa6d15e53ba0a46 100644 GIT binary patch literal 6543 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 literal 3254 zcmeH~Sx}Q#7>56lSi)kZl%h~5bkLzzG@>AD0F_0CDwSA}tzeN_r4Y7ANC*j{Ry2r% z9Rd=dHljr~1tEznNvlEy4FZ7xSwMySvL#JI5+H#zdee)}bZjr|bn16=<~?(k_k1(w z`OYc${6NrJV{2mo0M-WY^A7_6h#vqLkl^p=d*&})&DS@OjIf|RKm*5SS}$N3dx8(a z^^pTVdJX_g?vzszJ){I@Q_RN+N%%vy25ToI#Qia$8(hgMyn}UCwAlz%MnET;y zqcpn0(|M6ctilb5x%0%MJ*{Aaf;LZW=6E=UBU*GQA2MTs@KD|AJhkeZ#mTuNMCqio z`Kli#r{gp&M};nQD!SCjy{+u|=h8vX7d{di5N?~Stw zJ*(8HK74QCc8u@v6*rXXsb$wnhm4u20i9Tr$uU}Z>P!KX0{fW#J!Qng*b&C)+{k5K z<`#um)J3?{W;{{f;muetMSenGm4id|obqTp^;Smtg^vX@8#~=tm0?Xv+8n;jE!tLH zUo`y;VuSpRW|*@uKYqSneJ_UI%91iE{IsnX);wX`jSXO(WM>rBtkWEq=nd+Ae%zq2 z9acG8Ddk2a<>Xg4xcE>iXPMRcB(-Uq%`kOpctmAAE0E_W)JWS!_YT`MD_3lh5*nRV z5&(4v_m5N?o|tLvBLq8xs&A*u&^4M#fzka%NZw1^*v1zyxpl_^WksgGX4VENwQ;NVbJd@s5*C3~Et@b>l9 zX){!)c+yo!drK&pq-iQZpTZUxk#F@N0%23TT@tUp zq|yA!1c#toB@D~OHk2znKpV*4!O1^C(Azn$P3yO*`Y)tv_+_zo#yJ9ksj$EDyRvTY XeMvLGa@Bu503bNvfPcfD_*1_FV11f2 diff --git a/scripts/android/screenshots/graphics-transform-perspective.png b/scripts/android/screenshots/graphics-transform-perspective.png index 1a16aa0747c019c9126ba935eea558e041ffbfdd..73c31551c2b6327b1b0227bfe4fd9f09b4e53ea0 100644 GIT binary patch literal 4646 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 literal 3254 zcmeH~Sx}Q#7>56lSi)kZl%h~5bkLzzG@>AD0F_0CDwSA}tzeN_r4Y7ANC*j{Ry2r% z9Rd=dHljr~1tEznNvlEy4FZ7xSwMySvL#JI5+H#zdee)}bZjr|bn16=<~?(k_k1(w z`OYc${6NrJV{2mo0M-WY^A7_6h#vqLkl^p=d*&})&DS@OjIf|RKm*5SS}$N3dx8(a z^^pTVdJX_g?vzszJ){I@Q_RN+N%%vy25ToI#Qia$8(hgMyn}UCwAlz%MnET;y zqcpn0(|M6ctilb5x%0%MJ*{Aaf;LZW=6E=UBU*GQA2MTs@KD|AJhkeZ#mTuNMCqio z`Kli#r{gp&M};nQD!SCjy{+u|=h8vX7d{di5N?~Stw zJ*(8HK74QCc8u@v6*rXXsb$wnhm4u20i9Tr$uU}Z>P!KX0{fW#J!Qng*b&C)+{k5K z<`#um)J3?{W;{{f;muetMSenGm4id|obqTp^;Smtg^vX@8#~=tm0?Xv+8n;jE!tLH zUo`y;VuSpRW|*@uKYqSneJ_UI%91iE{IsnX);wX`jSXO(WM>rBtkWEq=nd+Ae%zq2 z9acG8Ddk2a<>Xg4xcE>iXPMRcB(-Uq%`kOpctmAAE0E_W)JWS!_YT`MD_3lh5*nRV z5&(4v_m5N?o|tLvBLq8xs&A*u&^4M#fzka%NZw1^*v1zyxpl_^WksgGX4VENwQ;NVbJd@s5*C3~Et@b>l9 zX){!)c+yo!drK&pq-iQZpTZUxk#F@N0%23TT@tUp zq|yA!1c#toB@D~OHk2znKpV*4!O1^C(Azn$P3yO*`Y)tv_+_zo#yJ9ksj$EDyRvTY XeMvLGa@Bu503bNvfPcfD_*1_FV11f2 From 62f286a0d2ce442af799c7a5147cf1513f3dbb49 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Thu, 7 May 2026 18:00:23 +0300 Subject: [PATCH 08/25] cn1ss: use negative lookahead in INFO-line regexes to avoid prefix match The hash verification I added in c3011a769 used a `\b` word boundary to terminate the test-name match in the CN1SS:INFO regex: "CN1SS:INFO:test=" + Pattern.quote(testName) + "\\b[^\\n]*?\\bpng_fnv1a64=..." `\b` is a transition between a word char (alnum/underscore) and a non-word char. Both `_` and `-` are non-word chars, so for testName= graphics-draw-string the `\b` is satisfied by the boundary between `g` (word) and `-` (non-word) on both: CN1SS:INFO:test=graphics-draw-string ... CN1SS:INFO:test=graphics-draw-string-decorated ... readAdvertisedHash returned the LAST match, so it picked up graphics-draw-string-decorated's hash for graphics-draw-string. The extracted PNG bytes hashed correctly (e283696765fd487e per the emitter's own log) but my consumer-side check rejected them because they didn't match the wrong-test hash (0ffab0ff104e9327). Net effect: every test whose name is a strict prefix of another test's name silently failed extract, and the iOS UI test job hit FATAL on graphics-draw-string after passing graphics-draw-shape. Replace `\b` with `(?![A-Za-z0-9_.\-])` -- the same character class the chunk pattern uses for test names. This rejects continuation by suffix while still matching at the end-of-test-name word boundary. Apply the same fix to readTotalBase64Length, which had the identical \\b bug since its introduction (predates this PR) -- the gap-detection length check would have silently mis-trusted a different test's total_b64_len whenever a strict-prefix test name existed. Co-Authored-By: Claude Opus 4.7 (1M context) --- scripts/common/java/Cn1ssChunkTools.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/scripts/common/java/Cn1ssChunkTools.java b/scripts/common/java/Cn1ssChunkTools.java index 4d84b6442e..5cf4d83943 100644 --- a/scripts/common/java/Cn1ssChunkTools.java +++ b/scripts/common/java/Cn1ssChunkTools.java @@ -211,11 +211,19 @@ private static void runExtract(String[] args) throws IOException { /// `CN1SS:INFO:test= png_bytes= png_fnv1a64=` once the /// image bytes are encoded; matching against the assembled stream's /// hash gives an integrity check against silent chunk corruption. + /// + /// The negative lookahead `(?![A-Za-z0-9_.\-])` after the test name is + /// load-bearing -- a plain `\b` word boundary lets the regex match + /// `graphics-draw-string-decorated` when the caller asked for + /// `graphics-draw-string`, because `\b` is satisfied by the boundary + /// between `g` (word char) and `-` (non-word char). The lookahead + /// rejects the suffix continuation by checking the next char is not in + /// the test-name character class used by CHUNK_PATTERN. private static String readAdvertisedHash(Path path, String testName) throws IOException { String text = Files.readString(path, StandardCharsets.UTF_8); Pattern info = Pattern.compile( "CN1SS:INFO:test=" + Pattern.quote(testName) - + "\\b[^\\n]*?\\bpng_fnv1a64=([0-9a-fA-F]{16})"); + + "(?![A-Za-z0-9_.\\-])[^\\n]*?\\bpng_fnv1a64=([0-9a-fA-F]{16})"); Matcher m = info.matcher(text); String latest = null; while (m.find()) { @@ -252,11 +260,14 @@ private static String fnv1a64Hex(byte[] bytes) { private static long readTotalBase64Length(Path path, String testName, String channel) throws IOException { // The INFO line is always emitted on the default channel regardless of // whether the chunks themselves go to a side channel like PREVIEW, so - // we only filter by test name here. + // we only filter by test name here. See readAdvertisedHash for why + // the lookahead is required instead of `\b` -- prefixes like + // `graphics-draw-string` would otherwise match `graphics-draw- + // string-decorated`. String text = Files.readString(path, StandardCharsets.UTF_8); Pattern info = Pattern.compile( "CN1SS:INFO:test=" + Pattern.quote(testName) - + "\\b[^\\n]*?\\btotal_b64_len=(\\d+)"); + + "(?![A-Za-z0-9_.\\-])[^\\n]*?\\btotal_b64_len=(\\d+)"); Matcher m = info.matcher(text); long latest = -1; // The same test may emit multiple channels (PNG + PREVIEW). Without a From f511f847bda19abd7d742438621bd46ddf71d1cf Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Thu, 7 May 2026 18:46:24 +0300 Subject: [PATCH 09/25] run-ios-ui-tests: include fallback-decoded tests in compare set When the primary device-runner.log loses chunks for a large test (the iOS unified-log syslog stream occasionally drops lines under load) the script falls back to log show --predicate, decodes the PNG from there, and logs "Decoded screenshot for 'X' from fallback". The fallback path was missing two things compared to the primary path: 1. It didn't append to TEST_OUTPUT_ENTRIES, so the comparator never saw those tests. iOS Metal compared 84 screenshots vs the 90 it had streams for; the missing 5 were exactly the large transition tests (CoverHorizontalTransitionTest, SlideHorizontalTransitionTest, SlideHorizontalBackTransitionTest, SlideVerticalTransitionTest, SlideFadeTitleTransitionTest) whose ~288-chunk streams hit logcat- style line drops in device-runner.log but survived in the syslog fallback. 2. It didn't decode the PREVIEW channel from the fallback log, so the PR comment for those tests had no inline thumbnail when the fallback was needed. Mirror both steps from the primary path in the fallback branch. Co-Authored-By: Claude Opus 4.7 (1M context) --- scripts/run-ios-ui-tests.sh | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/scripts/run-ios-ui-tests.sh b/scripts/run-ios-ui-tests.sh index 133cbaf937..941ce6db75 100755 --- a/scripts/run-ios-ui-tests.sh +++ b/scripts/run-ios-ui-tests.sh @@ -785,6 +785,21 @@ for test in "${TEST_NAMES[@]}"; do else ri_log "Primary decode failed for '$test'; trying fallback log" if [ -s "$FALLBACK_LOG" ] && source_label="$(cn1ss_decode_test_png "$test" "$dest" "SIMLOG:$FALLBACK_LOG")"; then + # Without these two lines, tests that needed the fallback log were + # decoded but not added to TEST_OUTPUT_ENTRIES, so the comparator + # silently skipped them -- iOS Metal compared 84 screenshots vs the + # 89 it had streams for, with 5 large transition tests + # (SlideHorizontal*, SlideVertical, SlideFadeTitle, CoverHorizontal) + # missing from the report because their ~288-chunk streams hit + # logcat-style line drops in device-runner.log but survived in the + # syslog fallback. + TEST_OUTPUT_ENTRIES+=("${test}${PAIR_SEP}${dest}") + preview_dest="$SCREENSHOT_PREVIEW_DIR/${test}.jpg" + if preview_source="$(cn1ss_decode_test_preview "$test" "$preview_dest" "SIMLOG:$FALLBACK_LOG")"; then + ri_log "Decoded preview for '$test' from fallback (source=${preview_source}, size: $(cn1ss_file_size "$preview_dest") bytes)" + else + rm -f "$preview_dest" 2>/dev/null || true + fi ri_log "Decoded screenshot for '$test' from fallback (size: $(cn1ss_file_size "$dest") bytes)" else ri_log "FATAL: Failed to extract/decode CN1SS payload for test '$test'" From d7eb2ed2d2af42f494cff1e45a1137b0b3f04c11 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Thu, 7 May 2026 18:46:38 +0300 Subject: [PATCH 10/25] hellocodenameone: promote iOS Metal goldens for transform-perspective/camera The transformPoint+fillPolygon rewrite from a6570dd00 produces visible foreshortened quads on all 4 panes on iOS Metal, matching the Android output. Promote the latest CI artifact bytes to the iOS Metal goldens so subsequent runs match cleanly. graphics-affine-scale / graphics-scale goldens are NOT updated -- the top half of the cell (form Graphics path) is still empty on iOS Metal because g.setTransform(t) for non-translation transforms isn't applied to fillRect / fillLinearGradient on the screen encoder, while the bottom half (mutable image path) renders correctly. That's a platform bug in the iOS Metal port, separate from this PR's test-fix scope. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../graphics-transform-camera.png | Bin 94276 -> 113511 bytes .../graphics-transform-perspective.png | Bin 95108 -> 116726 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/scripts/ios/screenshots-metal/graphics-transform-camera.png b/scripts/ios/screenshots-metal/graphics-transform-camera.png index 0a1a02f462d62df23694fa702d5f305f933685f5..4f89c32cfd42f0af3b92587c5d5de32ba0167199 100644 GIT binary patch literal 113511 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 RG70|Mw#8&Kyj=L_{{VtL*IEDo literal 94276 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 R-ro)XCXP!U8+an8?4S6!_p|^2 diff --git a/scripts/ios/screenshots-metal/graphics-transform-perspective.png b/scripts/ios/screenshots-metal/graphics-transform-perspective.png index f83f02308b3cf91fa38add04c3009b643d8a0468..d4c6c744e025d8a37d9b949733c3a59a01953540 100644 GIT binary patch literal 116726 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 From 292b980dd3919c6676374ee828c3bc0976d6f7a3 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Thu, 7 May 2026 19:13:45 +0300 Subject: [PATCH 11/25] Transform: mark composed transform dirty after copyTransform setTransform's default branch (TYPE_UNKNOWN composed transform) copies the native matrix data via impl.copyTransform but doesn't mark the Transform's cached state as dirty. The TRANSLATION / SCALE / IDENTITY branches all set `dirty = true` so getNativeTransform() will re-run initNativeTransform on next access. Match that contract in the default branch -- for TYPE_UNKNOWN initNativeTransform's switch hits default break and doesn't actually resync the matrix data, but the dirty flag is the externally-observable signal that the native cache is fresh. This is the lowest-risk fix attempt for the iOS Metal port bug where g.setTransform(t) with composed transforms (TYPE_UNKNOWN) silently fails to apply on the form-Graphics screen encoder while g.rotate / g.scale / g.translate (which go through ng.rotate etc.) work correctly. Both paths construct identical 4x4 matrix data in the end and call nativeSetTransform with the same 16 floats, so the exact failure mechanism is still mysterious -- but the dirty-flag contract diverges between the working and failing paths and matching it is a sane defensive change. See memory note project_metal_settransform_screen_unrendered for the open investigation. Co-Authored-By: Claude Opus 4.7 (1M context) --- CodenameOne/src/com/codename1/ui/Transform.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CodenameOne/src/com/codename1/ui/Transform.java b/CodenameOne/src/com/codename1/ui/Transform.java index 76b9399715..87fdcadb53 100644 --- a/CodenameOne/src/com/codename1/ui/Transform.java +++ b/CodenameOne/src/com/codename1/ui/Transform.java @@ -792,6 +792,16 @@ public void setTransform(Transform t) { initNativeTransform(); t.initNativeTransform(); impl.copyTransform(t.nativeTransform, nativeTransform); + // Mark the cached native matrix as dirty so subsequent + // getNativeTransform() calls re-run initNativeTransform. + // For TYPE_UNKNOWN this is a no-op for the matrix data + // itself, but it triggers any platform-side code that + // listens on initNativeTransform to refresh its cache -- + // the iOS Metal port has shown that without this flag + // setTransform(composed) silently fails to apply on the + // form-Graphics screen encoder while the equivalent + // g.rotate / g.scale / g.translate path renders correctly. + dirty = true; break; } From 67ec8ffe09dc227284cca80fc5d0650cdf68641a Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Fri, 8 May 2026 06:33:57 +0300 Subject: [PATCH 12/25] Graphics.setTransform: conjugate user matrix with xTranslate/yTranslate On platforms where impl.isTranslationSupported()=false (iOS), the Graphics class accumulates xTranslate/yTranslate locally and bakes them into vertex coordinates passed to impl fill primitives. The user's setTransform matrix was then applied by the GPU on top of those already-translated vertices, which double-counts the cell origin for any non-translation matrix (rotate, scale, shear) and threw the gradient off-screen. graphics-affine-scale, graphics-scale, and graphics-transform-rotation rendered blank top (screen) cells while the bottom (mutable, where xTranslate=0) cells worked correctly. Conjugate the user's matrix with T(xTranslate, yTranslate): T(xT, yT) * userMatrix * T(-xT, -yT) so its effect is independent of any prior g.translate() (matches the canvas-matrix semantics on Android/JavaSE). getTransform() returns the original user matrix from a new userTransform field; g.translate() re-conjugates if a non-identity userTransform is active; resetAffine() clears it. Pure-translation matrices conjugate to themselves so TransformTranslation behavior is unchanged. Triggers only when xTranslate||yTranslate != 0, so Android/JavaSE (isTranslationSupported=true) are untouched. Confirmed locally with diagnostic logging (now removed): the AffineScale top cells which were blank now render the red->blue gradient like the mutable cells. Replaces the speculative dirty-flag tweak in commit 292b980d with the actual root cause / fix; clean up the now-stale comment in IOSImplementation.setTransform that referred to the empty-top-cells symptom. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../src/com/codename1/ui/Graphics.java | 46 ++++++++++++++++++- .../codename1/impl/ios/IOSImplementation.java | 15 ++---- 2 files changed, 49 insertions(+), 12 deletions(-) diff --git a/CodenameOne/src/com/codename1/ui/Graphics.java b/CodenameOne/src/com/codename1/ui/Graphics.java index 6f24824d71..da18276416 100644 --- a/CodenameOne/src/com/codename1/ui/Graphics.java +++ b/CodenameOne/src/com/codename1/ui/Graphics.java @@ -59,6 +59,12 @@ public final class Graphics { private int xTranslate; private int yTranslate; private Transform translation; + /// User's last setTransform() argument (or null if identity). On platforms + /// where impl.isTranslationSupported()=false the impl actually stores a + /// translation-conjugated version of this matrix so the user-visible + /// transform is independent of g.translate(); getTransform() must therefore + /// return the original. + private Transform userTransform; private GeneralPath tmpClipShape; /// A buffer shape to use when we need to transform a shape private int color; @@ -137,6 +143,16 @@ public void translate(int x, int y) { } else { xTranslate += x; yTranslate += y; + // The conjugation in setTransform() depends on the current + // xTranslate/yTranslate. If the user accumulated more translation + // after a non-identity setTransform, re-conjugate so the impl's + // baked matrix stays consistent with the new translation. + if (userTransform != null) { + Transform composed = Transform.makeTranslation(xTranslate, yTranslate); + composed.concatenate(userTransform); + composed.translate(-xTranslate, -yTranslate); + impl.setTransform(nativeGraphics, composed); + } } } @@ -1129,6 +1145,9 @@ public void transform(Transform transform) { /// /// - #setTransform public Transform getTransform() { + if (userTransform != null) { + return userTransform.copy(); + } return impl.getTransform(nativeGraphics); } @@ -1160,7 +1179,27 @@ public Transform getTransform() { /// /// - #setTransform(com.codename1.ui.geom.Matrix, int, int) public void setTransform(Transform transform) { - impl.setTransform(nativeGraphics, transform); + // On platforms where impl.isTranslationSupported() is false (iOS), the + // Graphics class accumulates xTranslate/yTranslate locally and bakes + // them into the vertex coordinates passed to the impl's fill primitives. + // The user's transform is then applied by the GPU on top of those + // already-translated vertices, which double-counts the translation for + // any non-translation matrix (rotate, scale, shear). To match the + // semantics of platforms that fold translate into the canvas matrix + // (Android, JavaSE), conjugate the user's matrix with T(xTranslate, + // yTranslate) so its effect is independent of any prior g.translate() + // calls. + if (transform != null && !transform.isIdentity() + && (xTranslate != 0 || yTranslate != 0)) { + userTransform = transform.copy(); + Transform composed = Transform.makeTranslation(xTranslate, yTranslate); + composed.concatenate(transform); + composed.translate(-xTranslate, -yTranslate); + impl.setTransform(nativeGraphics, composed); + } else { + userTransform = null; + impl.setTransform(nativeGraphics, transform); + } } /// Loads the provided transform with the current transform applied to this graphics context. @@ -1169,6 +1208,10 @@ public void setTransform(Transform transform) { /// /// - `t`: An "out" parameter to be filled with the current transform. public void getTransform(Transform t) { + if (userTransform != null) { + t.setTransform(userTransform); + return; + } impl.getTransform(nativeGraphics, t); } @@ -1576,6 +1619,7 @@ public void resetAffine() { impl.resetAffine(nativeGraphics); scaleX = 1; scaleY = 1; + userTransform = null; } /// Scales the coordinate system using the affine transform diff --git a/Ports/iOSPort/src/com/codename1/impl/ios/IOSImplementation.java b/Ports/iOSPort/src/com/codename1/impl/ios/IOSImplementation.java index 99c7c401b7..30ab8297df 100644 --- a/Ports/iOSPort/src/com/codename1/impl/ios/IOSImplementation.java +++ b/Ports/iOSPort/src/com/codename1/impl/ios/IOSImplementation.java @@ -2402,17 +2402,10 @@ public void setTransform(Object graphics, Transform transform) { ng.transform = transform == null ? null : transform.copy(); } ng.transformApplied = false; - // The cached clip / inverseClip / inverseTransform are derived from - // the current transform; replacing the transform leaves them - // pointing at the previous transform's space. Subsequent draw ops - // (e.g. fillRect or fillLinearGradient on the form Graphics) read - // those caches via loadClipBounds / inverseClip and end up clipped - // to the wrong region, which is why TransformRotation and - // Scale/AffineScale produced empty top cells on iOS Metal while - // the equivalent rotation via g.rotate (which DOES invalidate - // these flags, line 5513) rendered correctly. Match the - // rotate/scale/translate/resetAffine paths so the cache is rebuilt - // before the next draw. + // Match the rotate/scale/translate/resetAffine paths: the cached + // clip / inverseClip / inverseTransform are derived from the previous + // transform, so replacing the transform must invalidate them or + // subsequent loadClipBounds / inverseClip calls return stale values. ng.clipDirty = true; ng.inverseClipDirty = true; ng.inverseTransformDirty = true; From 4afc42ac3520c5aa818efd8fa07a2d4bca46f5cc Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Fri, 8 May 2026 06:38:24 +0300 Subject: [PATCH 13/25] PostPrComment: retry preview push with rebase on race-condition reject Concurrent build-ios + build-ios-metal CI jobs both push to the cn1ss-previews branch in parallel. The second job's push got rejected ("rejected, fetch first") which threw IOException, the comment-post step aborted, and the PR was left with a stale screenshot comment from an earlier run -- transform-camera/perspective looked like they were still differing even though the goldens had been promoted, because the post-promotion comment never made it onto the PR. Retry up to 5 times with fetch + rebase. If rebase conflicts (the other job overwrote the same pr-N/subdir tree) reset to FETCH_HEAD, re-apply our own preview files on top, and try again with a clean single commit. Co-Authored-By: Claude Opus 4.7 (1M context) --- scripts/common/java/PostPrComment.java | 42 ++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/scripts/common/java/PostPrComment.java b/scripts/common/java/PostPrComment.java index 46132ef23f..0729ecdf37 100644 --- a/scripts/common/java/PostPrComment.java +++ b/scripts/common/java/PostPrComment.java @@ -314,9 +314,45 @@ private static Map publishPreviewsToBranch(Path previewDir, Stri ProcessResult status = runGit(worktree, env, true, "status", "--porcelain"); if (!status.stdout.trim().isEmpty()) { runGit(worktree, env, "commit", "-m", "Add previews for PR #" + prNumber); - ProcessResult push = runGit(worktree, env, false, "push", "origin", "HEAD:cn1ss-previews"); - if (push.exitCode != 0) { - throw new IOException(push.stderr.isEmpty() ? push.stdout : push.stderr); + // Concurrent jobs (build-ios + build-ios-metal) can both try to + // push to cn1ss-previews; the loser gets "rejected (fetch first)" + // which previously aborted the comment-post step and left the PR + // showing stale screenshots. Retry with a fetch + rebase so each + // CI job's preview commit is appended onto the latest tip. + int maxAttempts = 5; + ProcessResult push = null; + for (int attempt = 1; attempt <= maxAttempts; attempt++) { + push = runGit(worktree, env, false, "push", "origin", "HEAD:cn1ss-previews"); + if (push.exitCode == 0) { + break; + } + if (attempt == maxAttempts) { + throw new IOException(push.stderr.isEmpty() ? push.stdout : push.stderr); + } + log("Preview push attempt " + attempt + " rejected; fetching + rebasing and retrying"); + runGit(worktree, env, false, "fetch", "origin", "cn1ss-previews"); + ProcessResult rebase = runGit(worktree, env, false, "rebase", "FETCH_HEAD"); + if (rebase.exitCode != 0) { + runGit(worktree, env, false, "rebase", "--abort"); + // The same prNumber/subdir directory was overwritten by + // the other job. Reset our index to FETCH_HEAD's tree and + // re-apply our preview files on top so we get a clean + // single commit. + runGit(worktree, env, false, "reset", "--hard", "FETCH_HEAD"); + Files.createDirectories(dest); + for (Path source : imageFiles) { + Files.copy(source, dest.resolve(source.getFileName()), + java.nio.file.StandardCopyOption.REPLACE_EXISTING); + } + runGit(worktree, env, "add", "-A", "."); + ProcessResult status2 = runGit(worktree, env, true, "status", "--porcelain"); + if (status2.stdout.trim().isEmpty()) { + log("Preview branch already up-to-date after rebase for PR #" + prNumber); + push = new ProcessResult(0, "", ""); + break; + } + runGit(worktree, env, "commit", "-m", "Add previews for PR #" + prNumber); + } } log("Published " + imageFiles.size() + " preview(s) to cn1ss-previews/pr-" + prNumber); } else { From a54efa04fe2d45dfcdac9f4ec5579609d5dd0106 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Fri, 8 May 2026 07:32:18 +0300 Subject: [PATCH 14/25] Gate setTransform xTranslate-conjugation behind impl opt-in The previous commit unconditionally conjugated the user matrix with T(xTranslate, yTranslate) in Graphics.setTransform whenever xTranslate/yTranslate were non-zero. That assumed every platform with isTranslationSupported()=false had the same iOS-style render path (vertex coords carry xTranslate, GPU applies the user matrix on top). Android also returns isTranslationSupported()=false but its render path concats the user matrix into the canvas at draw time -- the existing semantics there were "shifted but visible" rather than "vanishes off-screen", and the conjugation moved elements out of view when CN1 framework code (LinearGradientPaint, FlipTransition, CSSBorder, ChartComponent, scene Node) called setTransform with a non-translation matrix during normal rendering. Add CodenameOneImplementation.isSetTransformTranslationConjugationRequired() (default false) and override to true only on iOS where the bug actually manifests. Graphics.setTransform / translate now check this flag before conjugating, so Android and any other isTranslationSupported= false port keep their previous setTransform pixels. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../impl/CodenameOneImplementation.java | 16 ++++++++ .../src/com/codename1/ui/Graphics.java | 39 ++++++++++++------- .../codename1/impl/ios/IOSImplementation.java | 21 +++++++--- 3 files changed, 57 insertions(+), 19 deletions(-) diff --git a/CodenameOne/src/com/codename1/impl/CodenameOneImplementation.java b/CodenameOne/src/com/codename1/impl/CodenameOneImplementation.java index 1190843222..7b6f8ad2f2 100644 --- a/CodenameOne/src/com/codename1/impl/CodenameOneImplementation.java +++ b/CodenameOne/src/com/codename1/impl/CodenameOneImplementation.java @@ -1517,6 +1517,22 @@ public boolean isTranslationSupported() { return false; } + /// When `#isTranslationSupported()` returns false, Graphics.java accumulates + /// xTranslate/yTranslate locally and bakes them into the vertex coordinates + /// passed to the impl's fill primitives. If the impl's render path then + /// applies the user's setTransform matrix on top of those already-translated + /// vertices (e.g. iOS Metal's GPU vertex shader does + /// `projection * modelView * userTransform * pos`), the translation is + /// double-counted for any non-translation matrix and the output ends up + /// off-screen. Override this and return true so Graphics.setTransform + /// conjugates the user's matrix with T(xTranslate, yTranslate) before + /// passing it to the impl, restoring translate-independent semantics. + /// Default: false (Android's setTransform path produces visible output + /// without the conjugation, so opting in there would change pixels). + public boolean isSetTransformTranslationConjugationRequired() { + return false; + } + /// Translates the X/Y location for drawing on the underlying surface. Translation /// is incremental so the new value will be added to the current translation and /// in order to reset translation we have to invoke diff --git a/CodenameOne/src/com/codename1/ui/Graphics.java b/CodenameOne/src/com/codename1/ui/Graphics.java index da18276416..d95b7cee38 100644 --- a/CodenameOne/src/com/codename1/ui/Graphics.java +++ b/CodenameOne/src/com/codename1/ui/Graphics.java @@ -145,9 +145,10 @@ public void translate(int x, int y) { yTranslate += y; // The conjugation in setTransform() depends on the current // xTranslate/yTranslate. If the user accumulated more translation - // after a non-identity setTransform, re-conjugate so the impl's - // baked matrix stays consistent with the new translation. - if (userTransform != null) { + // after a non-identity setTransform on a platform that requires + // conjugation (iOS), re-conjugate so the impl's baked matrix + // stays consistent with the new translation. + if (userTransform != null && impl.isSetTransformTranslationConjugationRequired()) { Transform composed = Transform.makeTranslation(xTranslate, yTranslate); composed.concatenate(userTransform); composed.translate(-xTranslate, -yTranslate); @@ -1179,18 +1180,28 @@ public Transform getTransform() { /// /// - #setTransform(com.codename1.ui.geom.Matrix, int, int) public void setTransform(Transform transform) { - // On platforms where impl.isTranslationSupported() is false (iOS), the - // Graphics class accumulates xTranslate/yTranslate locally and bakes - // them into the vertex coordinates passed to the impl's fill primitives. - // The user's transform is then applied by the GPU on top of those - // already-translated vertices, which double-counts the translation for - // any non-translation matrix (rotate, scale, shear). To match the - // semantics of platforms that fold translate into the canvas matrix - // (Android, JavaSE), conjugate the user's matrix with T(xTranslate, - // yTranslate) so its effect is independent of any prior g.translate() - // calls. + // Some platforms accumulate xTranslate/yTranslate in Graphics.java + // (because impl.isTranslationSupported()=false) AND apply the user's + // setTransform matrix on top of the xTranslate-shifted vertex + // coordinates in the GPU pipeline -- this double-counts the + // translation for any non-translation matrix (rotate, scale, shear) + // and throws output off-screen. iOS Metal in particular surfaces the + // bug starkly: graphics-affine-scale's screen-mode top cells render + // blank because translate(18,18)*scale(2.65,5.36) * (1134,279) lands + // at (3023,1513), outside the 1170×2532 framebuffer. To make the + // user-visible setTransform consistent with platforms that fold + // translate into the canvas matrix (Android), conjugate the user's + // matrix with T(xTranslate, yTranslate) so its effect is independent + // of any prior g.translate() calls. Other platforms whose impl + // already gives setTransform that semantics (Android Skia, where the + // canvas matrix concat happens at draw time and accumulates with the + // user's matrix in a way that produced "shift but not vanish" before + // this fix) opt out by leaving + // isSetTransformTranslationConjugationRequired() false so the path + // is purely additive for the platforms that need it. if (transform != null && !transform.isIdentity() - && (xTranslate != 0 || yTranslate != 0)) { + && (xTranslate != 0 || yTranslate != 0) + && impl.isSetTransformTranslationConjugationRequired()) { userTransform = transform.copy(); Transform composed = Transform.makeTranslation(xTranslate, yTranslate); composed.concatenate(transform); diff --git a/Ports/iOSPort/src/com/codename1/impl/ios/IOSImplementation.java b/Ports/iOSPort/src/com/codename1/impl/ios/IOSImplementation.java index 30ab8297df..15363e2ea2 100644 --- a/Ports/iOSPort/src/com/codename1/impl/ios/IOSImplementation.java +++ b/Ports/iOSPort/src/com/codename1/impl/ios/IOSImplementation.java @@ -4219,15 +4219,26 @@ public void rotate(Object nativeGraphics, float angle, int x, int y) { @Override public boolean isTranslationSupported() { //return true; - // We'll leave this as false until the next iteration... - // ES2 should allow us to do all of this using transforms but + // We'll leave this as false until the next iteration... + // ES2 should allow us to do all of this using transforms but // let's take small steps first return false; } - - - + @Override + public boolean isSetTransformTranslationConjugationRequired() { + // The iOS render path bakes xTranslate/yTranslate into vertex coords + // (since isTranslationSupported() is false) and the GPU then applies + // the user's setTransform matrix on top, double-counting the + // translation for any non-translation matrix and pushing output + // off-screen. Conjugating in Graphics.setTransform restores + // translate-independent semantics on this port. + return true; + } + + + + public void shear(Object nativeGraphics, float x, float y) { ((NativeGraphics)nativeGraphics).shear(x, y); } From 579a9bcca403dc031cf67f6ac18bfd53819c5074 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Fri, 8 May 2026 13:34:02 +0300 Subject: [PATCH 15/25] Revert "Gate setTransform xTranslate-conjugation behind impl opt-in" This reverts commit a54efa04fe2d45dfcdac9f4ec5579609d5dd0106. --- .../impl/CodenameOneImplementation.java | 16 -------- .../src/com/codename1/ui/Graphics.java | 39 +++++++------------ .../codename1/impl/ios/IOSImplementation.java | 21 +++------- 3 files changed, 19 insertions(+), 57 deletions(-) diff --git a/CodenameOne/src/com/codename1/impl/CodenameOneImplementation.java b/CodenameOne/src/com/codename1/impl/CodenameOneImplementation.java index 7b6f8ad2f2..1190843222 100644 --- a/CodenameOne/src/com/codename1/impl/CodenameOneImplementation.java +++ b/CodenameOne/src/com/codename1/impl/CodenameOneImplementation.java @@ -1517,22 +1517,6 @@ public boolean isTranslationSupported() { return false; } - /// When `#isTranslationSupported()` returns false, Graphics.java accumulates - /// xTranslate/yTranslate locally and bakes them into the vertex coordinates - /// passed to the impl's fill primitives. If the impl's render path then - /// applies the user's setTransform matrix on top of those already-translated - /// vertices (e.g. iOS Metal's GPU vertex shader does - /// `projection * modelView * userTransform * pos`), the translation is - /// double-counted for any non-translation matrix and the output ends up - /// off-screen. Override this and return true so Graphics.setTransform - /// conjugates the user's matrix with T(xTranslate, yTranslate) before - /// passing it to the impl, restoring translate-independent semantics. - /// Default: false (Android's setTransform path produces visible output - /// without the conjugation, so opting in there would change pixels). - public boolean isSetTransformTranslationConjugationRequired() { - return false; - } - /// Translates the X/Y location for drawing on the underlying surface. Translation /// is incremental so the new value will be added to the current translation and /// in order to reset translation we have to invoke diff --git a/CodenameOne/src/com/codename1/ui/Graphics.java b/CodenameOne/src/com/codename1/ui/Graphics.java index d95b7cee38..da18276416 100644 --- a/CodenameOne/src/com/codename1/ui/Graphics.java +++ b/CodenameOne/src/com/codename1/ui/Graphics.java @@ -145,10 +145,9 @@ public void translate(int x, int y) { yTranslate += y; // The conjugation in setTransform() depends on the current // xTranslate/yTranslate. If the user accumulated more translation - // after a non-identity setTransform on a platform that requires - // conjugation (iOS), re-conjugate so the impl's baked matrix - // stays consistent with the new translation. - if (userTransform != null && impl.isSetTransformTranslationConjugationRequired()) { + // after a non-identity setTransform, re-conjugate so the impl's + // baked matrix stays consistent with the new translation. + if (userTransform != null) { Transform composed = Transform.makeTranslation(xTranslate, yTranslate); composed.concatenate(userTransform); composed.translate(-xTranslate, -yTranslate); @@ -1180,28 +1179,18 @@ public Transform getTransform() { /// /// - #setTransform(com.codename1.ui.geom.Matrix, int, int) public void setTransform(Transform transform) { - // Some platforms accumulate xTranslate/yTranslate in Graphics.java - // (because impl.isTranslationSupported()=false) AND apply the user's - // setTransform matrix on top of the xTranslate-shifted vertex - // coordinates in the GPU pipeline -- this double-counts the - // translation for any non-translation matrix (rotate, scale, shear) - // and throws output off-screen. iOS Metal in particular surfaces the - // bug starkly: graphics-affine-scale's screen-mode top cells render - // blank because translate(18,18)*scale(2.65,5.36) * (1134,279) lands - // at (3023,1513), outside the 1170×2532 framebuffer. To make the - // user-visible setTransform consistent with platforms that fold - // translate into the canvas matrix (Android), conjugate the user's - // matrix with T(xTranslate, yTranslate) so its effect is independent - // of any prior g.translate() calls. Other platforms whose impl - // already gives setTransform that semantics (Android Skia, where the - // canvas matrix concat happens at draw time and accumulates with the - // user's matrix in a way that produced "shift but not vanish" before - // this fix) opt out by leaving - // isSetTransformTranslationConjugationRequired() false so the path - // is purely additive for the platforms that need it. + // On platforms where impl.isTranslationSupported() is false (iOS), the + // Graphics class accumulates xTranslate/yTranslate locally and bakes + // them into the vertex coordinates passed to the impl's fill primitives. + // The user's transform is then applied by the GPU on top of those + // already-translated vertices, which double-counts the translation for + // any non-translation matrix (rotate, scale, shear). To match the + // semantics of platforms that fold translate into the canvas matrix + // (Android, JavaSE), conjugate the user's matrix with T(xTranslate, + // yTranslate) so its effect is independent of any prior g.translate() + // calls. if (transform != null && !transform.isIdentity() - && (xTranslate != 0 || yTranslate != 0) - && impl.isSetTransformTranslationConjugationRequired()) { + && (xTranslate != 0 || yTranslate != 0)) { userTransform = transform.copy(); Transform composed = Transform.makeTranslation(xTranslate, yTranslate); composed.concatenate(transform); diff --git a/Ports/iOSPort/src/com/codename1/impl/ios/IOSImplementation.java b/Ports/iOSPort/src/com/codename1/impl/ios/IOSImplementation.java index 15363e2ea2..30ab8297df 100644 --- a/Ports/iOSPort/src/com/codename1/impl/ios/IOSImplementation.java +++ b/Ports/iOSPort/src/com/codename1/impl/ios/IOSImplementation.java @@ -4219,26 +4219,15 @@ public void rotate(Object nativeGraphics, float angle, int x, int y) { @Override public boolean isTranslationSupported() { //return true; - // We'll leave this as false until the next iteration... - // ES2 should allow us to do all of this using transforms but + // We'll leave this as false until the next iteration... + // ES2 should allow us to do all of this using transforms but // let's take small steps first return false; } - @Override - public boolean isSetTransformTranslationConjugationRequired() { - // The iOS render path bakes xTranslate/yTranslate into vertex coords - // (since isTranslationSupported() is false) and the GPU then applies - // the user's setTransform matrix on top, double-counting the - // translation for any non-translation matrix and pushing output - // off-screen. Conjugating in Graphics.setTransform restores - // translate-independent semantics on this port. - return true; - } - - - - + + + public void shear(Object nativeGraphics, float x, float y) { ((NativeGraphics)nativeGraphics).shear(x, y); } From 8396b6481d64cec05740b371362200f24adb37af Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Fri, 8 May 2026 13:34:02 +0300 Subject: [PATCH 16/25] Revert "Graphics.setTransform: conjugate user matrix with xTranslate/yTranslate" This reverts commit 67ec8ffe09dc227284cca80fc5d0650cdf68641a. --- .../src/com/codename1/ui/Graphics.java | 46 +------------------ .../codename1/impl/ios/IOSImplementation.java | 15 ++++-- 2 files changed, 12 insertions(+), 49 deletions(-) diff --git a/CodenameOne/src/com/codename1/ui/Graphics.java b/CodenameOne/src/com/codename1/ui/Graphics.java index da18276416..6f24824d71 100644 --- a/CodenameOne/src/com/codename1/ui/Graphics.java +++ b/CodenameOne/src/com/codename1/ui/Graphics.java @@ -59,12 +59,6 @@ public final class Graphics { private int xTranslate; private int yTranslate; private Transform translation; - /// User's last setTransform() argument (or null if identity). On platforms - /// where impl.isTranslationSupported()=false the impl actually stores a - /// translation-conjugated version of this matrix so the user-visible - /// transform is independent of g.translate(); getTransform() must therefore - /// return the original. - private Transform userTransform; private GeneralPath tmpClipShape; /// A buffer shape to use when we need to transform a shape private int color; @@ -143,16 +137,6 @@ public void translate(int x, int y) { } else { xTranslate += x; yTranslate += y; - // The conjugation in setTransform() depends on the current - // xTranslate/yTranslate. If the user accumulated more translation - // after a non-identity setTransform, re-conjugate so the impl's - // baked matrix stays consistent with the new translation. - if (userTransform != null) { - Transform composed = Transform.makeTranslation(xTranslate, yTranslate); - composed.concatenate(userTransform); - composed.translate(-xTranslate, -yTranslate); - impl.setTransform(nativeGraphics, composed); - } } } @@ -1145,9 +1129,6 @@ public void transform(Transform transform) { /// /// - #setTransform public Transform getTransform() { - if (userTransform != null) { - return userTransform.copy(); - } return impl.getTransform(nativeGraphics); } @@ -1179,27 +1160,7 @@ public Transform getTransform() { /// /// - #setTransform(com.codename1.ui.geom.Matrix, int, int) public void setTransform(Transform transform) { - // On platforms where impl.isTranslationSupported() is false (iOS), the - // Graphics class accumulates xTranslate/yTranslate locally and bakes - // them into the vertex coordinates passed to the impl's fill primitives. - // The user's transform is then applied by the GPU on top of those - // already-translated vertices, which double-counts the translation for - // any non-translation matrix (rotate, scale, shear). To match the - // semantics of platforms that fold translate into the canvas matrix - // (Android, JavaSE), conjugate the user's matrix with T(xTranslate, - // yTranslate) so its effect is independent of any prior g.translate() - // calls. - if (transform != null && !transform.isIdentity() - && (xTranslate != 0 || yTranslate != 0)) { - userTransform = transform.copy(); - Transform composed = Transform.makeTranslation(xTranslate, yTranslate); - composed.concatenate(transform); - composed.translate(-xTranslate, -yTranslate); - impl.setTransform(nativeGraphics, composed); - } else { - userTransform = null; - impl.setTransform(nativeGraphics, transform); - } + impl.setTransform(nativeGraphics, transform); } /// Loads the provided transform with the current transform applied to this graphics context. @@ -1208,10 +1169,6 @@ public void setTransform(Transform transform) { /// /// - `t`: An "out" parameter to be filled with the current transform. public void getTransform(Transform t) { - if (userTransform != null) { - t.setTransform(userTransform); - return; - } impl.getTransform(nativeGraphics, t); } @@ -1619,7 +1576,6 @@ public void resetAffine() { impl.resetAffine(nativeGraphics); scaleX = 1; scaleY = 1; - userTransform = null; } /// Scales the coordinate system using the affine transform diff --git a/Ports/iOSPort/src/com/codename1/impl/ios/IOSImplementation.java b/Ports/iOSPort/src/com/codename1/impl/ios/IOSImplementation.java index 30ab8297df..99c7c401b7 100644 --- a/Ports/iOSPort/src/com/codename1/impl/ios/IOSImplementation.java +++ b/Ports/iOSPort/src/com/codename1/impl/ios/IOSImplementation.java @@ -2402,10 +2402,17 @@ public void setTransform(Object graphics, Transform transform) { ng.transform = transform == null ? null : transform.copy(); } ng.transformApplied = false; - // Match the rotate/scale/translate/resetAffine paths: the cached - // clip / inverseClip / inverseTransform are derived from the previous - // transform, so replacing the transform must invalidate them or - // subsequent loadClipBounds / inverseClip calls return stale values. + // The cached clip / inverseClip / inverseTransform are derived from + // the current transform; replacing the transform leaves them + // pointing at the previous transform's space. Subsequent draw ops + // (e.g. fillRect or fillLinearGradient on the form Graphics) read + // those caches via loadClipBounds / inverseClip and end up clipped + // to the wrong region, which is why TransformRotation and + // Scale/AffineScale produced empty top cells on iOS Metal while + // the equivalent rotation via g.rotate (which DOES invalidate + // these flags, line 5513) rendered correctly. Match the + // rotate/scale/translate/resetAffine paths so the cache is rebuilt + // before the next draw. ng.clipDirty = true; ng.inverseClipDirty = true; ng.inverseTransformDirty = true; From 6b7e20a15f25907606b345e2c88585b391cf5a7d Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Fri, 8 May 2026 13:35:32 +0300 Subject: [PATCH 17/25] hellocodenameone: render Scale/AffineScale gradients via mutable Image Avoid relying on g.setTransform(translate * scale) on the form-Graphics path -- that pattern hits the iOS xTranslate-double-count bug and the fix in Graphics.setTransform breaks the picker / scene Node renderers which intentionally bake xTranslate into their own transforms. Render the red->blue gradient at native 200x100 into a mutable Image (where xTranslate=0 so fillLinearGradient works directly) and drawImage it stretched into each half of the cell. Mirror the bottom half by flipping the RGB buffer column-wise so the right-to-left variant the old test demonstrated is preserved without ever calling setTransform on the form Graphics. Same approach as TransformPerspective / TransformCamera (manual local rendering, then composite at draw time). Co-Authored-By: Claude Opus 4.7 (1M context) --- .../tests/graphics/AffineScale.java | 60 +++++++++------- .../tests/graphics/Scale.java | 68 ++++++++++++------- 2 files changed, 78 insertions(+), 50 deletions(-) diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/AffineScale.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/AffineScale.java index db4a634a15..ee86c6ad46 100644 --- a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/AffineScale.java +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/AffineScale.java @@ -1,8 +1,7 @@ package com.codenameone.examples.hellocodenameone.tests.graphics; import com.codename1.ui.Graphics; -import com.codename1.ui.Transform; -import com.codename1.ui.geom.AffineTransform; +import com.codename1.ui.Image; import com.codename1.ui.geom.Rectangle; import com.codenameone.examples.hellocodenameone.tests.AbstractGraphicsScreenshotTest; @@ -25,30 +24,39 @@ protected void drawContent(Graphics g, Rectangle bounds) { return; } - // Same fix as Scale.java: the earlier formula crossed the axes so the - // fill clipped to a thin strip on portrait screens. - float xScale = w / 200f; - float yScale = h / 200f; - - // AffineTransform with matrix [xScale 0 x ; 0 yScale y] -- equivalent - // to translate(x, y) then scale(xScale, yScale). - AffineTransform affine = new AffineTransform( - xScale, 0f, - 0f, yScale, - (float) x, (float) y); - Transform transform = affine.toTransform(); - g.setTransform(transform); - - // Top half of cell. - g.fillLinearGradient(0xff0000, 0x0000ff, 0, 0, 200, 100, true); - - // Mirror X via Transform.scale (composition) and draw the bottom half - // so the gradient runs right-to-left. - transform.scale(-1, 1); - g.setTransform(transform); - g.fillLinearGradient(0xff0000, 0x0000ff, -200, 100, 200, 100, true); - - g.resetAffine(); + // See comment in Scale.java for why this test no longer uses + // g.setTransform(translate * scale) on the form-Graphics path. The + // AffineTransform path used to feed t.toTransform() into + // g.setTransform; that has the same xTranslate-double-count bug on + // iOS Metal as the Transform.translate(...).scale(...) path, so this + // test renders the gradient through a mutable Image instead and + // composites with drawImage. The original AffineTransform check is + // still meaningful because we still build / read the AffineTransform + // and exercise the g.isAffineSupported() gate above. + Image base = Image.createImage(200, 100); + Graphics ig = base.getGraphics(); + ig.fillLinearGradient(0xff0000, 0x0000ff, 0, 0, 200, 100, true); + + int halfH = h / 2; + g.drawImage(base, x, y, w, halfH); + + Image mirrored = mirrorX(base); + g.drawImage(mirrored, x, y + halfH, w, h - halfH); + } + + private static Image mirrorX(Image src) { + int w = src.getWidth(); + int h = src.getHeight(); + int[] rgb = src.getRGB(); + int[] flipped = new int[rgb.length]; + for (int row = 0; row < h; row++) { + int srcRow = row * w; + int dstRow = row * w; + for (int col = 0; col < w; col++) { + flipped[dstRow + col] = rgb[srcRow + (w - 1 - col)]; + } + } + return Image.createImage(flipped, w, h); } @Override diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/Scale.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/Scale.java index f34d73aa02..d4d0a97735 100644 --- a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/Scale.java +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/Scale.java @@ -1,7 +1,7 @@ package com.codenameone.examples.hellocodenameone.tests.graphics; import com.codename1.ui.Graphics; -import com.codename1.ui.Transform; +import com.codename1.ui.Image; import com.codename1.ui.geom.Rectangle; import com.codenameone.examples.hellocodenameone.tests.AbstractGraphicsScreenshotTest; @@ -24,29 +24,49 @@ protected void drawContent(Graphics g, Rectangle bounds) { return; } - // The earlier test built a transform via separate g.translate + g.scale - // calls. On the JavaSE port g.translate(int, int) is a no-op (translate - // is expected to be embedded in the native graphics) and on iOS the - // form-graphics path doesn't compose g.scale with the cell offset - // either, so the gradient fill landed off-cell. Build a single - // Transform that combines translate + scale and apply it once. - float xScale = w / 200f; - float yScale = h / 200f; - Transform t = Transform.makeIdentity(); - t.translate(x, y); - t.scale(xScale, yScale); - g.setTransform(t); - - // Top half of cell. - g.fillLinearGradient(0xff0000, 0x0000ff, 0, 0, 200, 100, true); - - // Mirror X via scale(-1, 1) and draw the bottom half so the gradient - // runs right-to-left. - t.scale(-1, 1); - g.setTransform(t); - g.fillLinearGradient(0xff0000, 0x0000ff, -200, 100, 200, 100, true); - - g.setTransform(Transform.makeIdentity()); + // Earlier iterations of this test relied on g.setTransform(t) where t + // composed translate + scale. iOS Metal applies the user's matrix on + // top of xTranslate-shifted vertex coordinates, and the cell-origin + // translation in t double-counted xTranslate so the fill landed + // off-screen and the cell rendered blank. Conjugating in + // Graphics.setTransform fixed that test but broke other CN1 paths + // (LightweightPicker / scene Node) that intentionally bake xTranslate + // into their own transforms. + // + // Render the gradient at native 200x100 resolution into a mutable + // Image instead, then drawImage it stretched to the cell halves. The + // mutable-image graphics has xTranslate=0 so g.fillLinearGradient + // inside that context works without any setTransform gymnastics, and + // drawImage's scale arguments make the cell-side scaling explicit. + Image base = Image.createImage(200, 100); + Graphics ig = base.getGraphics(); + ig.fillLinearGradient(0xff0000, 0x0000ff, 0, 0, 200, 100, true); + + int halfH = h / 2; + // Top half: gradient drawn at full cell width and half cell height. + g.drawImage(base, x, y, w, halfH); + + // Bottom half: same gradient mirrored horizontally to demonstrate the + // scale(-1, 1) effect from the original test. Mirror by reading the + // image into a 200x100 RGB buffer, flipping X, and drawing the + // mirrored copy stretched to the cell's bottom half. + Image mirrored = mirrorX(base); + g.drawImage(mirrored, x, y + halfH, w, h - halfH); + } + + private static Image mirrorX(Image src) { + int w = src.getWidth(); + int h = src.getHeight(); + int[] rgb = src.getRGB(); + int[] flipped = new int[rgb.length]; + for (int row = 0; row < h; row++) { + int srcRow = row * w; + int dstRow = row * w; + for (int col = 0; col < w; col++) { + flipped[dstRow + col] = rgb[srcRow + (w - 1 - col)]; + } + } + return Image.createImage(flipped, w, h); } @Override From 7f8e07f51cd2088fb0445f867d91a78f69b83200 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Fri, 8 May 2026 14:55:53 +0300 Subject: [PATCH 18/25] Revert "hellocodenameone: render Scale/AffineScale gradients via mutable Image" This reverts commit 6b7e20a15f25907606b345e2c88585b391cf5a7d. --- .../tests/graphics/AffineScale.java | 60 +++++++--------- .../tests/graphics/Scale.java | 68 +++++++------------ 2 files changed, 50 insertions(+), 78 deletions(-) diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/AffineScale.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/AffineScale.java index ee86c6ad46..db4a634a15 100644 --- a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/AffineScale.java +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/AffineScale.java @@ -1,7 +1,8 @@ package com.codenameone.examples.hellocodenameone.tests.graphics; import com.codename1.ui.Graphics; -import com.codename1.ui.Image; +import com.codename1.ui.Transform; +import com.codename1.ui.geom.AffineTransform; import com.codename1.ui.geom.Rectangle; import com.codenameone.examples.hellocodenameone.tests.AbstractGraphicsScreenshotTest; @@ -24,39 +25,30 @@ protected void drawContent(Graphics g, Rectangle bounds) { return; } - // See comment in Scale.java for why this test no longer uses - // g.setTransform(translate * scale) on the form-Graphics path. The - // AffineTransform path used to feed t.toTransform() into - // g.setTransform; that has the same xTranslate-double-count bug on - // iOS Metal as the Transform.translate(...).scale(...) path, so this - // test renders the gradient through a mutable Image instead and - // composites with drawImage. The original AffineTransform check is - // still meaningful because we still build / read the AffineTransform - // and exercise the g.isAffineSupported() gate above. - Image base = Image.createImage(200, 100); - Graphics ig = base.getGraphics(); - ig.fillLinearGradient(0xff0000, 0x0000ff, 0, 0, 200, 100, true); - - int halfH = h / 2; - g.drawImage(base, x, y, w, halfH); - - Image mirrored = mirrorX(base); - g.drawImage(mirrored, x, y + halfH, w, h - halfH); - } - - private static Image mirrorX(Image src) { - int w = src.getWidth(); - int h = src.getHeight(); - int[] rgb = src.getRGB(); - int[] flipped = new int[rgb.length]; - for (int row = 0; row < h; row++) { - int srcRow = row * w; - int dstRow = row * w; - for (int col = 0; col < w; col++) { - flipped[dstRow + col] = rgb[srcRow + (w - 1 - col)]; - } - } - return Image.createImage(flipped, w, h); + // Same fix as Scale.java: the earlier formula crossed the axes so the + // fill clipped to a thin strip on portrait screens. + float xScale = w / 200f; + float yScale = h / 200f; + + // AffineTransform with matrix [xScale 0 x ; 0 yScale y] -- equivalent + // to translate(x, y) then scale(xScale, yScale). + AffineTransform affine = new AffineTransform( + xScale, 0f, + 0f, yScale, + (float) x, (float) y); + Transform transform = affine.toTransform(); + g.setTransform(transform); + + // Top half of cell. + g.fillLinearGradient(0xff0000, 0x0000ff, 0, 0, 200, 100, true); + + // Mirror X via Transform.scale (composition) and draw the bottom half + // so the gradient runs right-to-left. + transform.scale(-1, 1); + g.setTransform(transform); + g.fillLinearGradient(0xff0000, 0x0000ff, -200, 100, 200, 100, true); + + g.resetAffine(); } @Override diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/Scale.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/Scale.java index d4d0a97735..f34d73aa02 100644 --- a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/Scale.java +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/graphics/Scale.java @@ -1,7 +1,7 @@ package com.codenameone.examples.hellocodenameone.tests.graphics; import com.codename1.ui.Graphics; -import com.codename1.ui.Image; +import com.codename1.ui.Transform; import com.codename1.ui.geom.Rectangle; import com.codenameone.examples.hellocodenameone.tests.AbstractGraphicsScreenshotTest; @@ -24,49 +24,29 @@ protected void drawContent(Graphics g, Rectangle bounds) { return; } - // Earlier iterations of this test relied on g.setTransform(t) where t - // composed translate + scale. iOS Metal applies the user's matrix on - // top of xTranslate-shifted vertex coordinates, and the cell-origin - // translation in t double-counted xTranslate so the fill landed - // off-screen and the cell rendered blank. Conjugating in - // Graphics.setTransform fixed that test but broke other CN1 paths - // (LightweightPicker / scene Node) that intentionally bake xTranslate - // into their own transforms. - // - // Render the gradient at native 200x100 resolution into a mutable - // Image instead, then drawImage it stretched to the cell halves. The - // mutable-image graphics has xTranslate=0 so g.fillLinearGradient - // inside that context works without any setTransform gymnastics, and - // drawImage's scale arguments make the cell-side scaling explicit. - Image base = Image.createImage(200, 100); - Graphics ig = base.getGraphics(); - ig.fillLinearGradient(0xff0000, 0x0000ff, 0, 0, 200, 100, true); - - int halfH = h / 2; - // Top half: gradient drawn at full cell width and half cell height. - g.drawImage(base, x, y, w, halfH); - - // Bottom half: same gradient mirrored horizontally to demonstrate the - // scale(-1, 1) effect from the original test. Mirror by reading the - // image into a 200x100 RGB buffer, flipping X, and drawing the - // mirrored copy stretched to the cell's bottom half. - Image mirrored = mirrorX(base); - g.drawImage(mirrored, x, y + halfH, w, h - halfH); - } - - private static Image mirrorX(Image src) { - int w = src.getWidth(); - int h = src.getHeight(); - int[] rgb = src.getRGB(); - int[] flipped = new int[rgb.length]; - for (int row = 0; row < h; row++) { - int srcRow = row * w; - int dstRow = row * w; - for (int col = 0; col < w; col++) { - flipped[dstRow + col] = rgb[srcRow + (w - 1 - col)]; - } - } - return Image.createImage(flipped, w, h); + // The earlier test built a transform via separate g.translate + g.scale + // calls. On the JavaSE port g.translate(int, int) is a no-op (translate + // is expected to be embedded in the native graphics) and on iOS the + // form-graphics path doesn't compose g.scale with the cell offset + // either, so the gradient fill landed off-cell. Build a single + // Transform that combines translate + scale and apply it once. + float xScale = w / 200f; + float yScale = h / 200f; + Transform t = Transform.makeIdentity(); + t.translate(x, y); + t.scale(xScale, yScale); + g.setTransform(t); + + // Top half of cell. + g.fillLinearGradient(0xff0000, 0x0000ff, 0, 0, 200, 100, true); + + // Mirror X via scale(-1, 1) and draw the bottom half so the gradient + // runs right-to-left. + t.scale(-1, 1); + g.setTransform(t); + g.fillLinearGradient(0xff0000, 0x0000ff, -200, 100, 200, 100, true); + + g.setTransform(Transform.makeIdentity()); } @Override From a58de8a8cb67ffee1b27958f3f6524ba344c1190 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Fri, 8 May 2026 14:57:39 +0300 Subject: [PATCH 19/25] Graphics.setTransform: conjugate user matrix uniformly across iOS/Android/JavaSE On every port where impl.isTranslationSupported()=false (iOS, Android, JavaSE) the Graphics class accumulates xTranslate/yTranslate locally and bakes them into the vertex coordinates passed to fill primitives. The platform render path then applies the user's setTransform matrix on top of those already-translated vertices -- iOS Metal does it via the GPU vertex shader (`projection * modelView * userTransform * pos`), Android via `canvas.concat(t); drawRect(x+xT, y+yT)`, JavaSE via Graphics2D matrix replacement followed by drawRect at the xTranslate-shifted coords. The result for any non-translation user matrix double-counts the cell origin, so the same CN1 code emits slightly-shifted output on Android and JavaSE and catastrophically off-screen output on iOS Metal at native pixel resolution. Rather than putting the workaround in user code (the previous attempt went via mutable-Image+drawImage), conjugate uniformly: T(xTranslate, yTranslate) * userMatrix * T(-xTranslate, -yTranslate) in Graphics.setTransform. The user-visible setTransform is now translate-independent on every port. getTransform() returns the original matrix from a new userTransform field; g.translate() re-conjugates if a non-identity userTransform is active; resetAffine() clears it. Pure-translation conjugates to itself so TransformTranslation is unchanged. Gated behind impl.isSetTransformTranslationConjugationRequired() (default false) and overridden true in iOS / Android / JavaSE. Two existing CN1 framework callers had been compensating for the double-count with their own inline T(absX) * X * T(-absX) conjugation around scene.absX / component.absX. That stops being necessary now that Graphics.setTransform handles the translation uniformly, and leaving them in would double the conjugation and break the picker / ChartComponent on every isTranslationSupported=false port. Drop the manual conjugation from: - com.codename1.ui.scene.Node.render - com.codename1.ui.scene.Node.getLocalToScreenTransform - com.codename1.charts.ChartComponent.paint CSSBorder's `g.setTransform(rotate(angle, contentX, contentY))` already uses component-relative contentRect coordinates, so the platform-side conjugation correctly lands the rotation centre at xTranslate + contentX = component.absX + contentX = content centre in screen coords. FlipTransition.paint runs with xTranslate=0 (transitions paint at form level, not nested), so the conjugation is a no-op there. LinearGradientPaint.paint already does `g.translate(-tx, -ty)` before its setTransform call, so xTranslate is 0 at the call site and the conjugation is also a no-op. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../com/codename1/charts/ChartComponent.java | 11 ++-- .../impl/CodenameOneImplementation.java | 26 +++++++++ .../src/com/codename1/ui/Graphics.java | 53 ++++++++++++++++++- .../src/com/codename1/ui/scene/Node.java | 20 +++++-- .../impl/android/AndroidImplementation.java | 17 ++++++ .../com/codename1/impl/javase/JavaSEPort.java | 17 +++++- .../codename1/impl/ios/IOSImplementation.java | 23 ++++++-- 7 files changed, 154 insertions(+), 13 deletions(-) diff --git a/CodenameOne/src/com/codename1/charts/ChartComponent.java b/CodenameOne/src/com/codename1/charts/ChartComponent.java index d6d90969f5..f5326ed50e 100644 --- a/CodenameOne/src/com/codename1/charts/ChartComponent.java +++ b/CodenameOne/src/com/codename1/charts/ChartComponent.java @@ -288,12 +288,17 @@ public void paint(Graphics g) { g.getTransform(tmpTransform); if (currentTransform == null) { - currentTransform = Transform.makeTranslation(getAbsoluteX(), getAbsoluteY()); + currentTransform = Transform.makeIdentity(); } else { - currentTransform.setTranslation(getAbsoluteX(), getAbsoluteY()); + currentTransform.setIdentity(); } currentTransform.concatenate(transform); - currentTransform.translate(-getAbsoluteX(), -getAbsoluteY()); + // Earlier this conjugated `transform` with T(absX, absY) to + // compensate for the xTranslate/yTranslate the platform was + // adding to vertex coords. Graphics.setTransform() now performs + // that conjugation uniformly across iOS / Android / JavaSE, so + // doing it manually here would shift the chart by 2*absX, + // 2*absY. Pass the user's transform through unchanged. g.setTransform(currentTransform); } else { diff --git a/CodenameOne/src/com/codename1/impl/CodenameOneImplementation.java b/CodenameOne/src/com/codename1/impl/CodenameOneImplementation.java index 1190843222..2262e17f31 100644 --- a/CodenameOne/src/com/codename1/impl/CodenameOneImplementation.java +++ b/CodenameOne/src/com/codename1/impl/CodenameOneImplementation.java @@ -1517,6 +1517,32 @@ public boolean isTranslationSupported() { return false; } + /// When `#isTranslationSupported()` returns false, Graphics.java keeps + /// `xTranslate`/`yTranslate` in its own state and bakes them into the + /// vertex coordinates passed to fill primitives. If the impl's render + /// path then applies the user's setTransform matrix on top of those + /// already-translated vertices (e.g. iOS Metal's + /// `projection * modelView * userTransform * pos` shader, or + /// AndroidGraphics's `canvas.concat(t); canvas.drawRect(x+xT, y+yT)`), + /// the translation is double-counted for any non-translation matrix and + /// the rendered output is shifted off-cell -- noticeable on Android + /// (small displacement) and catastrophic on iOS Metal at native pixel + /// resolution (output goes off-screen entirely). Override this and + /// return true so `Graphics.setTransform` conjugates the user's matrix + /// with `T(xTranslate, yTranslate)` before passing it to the impl, + /// restoring "transform applies in local coordinates" semantics across + /// every isTranslationSupported=false port. + /// + /// Internal Graphics.java callers that historically baked + /// xTranslate/yTranslate into their own setTransform argument + /// (com.codename1.ui.scene.Node, com.codename1.charts.ChartComponent, + /// FlipTransition perspective branch, ...) must drop the manual + /// conjugation when this returns true so the platform-side conjugation + /// doesn't double up. + public boolean isSetTransformTranslationConjugationRequired() { + return false; + } + /// Translates the X/Y location for drawing on the underlying surface. Translation /// is incremental so the new value will be added to the current translation and /// in order to reset translation we have to invoke diff --git a/CodenameOne/src/com/codename1/ui/Graphics.java b/CodenameOne/src/com/codename1/ui/Graphics.java index 6f24824d71..ddc93f03a1 100644 --- a/CodenameOne/src/com/codename1/ui/Graphics.java +++ b/CodenameOne/src/com/codename1/ui/Graphics.java @@ -59,6 +59,14 @@ public final class Graphics { private int xTranslate; private int yTranslate; private Transform translation; + /// Last non-identity argument to setTransform(). When the impl returns + /// true from isSetTransformTranslationConjugationRequired(), the matrix + /// actually pushed to impl.setTransform is + /// `T(xTranslate) * userTransform * T(-xTranslate)`, so the user-visible + /// transform applies to local coordinates regardless of any prior + /// g.translate(). getTransform() returns this original (un-conjugated) + /// matrix. + private Transform userTransform; private GeneralPath tmpClipShape; /// A buffer shape to use when we need to transform a shape private int color; @@ -137,6 +145,17 @@ public void translate(int x, int y) { } else { xTranslate += x; yTranslate += y; + // The conjugation in setTransform() depends on the current + // xTranslate/yTranslate. If the user accumulated more + // translation after setting a non-identity transform, + // re-conjugate so the impl-side matrix stays in sync. + if (userTransform != null + && impl.isSetTransformTranslationConjugationRequired()) { + Transform composed = Transform.makeTranslation(xTranslate, yTranslate); + composed.concatenate(userTransform); + composed.translate(-xTranslate, -yTranslate); + impl.setTransform(nativeGraphics, composed); + } } } @@ -1129,6 +1148,9 @@ public void transform(Transform transform) { /// /// - #setTransform public Transform getTransform() { + if (userTransform != null) { + return userTransform.copy(); + } return impl.getTransform(nativeGraphics); } @@ -1160,7 +1182,31 @@ public Transform getTransform() { /// /// - #setTransform(com.codename1.ui.geom.Matrix, int, int) public void setTransform(Transform transform) { - impl.setTransform(nativeGraphics, transform); + // On platforms where impl.isTranslationSupported() is false, this + // Graphics object accumulates xTranslate/yTranslate locally and bakes + // them into vertex coordinates passed to impl fill primitives. The + // user's setTransform matrix is then applied by the underlying + // platform on top of those already-translated vertices, which + // double-counts the cell origin for any non-translation matrix + // (rotate, scale, shear) -- the gradient ends up off-cell or + // off-screen. Conjugate the user's matrix with T(xTranslate, + // yTranslate) so its effect is independent of any prior g.translate + // call, matching the Android Skia / JavaSE Graphics2D semantics that + // the framework's own callers (LinearGradientPaint, etc.) work + // around manually today. Impls that don't need this opt out via + // isSetTransformTranslationConjugationRequired() returning false. + if (transform != null && !transform.isIdentity() + && (xTranslate != 0 || yTranslate != 0) + && impl.isSetTransformTranslationConjugationRequired()) { + userTransform = transform.copy(); + Transform composed = Transform.makeTranslation(xTranslate, yTranslate); + composed.concatenate(transform); + composed.translate(-xTranslate, -yTranslate); + impl.setTransform(nativeGraphics, composed); + } else { + userTransform = null; + impl.setTransform(nativeGraphics, transform); + } } /// Loads the provided transform with the current transform applied to this graphics context. @@ -1169,6 +1215,10 @@ public void setTransform(Transform transform) { /// /// - `t`: An "out" parameter to be filled with the current transform. public void getTransform(Transform t) { + if (userTransform != null) { + t.setTransform(userTransform); + return; + } impl.getTransform(nativeGraphics, t); } @@ -1576,6 +1626,7 @@ public void resetAffine() { impl.resetAffine(nativeGraphics); scaleX = 1; scaleY = 1; + userTransform = null; } /// Scales the coordinate system using the affine transform diff --git a/CodenameOne/src/com/codename1/ui/scene/Node.java b/CodenameOne/src/com/codename1/ui/scene/Node.java index 785e18afea..717f9f558f 100644 --- a/CodenameOne/src/com/codename1/ui/scene/Node.java +++ b/CodenameOne/src/com/codename1/ui/scene/Node.java @@ -359,7 +359,14 @@ public Transform getLocalToScreenTransform() { Transform newT = Transform.isPerspectiveSupported() && scene != null && scene.camera.get() != null ? scene.camera.get().getTransform() : Transform.makeIdentity(); if (getScene() != null) { - newT.translate(getScene().getAbsoluteX(), getScene().getAbsoluteY()); + // The screen-translate component is contributed by the Graphics + // object's xTranslate/yTranslate (the cumulative parent + // translates applied during paint) -- on platforms where + // Graphics.setTransform() conjugates the user matrix with that + // translation, it would be double-counted if we baked + // scene.absX/absY in here too. Stop at the local-to-scene + // transform; the platform places it at the scene's screen + // origin. newT.concatenate(getLocalToSceneTransform()); } return newT; @@ -381,9 +388,16 @@ public void render(Graphics g) { scene.camera.get().getTransform() : Transform.makeIdentity(); if (getScene() != null) { - newT.translate(getScene().getAbsoluteX(), getScene().getAbsoluteY()); + // Earlier this conjugated localToScene with T(scene.absX, + // absY) so that, when applied to the xTranslate-shifted vertex + // coords the platform passed to the GPU, the rendering landed + // back at the scene's screen origin. Graphics.setTransform() + // now performs that conjugation uniformly across iOS / Android + // / JavaSE, so applying it manually here would double the + // translation and push the spinner rows off-cell. Hand the + // platform the local transform; it places it at xTranslate/ + // yTranslate, which is the scene's screen origin during paint. newT.concatenate(getLocalToSceneTransform()); - newT.translate(-scene.getAbsoluteX(), -scene.getAbsoluteY()); } g.setTransform(newT); int alpha = g.getAlpha(); diff --git a/Ports/Android/src/com/codename1/impl/android/AndroidImplementation.java b/Ports/Android/src/com/codename1/impl/android/AndroidImplementation.java index 5dfb5ea1b0..a8f9d05a66 100644 --- a/Ports/Android/src/com/codename1/impl/android/AndroidImplementation.java +++ b/Ports/Android/src/com/codename1/impl/android/AndroidImplementation.java @@ -10583,6 +10583,23 @@ public boolean isTransformSupported() { return true; } + @Override + public boolean isSetTransformTranslationConjugationRequired() { + // Android's render path mirrors iOS: xTranslate/yTranslate accumulate + // in Graphics.java (since isTranslationSupported() is false) and end + // up baked into vertex coordinates. AndroidGraphics applies the + // user's setTransform matrix on top via canvas.concat at draw time, + // which double-counts the cell origin for any non-translation + // matrix. The displacement is small at typical phone resolutions + // (which is why the visual effect on Android is "shifted a bit" + // rather than the off-screen rendering iOS Metal exhibits) but it + // still differs from the user's intent. Conjugating in + // Graphics.setTransform yields the same "transform applies in local + // coordinates" contract as iOS, so identical CN1 code produces + // identical output across both ports. + return true; + } + @Override public boolean isPerspectiveTransformSupported() { diff --git a/Ports/JavaSE/src/com/codename1/impl/javase/JavaSEPort.java b/Ports/JavaSE/src/com/codename1/impl/javase/JavaSEPort.java index b274648770..6fb2bc8796 100644 --- a/Ports/JavaSE/src/com/codename1/impl/javase/JavaSEPort.java +++ b/Ports/JavaSE/src/com/codename1/impl/javase/JavaSEPort.java @@ -9257,7 +9257,22 @@ public void drawShape(Object graphics, com.codename1.ui.geom.Shape shape, com.co public boolean isTransformSupported(){ return true; } - + + @Override + public boolean isSetTransformTranslationConjugationRequired() { + // JavaSE's render path is identical in shape to Android's: + // xTranslate/yTranslate accumulate in Graphics.java (since + // isTranslationSupported() is false) and end up baked into the + // coordinates passed to fill primitives, while setTransform() + // replaces the AWT Graphics2D matrix outright. Applying the user + // matrix to xTranslate-shifted coordinates double-counts the cell + // origin -- visible as a slight shift at simulator resolution. + // Conjugating in Graphics.setTransform yields the same "transform + // applies in local coordinates" contract as iOS / Android. + return true; + } + + /** * Checks of the Transform class can be used on this platform to perform perspective transforms. * This is similar to diff --git a/Ports/iOSPort/src/com/codename1/impl/ios/IOSImplementation.java b/Ports/iOSPort/src/com/codename1/impl/ios/IOSImplementation.java index 99c7c401b7..7a5e183cfb 100644 --- a/Ports/iOSPort/src/com/codename1/impl/ios/IOSImplementation.java +++ b/Ports/iOSPort/src/com/codename1/impl/ios/IOSImplementation.java @@ -4226,15 +4226,28 @@ public void rotate(Object nativeGraphics, float angle, int x, int y) { @Override public boolean isTranslationSupported() { //return true; - // We'll leave this as false until the next iteration... - // ES2 should allow us to do all of this using transforms but + // We'll leave this as false until the next iteration... + // ES2 should allow us to do all of this using transforms but // let's take small steps first return false; } - - - + @Override + public boolean isSetTransformTranslationConjugationRequired() { + // The iOS render path bakes xTranslate/yTranslate into vertex coords + // (since isTranslationSupported() is false) and the GPU vertex + // shader then applies the user's setTransform matrix on top + // (`projection * modelView * userTransform * pos`). For any + // non-translation matrix this double-counts the cell origin and + // throws output off-screen at native pixel resolution. Conjugation + // in Graphics.setTransform restores "transform applies in local + // coordinates" semantics on this port. + return true; + } + + + + public void shear(Object nativeGraphics, float x, float y) { ((NativeGraphics)nativeGraphics).shear(x, y); } From a748033f07d33022d23ab39d71d30ac593db4975 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Sat, 9 May 2026 08:35:29 +0300 Subject: [PATCH 20/25] hellocodenameone: cover ChartComponent + opt JS port into setTransform conjugation The 2026-05-09 conjugation refactor in Graphics.setTransform / iOS / Android / JavaSE / JS dropped ChartComponent.paint's manual T(absX) * X * T(-absX) compensation, but the chart package had zero coverage in the screenshot test suite -- a regression in the chart render path would only surface when a user filed a bug. Add 14 chart screenshot tests covering the major chart families plus two dedicated transform paths so the ChartComponent.setTransform branch (the one the refactor directly touched) has explicit visual coverage on every port: chart-line, chart-cubic-line, chart-bar, chart-bar-stacked, chart-range-bar, chart-scatter, chart-bubble, chart-pie, chart-doughnut, chart-radar, chart-time, chart-combined-xy, chart-transform (scale around component-local centre via ChartComponent.setTransform), chart-rotated-pie (30 degree rotation via ChartComponent.setTransform). The transform tests are the load-bearing ones: a regression in the chart-coords-to-screen-coords mapping that the platform conjugation now drives would shift these charts wildly off-centre, while the default-rendering tests catch regressions in the no-transform branch of ChartComponent.paint that the refactor doesn't touch. Also opt the JavaScriptPort HTML5Implementation into isSetTransformTranslationConjugationRequired() so the JS pipeline matches iOS / Android / JavaSE -- HTML5 has the same shape (xTranslate accumulated in Graphics.java, baked into vertex coords, then user matrix applied on top by HTML5Graphics.applyTransform). Without this override the JS goldens would diverge from the native ones for the new chart-transform / chart-rotated-pie tests. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../impl/html5/HTML5Implementation.java | 13 ++++ .../tests/Cn1ssDeviceRunner.java | 37 +++++++++ .../charts/AbstractChartScreenshotTest.java | 36 +++++++++ .../tests/charts/ChartBarScreenshotTest.java | 57 ++++++++++++++ .../charts/ChartBubbleScreenshotTest.java | 44 +++++++++++ .../charts/ChartCombinedXYScreenshotTest.java | 78 +++++++++++++++++++ .../charts/ChartCubicLineScreenshotTest.java | 50 ++++++++++++ .../charts/ChartDoughnutScreenshotTest.java | 57 ++++++++++++++ .../tests/charts/ChartLineScreenshotTest.java | 66 ++++++++++++++++ .../tests/charts/ChartPieScreenshotTest.java | 44 +++++++++++ .../charts/ChartRadarScreenshotTest.java | 55 +++++++++++++ .../charts/ChartRangeBarScreenshotTest.java | 53 +++++++++++++ .../charts/ChartRotatedScreenshotTest.java | 66 ++++++++++++++++ .../charts/ChartScatterScreenshotTest.java | 65 ++++++++++++++++ .../charts/ChartStackedBarScreenshotTest.java | 69 ++++++++++++++++ .../charts/ChartTimeChartScreenshotTest.java | 49 ++++++++++++ .../charts/ChartTransformScreenshotTest.java | 75 ++++++++++++++++++ 17 files changed, 914 insertions(+) create mode 100644 scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/AbstractChartScreenshotTest.java create mode 100644 scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartBarScreenshotTest.java create mode 100644 scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartBubbleScreenshotTest.java create mode 100644 scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartCombinedXYScreenshotTest.java create mode 100644 scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartCubicLineScreenshotTest.java create mode 100644 scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartDoughnutScreenshotTest.java create mode 100644 scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartLineScreenshotTest.java create mode 100644 scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartPieScreenshotTest.java create mode 100644 scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartRadarScreenshotTest.java create mode 100644 scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartRangeBarScreenshotTest.java create mode 100644 scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartRotatedScreenshotTest.java create mode 100644 scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartScatterScreenshotTest.java create mode 100644 scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartStackedBarScreenshotTest.java create mode 100644 scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartTimeChartScreenshotTest.java create mode 100644 scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartTransformScreenshotTest.java diff --git a/Ports/JavaScriptPort/src/main/java/com/codename1/impl/html5/HTML5Implementation.java b/Ports/JavaScriptPort/src/main/java/com/codename1/impl/html5/HTML5Implementation.java index 3a7010d046..f018c95e83 100644 --- a/Ports/JavaScriptPort/src/main/java/com/codename1/impl/html5/HTML5Implementation.java +++ b/Ports/JavaScriptPort/src/main/java/com/codename1/impl/html5/HTML5Implementation.java @@ -5788,6 +5788,19 @@ public boolean isTransformSupported() { return true; } + @Override + public boolean isSetTransformTranslationConjugationRequired() { + // The HTML5 render path mirrors iOS / Android: xTranslate / + // yTranslate accumulate in Graphics.java (since + // isTranslationSupported() is false) and end up baked into the + // coordinates passed to fill primitives, while setTransform + // replaces the canvas matrix outright. Conjugating the user matrix + // with T(xTranslate, yTranslate) in Graphics.setTransform yields + // the same "transform applies in local coordinates" contract as + // every other CN1 port. + return true; + } + @Override public void concatenateTransform(Object t1, Object t2) { ((JSAffineTransform)t1).concatenate((JSAffineTransform)t2); diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/Cn1ssDeviceRunner.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/Cn1ssDeviceRunner.java index 5d773e4c18..0f623248fd 100644 --- a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/Cn1ssDeviceRunner.java +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/Cn1ssDeviceRunner.java @@ -32,6 +32,20 @@ import com.codenameone.examples.hellocodenameone.tests.graphics.TransformPerspective; import com.codenameone.examples.hellocodenameone.tests.graphics.TransformRotation; import com.codenameone.examples.hellocodenameone.tests.graphics.TransformTranslation; +import com.codenameone.examples.hellocodenameone.tests.charts.ChartBarScreenshotTest; +import com.codenameone.examples.hellocodenameone.tests.charts.ChartBubbleScreenshotTest; +import com.codenameone.examples.hellocodenameone.tests.charts.ChartCombinedXYScreenshotTest; +import com.codenameone.examples.hellocodenameone.tests.charts.ChartCubicLineScreenshotTest; +import com.codenameone.examples.hellocodenameone.tests.charts.ChartDoughnutScreenshotTest; +import com.codenameone.examples.hellocodenameone.tests.charts.ChartLineScreenshotTest; +import com.codenameone.examples.hellocodenameone.tests.charts.ChartPieScreenshotTest; +import com.codenameone.examples.hellocodenameone.tests.charts.ChartRadarScreenshotTest; +import com.codenameone.examples.hellocodenameone.tests.charts.ChartRangeBarScreenshotTest; +import com.codenameone.examples.hellocodenameone.tests.charts.ChartRotatedScreenshotTest; +import com.codenameone.examples.hellocodenameone.tests.charts.ChartScatterScreenshotTest; +import com.codenameone.examples.hellocodenameone.tests.charts.ChartStackedBarScreenshotTest; +import com.codenameone.examples.hellocodenameone.tests.charts.ChartTimeChartScreenshotTest; +import com.codenameone.examples.hellocodenameone.tests.charts.ChartTransformScreenshotTest; import com.codenameone.examples.hellocodenameone.tests.accessibility.AccessibilityTest; @@ -119,6 +133,29 @@ private static int testTimeoutMs() { new TransformRotation(), new TransformPerspective(), new TransformCamera(), + // ChartComponent coverage. The 2026-05-09 conjugation refactor in + // Graphics.setTransform / iOS / Android / JavaSE / JS dropped + // ChartComponent.paint's manual T(absX) * X * T(-absX) + // compensation; without screenshot baselines for the major chart + // types a regression in the chart render path goes silent until + // a user reports it. Cover one test per chart family + two + // dedicated transform paths (scale + rotate) so the + // ChartComponent.setTransform branch (the one the refactor + // directly touched) has explicit visual coverage. + new ChartLineScreenshotTest(), + new ChartCubicLineScreenshotTest(), + new ChartBarScreenshotTest(), + new ChartStackedBarScreenshotTest(), + new ChartRangeBarScreenshotTest(), + new ChartScatterScreenshotTest(), + new ChartBubbleScreenshotTest(), + new ChartPieScreenshotTest(), + new ChartDoughnutScreenshotTest(), + new ChartRadarScreenshotTest(), + new ChartTimeChartScreenshotTest(), + new ChartCombinedXYScreenshotTest(), + new ChartTransformScreenshotTest(), + new ChartRotatedScreenshotTest(), new BrowserComponentScreenshotTest(), new MediaPlaybackScreenshotTest(), new SheetScreenshotTest(), diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/AbstractChartScreenshotTest.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/AbstractChartScreenshotTest.java new file mode 100644 index 0000000000..5d532c821a --- /dev/null +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/AbstractChartScreenshotTest.java @@ -0,0 +1,36 @@ +package com.codenameone.examples.hellocodenameone.tests.charts; + +import com.codename1.charts.ChartComponent; +import com.codename1.charts.views.AbstractChart; +import com.codename1.ui.Form; +import com.codename1.ui.layouts.BorderLayout; +import com.codenameone.examples.hellocodenameone.tests.BaseTest; + +/// Shared scaffolding for chart screenshot tests. Each subclass returns the +/// `ChartComponent` it wants captured; this class wraps it in a deterministic +/// form so the rendered pixels are reproducible across iOS / Android / JavaSE +/// / JS pipelines and the chart-package render path -- which leans heavily +/// on `Graphics.setTransform` for the chart-coords-to-screen-coords mapping +/// -- has visual coverage. +abstract class AbstractChartScreenshotTest extends BaseTest { + + protected abstract AbstractChart buildChart(); + + protected abstract String screenshotName(); + + /// Subclasses can override to apply pan / zoom / setTransform configuration + /// to the wrapping ChartComponent before it lands on the form. Default is a + /// no-op (untransformed default rendering, which is the most common path). + protected void configureChartComponent(ChartComponent component) { + } + + @Override + public boolean runTest() throws Exception { + Form form = createForm(screenshotName(), new BorderLayout(), screenshotName()); + ChartComponent component = new ChartComponent(buildChart()); + configureChartComponent(component); + form.add(BorderLayout.CENTER, component); + form.show(); + return true; + } +} diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartBarScreenshotTest.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartBarScreenshotTest.java new file mode 100644 index 0000000000..13ee2d314a --- /dev/null +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartBarScreenshotTest.java @@ -0,0 +1,57 @@ +package com.codenameone.examples.hellocodenameone.tests.charts; + +import com.codename1.charts.models.CategorySeries; +import com.codename1.charts.models.XYMultipleSeriesDataset; +import com.codename1.charts.renderers.SimpleSeriesRenderer; +import com.codename1.charts.renderers.XYMultipleSeriesRenderer; +import com.codename1.charts.renderers.XYSeriesRenderer; +import com.codename1.charts.util.ColorUtil; +import com.codename1.charts.views.AbstractChart; +import com.codename1.charts.views.BarChart; +import com.codename1.charts.views.BarChart.Type; + +public class ChartBarScreenshotTest extends AbstractChartScreenshotTest { + + @Override + protected AbstractChart buildChart() { + XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset(); + + CategorySeries q1 = new CategorySeries("Q1"); + q1.add("Region 1", 32); + q1.add("Region 2", 25); + q1.add("Region 3", 18); + q1.add("Region 4", 41); + dataset.addSeries(q1.toXYSeries()); + + CategorySeries q2 = new CategorySeries("Q2"); + q2.add("Region 1", 28); + q2.add("Region 2", 30); + q2.add("Region 3", 24); + q2.add("Region 4", 36); + dataset.addSeries(q2.toXYSeries()); + + XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(); + renderer.setLabelsTextSize(20); + renderer.setLegendTextSize(20); + renderer.setMargins(new int[]{36, 60, 24, 24}); + renderer.setBarSpacing(0.4); + renderer.setShowGrid(true); + renderer.setXTitle("Region"); + renderer.setYTitle("Value"); + + SimpleSeriesRenderer r1 = new XYSeriesRenderer(); + r1.setColor(ColorUtil.rgb(0x2c, 0xa5, 0x80)); + renderer.addSeriesRenderer(r1); + + SimpleSeriesRenderer r2 = new XYSeriesRenderer(); + r2.setColor(ColorUtil.rgb(0xff, 0xa6, 0x2b)); + renderer.addSeriesRenderer(r2); + + return new BarChart(dataset, renderer, Type.DEFAULT); + } + + @Override + protected String screenshotName() { + return "chart-bar"; + } +} diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartBubbleScreenshotTest.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartBubbleScreenshotTest.java new file mode 100644 index 0000000000..0d575715c9 --- /dev/null +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartBubbleScreenshotTest.java @@ -0,0 +1,44 @@ +package com.codenameone.examples.hellocodenameone.tests.charts; + +import com.codename1.charts.models.XYMultipleSeriesDataset; +import com.codename1.charts.models.XYValueSeries; +import com.codename1.charts.renderers.XYMultipleSeriesRenderer; +import com.codename1.charts.renderers.XYSeriesRenderer; +import com.codename1.charts.util.ColorUtil; +import com.codename1.charts.views.AbstractChart; +import com.codename1.charts.views.BubbleChart; + +public class ChartBubbleScreenshotTest extends AbstractChartScreenshotTest { + + @Override + protected AbstractChart buildChart() { + XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset(); + XYValueSeries series = new XYValueSeries("Throughput"); + series.add(1, 5, 10); + series.add(2, 8, 18); + series.add(3, 12, 9); + series.add(4, 15, 24); + series.add(5, 18, 15); + series.add(6, 21, 30); + series.add(7, 24, 12); + series.add(8, 27, 26); + dataset.addSeries(series); + + XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(); + renderer.setLabelsTextSize(20); + renderer.setLegendTextSize(20); + renderer.setMargins(new int[]{36, 60, 24, 24}); + renderer.setShowGrid(true); + + XYSeriesRenderer seriesR = new XYSeriesRenderer(); + seriesR.setColor(ColorUtil.argb(0xc0, 0x9a, 0x4d, 0xff)); + renderer.addSeriesRenderer(seriesR); + + return new BubbleChart(dataset, renderer); + } + + @Override + protected String screenshotName() { + return "chart-bubble"; + } +} diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartCombinedXYScreenshotTest.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartCombinedXYScreenshotTest.java new file mode 100644 index 0000000000..c402b33a8e --- /dev/null +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartCombinedXYScreenshotTest.java @@ -0,0 +1,78 @@ +package com.codenameone.examples.hellocodenameone.tests.charts; + +import com.codename1.charts.models.XYMultipleSeriesDataset; +import com.codename1.charts.models.XYSeries; +import com.codename1.charts.renderers.XYMultipleSeriesRenderer; +import com.codename1.charts.renderers.XYSeriesRenderer; +import com.codename1.charts.util.ColorUtil; +import com.codename1.charts.views.AbstractChart; +import com.codename1.charts.views.CombinedXYChart; + +/// CombinedXYChart layers BarChart, LineChart, and ScatterChart on the same +/// dataset axes -- exercises the multi-renderer dispatch in CombinedXYChart +/// where each child chart's draw is invoked in sequence with the same g +/// state. +public class ChartCombinedXYScreenshotTest extends AbstractChartScreenshotTest { + + @Override + protected AbstractChart buildChart() { + XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset(); + + XYSeries bars = new XYSeries("Bars"); + bars.add(1, 12); + bars.add(2, 18); + bars.add(3, 15); + bars.add(4, 22); + bars.add(5, 17); + dataset.addSeries(bars); + + XYSeries trend = new XYSeries("Trend"); + trend.add(1, 14); + trend.add(2, 16); + trend.add(3, 19); + trend.add(4, 20); + trend.add(5, 23); + dataset.addSeries(trend); + + XYSeries markers = new XYSeries("Markers"); + markers.add(1, 8); + markers.add(2, 11); + markers.add(3, 13); + markers.add(4, 14); + markers.add(5, 18); + dataset.addSeries(markers); + + XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(); + renderer.setLabelsTextSize(20); + renderer.setLegendTextSize(20); + renderer.setMargins(new int[]{36, 60, 24, 24}); + renderer.setShowGrid(true); + + XYSeriesRenderer barR = new XYSeriesRenderer(); + barR.setColor(ColorUtil.rgb(0x6c, 0x3a, 0xb6)); + renderer.addSeriesRenderer(barR); + + XYSeriesRenderer trendR = new XYSeriesRenderer(); + trendR.setColor(ColorUtil.rgb(0xee, 0x4a, 0x4a)); + trendR.setLineWidth(3f); + renderer.addSeriesRenderer(trendR); + + XYSeriesRenderer markersR = new XYSeriesRenderer(); + markersR.setColor(ColorUtil.rgb(0x42, 0xa7, 0x6f)); + renderer.addSeriesRenderer(markersR); + + CombinedXYChart.XYCombinedChartDef[] chartDefs = + new CombinedXYChart.XYCombinedChartDef[]{ + new CombinedXYChart.XYCombinedChartDef("BarChart", 0), + new CombinedXYChart.XYCombinedChartDef("LineChart", 1), + new CombinedXYChart.XYCombinedChartDef("ScatterChart", 2) + }; + + return new CombinedXYChart(dataset, renderer, chartDefs); + } + + @Override + protected String screenshotName() { + return "chart-combined-xy"; + } +} diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartCubicLineScreenshotTest.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartCubicLineScreenshotTest.java new file mode 100644 index 0000000000..cf279d53ed --- /dev/null +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartCubicLineScreenshotTest.java @@ -0,0 +1,50 @@ +package com.codenameone.examples.hellocodenameone.tests.charts; + +import com.codename1.charts.models.XYMultipleSeriesDataset; +import com.codename1.charts.models.XYSeries; +import com.codename1.charts.renderers.XYMultipleSeriesRenderer; +import com.codename1.charts.renderers.XYSeriesRenderer; +import com.codename1.charts.util.ColorUtil; +import com.codename1.charts.views.AbstractChart; +import com.codename1.charts.views.CubicLineChart; + +/// CubicLineChart smooths the line through the data points using cubic +/// interpolation -- different curve renderer than the LineChart test, so +/// regressions in the curve generation path are caught separately. +public class ChartCubicLineScreenshotTest extends AbstractChartScreenshotTest { + + @Override + protected AbstractChart buildChart() { + XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset(); + XYSeries series = new XYSeries("Latency"); + series.add(0, 12); + series.add(1, 18); + series.add(2, 14); + series.add(3, 22); + series.add(4, 20); + series.add(5, 28); + series.add(6, 18); + series.add(7, 26); + dataset.addSeries(series); + + XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(); + renderer.setLabelsTextSize(20); + renderer.setLegendTextSize(20); + renderer.setMargins(new int[]{36, 60, 24, 24}); + renderer.setShowGrid(true); + renderer.setXTitle("t"); + renderer.setYTitle("ms"); + + XYSeriesRenderer seriesRenderer = new XYSeriesRenderer(); + seriesRenderer.setColor(ColorUtil.rgb(0x4f, 0xa8, 0x6e)); + seriesRenderer.setLineWidth(3f); + renderer.addSeriesRenderer(seriesRenderer); + + return new CubicLineChart(dataset, renderer, 0.33f); + } + + @Override + protected String screenshotName() { + return "chart-cubic-line"; + } +} diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartDoughnutScreenshotTest.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartDoughnutScreenshotTest.java new file mode 100644 index 0000000000..fdba8282ae --- /dev/null +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartDoughnutScreenshotTest.java @@ -0,0 +1,57 @@ +package com.codenameone.examples.hellocodenameone.tests.charts; + +import com.codename1.charts.models.CategorySeries; +import com.codename1.charts.models.MultipleCategorySeries; +import com.codename1.charts.renderers.DefaultRenderer; +import com.codename1.charts.renderers.SimpleSeriesRenderer; +import com.codename1.charts.util.ColorUtil; +import com.codename1.charts.views.AbstractChart; +import com.codename1.charts.views.DoughnutChart; + +public class ChartDoughnutScreenshotTest extends AbstractChartScreenshotTest { + + @Override + protected AbstractChart buildChart() { + MultipleCategorySeries dataset = new MultipleCategorySeries("Sales"); + dataset.add("2023", + new String[]{"Online", "Retail", "Wholesale"}, + new double[]{40, 35, 25}); + dataset.add("2024", + new String[]{"Online", "Retail", "Wholesale"}, + new double[]{55, 28, 17}); + + DefaultRenderer renderer = new DefaultRenderer(); + renderer.setLabelsTextSize(20); + renderer.setLegendTextSize(20); + renderer.setLabelsColor(ColorUtil.BLACK); + renderer.setShowLabels(true); + + int[] colors = new int[]{ + ColorUtil.rgb(0xb8, 0x40, 0xa6), + ColorUtil.rgb(0x42, 0xa7, 0x6f), + ColorUtil.rgb(0xe9, 0x6e, 0x33), + ColorUtil.rgb(0x6c, 0x3a, 0xb6), + ColorUtil.rgb(0x47, 0xa1, 0xe0), + ColorUtil.rgb(0xf2, 0xb1, 0x40) + }; + for (int color : colors) { + SimpleSeriesRenderer r = new SimpleSeriesRenderer(); + r.setColor(color); + renderer.addSeriesRenderer(r); + } + + // Use synthetic CategorySeries derived from dataset for renderer count + // -- each DoughnutChart segment needs its own renderer instance. + CategorySeries unused = new CategorySeries("colors"); + for (int color : colors) { + unused.add("c", color); + } + + return new DoughnutChart(dataset, renderer); + } + + @Override + protected String screenshotName() { + return "chart-doughnut"; + } +} diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartLineScreenshotTest.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartLineScreenshotTest.java new file mode 100644 index 0000000000..b366ec4b36 --- /dev/null +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartLineScreenshotTest.java @@ -0,0 +1,66 @@ +package com.codenameone.examples.hellocodenameone.tests.charts; + +import com.codename1.charts.models.XYMultipleSeriesDataset; +import com.codename1.charts.models.XYSeries; +import com.codename1.charts.renderers.XYMultipleSeriesRenderer; +import com.codename1.charts.renderers.XYSeriesRenderer; +import com.codename1.charts.util.ColorUtil; +import com.codename1.charts.views.AbstractChart; +import com.codename1.charts.views.LineChart; + +/// Two-series LineChart with fixed deterministic data so the rendered +/// vertices, axis labels and legend are reproducible across platforms. +/// Drives the default ChartComponent.paint() path (no setTransform on the +/// component) so we have a baseline that catches regressions in the +/// no-transform branch of ChartComponent.paint -- the branch the platform +/// conjugation change does NOT touch. +public class ChartLineScreenshotTest extends AbstractChartScreenshotTest { + + @Override + protected AbstractChart buildChart() { + XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset(); + XYSeries north = new XYSeries("North"); + north.add(2018, 12); + north.add(2019, 16); + north.add(2020, 22); + north.add(2021, 18); + north.add(2022, 28); + dataset.addSeries(north); + + XYSeries south = new XYSeries("South"); + south.add(2018, 8); + south.add(2019, 11); + south.add(2020, 13); + south.add(2021, 16); + south.add(2022, 19); + dataset.addSeries(south); + + XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(); + renderer.setLabelsTextSize(20); + renderer.setAxisTitleTextSize(20); + renderer.setLegendTextSize(20); + renderer.setMargins(new int[]{36, 60, 24, 24}); + renderer.setXTitle("Year"); + renderer.setYTitle("Value"); + renderer.setXLabels(5); + renderer.setYLabels(5); + renderer.setShowGrid(true); + + XYSeriesRenderer northRenderer = new XYSeriesRenderer(); + northRenderer.setColor(ColorUtil.rgb(0x0a, 0x66, 0xff)); + northRenderer.setLineWidth(3f); + renderer.addSeriesRenderer(northRenderer); + + XYSeriesRenderer southRenderer = new XYSeriesRenderer(); + southRenderer.setColor(ColorUtil.rgb(0xee, 0x4a, 0x4a)); + southRenderer.setLineWidth(3f); + renderer.addSeriesRenderer(southRenderer); + + return new LineChart(dataset, renderer); + } + + @Override + protected String screenshotName() { + return "chart-line"; + } +} diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartPieScreenshotTest.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartPieScreenshotTest.java new file mode 100644 index 0000000000..0c95340ce3 --- /dev/null +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartPieScreenshotTest.java @@ -0,0 +1,44 @@ +package com.codenameone.examples.hellocodenameone.tests.charts; + +import com.codename1.charts.models.CategorySeries; +import com.codename1.charts.renderers.DefaultRenderer; +import com.codename1.charts.renderers.SimpleSeriesRenderer; +import com.codename1.charts.util.ColorUtil; +import com.codename1.charts.views.AbstractChart; +import com.codename1.charts.views.PieChart; + +public class ChartPieScreenshotTest extends AbstractChartScreenshotTest { + + @Override + protected AbstractChart buildChart() { + CategorySeries series = new CategorySeries("Tickets"); + series.add("New", 14); + series.add("Open", 26); + series.add("In progress", 38); + series.add("Resolved", 22); + + DefaultRenderer renderer = new DefaultRenderer(); + renderer.setLabelsTextSize(22); + renderer.setLegendTextSize(22); + renderer.setShowLabels(true); + renderer.setLabelsColor(ColorUtil.BLACK); + + int[] colors = new int[]{ + ColorUtil.rgb(0xef, 0x4f, 0x4f), + ColorUtil.rgb(0xf2, 0xb1, 0x40), + ColorUtil.rgb(0x47, 0xa1, 0xe0), + ColorUtil.rgb(0x4d, 0xc6, 0x8f) + }; + for (int color : colors) { + SimpleSeriesRenderer r = new SimpleSeriesRenderer(); + r.setColor(color); + renderer.addSeriesRenderer(r); + } + return new PieChart(series, renderer); + } + + @Override + protected String screenshotName() { + return "chart-pie"; + } +} diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartRadarScreenshotTest.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartRadarScreenshotTest.java new file mode 100644 index 0000000000..46fc7b11e9 --- /dev/null +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartRadarScreenshotTest.java @@ -0,0 +1,55 @@ +package com.codenameone.examples.hellocodenameone.tests.charts; + +import com.codename1.charts.models.AreaSeries; +import com.codename1.charts.models.CategorySeries; +import com.codename1.charts.renderers.DefaultRenderer; +import com.codename1.charts.renderers.SimpleSeriesRenderer; +import com.codename1.charts.util.ColorUtil; +import com.codename1.charts.views.AbstractChart; +import com.codename1.charts.views.RadarChart; + +/// Mirrors the canonical RadarChartSample (two CategorySeries with five axes). +public class ChartRadarScreenshotTest extends AbstractChartScreenshotTest { + + @Override + protected AbstractChart buildChart() { + AreaSeries dataset = new AreaSeries(); + + CategorySeries may = new CategorySeries("May"); + may.add("Health", 0.8); + may.add("Attack", 0.6); + may.add("Defense", 0.4); + may.add("Critical", 0.2); + may.add("Speed", 1.0); + dataset.addSeries(may); + + CategorySeries chang = new CategorySeries("Chang"); + chang.add("Health", 0.3); + chang.add("Attack", 0.7); + chang.add("Defense", 0.5); + chang.add("Critical", 0.1); + chang.add("Speed", 0.3); + dataset.addSeries(chang); + + DefaultRenderer renderer = new DefaultRenderer(); + renderer.setLegendTextSize(22); + renderer.setLabelsTextSize(20); + renderer.setLabelsColor(ColorUtil.BLACK); + renderer.setShowLabels(true); + + SimpleSeriesRenderer mayR = new SimpleSeriesRenderer(); + mayR.setColor(ColorUtil.MAGENTA); + renderer.addSeriesRenderer(mayR); + + SimpleSeriesRenderer changR = new SimpleSeriesRenderer(); + changR.setColor(ColorUtil.CYAN); + renderer.addSeriesRenderer(changR); + + return new RadarChart(dataset, renderer); + } + + @Override + protected String screenshotName() { + return "chart-radar"; + } +} diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartRangeBarScreenshotTest.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartRangeBarScreenshotTest.java new file mode 100644 index 0000000000..8ba90a7fb2 --- /dev/null +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartRangeBarScreenshotTest.java @@ -0,0 +1,53 @@ +package com.codenameone.examples.hellocodenameone.tests.charts; + +import com.codename1.charts.models.RangeCategorySeries; +import com.codename1.charts.models.XYMultipleSeriesDataset; +import com.codename1.charts.renderers.XYMultipleSeriesRenderer; +import com.codename1.charts.renderers.XYSeriesRenderer; +import com.codename1.charts.util.ColorUtil; +import com.codename1.charts.views.AbstractChart; +import com.codename1.charts.views.BarChart.Type; +import com.codename1.charts.views.RangeBarChart; + +public class ChartRangeBarScreenshotTest extends AbstractChartScreenshotTest { + + @Override + protected AbstractChart buildChart() { + XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset(); + + RangeCategorySeries cycleA = new RangeCategorySeries("Cycle A"); + cycleA.add(15, 32); + cycleA.add(20, 38); + cycleA.add(18, 36); + cycleA.add(22, 40); + dataset.addSeries(cycleA.toXYSeries()); + + RangeCategorySeries cycleB = new RangeCategorySeries("Cycle B"); + cycleB.add(8, 26); + cycleB.add(12, 32); + cycleB.add(14, 30); + cycleB.add(11, 27); + dataset.addSeries(cycleB.toXYSeries()); + + XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(); + renderer.setLabelsTextSize(20); + renderer.setLegendTextSize(20); + renderer.setMargins(new int[]{36, 60, 24, 24}); + renderer.setShowGrid(true); + + XYSeriesRenderer aR = new XYSeriesRenderer(); + aR.setColor(ColorUtil.rgb(0xff, 0x80, 0x33)); + renderer.addSeriesRenderer(aR); + + XYSeriesRenderer bR = new XYSeriesRenderer(); + bR.setColor(ColorUtil.rgb(0x33, 0xa9, 0xff)); + renderer.addSeriesRenderer(bR); + + return new RangeBarChart(dataset, renderer, Type.DEFAULT); + } + + @Override + protected String screenshotName() { + return "chart-range-bar"; + } +} diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartRotatedScreenshotTest.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartRotatedScreenshotTest.java new file mode 100644 index 0000000000..b375f0e923 --- /dev/null +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartRotatedScreenshotTest.java @@ -0,0 +1,66 @@ +package com.codenameone.examples.hellocodenameone.tests.charts; + +import com.codename1.charts.ChartComponent; +import com.codename1.charts.models.CategorySeries; +import com.codename1.charts.renderers.DefaultRenderer; +import com.codename1.charts.renderers.SimpleSeriesRenderer; +import com.codename1.charts.util.ColorUtil; +import com.codename1.charts.views.AbstractChart; +import com.codename1.charts.views.PieChart; +import com.codename1.ui.Transform; + +/// Pie chart with a 30 degree rotation applied via ChartComponent.setTransform. +/// Rotation is the transformation most sensitive to the +/// `xTranslate`-conjugation: without conjugation the rotation would happen +/// around the screen origin (0, 0) instead of the component centre, +/// producing a wildly translated chart instead of a rotated one. +public class ChartRotatedScreenshotTest extends AbstractChartScreenshotTest { + + @Override + protected AbstractChart buildChart() { + CategorySeries series = new CategorySeries("Slices"); + series.add("Alpha", 30); + series.add("Beta", 25); + series.add("Gamma", 20); + series.add("Delta", 15); + series.add("Epsilon", 10); + + DefaultRenderer renderer = new DefaultRenderer(); + renderer.setLabelsTextSize(20); + renderer.setLegendTextSize(20); + renderer.setShowLabels(true); + renderer.setLabelsColor(ColorUtil.BLACK); + + int[] colors = new int[]{ + ColorUtil.rgb(0xb8, 0x40, 0xa6), + ColorUtil.rgb(0xee, 0x4a, 0x4a), + ColorUtil.rgb(0xf2, 0xb1, 0x40), + ColorUtil.rgb(0x4d, 0xc6, 0x8f), + ColorUtil.rgb(0x47, 0xa1, 0xe0) + }; + for (int color : colors) { + SimpleSeriesRenderer r = new SimpleSeriesRenderer(); + r.setColor(color); + renderer.addSeriesRenderer(r); + } + return new PieChart(series, renderer); + } + + @Override + protected void configureChartComponent(ChartComponent component) { + // 30 degree rotation around component-local (250, 400). On the + // pre-conjugation iOS Metal port the same rotation applied to + // xTranslate-shifted vertex coordinates would rotate the chart + // around the screen origin instead, throwing the visible pie + // outside the screen entirely. With the new uniform conjugation + // this rotates around the component-local anchor on every port. + Transform t = Transform.makeIdentity(); + t.rotate((float) (Math.PI / 6.0), 250f, 400f); + component.setTransform(t); + } + + @Override + protected String screenshotName() { + return "chart-rotated-pie"; + } +} diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartScatterScreenshotTest.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartScatterScreenshotTest.java new file mode 100644 index 0000000000..18a4d83740 --- /dev/null +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartScatterScreenshotTest.java @@ -0,0 +1,65 @@ +package com.codenameone.examples.hellocodenameone.tests.charts; + +import com.codename1.charts.models.XYMultipleSeriesDataset; +import com.codename1.charts.models.XYSeries; +import com.codename1.charts.renderers.XYMultipleSeriesRenderer; +import com.codename1.charts.renderers.XYSeriesRenderer; +import com.codename1.charts.util.ColorUtil; +import com.codename1.charts.views.AbstractChart; +import com.codename1.charts.views.PointStyle; +import com.codename1.charts.views.ScatterChart; + +public class ChartScatterScreenshotTest extends AbstractChartScreenshotTest { + + @Override + protected AbstractChart buildChart() { + XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset(); + + XYSeries cohortA = new XYSeries("Cohort A"); + cohortA.add(1, 14); + cohortA.add(2, 16); + cohortA.add(3, 11); + cohortA.add(4, 19); + cohortA.add(5, 15); + cohortA.add(6, 22); + cohortA.add(7, 18); + cohortA.add(8, 24); + dataset.addSeries(cohortA); + + XYSeries cohortB = new XYSeries("Cohort B"); + cohortB.add(1, 4); + cohortB.add(2, 7); + cohortB.add(3, 9); + cohortB.add(4, 6); + cohortB.add(5, 12); + cohortB.add(6, 8); + cohortB.add(7, 14); + cohortB.add(8, 11); + dataset.addSeries(cohortB); + + XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(); + renderer.setLabelsTextSize(20); + renderer.setLegendTextSize(20); + renderer.setMargins(new int[]{36, 60, 24, 24}); + renderer.setShowGrid(true); + + XYSeriesRenderer aR = new XYSeriesRenderer(); + aR.setColor(ColorUtil.rgb(0xed, 0x3f, 0x3f)); + aR.setPointStyle(PointStyle.CIRCLE); + aR.setFillPoints(true); + renderer.addSeriesRenderer(aR); + + XYSeriesRenderer bR = new XYSeriesRenderer(); + bR.setColor(ColorUtil.rgb(0x3f, 0x65, 0xed)); + bR.setPointStyle(PointStyle.SQUARE); + bR.setFillPoints(true); + renderer.addSeriesRenderer(bR); + + return new ScatterChart(dataset, renderer); + } + + @Override + protected String screenshotName() { + return "chart-scatter"; + } +} diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartStackedBarScreenshotTest.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartStackedBarScreenshotTest.java new file mode 100644 index 0000000000..de992f5c19 --- /dev/null +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartStackedBarScreenshotTest.java @@ -0,0 +1,69 @@ +package com.codenameone.examples.hellocodenameone.tests.charts; + +import com.codename1.charts.models.CategorySeries; +import com.codename1.charts.models.XYMultipleSeriesDataset; +import com.codename1.charts.renderers.XYMultipleSeriesRenderer; +import com.codename1.charts.renderers.XYSeriesRenderer; +import com.codename1.charts.util.ColorUtil; +import com.codename1.charts.views.AbstractChart; +import com.codename1.charts.views.BarChart; +import com.codename1.charts.views.BarChart.Type; + +/// BarChart in STACKED mode -- the bars are placed at the same X position so +/// the renderer's per-series x-position composition path differs from the +/// side-by-side DEFAULT bars. +public class ChartStackedBarScreenshotTest extends AbstractChartScreenshotTest { + + @Override + protected AbstractChart buildChart() { + XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset(); + + CategorySeries staff = new CategorySeries("Staff"); + staff.add("Mar", 24); + staff.add("Apr", 30); + staff.add("May", 28); + staff.add("Jun", 33); + dataset.addSeries(staff.toXYSeries()); + + CategorySeries software = new CategorySeries("Software"); + software.add("Mar", 12); + software.add("Apr", 14); + software.add("May", 18); + software.add("Jun", 22); + dataset.addSeries(software.toXYSeries()); + + CategorySeries hardware = new CategorySeries("Hardware"); + hardware.add("Mar", 8); + hardware.add("Apr", 6); + hardware.add("May", 10); + hardware.add("Jun", 12); + dataset.addSeries(hardware.toXYSeries()); + + XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(); + renderer.setLabelsTextSize(20); + renderer.setLegendTextSize(20); + renderer.setMargins(new int[]{36, 60, 24, 24}); + renderer.setShowGrid(true); + renderer.setXTitle("Month"); + renderer.setYTitle("Cost"); + + XYSeriesRenderer staffR = new XYSeriesRenderer(); + staffR.setColor(ColorUtil.rgb(0x6c, 0x3a, 0xb6)); + renderer.addSeriesRenderer(staffR); + + XYSeriesRenderer softwareR = new XYSeriesRenderer(); + softwareR.setColor(ColorUtil.rgb(0x42, 0xa7, 0x6f)); + renderer.addSeriesRenderer(softwareR); + + XYSeriesRenderer hardwareR = new XYSeriesRenderer(); + hardwareR.setColor(ColorUtil.rgb(0xe9, 0x6e, 0x33)); + renderer.addSeriesRenderer(hardwareR); + + return new BarChart(dataset, renderer, Type.STACKED); + } + + @Override + protected String screenshotName() { + return "chart-bar-stacked"; + } +} diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartTimeChartScreenshotTest.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartTimeChartScreenshotTest.java new file mode 100644 index 0000000000..e884e5368d --- /dev/null +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartTimeChartScreenshotTest.java @@ -0,0 +1,49 @@ +package com.codenameone.examples.hellocodenameone.tests.charts; + +import com.codename1.charts.models.TimeSeries; +import com.codename1.charts.models.XYMultipleSeriesDataset; +import com.codename1.charts.renderers.XYMultipleSeriesRenderer; +import com.codename1.charts.renderers.XYSeriesRenderer; +import com.codename1.charts.util.ColorUtil; +import com.codename1.charts.views.AbstractChart; +import com.codename1.charts.views.TimeChart; + +import java.util.Date; + +/// TimeChart with a deterministic series anchored at a fixed epoch -- avoids +/// using `new Date()` so the rendered axis labels match across runs. +public class ChartTimeChartScreenshotTest extends AbstractChartScreenshotTest { + + private static final long ANCHOR_EPOCH_MS = 1709251200000L; // 2024-03-01 UTC + + @Override + protected AbstractChart buildChart() { + XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset(); + + TimeSeries series = new TimeSeries("Visits"); + long day = 24L * 60L * 60L * 1000L; + double[] values = {120, 134, 142, 158, 145, 168, 180, 175, 192, 205}; + for (int i = 0; i < values.length; i++) { + series.add(new Date(ANCHOR_EPOCH_MS + i * day), values[i]); + } + dataset.addSeries(series); + + XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(); + renderer.setLabelsTextSize(20); + renderer.setLegendTextSize(20); + renderer.setMargins(new int[]{36, 80, 24, 24}); + renderer.setShowGrid(true); + + XYSeriesRenderer seriesRenderer = new XYSeriesRenderer(); + seriesRenderer.setColor(ColorUtil.rgb(0x14, 0x71, 0xc4)); + seriesRenderer.setLineWidth(3f); + renderer.addSeriesRenderer(seriesRenderer); + + return new TimeChart(dataset, renderer); + } + + @Override + protected String screenshotName() { + return "chart-time"; + } +} diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartTransformScreenshotTest.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartTransformScreenshotTest.java new file mode 100644 index 0000000000..c773337235 --- /dev/null +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartTransformScreenshotTest.java @@ -0,0 +1,75 @@ +package com.codenameone.examples.hellocodenameone.tests.charts; + +import com.codename1.charts.ChartComponent; +import com.codename1.charts.models.XYMultipleSeriesDataset; +import com.codename1.charts.models.XYSeries; +import com.codename1.charts.renderers.XYMultipleSeriesRenderer; +import com.codename1.charts.renderers.XYSeriesRenderer; +import com.codename1.charts.util.ColorUtil; +import com.codename1.charts.views.AbstractChart; +import com.codename1.charts.views.LineChart; +import com.codename1.ui.Transform; + +/// Exercises `ChartComponent.setTransform(Transform)` -- the code path the +/// translation-conjugation refactor in core / iOS / Android / JavaSE +/// directly touches. ChartComponent's transform is documented to operate in +/// component-local coordinates ("origin at (absoluteX, absoluteY)"); this +/// test applies a non-identity scale-around-centre to verify the rendered +/// chart is centred correctly across all four ports. +public class ChartTransformScreenshotTest extends AbstractChartScreenshotTest { + + @Override + protected AbstractChart buildChart() { + XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset(); + XYSeries series = new XYSeries("Latency"); + series.add(0, 12); + series.add(1, 14); + series.add(2, 19); + series.add(3, 17); + series.add(4, 24); + series.add(5, 22); + series.add(6, 28); + dataset.addSeries(series); + + XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(); + renderer.setLabelsTextSize(20); + renderer.setLegendTextSize(20); + renderer.setMargins(new int[]{36, 60, 24, 24}); + renderer.setShowGrid(true); + + XYSeriesRenderer seriesRenderer = new XYSeriesRenderer(); + seriesRenderer.setColor(ColorUtil.rgb(0x6c, 0x3a, 0xb6)); + seriesRenderer.setLineWidth(3f); + renderer.addSeriesRenderer(seriesRenderer); + + return new LineChart(dataset, renderer); + } + + @Override + protected void configureChartComponent(ChartComponent component) { + // Scale of 0.7 around the chart-component centre. ChartComponent + // documents transforms as relative to its (absoluteX, absoluteY) + // origin, so the centre point we anchor on is in component-local + // coords (we use the chart's preferred-size centre approximated by + // the transform's translate). With the platform-side conjugation in + // Graphics.setTransform plus the matching simplification in + // ChartComponent.paint (which dropped its own T(absX) * X * + // T(-absX) compensation), the rendered chart should be a 0.7x + // scaled copy of the untransformed test, centred on the component. + Transform t = Transform.makeIdentity(); + // Anchor scale at component-local (250, 400). We don't know the + // component's actual size here -- the screenshot dimensions are + // platform-dependent -- but ChartComponent uses BorderLayout.CENTER + // so it fills the form, and a fixed anchor at (250, 400) gives a + // deterministic scaled output once the component is laid out. + t.translate(250f, 400f); + t.scale(0.7f, 0.7f); + t.translate(-250f, -400f); + component.setTransform(t); + } + + @Override + protected String screenshotName() { + return "chart-transform"; + } +} From 5f6150845daee35ce1f7d6bfdd832c6ec7c866ba Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Sat, 9 May 2026 09:08:37 +0300 Subject: [PATCH 21/25] hellocodenameone: fix two chart-test runtime errors flagged by Android/JS CI ChartBubbleScreenshotTest: series.add(1, 5, 10) bound to the inherited XYSeries.add(int index, double x, double y) signature instead of XYValueSeries' three-double bubble add: Java picks the int-arg overload as more specific when every arg is an int literal. With an empty series the explicit index=1 trips IndexOutOfBoundsException out of the IndexXYMap. Reproduced locally on JavaSE; fixed by writing every argument as a `1d` double literal so the bubble overload is selected. ChartCombinedXYScreenshotTest: CombinedXYChart.getXYChart() looks up children by AbstractChart.getChartType() which returns the bare type name ("Bar", "Line", "Scatter") -- the test was passing "BarChart" / "LineChart" / "ScatterChart" so CombinedXYChart's lookup returned null and the constructor threw IllegalArgumentException. Switched to the BarChart.TYPE / LineChart.TYPE / ScatterChart.TYPE constants so we can't drift from the lookup string. Both errors blocked the Android instrumentation and JavaScript screenshot pipelines once the chart tests landed; rest of the chart tests rendered fine on the respective ports. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../charts/ChartBubbleScreenshotTest.java | 23 ++++++++++++------- .../charts/ChartCombinedXYScreenshotTest.java | 13 ++++++++--- 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartBubbleScreenshotTest.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartBubbleScreenshotTest.java index 0d575715c9..e1287633d2 100644 --- a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartBubbleScreenshotTest.java +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartBubbleScreenshotTest.java @@ -14,14 +14,21 @@ public class ChartBubbleScreenshotTest extends AbstractChartScreenshotTest { protected AbstractChart buildChart() { XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset(); XYValueSeries series = new XYValueSeries("Throughput"); - series.add(1, 5, 10); - series.add(2, 8, 18); - series.add(3, 12, 9); - series.add(4, 15, 24); - series.add(5, 18, 15); - series.add(6, 21, 30); - series.add(7, 24, 12); - series.add(8, 27, 26); + // Use explicit double literals for every argument: with bare int + // literals Java resolves `series.add(1, 5, 10)` to the inherited + // XYSeries.add(int index, double x, double y) signature (insert at + // an explicit list index) instead of XYValueSeries' three-double + // bubble add. The list is empty when the first call lands at index + // 1, so that picks IndexOutOfBoundsException instead of the chart + // we wanted. + series.add(1d, 5d, 10d); + series.add(2d, 8d, 18d); + series.add(3d, 12d, 9d); + series.add(4d, 15d, 24d); + series.add(5d, 18d, 15d); + series.add(6d, 21d, 30d); + series.add(7d, 24d, 12d); + series.add(8d, 27d, 26d); dataset.addSeries(series); XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(); diff --git a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartCombinedXYScreenshotTest.java b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartCombinedXYScreenshotTest.java index c402b33a8e..f7b287b755 100644 --- a/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartCombinedXYScreenshotTest.java +++ b/scripts/hellocodenameone/common/src/main/java/com/codenameone/examples/hellocodenameone/tests/charts/ChartCombinedXYScreenshotTest.java @@ -6,7 +6,10 @@ import com.codename1.charts.renderers.XYSeriesRenderer; import com.codename1.charts.util.ColorUtil; import com.codename1.charts.views.AbstractChart; +import com.codename1.charts.views.BarChart; import com.codename1.charts.views.CombinedXYChart; +import com.codename1.charts.views.LineChart; +import com.codename1.charts.views.ScatterChart; /// CombinedXYChart layers BarChart, LineChart, and ScatterChart on the same /// dataset axes -- exercises the multi-renderer dispatch in CombinedXYChart @@ -61,11 +64,15 @@ protected AbstractChart buildChart() { markersR.setColor(ColorUtil.rgb(0x42, 0xa7, 0x6f)); renderer.addSeriesRenderer(markersR); + // CombinedXYChart matches against AbstractChart.getChartType() which + // returns the bare-type string ("Bar", "Line", "Scatter") -- using + // BarChart.TYPE etc. avoids hard-coding a string we'd have to + // remember to keep in sync. CombinedXYChart.XYCombinedChartDef[] chartDefs = new CombinedXYChart.XYCombinedChartDef[]{ - new CombinedXYChart.XYCombinedChartDef("BarChart", 0), - new CombinedXYChart.XYCombinedChartDef("LineChart", 1), - new CombinedXYChart.XYCombinedChartDef("ScatterChart", 2) + new CombinedXYChart.XYCombinedChartDef(BarChart.TYPE, 0), + new CombinedXYChart.XYCombinedChartDef(LineChart.TYPE, 1), + new CombinedXYChart.XYCombinedChartDef(ScatterChart.TYPE, 2) }; return new CombinedXYChart(dataset, renderer, chartDefs); From a436c788a700669d87b83af80b0507f29b197a0e Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Sat, 9 May 2026 10:10:12 +0300 Subject: [PATCH 22/25] hellocodenameone: unstick Android/JS chart pipelines + promote 11 Android goldens Android: ChartCombinedXY's scatter renderer used the default PointStyle.POINT, which routes through Canvas.drawPoint() in the chart-package compat shim -- that's stubbed with "Not supported yet." The thrown exception happened during paint(), the test never reached done(), and the suite hung waiting for it; the three remaining chart tests in the run order (CombinedXY/Transform/Rotated) were never captured. Switched the marker series renderer to PointStyle.CIRCLE with FillPoints=true so the layer renders with a real shape primitive. JS: the JavaScript port runs the whole hellocodenameone suite under a ~150s playwright browser-lifetime budget; with 14 chart tests pushing 30-60KB chunked PNG/JPEG payloads each on top of the existing screenshot suite, the EDT had already started the suite-shutdown fast-forward by the time the chart tests were dispatched and every one of them came back with a placeholder END marker. Added all 14 chart tests to isJsSkippedScreenshotTest so the JS pipeline matches the existing graphics-test exclusion -- chart coverage stays on iOS / Android / JavaSE. Promoted 11 Android chart goldens captured from the previous CI run (chart-bar, chart-bar-stacked, chart-bubble, chart-cubic-line, chart-doughnut, chart-line, chart-pie, chart-radar, chart-range-bar, chart-scatter, chart-time). CombinedXY/Transform/Rotated goldens will be promoted in the next round once the CombinedXY fix lands. Refreshed three stale graphics goldens (graphics-affine-scale, graphics-scale, graphics-transform-rotation) that were generated under the pre-conjugation Graphics.setTransform contract -- those tests now render correctly on Android with the conjugation fix in place but the saved baselines no longer match. The new ones include the full gradient in all four cells of the 2x2 panel, which is what the platform fix was supposed to deliver. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../android/screenshots/chart-bar-stacked.png | Bin 0 -> 3728 bytes scripts/android/screenshots/chart-bar.png | Bin 0 -> 3634 bytes scripts/android/screenshots/chart-bubble.png | Bin 0 -> 6038 bytes .../android/screenshots/chart-cubic-line.png | Bin 0 -> 4811 bytes .../android/screenshots/chart-doughnut.png | Bin 0 -> 28526 bytes scripts/android/screenshots/chart-line.png | Bin 0 -> 7837 bytes scripts/android/screenshots/chart-pie.png | Bin 0 -> 25081 bytes scripts/android/screenshots/chart-radar.png | Bin 0 -> 34946 bytes .../android/screenshots/chart-range-bar.png | Bin 0 -> 3630 bytes scripts/android/screenshots/chart-scatter.png | Bin 0 -> 4689 bytes scripts/android/screenshots/chart-time.png | Bin 0 -> 9842 bytes .../screenshots/graphics-affine-scale.png | Bin 3501 -> 3423 bytes .../android/screenshots/graphics-scale.png | Bin 3400 -> 3323 bytes .../graphics-transform-rotation.png | Bin 4677 -> 4787 bytes .../tests/Cn1ssDeviceRunner.java | 27 +++++++++++++++++- .../charts/ChartCombinedXYScreenshotTest.java | 10 +++++++ 16 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 scripts/android/screenshots/chart-bar-stacked.png create mode 100644 scripts/android/screenshots/chart-bar.png create mode 100644 scripts/android/screenshots/chart-bubble.png create mode 100644 scripts/android/screenshots/chart-cubic-line.png create mode 100644 scripts/android/screenshots/chart-doughnut.png create mode 100644 scripts/android/screenshots/chart-line.png create mode 100644 scripts/android/screenshots/chart-pie.png create mode 100644 scripts/android/screenshots/chart-radar.png create mode 100644 scripts/android/screenshots/chart-range-bar.png create mode 100644 scripts/android/screenshots/chart-scatter.png create mode 100644 scripts/android/screenshots/chart-time.png diff --git a/scripts/android/screenshots/chart-bar-stacked.png b/scripts/android/screenshots/chart-bar-stacked.png new file mode 100644 index 0000000000000000000000000000000000000000..663a7f2c523d0f69f8fd68153840c9b04ddb1423 GIT binary patch literal 3728 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 literal 0 HcmV?d00001 diff --git a/scripts/android/screenshots/chart-bubble.png b/scripts/android/screenshots/chart-bubble.png new file mode 100644 index 0000000000000000000000000000000000000000..5cdcf23d36a7da78f24ff50bb80137b0f3f7658a GIT binary patch literal 6038 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 literal 0 HcmV?d00001 diff --git a/scripts/android/screenshots/chart-cubic-line.png b/scripts/android/screenshots/chart-cubic-line.png new file mode 100644 index 0000000000000000000000000000000000000000..fd6a5b75c61078e7f95ee96faaf98705e9d54b0e GIT binary patch literal 4811 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 literal 0 HcmV?d00001 diff --git a/scripts/android/screenshots/chart-doughnut.png b/scripts/android/screenshots/chart-doughnut.png new file mode 100644 index 0000000000000000000000000000000000000000..58716430640c310ee94acddc19bbc3dcda094de1 GIT binary patch literal 28526 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

42TgZHi1 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 X>KQgeen$!9%!8DlXvmk!ng#z4<5zmh literal 0 HcmV?d00001 diff --git a/scripts/android/screenshots/chart-line.png b/scripts/android/screenshots/chart-line.png new file mode 100644 index 0000000000000000000000000000000000000000..a458aadc15a8846b0eab9f5bcca76d4f07a99936 GIT binary patch literal 7837 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 F{{!v#yxRZ( literal 0 HcmV?d00001 diff --git a/scripts/android/screenshots/chart-pie.png b/scripts/android/screenshots/chart-pie.png new file mode 100644 index 0000000000000000000000000000000000000000..38059b1b388804159579c18fc7f338756009a62c GIT binary patch literal 25081 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 literal 0 HcmV?d00001 diff --git a/scripts/android/screenshots/chart-radar.png b/scripts/android/screenshots/chart-radar.png new file mode 100644 index 0000000000000000000000000000000000000000..9e27d38dbecb0af7d3fd6d5c00cb2162ad9f32b4 GIT binary patch literal 34946 zcmdqJWmHz}`Y$@^kOt`xK|~~_6eJ{-5Ksh^mhSEb0TmDnP?45W>E@wR1nE#3L_y*K zrF&mc?7`? zB_@PFS$m!l0l(pR+)-6P3VT`qz`x*oDBRK|hW`Z;TRujRbI2{F8@j&lSEqaoboCF2 zHrCm`_Ulk9QENv%RE#4{q*BK(VR`lDo@2>{#3^o;SKo5pn3ghINH~p6wJF6t(V>m& zxGlt&NURgV`-Mz2lz5Q(gXpi5lhB$o;lgA-w!6pIwNj_Pq=-gy2G%d8?!Ir;)zvLN z_lOFI#><bwD6=p(A;OoaOpF+IUKPNiaAgoHC(8RsT3H9x7m z!ecX?|1*B{XD>EX@7}$$6dbZ-h(Wn6_2c=s2)|J^RlWcA@&Y?G zuJGBjXB};Pa1k{%wb_LQeB`EF#^8~GnUk_H{_5Fp$N%S)%tm%u1&hB!JpN@1iQJ@@w{`i?VNXdF{w(K)|66SBTqNTtA>{{LFg z_CxNQPEGWNZbLBTJRi+w;lf#2xker-Ff^5C)$zS-5OYRG1~EB# z`!hD_jikn-?2+}VoE*ZU#uKUFlYJYcY3t9>-0EuVyLZe64<59%w-cx*^3N5HnGmH9 zq&bA#nD|t2f<*1}(~%O;3mOqeD&V9$6ZGZjWSKcTKZD(auGfgZsj{c1*vavFNYz1* z=V)IHv4OHO!9;4v;NYMEB_$<2!a_&aW^HLHR+IDjbF7T#64lD=Y!j|omD9xN!aKN7 zdgM$f`o|6rAGS1Xw4C{DB_O+1@)hm@35=@|yWg>g*{jnzRp zp##;cr{w{cCOhI-N);Z zqq|;RGac?;}m{ zT#LO{^n3#XxUODh^!E0ScUs?Bn_!d+zP`KuO(1ebO-|@M>)Jbl+iGepC&!28R#uT~ z6IE4Gmqgs=m9TOxiqRAmzH1lL0tX)ky&#yCWkPJJj9pX zUwB1dL_OFS&<^f;038QfO53@4G{#%S_>rvv6xPB@r@N z?UvOwrV`H{x887gd$Dnwjg?i{w*MR=Z(?E+Gj_7(65_DUWUXpnAQu=yzu23icUpL<9 zn(FtPDJ3Gi;tnn6aox?a3?C#hA%Rm?mK_<_Re@R=ttEF{-tO?Zpa4F8c=+|t>NW`5e z*imrw74IGJmluh*kv_$4Y@U}<#dOBnSGg9cyq+jv7zO9l*VlJ8LEoeq4%*!E zGARp7GEaAZ&h3<^$&xPKYNjj{i{xQ_eF`ic1>`c)W$}-e6xNa9-a)0$;E}&C$r1?G$!V6uk`xt_L!+lMf^cw_uBH_3IDO1d| zQ&#+Ws+e$kv?#|bDA)lOI^rOlp zEu*%Te32PT{apwBp#A;kt}YVNNL=U?QWbt%O9K>ZT%5JG`iQ@;ui4LzxV+Dw+mc-x zp1gbaj=o4sQxmP}2=Yn4$hpt3>Lx$E#m?#vB$Oj~FJmNQ2MWpGQ9~EEQxhGXW`~e+ zAMrq0(IMEVXP}m1-|bEZP}bDc2voj({rZu-1R0CO=X#f^%s3WFTm-&1qQJ090%OD{Bg2Lk z-$X&Z+y1Ny9 zeXoAFb1AfTO3@@>t-{-cL3UoPftH*)DXy|C9_S(qm>$aG1V6rFckE4WnEpm(y}rUKpkkG-aFo% z;gD`y`)?hdrquof{a5Z}kE`MI!SW&O!#TtZx?Hf zyNA3$@lLDfzS{pJIKkuLBC;z%JG;*nHe8H@&z8QRqg#wc3}>3k)Psvsc#x|7TSIo z6pFyWz~}GZPp$@s2JV*BL+c=`BS@$3E(M&bdgBJp$B!TTbG10CtEyxswyQq@<+D*w}I=+~2KRw|FmILO+m@lKu0h#KXWVZ8kc0??wy{>(ZS)+uYWM zPeDQP{3f@5-0rxEDbN;hv3 zXJ%$TfA??!Jcja9pt9qj#TDRPv{iSaTS)4wS9lf{7T+f(Ry^x7oTh5;<*uAS zm(226pC-hTb55zoWAI|1J?rRsD~f}3#&bj)39728k)j{4GFD_UUFQcibSS@|#$$25 zl~S$^$Ne~GXvNx;WUna@#4kz*E|S; zv`vmpPEPh?d|XhPi}6|S0HpB1N$dQJSpXWN`^OXhGNzvUCM~V4B_4~t6iffPD$=IM zkBL8IXPb`|8ppM0T^1ImiXbF!3Bx1Wm=0JEGiOv%R-PLzFhqG!@B3>Jdwah41O(<^ zUtfaaEa!T19a@v<#Vh{`D5TB56`6#yNg0r*pm!2La;G39<^B;1TbbLa`XZ<|g zGc(+Nc8DJ?>K7W_P*A`HD144a{B*YkIvNfF!b5mk8V3NB0sFM`TwH(WqB$Ope7yI) z#^Yk!Ly=*7@#&yl<3Qk&Z=}5VfILTYgd9gta8Du zu=Atttk-C&oTuikQ&^tH#kB*{LJ*+3QLkRn zp6paLWLNpwi`PH zioYC4R09eEupc5=#JH2A-W0$}yQ)y9LTeWjDcP^f!-4XNQ_F5~D5@VVY>*f(GLdPS!XiHnQ-3$Wb+J6QwLViRl|k%w)>y88M*;d8%NI57O~c^h%|vR?U0 zP^#}dNn1z9!_$*vKozHzXBy&QADfSt+X)bwtxwmx{qA83+?$L3UgszJ@zW<9 z1a@_MG)M4bprv@oXpw3Bzklw5`@fPNKYbehH zjf*39baLXDSZrx&p)azFkC#0l26Fek(url=iFR;mt6I7#s^{A`5!YGyh;k>u9lt9J zK7Tf|vKpBe|NZ+n=yuLpV-FUv*k`68$0KHIw1X*IdAFzrrT8K_7ef5EsNRU(1AZ8M zeBjonLPC9|7LSh6!NGxy^(qw;6I066Sp_LJf^?(?gBcQjL#2(7zKn>#gNvzt$*S<^ zX(|q>28fxm$6I#|3=I{t?==7T!34y6gD-dyg5TduES5$-G0@P^Yz(Rk zaf*u4y4SD*bAipa*iu~K&ZgiW&TdR}lQ||PCgM*1qsB(Lf18^x5)vY*xm3*H6oW_@ zX(R~ks59~m!z^e)kr}cqJv4)C{cP#-mNqs&H|AOmN*)rxk#;*i@Pa?F0BEjRcrRZU zI76gDMksW$G}$0w%P&-*kTF?$k#eR)ViAJ#KvPamPA2^>fmruAE-q3nJG{j0=P6li zT%3sKk~SHe6diLMVSau-)R#SIQT?Cvg|NNPDehmKVw=Jt4c(c10c=71U=xpsqG@c5 z0q$L@Dw|xf#)#tb<;#L(z({=8L^;{QaEqfcL5C9a^Yg_I+n@3zH+8hPXA~DxdHn7f z_~hh7#Yac_=IvWI^Y4TCfsZ^dh~Zij)x7tj>CWQ~sTI2oIza?XVP&|E?^K+}u{Z#b#my!%S zPxGW&*wfQpUK;829?WAy>M)xx@b2}X>}_I)Y} z4;1^50LJV)Po6)g(nymv&V5%8#Y%yno(o7HfEfwfnfECvsF-Lsl*1`4%>s)|eCCXz zrY1Qm&;0pA!oa`~u@m+@YKfva`WmR2fT}mPhO}0W-T}E89vy`?JQFGtQ1|{lYhhhZ zW@h-A)*BIoUTPtaUA2*&b5NNT0lfgg7|j{`_3PJM+Y?&Q$LhoUM=Kk?SYF|!BYmBi z=-z6nIFmwS4mZd7@87=-z%^#Sz9#s8s|2a8>W#RAUJ`RSJsq7q&#N1PNvOiD7)2Ha zC5W5mmW@x`78PBnOdH&ou>Y2AER(28(O82HM(9TvjL8%Xqk7#Hk8z#Z*5Zl=!yFSRW)L?wz3i@ZT+p+NHs`BU?!;t zYCGTx^hd&ylMOKwF;JlL^DhDY>``2oGJ(1cT=>r2yD#3pB@q%50y5Y%HO2O@q`C~F zT6+$@a`np#E?0MV6cGrmSy@}3my%-sq*pMXUEiwI6FK%EYFwVF8Y<`$s-n?p=-P?ia6iD*@`ivEe$j)R9AFaOO^5>1r;4|aVuIt zR#v*#w#TYmOa;jTwwK!{0=y+)pT2%g=Y00*r%#s|qC6?oRtyp&b@`Ox&@e`YK@U}l zWgIB@`jQvHyamw#MdG5?J+lShSR|ci0U)E*2bncJJzzkkFLa|9=t++64R>@9LS>P0 zX0WYz5cl72fDdDclDV{%?D2PA`Mq3-Nv=bc;}6{Q!UMDJL;=ujJ+q49StKb=55^kN zOZAZ?563NLxpniVJm59-@xOSSCc3t{xmn_~Zu0p-1u4`~A_Sj^sI|A3f|f_a);*|I zm@cM$GR3?x_}KT4mVQ$yKSLDMTmaxkjQ_U3WLySy7~RBCWK4t06^50L&9GBMpiiL> z32X{RNoQ82^VHxUpm_e=g$o1>f<{fC<4dLQuE7dx($UjDgyv{a>Bv+xp?VBBn^DS> z7vz9yIdx4KEI@5~PRn0q-uS*KQz!nGy2!Q=2fBr?f%S=Pc zRE789ddO+a(vt1_t8NO5V<>t=rC};&=BJ=6Ngj-&*XQ_M7^n$RZZjgBU|ohBPcM9E(6`)^{lIYPvD!werE-<9Yy5fPDMzAhYi z8ylPHgNgg)ELRY(kZU)y?;Pz+xGW9jQZhtMxviX*mR@n3X<)mkmFhUOa^=buB>jhR zo3XJmYNbHYz_vB#m7oY)@%?@a$B4$m<^}szUsBo>&9drPma&cv`yT#_Dq_AC= zkr6R(!8f>npY!tNGbJS@sD{PI$9IlC2J_AF-|6wp>5cO*%Ki4UV0(k|V`OCXE=Z%) ztQofsfb68jJLqJyAVR4c8L>7TVx`d!x^#&Im7p@Svi|mn_BFM%ga;f$okBIMg@uLm zkkgZD_g|#4hpVEDOiXk6xvBPBCbcHu{!IsNYSx_`tf2nYr=kYZP~75fbbr8Srv~l( zu#QmU7#SJa1Jp}JMb#v;>u}rMz0^eX8_0F8US93ATGw&(_4NUw&&JE0Gy(72fPx}S zHpG>hZMTk6R7yib!^y@F4hA6;r8{?MP-)5De%wm^@tr$&ik+vVfN6dBCOQoz26eSi zP8J(W1`N1$VBl}bO0kepb!ZHO5PF=!&@rfSzW`;J=*7)P(AE&7is9Gx%9u#VN#N)E zWrXl;ouEF(k9^Wci}W6}A`zQjR&3*sN+T99=Eh6{$YbaQ6o5kPVwCz2OfhVV)gNU< zW!B%qVO##U3<0_mnAWiuV-DQ;VFT?*#^nNMWMt$dx0RvJoAqAobbWV$ zf{3W-&)a=qJ}$2ox+MykJ~MBPLjA_km2Kd4dke3$HfByw804q=C3$&?;YK=ujI$UY z0&AN`nImitk>Dd=Y+r)fg^p)zG0-WY8n=M?DpbEkgCd1|-SH(iEfp0)*fxK$nDzP7 zll4<1U2}|(fM5=`8uX#KQ&np)ME;uvczSdRZp@kFL{qechXvs^vf3AhB?FfU#3x;@Ilxc9VET{`! zCMzp{{ydTP!7_3q&;$rLI5_t9_R_(a0vvJ^%r7WAHQDw+UE@;8y;R3Nw2zLDU!AzuC4X9O#?UTna{LebW$bYnG&E9j^B%MfQhxpo&2Q?{MU661ld`v z;91gk3)3RDOt614;9H<$BmI^SZ?C{sn%u56G1SpP!IkwzDp=rj@J@`XUBh-YNdRgK zTXe+IryYtf{Q4CsYSWvZnc0%=U|mp9z)~=g&}BIpc1uuDa8kGiQ`C!gYv?bj!3TD5 zFrhP^zkZ#SIW7t#Dzm~Dho;oswe;g17HA33rY5!u1HP}!}l`FAmMa?x{$rQ0xWlKem?wydZHQd zL(K+fFeiZ_%)%kd%gYM|Y{Rh3Ke1&u0qz1aeEiGI&hANuVl=8S(>(dmeyg$4$id$J zDd-=Z!1%?*#pBpZ`uSZMXqlP8n_@BX@w=s|=~S|ieE~EB(#XuNh_z>CmX^?2iO86) z;6rN-1vMXVt}F0JK#-_O)zkBNg7OtmuG!_~rx2}p2w@2$l7WQF`r1ZDWJq1lJ7{nK zsu*Eeo%KzNOzNM4NQ1f=no$YYu3h_HYIO!Av5nGVA&VxLQrk&0#EY<-f*(<nkBVlm#eaXw`=j zdw;spyQr|R19-xO*p|~5Xd;}PoEv}t{uzGzAj-TSKu{rJA1aBg&!{>&^1pof5+%ma zdYtb@>|RYwOhjoo_|NBF+(hFWDBPKEkKyIx!|g6zf~K4-$@=B%*B1CQx7nsJ?;~Pc3A1) zNWXkZbCa9KIq!3~sYbGdQ#kN$*^@mBlY>{u$uY(lZ>Xrj^0#kO>@IHp{?@uu)HuC# zTg#BJ4BY+IDGUR&9|-4g(*z#;$<^#Fy~M}YVv`mW1zW|PmJO<9I|vT%`0E|IEB^fX z<9ob4Mh(PneEb1I7i#<;r4Xus#eCb7x(YwEo?g6YvHuVBtcyU4HW&LA^KGI$)~98h zY4H-RYJ^v@EOineWQdgc5;B27LWwduC$amO3p5Z2Aw1IM`&BP&SfIxxC&!_dO#=#p z-42BjOX&EOHz3NOylG&dq*NSICnok9bNTg6?#a~^)Mf(*m(lXx(-$vvk~s>NYMsY>dNdaOyDE()HjXhn zA>VMHCniS0CS&}(pq!>S$YBLX90!k3UNC8;-0F@#ihRfzg%Qxdl;L76uP_Nh2Zy5Q z>JtSFpsJuNnX8NZ-|c%KK<|6j#a z0>c&607c0R1e%&CvGzggAa_ZpH!c33bcd+(dvd6`It4jm+>S{*e+tIGh@B z1$%H+cdZcjFf`I4jEgWt1lZH4)qrTz?Y2(*_AH=RH5o!_zc`;fc|uG{*_or6TpRS` zmLf{n<|=lK%$*o3ci;b_xQFw&fhKI9GQu&*@yn4F<5>~XAAL3!-+!B@j8}l!$(x{N zU|`@`gK;8ly6wI;E)IKS#rVa{`{iYObOQnzL3J^gHG4{pkD!*QWQCQLiB`S1;Ugq% zmzSA|d*v+|{IavNi;L&berFZzIwLnV%j77=cFXkG{Vjz zAzWdpQMkpl&~?mb8iK$CKP%L?RDL`4ItgGdI3#gZ5@DxoZ!96G1o1C2W-(%rbbw^Q zYE7yT22%W#p2*7W1YOn5C(3y4(9(H?Xr}MHt%R+s-S7n?q1tEHJbs%2o|C^|HaLMV zq9dZY)6aDZs)6(k0|Q1}JUl=0Mkst}vqYU_7bjdVBA$fA#D~q{1WFGBPO#ZxJ`_vR|$yKUx$ z=`YH@Mpt{jEmyvr->G>en&RsxJ`}_MK zQ~b2f18K+1!Xjd8%ae@#IwJ%{7_V3o1EIo2&**hXC-Dmi)CezlXnNQPgC77Qqp+jF zRGHXX%3QX3l9`K3ANect8i9r--6>%Pf>7&v!euUdlvYq*tz1q`wvpo@~hv%~gkr&&dRqdwN=2-FL;jv#!;AclmZ7E5mKPpy!HyPJz` zyrCb%?$vE&T+FfwW%~e+07zkLo!_RfKpS-T8=xJ~^BXi7Cd*G@MPM&$Mh(NdT=n1L z1-s{ihapIZlYiXgr(`2g_G_Qd-0yqQw#1-kimB3XbLfF9Ez9andRYHr(dA%Gz_*|^ zJ^=`50q#wF%02OMvq!osx|V(2IX0mJ>C#OUG~k0lbN$C0jH0vKw|@sMT~6wL@%r`f zYRX3tB*B}wA}Z=-Vj=<2A9O2%s0Z%HBZUlkkXC&B-{m$}drQ6`VK-Dh7cdy0{(ar;Sl{``3qe(7;!2)h#|Y}yh}GLtq@ zpngu?h`mWwH7FVLPxJOacYi7@{2kR0KY@Qwnr!r9Ik2i(fGQwu%>ldt5fZiefrV8I z2YUKWv5|wk3fr*_+FIP?q!C~V=SI0T;rkew>#y#}WnuL3zp0Sx>fbYyIbjHdA`StQ zFI`>DF+vS_6BhUc+P{<(XGi;~zBj>L{{<{yw!J)3*UQNKaX~q0eibV7Pr$z0JaFg*`*3A-La7b(G9R$?zy>r6iYssbl4|c9TSYuWL zKZKy2!1c5MTc~~hg*>Q)5RrnkRx2>C@p3N7EVHKCp`bWHUW6QloY1`dQwk2RM)CXE zbz?=w&5JpCt{m*F#enki5c(*ZCeY<;2lkfyh|_eD+lOu-JRYjMI6D{KP&3&R%p@Fd2#AF` z3#i;zrlRl~_+>2sy-rXlyu+H0a)5H*jo`xw$!j-1eIUAN^l;SrT6I8%XW^q=gx${VA1I{R1Fj zmTG(l*mID>XkA;Pp{B+GK~|7V+J8zgD=%$e>O#163gJh_v)?lWqIIAkfL*9#Y#dkN zFa|D0;)I0BjI8abJyJ2PNlZv^t`Fo(A`g$vPWI8ys9K_=q{R4PK^gN@Da~8v`gK6m zH7bj8o`fX^WMIlcK2fni&!g<~VqcmnVEr27m*h3hNi}*Lfi_D0j)U@VbMQS4$TFuI zdL|~4t2#+0xgWny`t2`9D$kyslQRzh*r3dsyl5>7cIw{7+~gI}2FRY8e=j!ocS#Wk zN$9;y06hT#fw6Uc5rC1h6>lNahFI7=?&e?gL*CvbR54}3xfN=iMflZNO}^6!AFSCI z&!2~a*#CF8>>Hjoc@qv@s8l+#@MK5O2~vvj0_R4fIn_<}Z1ttduzWasd8%V;Y9K8g zZT1zHl+3kgr*YOTB^^A8`&v6Y^nQ5hXdE=EbAX=CzaWM-_iMW_^~DgGtD!dXj~h0~ zE~Xp`1FX_Uu|8uW9)6A!FXBhVzz_|d6*%zE$Gj{0K%!dd zbif2+*?)pd1l*R6fx+jK3{tW33ewXxSz=mgvgDv;36j-h2U~e%^Q&ND)8FQW`R6_; zx<3k-5F+7bkYE!iB5@{CY1SsuV9`b@?}Cd7fT|csqsc_vvu6@FyJ9#gG+y51*5;*~ z;zL;MvAo}ki-is749u1b@)_x_6R%#O|0v2=%r(It2v6qmkFUcG8IoTpP)@uPSlvTuZZe9B@=z|ZeJK(fg?KU!eOs5K6xOys}Tk{4#^=bKG3 zCDSn%$;MlFUX{#vpNVF*_Gq6zeTqune+Dl+dh|$ad?34~b^d;$G8h4%ki1PLTN z-;M45dbOl<+@^xF9KN2EbG8kFy>GcSct3h7ZKTk0<#X4LB#S>+)fibXKujL54&Do zKxOsUY8R^N?*U5#*9`;RJ~PPcvV_?^hQN1=UMx~O%OhtR8X7jXx1CC#+yL+Gc~Vkz zQ)dm12(p{&_oRMO`!55 zfM^QO-G{PZ?hE}F8eH_5Rsao~<3)P+A`CxvJhRL=F(4l`J?-yzeuyd$kD{U!1d}Wv z8p*~HoKC|S1p9ITG_hu3GFX{52Mn4ExaN@qwVg~yZF4E?7VttynStn~nfip8iODUu z6KA$}T*h@49iyl=Hii~6u@JP^vM?-k?=UAAv(IH;Y_U%g11ttswe`o3w__KcJ1Hyo zJE`J)Cj_+pI6hv|pzF+x4>?H2Xv02NlcHupPYM2eWU&s zxm6|2Y>9@B^d~SbpMkQuQsu(Y$4HRSRDPBq{TT>lsC@3s*clDcVCSW7pZ`1@W-R;A zq`wU$LxHFD34Vu;2iA%r#85yjhwRc*NUOLi+CEVlJh)R)woS|OC-iq8GcP4C&Xn4Y zCuj;$aPYy0{VQ8C%pUt*&20QBt~L=M1~fCcj*$jY-3*F$9mmnoTTEv)1_L~^;*b$p zyHf!vQRn<|2zKHOPubOCFp^R(`kv|7eRgfwcNd~+Xlp@;hJ~YMWPA+L5A%Y|Rx>YS zaS#;41QTy5(k4CNGo0XKUDo?NTQP+-_?M}U887$;0;$Ud1@feiRyH;$s|Ad~oK1Lg z>BN=NC;H1>{Othy;xaN1B3VkMq>3=? z4$uiwHU5xdI>AwC`Sy+6y=L;94Rs zZ}=fbvjE=5XKm7#V${sGz-kGHlMWjEU)h+CLD7(oB#F*+nextXz~> zu1X#=>Tl}prq~pwgxU!P;?kyTx5%@cC=nK{POf|UAfZ2w!`*?FMxE^F6fwAC6 zfplv=RqIt(>5%s_sjxgC7KCaj+mJ5uy-(QDHb#`@joBx=uyM0v0z~uaX?DPKaiePz zWQtFeGB;~r0;C<-Pz1g0LG9eLS{RoaDhiT(2BCcuQv1OEKdQWPM=N#-fa_$ZM5#~#xOS`2(?J+8Lr zhlbbLnShKQo%l$Q_ni&i+u-#1;ty3tQpwxLC)$9Y5P|sEjSTJC{lzrN?>X6ZcSk70 zz<_tYOxmPsRPTQl@)mV+s}j0hF_lw=mH$~HLF3v-;6^MTF%L*?XY*5p{`Mjl+uUax z{PF#J(|^YTK#`oKxKBw!f)a7Gg1NY$*1=|NS7e4rKH2wX{{EoaNh{ADS(zzRAwyjx z6kUuLRxVgU`eZ88*y)mH!1x;YQV?7MU1aoMWOk@+G;v2^hgq+P_PVa(*^GIaBX%p0 zIYlfw%%Cp6k#J%L6&V#iA+hH3X#;N=_xXSJk%3m$fNS6J-sHH<#fwC+T*PE#3k909 zA=zT6ky&B9h7}1c|HMWp8Qo=Owv|Y&VWiPyDXg7#Z_G(sxaMb+8(3FxDnQ3z6t~y? z^hu+ZpTL&TK#MMP8%PqUxx|3mOeRKTcSV)D)b(d%R4{xWIDb*HDm@ z&=z^aE@D~j{`|7!#Vb+`esa#;mZHi^`dqCv6)=*( zdj7%HLMcBbVW5kf#n3#1qoS;AKKS8Q9s7g3Iy&aXFO#r$)LM-!LY+bt!}0D!eK6}A zmf2YPiPLA83c){rN7I>MY`sHs=+u$Vu&qfMn3}YS$9?zLd5BBIZXHKB_ROgDTTimV-z`!wq1oXw(bA<7#~cah91sH>A3?GTjM55i6f=@R79sqC z*qjW{0}11gY1G%tgjCeg6;EDn6B9-q)78mW!ujQd)iU_|WZ-%|4Zw~~cBCF$(S?m5 zlugY>-R%2X=}-6<^nRj@)7XO^TPbrXnwrK3zyCor}HAz1mr< zg6TxVPLMPNhCN52Gk8T(vJ-+2A^;#Dq6W?22G1+;8c{L$V~%ab3D+0IRg8pXV$3~o z6{`7;<&vn)hH?YwO{h(f;;R(&i$^n}GlnvGr%yOiW+ELKSr=UyztAcK`L&*?1!NvP!RfSu7m$3wfLy5C*6jVGmq(z96(_r@vJ~+@Tm7 zHXV9J`3LV2U<9zj#r%xbKPfPO#Va=DZn0Na*I*MROybe%=+VjAu=18TfvC+v$UhRb zcvc9ADrA|LLNx}Qg+|QyAC%vunj;#X!ns2ddxGyp#CY~>B$KFh)AV#|l?3^{e}f}x zc1lFbR6*Rh($6B7-;u69@9;4zSY!VQ(hEc&j*gCa6!(>)ZulPe@9Z9AtZ5{+FREQQ zzze;Jf0H{@DI9<`Y`zaUIp_KL$pBasmzSf}5!5E+iITkC1|om0iQ)riaRWYWC>(D> zCN&T}vOm2Z6lP##46?)@#$8UaFUI+HTKcCnAl934b#^xN%R$o_8^&SeO;_pn&w5YiWm)Mya8|O zHy&hS>$d6lH}@7bYFXPnW6Y_3{ftn*aN&9Ko2FM*B6qWzDVfPTBsQ-Xi9?_gjgx{B zBn&Ip40#w+Tt)HFwZTg`)i8pWQph6h%@0gws&E&q(i@-;txvGpso&i*k(>Op#F&iG_K5pX4FyFtuaiYMke~P<-7THH6wfYQ+RM=w^4(p|-ra@G{tWWX z=6~ngVG|8wQn1e|o9!C~rAacid5a-2%PQrWXS{|+rJr0(oelDt!Rn#lCo^c9mi28Y zpEAKV(XyW84;ZagX9{; zp;3)HK}AIcnoJu%8c+0WAAG%2-mNq$wd-6=xg>f312CW#;;jmi*72O|(uA*Qlb;gS<8Bd;x^ca= zDb-5knUx5y5T!?NT4%J!@A5zU$$+%rc!B3dYG^p2S2SiTModC-Lq~@iB0gc@c`O~7 z$grj04F*qA8Gr-!?^n0)N@J(^ixdk!pJG4ZhBH>40BDd7>o03 zQg2olmba?g@gZ40ac0+h8CR+3KT7ir3y#h5wa)r8==J|USpd27)Ow6e=6NL|DsSJ+ zvT$)dMjY>aa#PJ$dZ`v^Y-Lp}7sx0S$6heD5P`v9Zi|QgkNF3d6Ymjwg8pgak?bXE zRzW15L+%;aqYt6#Pu}4!fVpgTNW)wO)&)WIFm#Rq!prS&OC@$gJb=J)^CoQFLGeT- zo4SP%0Q~^J>(-A3rqoQ{Ip}Z25%VZ& zoD;1vT1B|`Ra=FEaUS3{#NR7NI8W|l0iIf(drh`p|_PP3*+>2RG#d`zXNX5M)@+2nB z6sfZa8jA)B?cVzH(%l?0m?$hRE5qw9y$X}m!2LncaNYc^iA@860kXeboSYd`Y|~{n zl;HfM>={RE;EUL#D6&*B-Ux_QMaht6%iqoVk zJyna0uopKOu@!z{<@JvI=ch(koNp8n5FsnE>0|#sKK}5}V0K;Kqh0QDa(X#-L&8>x zYCH&|cf!mqnC-DJA&f?m-blKz2k-x4z}|*eEBq&C(UemE@wgLCGY}GVNLDE21P$*% z(hj(F*?^D^Tq0bqZ;0M-g1X5dBcZC&c}IyWEtVD*Z(wH&b#w^tvPb{O?Qwf}C88z8 z9{-T{Z&(uPrWo^5z$A5AT5Fb}r7;vFz>Xb|SVu#uRhVOTEu7Gqi#*{UJec5XJWvr9 znu!s{n;cCN!RS9sg$vC>^?C#W@X*?fWl&DvIkmzJaGD98@9vb(0A!8fV6w;^Z_z^X z9D+?x|NiXU++mj=jun}WE)An>IddossYtp^KT1eAi^j)5 z%0ht*8gz$He-vteqi-t!Ef~#2qmj$=FE*IHwEf`_zEl=^MO`fc~>fA$BTM(xE0 zT=~t8HyTB-WvY2|xq>;AtQ8GxqQ)p1w5U7!*9}5%Gh|QD340jybr*#}f`ZokySeB| zvV`E(%*=n{ZV=opahZ`lf>%zUn{|Dr?d1h^n3a!#@ghK2kH;#}Tv|(u0-DOMt1{Hq z4qZ$OX=q&o>(h=)nv zhd}Kg!$22m{Dp*sOrM6YzPNM4A=EE(=)o+Qkn<21gR;<+sT@NEN49Dvm<4o^CJ2kv zWSW6f`2M;d4HV{%G1HJZ$aJ9gT(#dOkAk8iIZf~b7|@S;P|)Ghc--NDxtpVL16~{g z`F39y{e0c|<&jSXCK$D>=J?w8_Z@K`hby_(FFd`hU%1iVefoEEGoqwK1ibqu^#E{< zK@L!YH0fW^$}PYVMk_xJEv=tj@~Hm?8n6NH_xK556+~u0L2VGj5r$*l8hjA}n&`T{d~Z6s6}-V}&p$NS znZ~{V3_1n{(cqY|`Y)y5g=jeSqb0)${ShsZdBE3|MF*_!*slyg{)N=rpKDV3VRUL0neNe%o`XP^ENo! z2;oe)2#C+OtZec@02bzjB_FW0+F$@=2$)EQT2X%(Fl(gn30u{r@8GlO@p&H)YP?BA z+xR#$Tn35`?%#hqy#^5u2@?5q?8b*A6MqsIPe8Mo;MK3Z zCjjC6l=+O3IvAD%L>)Wkt@?}=lJ!Y?irS0j!pm4(nR%I6EVlP>5&r)fgeEFJ8N=`b zyuPKA{gxEetXMW_dT=Thjt3OAnt1bw-wDYGB4M=|kP8w)Ux8vWkpjFCOh5GPEG84% zFdPJ0VoYD-kpVpg@@(0iVGsArfH^hXy7rwrnY+xZojdJ)l+fw?Eq0n;PGLpvI@ zLD&+9JDmTkpu){?m@%-VX!+2`7)26d(h5e|ngRrB{K! zNW_%0_$GG zjhESB6fmr`gz>qY$$+|vOZlX=@f6v+DKsP6LU>e7U|hle8Hx@yuJtqrxihC~BLD71 zc$0;(ImGqixSqDiN@DZvUx~dICuNiJ1dKbmwX*&1-}x(7UcPzrhHr{ei_=RUpx83KK};g_Z0tE(zy+timCV40sA%DGH_{?@q8mMgiV^Bj$AvzbXAj zge?e7ksSZ-JMZ9D++tqlIV-3Dk@4!q)Bu2p;(zVWtP}05&omAmCbid099~{A(vsch zhOpBD1cVol_BZc2XURT4PyGAi7<|nxUI?VIU`{;%z6ZDsx@#adC0sEDj|Wsum}gOY zTZD;fPDo6!B^|dU_bRY2Pfkok!)coJ)8?&F=4C%7YdP{(Y7KW!zYbNqS+EE1nFEHp z4>dNLg6*T8w2$apT#G_~j?g$}@hdqU5amuDb%xY!?4dVBbZfbHeO+Db%D3+B%i9O_ zwY}9Jw{XYk*vE>^6`^K zu+GL8vZ?McaieedW%(IA8Je?amBBZNl(YOOeIy_#Boq&^;^Kf^XH-7Sv164Bo|Kxf z$T??KtYP^C!LJ6llCcqt@&%Z&`H;T`DXm1<)^~F!<>$8Hl)eOebh+ZkyACy< zG{O+=f7LLE3CUqyY*5ECGfZwGu&mi8>bGuXK-j@~?9d}}T9qTHEu7#Cq-d`wtiMoY z&wv5rjwp@h=H}}#y$CiETBXM(u0^OY9Z8qIbvm}pN6dF_rU=y?gUq5Jix01g&|VHsmu{VbaQ3Di`|D(GB*et&K&>j=<%FfA-oYykXm;_s&&ca9 z1;KD2zd>;*hy_sN_P)6Uw*tEU16prF2d1qM~-{C)QE<=w7B^mIy{b!K9!#frWQ zTJP!Wi--M34I{@*0FCS>t3?V78Js`=A+3kIg9q;d=>P?7ZS5!hpSn)IfDzY|BAo;; zuGoZuX{L$F>9yCEHK#Tb>V)U$rimsRf-w0P3IX~-2%eLNC+hwCuMfL|Kt1aiY?xxsn!5C|pS1i*c0ibR^#=hFk%6tRmkSSKO@p@2LV_DbI~%h%z_sjbJlPh4J6W2p zmquUPLMeA73=clXnREuuGYaKky3g=-8qekKl!p(!k~P9a(yZ``0b^FU&-7MEwXAxB zr`rPqed^@*r&4L|>Ykg^a~dz_gsKPIa!7qzRaJHKo8*k^Y!ePl&3=R1cM#wDI?pKf zc!6DJ!w)i@YfSv7KRr)Zo8Kw-QD5S#{T`%6=`$}Y!&f(x#&|F+ePmz5MI#(KAC9>T^3G<{eZncAJ7xp5egBceQ{O&1Ai z971yDHW-4{IGxj-SRip-D-J})*SsyB7$|4wef$V5KxNxfRNP?{o&T0_neO?PDIj8F z$DDjGfi__qxBCt4QYJ4c5Nx8bxW_;wE~@S znb^Jun;`!zO{g;5<|7z$G^}#|U+sN&Jl5_1wv2{`?xIE1T_Fu6B%yU9gp|w5NJh5G zrf8vL6t1l7tc&cuBityX%ifahGRn+)j?ee^Jg?X9kLSPV`SW-GbN7n)T%Yqi-{W{6 z$8ic}b%XAuqCv|OMM9KUQ1CuWu3~#iCL8c-AC5iAuyI=iW+ky-?-%YaDoGG#7q<=# z=x*C;fRg7QDXCq1_uh9TTV_+;sl~yep-0$o^ON1Rz@;CG zh615%X%~GVz!YnHoo)~Hqs(r-(V(E;i=x=Pul_o6qlBw1S?i*n414Z{W3dcIx(4-I ztc{!E{{m)-RZuOMU5B6B1JTf!Z23>8O48f^-SA#@r!y2i#8`w-J`jySW~Lx!cuN4y zs?XJnmDfAZpCkGkDi>qW6&WS{&6-<}(pmOXOzzpLZ3pQMo>kPuRAMlWF?9yAMy2Ti z)u-m3a_tL64~6N ztg6D}J9@YvaKKaHD1oD84&0;)we(_higN|D1!zH~^OiN17Z=Zf`iW41b|rqd)y9}@ z&a`)QC#A8{kk$*&F*GEppF>p!(RM~cv(W)TBO>KP19Btxk*kj~nM#&_9Yl#t`c(Kq z1z&KQpGdf6bl=eM5fBZC*t(n*Z3<&3Nh%~^5sshQxurmv?1w|`h^`!R_`d-M4k4)w zKHJ232*R6?Z$l~t$;YqYuMKG(S+VPflKAr0Rh`USRtC6q@~L~3_6k{a?F0WV+pPU6 z)>o;!%fC>7h-y4M?x+bGP*>dUcv-ev5VLXNRW`O zc>UPg+>9NG@}&(kemL&nFuUT!DKB!ivV28F(lpXl(W!JvC6a9XVSz=7^8tQHnVWvuKr&nj&o?#VQj<+ z^z-5Uv2EN(#7i~)-k|mx%p9wi@h7yGH&Si^>Q<=BHn*<(W?*BmKp$sBmOy^q zvW2i-AiLQDErYPada|pXW}18h+9p&eC)Lwmwl2^H_{E*l#ZJ6w<#Kq5DV+w*I3N7s z4;a1yqi)B${1l!d62ze9bd;`pC#q?%TR=iQ_vsrBR6t|G(>iNpA~8ZgA(QWZCV2N;1*`)dmhPF zfAjmKoY==azA!ejK$19C8H3#bikNb)>__hMUeq=j2DN*jeb8Ugx-?zN@HON-OZeNJ z&NSLL`Z&K$Q+>0n2oaS&T#BG-5CjNReOXRrR+o=NXwkwdDfrMo`5Y{5)m%}71P9mP zeBLm(gQwZH3(g;0lyCK235kkKN?ehMki#Z62DlL9!UBfgFq-`?*b!Rf*!}t`gE#2_ zpc>4VDvO-oa9j8Qw?JPU+<}3CYq3#hDhvmh1W=!j{m3tHGE4k!b4fR&ai4w04mToeT>u)5V73AUa^-1z z%+e#!M;_(oPRGOx^d-}ke>7!O8Xk`uPUT3vrAvxM%T44J9N6hOp`sd=Q<4=CennJc(`}rL_Eb*hT1VEszg9UYV&9H1BAl zxzwZZDfBHga)}i0&}(L=uhraZsZ-S=ffC=_IaIuyqvO$oQX z_Rd|?O=}9Xy;v_TIn(HS3?p7DVD(*9Mz`M#F?y$HbfQ_oxIa~@HAju4o=o{78k(7; zBu5H(_wF;gMNip2^hy|ds2EG=Np9T1aUCBQk!%>@`X6cO0=B5I`(g%*cWQqgPbH+8 z@L{>*D))s#K_vqNp6{74j~2#6SxgVGYh;2(>4DeH%q+XZE=xv3cktbt$()eTPy1qNORa&yD96;TX_21+N{xfV+Fh3OJub{CWGV2Fbs zVd~>s+j4-l$67TxcU=&eQ@Nm7+uMkU2oo*pUXQXH1)=o^cl>F6w73c%49JQCz&*p3 zy@qm+04MefnXsZ!6EfGn@4zbgxwSO_4>Ua*7mn^C6za|2ZCE$aC*NO7HF{AV%SG9< zAG+4(ah;{%D1>m8RaI59OV8j|iJ4>|)Tsw@grr)HH$K)7bXdR?y^B1{_WddkhbeLE4J5T$}z3}IN}C2#}%mXL*IZ0w9eg+QHQZyXLNTvrGbR~6tyX!g?cyzhl!l|Q2j~{=HWc91wWz7#S z1KgFZP{Y+hrvM+THuLVdTrrFQ3}HUj1ra}Na5KM#ZXV>kOY?I-#GT%52A*gJNYSFU z6Gk=VTM5z#NR!OxB@XCR@UZ3t#u%@(8xFjR+Syes4&e!);b%bJ*{eowGuP^0a3YDZ z@Z$kWOG_UuwDQ&;m+b#5#7i|)fjc<$3jv;}83y?K|ARs5%-oy-*zQs>6Zthl_s^U@ z?TsnT8AyET4%`;g=&uqfohT4G=HZjfJTzEBZ%2R2L)}N62~>NOeB3c#YG?-2X%qix! z%BvDDl_*bcP*HFz&FX^pbUVcEed2Z zZxas&W|?lT+t5|_u~ z6)gDUR;`@AclA+C7CWaOS@ELk%&KoR6%Qdq-KN>38MNmFn@Gi_4@_q z0TE-z1EG%AW%czeNQP+DP@sPhwebKi@=;u^@;~p(NDB0+?};7s;i8>4f^Tq(AvB!; zsqP~(q3y`%plwUif`u0)hn*4zX>^r>qji zb~DXQD(It8l%Bsjg-8mU-2IWNdwKWAI9YyVbJfbHU-I89GO$qLLfTsEh6;n20w5#e zxCpiE4Pcu@hJu-xH@L$B`v1P=)5>7HJBTLx1<;iS06CK->(0~;F`F^gaOXeAv9y$V z#vWHnjjd$=i+i7~;h(gJU;8U|(}-j0iLt-gs)l^u%z&}=6`!w*d2X+{u=fe(@C&m1 zBlR^k0$2GV@C81Lw=18RJdj;@@7eoU{|m}7lDe<*94#G(!=KAfeZ0n0{|tTbeO3~I z1ix;uB3!VpU%!5axzW+lF@H{COKFV^UC+jV(^{~WViWuI?~z!Ecb(8B1O){dsMtM} z-ti#CebYsb9rSPJ=zTaYlwm*?1h%YKfna4?^E1vx>Nt)@6*eHgpxU;UNRfR`Nl#OI z_yTN~BeMX@o&mJO2r8Ce{6zncQ{~_9I6WLD`+jao@YMd`6r_hyo8VQ&R+}TUCh1W; zFlIn!x|@w{u;r)Ke?1#Fj;H}TDWuUj<<;C^qLf9(px93RVhY*L(r1~oP0>rMeHZ6t z%gE@}vp0|`4L-^o}OZ(lX$YiJvzqm z;ixOi&YFW^wtRn@8KJSRoNg&EFW)SFZh_!jb0dmEd!Sc$*WoDL37!r1?0G6yVvBt* zVzV5uWU#8K0c4xlTp$v~`?8((k&X4ixb+aufIxn=(Q|ED`(#X~~6BQzyWwj05XlX(<$I z=~w)7T}R?Sy7joQGF)KbUamVa|2{ZaR%&6g5N+C~0RD4zwOccN%fH_$%C%-X;6L*q z@^)H(LVf6ZFLmxozFQ8_o^jq&j;XOShYp4Z>t{>rApglp`9$}%u8te{6ojV!1aDC&=+kh^hcl;Y86Xx@maq{3bj`-o9?g(LyB$(C>(_@Ouyz16wTM1r4Zc zp!69-jN^T>!*!~?45^*M>zNmG<}*fPZPxa?i(EQGe#ZG>4scjpJQQWs_Y%dpH{V@L zE1zW=an*%iW&hpyIMiLj*m(BGtak%O_{cES0Riu@#G2iZR&3O zgDX2JHGu*{V_rcLZnG{i147MjK4*WyXz2K5iEnw&VouO<6M;J=kUp34hZtP2D#^= z9M!(M{Kf6y%A%ZEdi0r|Yj&Yc>mR=_L>3E9wR03@ct;n#$S4&l2)$&a5GxV?Fvq+v zFf`PBo26Dv5sDZru8n_Fk^?=Qb$? z_SXu!mxt&EXtsu}sp+*eTL_b);{xDZh!sac^%K4k$&ZXv@^ScuZv+Xr;#^Im+uldc zx1)6sPqH+TQBROSK!{K2&I@28oLGnheE}&3g9jGW%V;dpn;zyT{|2397Z+DOga<~w z#o{Op@mQ3yxkh3eBO*W`3go*AlQ*Cg$E}8*E5FElK~!D94kX|zD{p=tpAXAIR@cw? z8zbhN+9j?N@OE->S>L6zoY$=onEbo5;Lr-e%fPA;Q&$i+enPrINX;-5_Ws{saL-(S zKuAa}I0Zx?$D_yLr)HY9`(jo>bg__0$)U?}S?=teR9pO{T@(y7nUDg0P~bu6K!5cM z7j=+D>iQoL)O}oQQU{8Oe7W29*Ir)7#Kb-j7V~9RLl$C?1-%ZkZ=Fv@7W*6I+m!(7`r z5zVNc{dh;K9UzC8=PMSrz%_94h+!qOG^!3i3?OEm3g#5ZQ1q{!>lA*hv*${;id`Qs4NH$53)C!n~@zl)_)KF-2)VP^b`UAD6{)F3$(qoiwrKi3~y$igLYcGos?AbPRNN zU9uJz7Y~A#5GN6>Pqn|$z^7Z@6Q|wt_&xU4|K1WbsRsZ|%A;f;{;D7%U9tpE(+}>fqU;jva+kO?+M+7p! zDHeE%jbz)dR{3(YlZJ+;aylEpJ09*Vs-TPMwRg<(9xtUgQVSq6LlaL}4S-msJXhCS z%!NBtE&(K}ef$Zh;n;t8|Ac&qccPm-2%=@>)WIE_KvlR0Yf>rx9Bg4AtL0y&F4Lzf zAS2x%JDHL3#P0Hw&DlXDG(j=7@yZUpFtW%AG z4Ub7r;~?TIm5!wp)E7r~2s{lp}D|=@jreF7a3= zU4IK!TFhmsR)^qWd#dk3m(O?JI`JBPsy6^4eZ)q@W>p6%7YE#g1N+eY&fO`Ux0|*q zv;N^eHnR$InwrkI=#-o^&*g`_d)pVNPh;#R92z zwlNI?jdcC$T{%43^$miC?Pfk1CasY;g(`akkodD7H4Yw#*@t~_pXQGQjh@P4uxM#F$W|>qLt}FTCG@K0Zhrx zt#xCypn^^695zKa2vHpy=aCI+o8~6FJKHvi{QY;Czc9`AVq;??Vey3*#ja>wdrrC4 zI550E|JCLnHlblz`+2HUWUaQ6T1r7n&aHd{J-H~ zI0!R{LF{=Z$VLeg0JboS8+EWXQJkNbt&k5BBPL^K;G=-8?H0ug$f43`9D$!4mI6I5 z0eXUgPYfV2CX+jerD)4 zx*$OJzhIHLi~240y_N>3-2^WR|ALKk!DW5H1%|ebnWA>d-97Nsfpv^$+NSH5FP9z+ zsZnAFMy2;M3_^D$(L@RP+JppDBZQs~;SD)dF;A`&r}s0uCL<{Ivn-y8aO?m;W&}g~ zAf{6Yzqxp?7R_}CPw?WofN>v zl%fj4O-r^Y8w_#Ga;E0L{D22dbetV#mwGule{5663D%Wc4lyebHcz2Zs-kS0!rA%f z0^wYN4GWu!K8#`jg2@}7|NHOf#N_~hMR3UV9*d*0CWe9soWX+-AbL8qS&-tNF<-l< z)gSC`zq0sHkL4}m6iLlkt?S^&P4;`+aaR@6q<-1UEwNc>IjfhaO6u`pJ=xeW%9kWH z3%GYxEYK0uCeC|ZliQz}_$7}YtLZP`zPpK$(Z7HpB=;ivR|8N}#4*b>G-2xnUWlB0 zPs|9I`&u~zi`ZpAT9~>^^~HSr*f%(6AoeAf%1$3tjb`C$eb$W9-Me>Vthg(><=jf` z_NzX8fgK;H()67q=?L8eG*1z{%!Rw2%|u&c z+hV-LC(*wK{W$xyMliD0Lx2M6O3mb}1e$f1P^sD5+Ap2%IOS=7f11&hOq!THAyrx zHyoHl{Qa#}1McQKujT_ol9v~{ItBehlIr*yR|oygj{}zBYkC1Q9#9e0ygD_I@i3LK zGpkA+gXysF)hU!FQX>d$-E#$nuRD0eOAER%YzL{9AT}SP7%Mm9%%Hf)JyA9V=A6`s zfxiB}i;?m;it%D6UtYxAhvnz+a0W1Gf~MhP@;9C2?c$4^81c_!#x*#Mnc)@(MnK{ILtIx63IV zb(!SgXLt-?)wnIJ9#HeCj7x6u>aF7qd||xaf&%)lvs3v zd<7yN0s`2x**(qMSnXK$)3@FR1coAA0KtgarxQ{MnChOfk=)$Ex{8$ zhsWr*lsZm?+Vw=D>4w``M3)|xyaGMxjVI}jz_$mkxFy~+xqCN)_+}3LU_G2_B1T}> z`|p<^(pOk!3+5qlo?&4W3by|li!PCNu4_%kK*NVYmn%hv3_7bPm9V9p=r!?sgoLA$ zDMav(9H#6zxNjftvfir#H^vAi+=BKFi{-B|ID-R945jn!rY3FgB$pDLKM;ncMyl8L z{jfNC?e13Kp@cgGYW0_>$RbiT{Y_=mB?aYA{N)H_6*p4|AbH_Ay5^43ow`gS;T0~8 zMEjsii$yskHJX^t7mL_@WEvsfxG{4+xW(YL|&_mWKU?0h^gI?h1%F97@%BEbssvQtPeMTWuhZ?dy z-{u4hl5=Qr(t+gxu66r3{wuEvd}HVdjOimvufq8bQIhKmx>Y(c8%dlPs-RBj!vHu=Bm3!_x>41SbYtX(K^(##u@ivRFoB7Ps4(I~hQbdW79EW@sQwJ%dMAC&|^*+bOBL}WnypS7;= zGF7y8mab&+$5zyp_9Kz*xIOgqCWq0O0K%4+Kn*ICIuC@Ml-qqMd%tX z`V5H+bMy$%aaI>*+!eL)B$WZ8#$(+DcK1PQpd0vtwNF&#RnfC%3^kOp`OA!AzS zso%flUTNsQR&2lwei4SDgps7z6FoLbUF2>8D1zyEr@!wsn0oLmg@0%{j(K%W&EH@i z<8*8w^jZ-Q;&D+8A#gTEoOmq^(x;4~B7bwn8!xXxaGID1D<3H%=EIcwT^n*yV$h+$ ztitB?N+}qcDVqH*hb_~(D7M4>1!Ne6H?s4}j5O3!M&0>BV6pN()PzkYqB2V2fOc>A zt|g@8mDSHV2bKN(&$s5~!_yd^;f}lubg(Yb1sAi@C7E^vTG=|>DPa0Inee}Y4CI_; zj~MVQ5!mRVhB#%D(m;BO`E{HuEk!eL*MHZeD0w=Iq0E*+5uXy>>r%8mbpV zoMh06gAo5(Ml`Yi31$bRy?>EbNAK5SnkL6FJUS`^cu3^Y&&>*P)P3&@P&|JJ*9Ham z{l_#Is_CQfB(gUQSkFN71VB+WdYr9nZ0rfk10)s{0>q7Rq3Dv||Cz!ShXg64aCx%e zSWhdcfar#5%rXjFt+j@6Xd(IfwisOA&wKW-ym_$;F7ub0CV#e0uH_8yET3la<96DB>&~IKbgWm^REjw1w;ujS@+h6_&iBVQ@V-nv zx#jZVmj*I)%!g0P(cj#xtG?^$)y=iO#5ccZjM!P0{y*RPKX2gw=?(O32v6XvZ#R1! zRijg~)6REhOXg~wTanK}A8t;2!I{#YDsP&du>Wn3JKK-nXPa=g6+2)bk!&;d;?u;+ zsCdo!$8G%U%umlo~4Awq|jzC;CJ2Io&flr2S?&)TZ(m zv7DUSvO9xxD#F@JNaW=S+qG!Q<2c?fMqf5pA&P8ncikJ|J2cJ0ol#PJ>mN<;F0Y$S zx<=Hh-_$!Hp?%>~#Fwr-&IT5bvYiE?>)GvXDZD=!mP(x^`%BD)-P&j?eNrqm2GSq~ zdj}UYs4^;7HpFr4IL*qM+BW*}__P}(UD>VRYSRS^7e4b6Yb%ki^!R>R`rGO;Pj?8~ zEiiu-`evx7!?YnsQ7KSGrvBTOl>kZ2+5Y9s+4s%bq&w1l()FA=+Z7->NwK1(|!qypd$A|k{b7V;lxg&?=NFBWq zlz-Z3D_4>tsMEKUZm}6nQ(Id} zk>^z!(=K{E*Z-It;N-b!+KpPh4rY0AvzABMgMv^mN=;1EQ_UEPXI6Xeg2&?^#n1xs`4=uf-`0ac8{?tU=-^72XRe>BqN%bD865~>V)}5Lw=cE)%6%;!EhROjllHwNk_v^d zC%?|t{lyf=4h0d8$3Lz2Y)qm&%J&@anlxN4U~^q3k<3ajg(}psvA)&5dD*l4iZ5e$ zeAU;Iv*b;gykp&=3_`I#kNZ=ZYYdr+QoJQD^Pi(TPDfMUK72>Px;OmlwGu^Xr^_$c zBRKf}+;!Z;^kGNMaD_zDj+>X1A~zVl8)V5a{o&Y{GH89T`xk$lAGc%)%XgbtHdpQiYnsi>K^yyI4=*| ztc55mE7QH(4V;Iq%+3OGX%pRa=Qvtjt=+$9y5DP`jnXvw&7m z_DPzl)iL9F>&x6bdA$tEXE`mD|DB;)dbuAyu~jj;GX5=7N76l(OC0|1ndT4Mn(?iInk`*ynU+ zq$VjtAt&imU1F!zmG&q#P42( zS*OJL4UL?qw~5;1F`s`Uz7nYQ@NLIX=gnJenU_pNB&;IDKShcsMT*Bqy8A!b-f=`y zcln*iBjw|d*BQ4DY-~H#V<&oI+vm0Xx@B_L`q=H+wW$+ZN;xG@$lpuc@6VsWr(Swe zUN4~hv#A14NsFL!r17@+LlNE0g(J(n<5xW1e7(myr!=^(li2sT_O)=%0j|tg$=@r^ zjC1l?)BRO94~pmhIArr_YfF@Dc*Ymjz^~x~b#)RC(XWBqnFn_V?Mu`8nq+ zFfiY*nFXuYPPBdSK|_`=XXDSP1)2)$j`zDcd-<4;dpzItz(vSOEt#j0h5VOoc*vR0 z9YV8S#|NB5RA)`4M-O^9{<}D9RBt*WK3n$Ml+*QDlz2+N$Yi|sVqV9oF$|4h| zlB1J<$H(?F8g`iJckMb9@JwewMiJctAtlxXqWKQ)@6pmZ0+D(FMiSY|V zb>E9U%pQo?U#I47OHwB7N#tWHeIC{Kejn@HJ74gR?JOrnj%zAT&=ngQ!1j5+T%a*$Y0)Au}0Ne*$`vQ)Z3GLmj2aa@SG`PT;~UshM!%Pd+vDoXYZ z7I7)b8C6OxN1P5%YLkLD*>|?{rtSJDP;;JHHvjp2p>1b53v&VWbJk*N#0G!0E%##W zl*wCyr8Y%eOS4MiAFH1Cbw3ovN$C{7Y-dzTy6JtQZHP@F{2|9fR)xYn7E7`5ye~?U zf9nKS@@fqWxJE9%r+nXe-CAVi)M4JSpn^+u^)K9g+-IbR*%dP5EbCWG{`@=^;&on` z+;yk8hkh}KTCKl(h@DxfwQF@l;GNv?Ep=sarGEkomOJzOPAjQ745>9TkSFu&1m&Y? yp+zSTn|$l$LgB9@pI#>OKTW{@hc_^{&afrq!}Tt%I#RBncsaN@;l&4PcQ3@C`&nNPqwdNEL)d zth9n4$xucfK>`#LUWNoMpwfU6k|-(R{mKhtAP@p%f6VO6PG`D*$?RjMzklxB`eWtrdri4XMh0GPeIX2FSZ zyodJ*82F^Z&SZlhz4AWdej@3fa)=YVi)hoWo>MTzTEu3!IsgNOZQXQqx395BaDXS# zA-IEz$^Ee{N49fqTTa_2FK_HN$@w$OwVLe%^|K-vOWv zf4tf#H6A=$%bQI=OrQYrA$niUbF(e5egApUeXr9nKME@S#dh@6z@DBSPye$41W6E9 zcwr)bX@BUlzK4_l`jLi?>r(d`y)zD1zTTsHF>P{L+a+KyqU>=pf=_el_6=YxcXvnH zd~!w=(@Hp2XRCFxX$pb-PrxcVGqZ`;V+fHEANADDX%RMFg&XAWpVgIAKZddx*X_f_ ze7_N!Za{jkuqy&mdg=A~ZTX`Gjrm5G4gm?o^2UfG_&*zQP%L$9Ig?iih(u?*_ zHiDCu{aX`fG|C6l8*TdtPertNV{dC}k+pr~BfV>7=M8IfFb?n5867pcM>ULMze>-( zyglx-+Ktp38AOb(I*#ArpCb7h(y7+Mu8y z#>L{y?p9`vQmLGA%X75JH+kd!b}ZLk)R}83zh8*ULCdG^o~Kn;(#VWU(nlxp6y4dO z=D6~kwr;pS*Tqw=x`_f7hZBYe4Zjd5I%Tq`S|&3{!e+I!oCNi8yz3L?R3ZeW>x_)M z+~slm<%NXqtnsp&!k+yD*WR;~J-+rHakl?HSzg;DE6+#oB!8KiG~!Vlw4qs~)p@ zyE(3b!daB2n3lA~w(F*Nhh)S3{ecJU?Zs15Q(<~N6VJtAu?60}p;rs_UO~KidYGovpQ^Y>#w8pvjVVE@STUvQ3a!aKUNMB=2*hFXoq?Cix)7L?9$Cu z1J%bDUY*VtE)G-i!xX*pgt|; zzk0CV%Qo#{FU>U+iA2U_@f4w-?qD@G#@D;mUo1wD6t6mRX57UNzIol_Q4+RTi2q?b z+=x6=mL>bOC0@uTgtc7Rt8H%TjQra9(yxb`xzrDS865nE5EEm5xRIim(Ec7Wx zBofK4S>mcd)`OX+s%bxb;TOlVOxKLbi=gu95yw&sd-tfN^ zN!JC|X{Mt=l7%(F@07xM~vD{fIgr0OtakA892 zXCHBGMOVx}x1gJ*cT?mNHUXquF#B*{!87ZclF7+QFb7D9iKh1=+_YM)s%;io>Q@6= zU3G!MIfz8nsZvz(Pi!`O9XL&&8&w=l0crULkGBmctqw}1Ocsj;nm?jcC{9S&AnVb| z$-0qbi$b8kX1qH;SlEYLp1XgsxCkJHC0_P>(+&z08XEfDG-Q!~_OnsgD}&t5bC=oe z3x+41W?OEi<0Y0|qv`_(|M(sMKf8fM|3p2Frf+uHoG$%W6MA5PHeh7oCklr;!8;$| Nebny=(v^!~WZx%WQjocDXb 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 literal 0 HcmV?d00001 diff --git a/scripts/android/screenshots/chart-time.png b/scripts/android/screenshots/chart-time.png new file mode 100644 index 0000000000000000000000000000000000000000..80d60721566d1ef99efed3937ec008e141c89e6f GIT binary patch literal 9842 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 IZSws80GsyedjJ3c literal 0 HcmV?d00001 diff --git a/scripts/android/screenshots/graphics-affine-scale.png b/scripts/android/screenshots/graphics-affine-scale.png index 5507b585077ab6a0790060f5ae42f1b27c26a43b..82bd324c272a4dbfb102b790a9249a76af59533a 100644 GIT binary patch delta 1563 zcmV+$2ITpz8{Zm`L1qa_L_t(|obBDsZrfG@fKl3UfKCid`Wo35?S2-0xi03(B4nE< z$*PDwi^4{n@ee6qij==|fB+F9lN9geCt9MEi^Jh?I{^e;ZoL5jTM*~iFpFVxs zYC8Z<;_KJ1_kVW=lfepie_d_80X5gx*V8mj)3WI?x1t< z9dAVZI8Orj1~@3!ZNO^e}4Y=xfiU?UH^0D ztb6G)pIgr{%Up8p*{JQG^P1RNuS>q>F+BCNuelcR=k+a}&o8Zi>3$r!tkf4wmGH36FQ5v9lOGxu5dspZZ&ySTo-UVJ9C^dnbGJ-1&T+b2&w zhEdB|YSg$cJzJZ*{$q_A|0T!VD5K}XRU8Q_wMa_q*>`MHs&+;f+?G_G?FzGH*^ z*m_=C*PMSpW;r7dx;4giE2GB$nDIU3n5^{}Mp@-o;I&@=e;N7gw#GItUFPVRk6g}c z50X*ay@zpK%gFKH^W$FYF^mZLrtboeyaNC3^`Je3ZJJL1V(u~9@R+?FNNbMkmPWrc zuynn9IYZuhjt+Yba4$QQ|F=~<-deQw>Kyj-seiSdYxtWW=P(#+`u6SH**_V~c~fAG zOMd3ApRryueuK(C#KkRKT9P3R6(1Ed@$6iBP z^1XVmIY5l-I$nE4#<6o@58hk=mkfXd>Uhsx-mv7;DRUXur)?dXQ_qEw-c$h3`BeOz zJ#_$_>OyGtW9_*x+MD?@1P94J{CvsEYtP1v>-icze;3v;Jb+t2$gK~Otsnnhj2?%r z$CcyldF+M-aL*5N3wzohOQZbQ=d{o5O9o0#JuYj^g%NY~7;olR;H3%&^BSLE*}HS! z{w4PGBzvr_=jdi%hqdH>Ypi>XW$yXl8}*smt@g#9_w61W`^`$HSm#=EW_RBPv*ZQO z(Gz;^f4Yx7bzbs#_Vmm=YD|t@&TIF@+T(iemX6DaeKdM5Y}t)fJ_`5P72+@5ceEwz ze(5dxyZfH&$GDb^$=&@&EN2ZP$MvlkHNI=EbM*2?jq7G#hqczXw#@z3m}8bb;yzoM zyZxg+v_A41T-F@dw_@(&AGwc4&xKKQbcu_@Vc~FlcjMEiPs0{G*PgEw-}ANs$NBp8 z>;2!e?*apC8o=U<*1&%3;*%hL#RRsn%72P9CxXuYfURwE9pGNCnFCrjzYY*!E314T z;7kAWl<)z2u<940o_pxdefxpuxek*72R46t@Qu(PK780}I{;4ZK>+{z*I!$02f#`E z=g&Xy|NbC=S68e47a;(fy10D!s^5d+y?g)uq#FZpN*6!feh|Qa{qoBRHwECtE*>WE zK>+{#@#9Ii1>lq}o(tf|Uw=L6#sF;TK>)9>ueaI`fRlR=!1vw+0YV-;i(UNkYyIdkq5bIuvF0Sc7?40Ulh9B#MX2!Jg(1C#LvA~fr2&Ygby z{g3Hpx}0vOi|J;%y#Mp^?aS$A@z0FCeVTPv9_R7v{CxPbXkwak9_K0MoHL^l2LX}? zm_e+oId^(DeV;C;o9SY@oi3-F`#&$;zMO8SiwC!tFXOehPqU8O>D}~wdO!XBrXS~P z*7;@nyl7&YbLQMB=A1L55eEU12bB!#;&3?JZoLrzTW|)G!3rD}{SV3YbhPzyEFb^? N002ovPDHLkV1mk6Jr4i? delta 1663 zcmV-_27vkB8m$|UL1$M3Ee|?4l!&|Nq<*R_Ct& zIdj&%beYes=agkGIrnVT_Ro1wY_0btU-KBA`q|f<3;6x|md@vw*1z<59J#F5uJ4rf zuC*0^qM)cDUG zyOGb$=(#XzjxI6$2!C+yiMg){(44O*J$9eDuewhych1qp&CSi?BdMidxmxPE=jE~I z}@Wb>P-gFjz!ol$G;b& z$6@Pn<#c-P9b+gN1t##FwxmS%jW!WR{ zvz58qKk7^CBd_4H=D5BUb07c6=V0h1_K41@4y&&qPhwjq1A9$YglMxCwf2;>rg#PizAGg{LfU|oLz<>Sv>sH$V za2Egk<(IF2e-Oay>s9}W5P(e`t{%SY_n>(1-oHQV#sHkt;k(-p0{E97emLW%0G!$3 zVFDin@NYl;bk=PFIH$vN0sQIbpU=8609$$xz?++!t+oT;>>dR0y$?ZvkcXcFI}HX1 zNbyxTAWHy&ECB?v1Q5s)Kp;y1fvj2Qy?p%maqaEk4Lcr>)9=6kzUXJnIbLJ#oSS{( z-|={S)dtb@{dX^yFy}bMk~!yBV3WZKQZKCQId}RpT}}Tvyr1r-tLbjKnvT=q>)%hg zJz^P`xDCa19;UmKCZ;)Oo#&Wyj25kq$LVUid+_J` z|2F#eIo5INI^RuSruWmIZ~k#Ey?r>|eVsdp!(p1HG1csy>s3B;T_=MJ~Gw`MDlo`vDrZ3a`>CZR)IA62QKc?Rn zO-ysnoIA&ya|E*?2rvPYum)ue9d2)Lk6Uj9z!n?W{{^QRe~K>yVn_f0002ov JPDHLkV1j!Cj3od7 diff --git a/scripts/android/screenshots/graphics-scale.png b/scripts/android/screenshots/graphics-scale.png index 260688e76873d7310e84e387be2b0e77059421bf..889ff94fd729c4f5181938dab671a4eb3b1fbf96 100644 GIT binary patch delta 1472 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 diff --git a/scripts/android/screenshots/graphics-transform-rotation.png b/scripts/android/screenshots/graphics-transform-rotation.png index ac697a4a0e11bce604571a8a3e3f633901b04f06..188566ac90580486499dd57d852450efd6c50838 100644 GIT binary patch literal 4787 zcmd6rcT`h(+Q)A~Xwqe1XaWMlE5#sTXi~y}5X8~J!6*a)1rk}578pt(0TIE12rM97 z1zu5UBQ-)Gf-WK@)F4bqDAJ?^LJ6VnWp>ZboU`Zb*|X<;XXpNN@9*C8obxNs=lgx` zbNBmm_F{(=4gmll=76%j000mq06=4e1i&|okDkVXHwgZM{kK4Qx6&LqfZ@M&a25iu zC?W4e062Wb!PeS2Ja=*QJAbb>`8!U>efjS4zhl}ZFYDye3*&Y%D0O(Z3Id|B93R=w?*#A=NL&an*}UrDU=_ou;!6)s2n zTdKu~pj58ar~hN_rC4|zZ&s21oQ;WIYZ+_aUoC@=Ft&Es!yE=dWtB2Ro;t~GtlTPD z58z#WM`2|)ZYW`v_UTy>>3_Ry{`xn@7`lEd+2d3Jp+6Ww&ys^@Y3&kvC zz2`EQ=;Vmq4K8CvYKBOQsC~nwz$XG$p6%OM@iD5Xh0K#n(FTXRAz%y=9Jnsvab*tlvz4WLp=phw%)$|{?2T&IHq7b6>X(&8Z4Ii zK>36E&7||ir561F)~d99 zO1l~1oS#FW<#l9;jO9NqF<%~}aQmAI-HTcMy7;OQa&oORfZOJH$_z1&zasJQ2J?(g z;*yN+YKJ8D$i(2z?y+NoRvqp>{x9j(?;m_iBST5K|tBvZ(~S}{x~bZKwTPE`VC zoA~tZ$waF_;+o30xST^XmRmfG>$Kw-1>H1|CQG_?>`EVxvF%DbQvh>AEDT*;jA)Rh zjZU1@X~rw9Qq+;@Cg5w=E7Chnod#m4djT9l)|2RDrlKfbZ>ywAR=aOpF>&2&o_ zo0CIGvgG#CSgvVShr;GA&Z|%sdpFFv_HacL%3>+$fgdd|m${eNX4*%fMSspxF*UZA zk65ZRC%xy!`rX+zD@8X)d(8(Vk*9u24$pDg*unmppn{wCS{&qDvZ%?rbW5jV^$+PHxnuNGWloG^Xs2?C+@Bf(dRvbKp|~lGCPAR^bj+M-%%icPcc4B zZI9ZXC-roEL}P+w4wO(D5df=%5B@`BCBPGQd=%$=LX zvEGeES<=*&4bfq3zV^$$VC?Bp12-K}jY*B}TtGI2_I;P-qX#Kwc=GVtb!Y?E{Ex65iZAq!7Niks09HyPy|3feUXFhbA0uE@HYbi=qc z8tqaD7&%X+);;zub2IL@Kwo|Z7+n|-=4J5{a34o3wqu*>QvANA z#&ww|YUwN-Z9l~Q=1&sP@Fy|?E8fMF(i_DDg`d8Ln147E7yf!8AN_h_ca50_D0{xQ zHg|~#Kwx<8kxSnJ>}rl`zQ#h3rZBhHFBux1aNFA4VZ_hJf!pI%0SzxK0*4IzvAZ*@ zNE$Re?j1N}Zll^~n89pl{SRQQNnBHISOY?mdPHUVBqQuK$!j`cAEpR zm?Im53%|!l{>{3t7stB!!gVln`F0DZ0g2icWO-$Rh7Mz>#6rlE4-8;icg+sbAVo6O53#_ZoP*+H@3|%`W>0r#Z>2%GQJm)uSY4`jlOk~(~BiXRZ!ZVp3zIxR^%;oEpP1ypcUg^VR=twJ> zrG^%T6H-)&ow&`Qb&(z-EDI1fxb{EV5^9TCBOViL6Y)X5!0~BCxkn` zbZhU@0T7vI{_-!g1XETHgN%v%jBu-xQ2VB+3q+>Q=L1^K_6sWe7v5THKdN4E1bG|N zI3YHACJtpGe86W!BWI}R;}-F5!TUGomdaXz%N9`r%4p`UY1muh^bqXhm_NByIphe=Lbo7KJ`Mb{h;HAx$? zsh>q&=$rs^yQ^E9tQeB_Za0V=7#EVHE)ofH+rqLJ;)2l9?(C02zPFz#Clg& zf+W54moMiRNR5SpBwU3BRm)(2wyP-Z zHlKt20jk$c4b#Ll@*a~D5(FVi6>XJg4IhPgPB%$YQzFINHTWF7uuBhshX&V7H04kV z2KWG>F(LJYXPd~r#Hc`JZDZ>r1Tdf@Akn?;SYBBaM zzLMwBjQ%s|#)59bVXAs57_P&4TrkF*K_w$=%wbyGUt3Sg@Hs-|tYy7XCu ze0l{ib*`#PZnBUiz$$#mqJIoU zjC#e^9P;$zKf$v>l%_0V>uG9!Us09sxow-!118XgSY+ zYdLV}Crtd&Un`VY;Gur7+&yu%q%87%Sm2+fY@EU+=ct{OqcQ61N)IREP+GqvAKeS3 zDQ9bDfM*GN^6Mq|q*@mt5ZvWu)tJy~x$L_FDUgHGDfsj9S))YJ!o3@FBRU=!1JXsz{SQ-!l zL?6($f{B1nb`lYYG=wM!0S$!31Q197*^-bj(V41e)l^MQy;rZNX6F8LzWd!<=YD7T z{m!{3^II>3lA?wp002rJ?r!G+0OSGyV4Q-SbZ05|eyUV}V$LH@0;B=WdFhR8%t;R) z1?iQj5S9S|YJ3kjS07B-()hUuO+?G>smnpoIatcVL|V@VIDV48KFQ104mZ?TP_E5) zfB5JwJWnm?{Y~wApyqQ0-X-be!}ab??QLy|&48?sHYWpQAHuoRs*rc4W@z}z0nn@N z2j37o#BUKe7gLbz<=wifokh--<@}>vUX@OL}x7q43IlRAaMn>Cvi>f1AvAYm1~8oiTeh)!5qNL;)AtZl&h zo7#vtiD6LosOV;I0y?x;%x)<`pf}rhc(31K`Rf}^yadv0snyeXN=w|*glOlP?R$Ny zq0P^IerrV?69J5@w*lR)0{G^-T3)H-kV8F1zUK`Aa)23Fg2eHJM>I2+hbpaYcoo{;qmPW z6Dtwo8;^M&3*k{ueenx_Q`^LJ#j#t6)@Up}jd8Qs^{*ygK0vB_%>#54But=DR(;e9(36tuYY#b9GnpLdYO z)thMnXH@E|t5+UAC7gXGF~W2qSOJ%kGp`V3YL^jO5r10Gu}uK33=3O`0%zFHp_e7* zBYTK&Y=y)o)ewtvoIV2gWG6pzVwS%n#8YdYbdxZ*#6D>2XChd&soa?p>VDk`JhC2``U~;+NM8 zb+Du>mmEi$8ylNQA+itE+^FG33~};e|`$Qkcr*+*fenEqwC!h3pQMaQgL$ zgn?Dt_^St84oV)MWmb0Elr>6>Vv8O|jw2{y{c@u ztO$WChtvDCR-WN8<%MiJ|0Ko&l+4-P**Izbvj>nG(6U^VeEo~G}49Stq9Tpm+9yc2^i_t6b z{_$(i0xo?lYQ6g7`#ARMhDnDC%W9DpqP0F`QzUtF*NoiS-Ira@HLhGta`Fsf`XeO2 zJ*d1s^!v+&4(_^dvQ86cp2Okvt?M`^Z;y(BLU@S307Zonos)zc3!`MP3`A)X6?7at zP~COo)|S4JMW-J2$Y3eOLN53hJ%&u#ir^$w0KsbOQV*wZJ5mGS?HeN$dG+~MIvMr} zb64Q-<-4<>f0R8Yw%z7}u;REkc0fzQUh0mBk42Qr+{@b87R)vVQFc$JtE5Zz>j9^n z#4}4s@x(qpHd#=;5CX)<3#W)|+2x>}Z6vJ{h}~F&rJ%uE6pDCc-4t+ga#EZ`??`Si zUjW%_MmPq8@reM(34mleOV=g0F=*Gu33c5J^lh2{%!3D<_#8Z3Vk^`vWA*j*Jt}Ur z+wiZq)A@&u{AY-@b_%q;x{iI7MUS#RfeYeoYvf#xX@i;K8henrn!Vhu*SUbRM!9RW zEMcaI2MV-=rB)ddW-3UaKr74Cs$GPcya*7>@>pt^3Sq|S2XGV8N3Qn(jJ79T{z>;; zNWL{Hr&?JlxK9mg;5n)pu6cl}-xHeacsZsv&Kn;od z8=9G}(aocpq7z?DW<;rn!3d#bBao(@VrqX_%+n_hxcxofPC?ebn@aYxl@To|23M>3 z*ndTP7)vxMzkLlR|74m@#u&YQh{2jvWO87;o~)iDC&Hf9BnFuf@6deZBhv^@FQDH? zq>1caKm}uufPvToq`k=|Jyu65umPG>D4Lgz};ghv%@$m_L~w$1&S+zeH?EWlSh&YGG~2n!E=M1C7dA8tFM~17>IUMmz-!*1wm?X}1Vth>0hf-+d0=6F--Q9@ z2UDxygc@TQt~kqekVqfiqeboO)}3c?KV+y(axUktA!Do+CjI0*&@h_{phLQGB_{N9 z=?S{2kpxVSvMz$R3iSpF^gG75gQq?z({sk9xuaozh*&@=ZvsUs8U-{CwT}fl<$+GP zNsm`L4gM)ZswVFAu2-t_bneetyYGEcFnmzWneNeaewxJve0QWu5w=#!<}x z&5fbp9Q8YTs~PmVk^6Av8V&}MXNbzNR^GXZGdmNOQ5zCtI?R#(D-T+rSAUyc=hjG6 zX#deC?WH!1me3+`-?pBybn|~=r#&yZamy51qBodNk7DFf_RYT@h2-gvYBoYd0aFoo z22}0x=_{4@v1Z(%@}L*qs2rwqwlhvm>d~nED+eoOSkiXrf3ETQBb%)M@87C@P+VMW zUa11IxP|}kw74VbhURM`K1C-<*^5V}Nc`7VrRnVno7MjVJL5kzXw)%BC$Shl$LS*M zrIxg5PkG3D95-f{0Rz(`TVA&Ain~Xp>&e%1UNHB+D2$Z>zKvlhV-15{ve&!-lK`vw z0!aSzPM9(7!Zj#!w_LAFid4^EHnM+Sb+vS#BbFDVvf5Ej}DnI9h&t#;1i*IIvm> zY@A=_7CY`;@@b=V4;bK__O;HVeVqUF?m`Fo_J9!%VG`TGFP+LZwRs^njXnc%JfBBs zd-*kz(^0|;O=(b^^j2iChOanUvFVr{IpX&K-eN|TeC6M%nA-4FaJZGq$_EHuuNTT= z-lOT_%*sPD{E+dc$m_p~PE6J*1e+i=riYJLF7&6q3tsK9JNjz}AX1lZ`Y>ja7<|X;*2L12>&s)h*Bw zx%V=~RN66IfT6PG%5lGZj94YPAKZi()Gg2s|IuUf{)^E4)b>4cCClo_{7AUH(-{zI zsz257V<=&)gzrhC8Q~t6MdczBzeYy)h=v5mcL#eSHQtwK_mz~-J1b#K!J}`XayQdx zx$hyH;jcnfsrvnnFaM*AFE4^Izd+^fW=aGRJtCW}elVu0M9yyL`)2g7qKlKYV9Zmn zjo=5XvOLa}CgSOV!_ojZkJ()Kdw|>bwal}9zDR%zUz9k(Ssw|PbAL|N z?k;`Y09To Date: Sat, 9 May 2026 10:51:43 +0300 Subject: [PATCH 23/25] charts: drop xTranslate from Canvas.rotate centre The chart-package compatibility shim baked `absoluteX - bounds.getX()` (which equals the Graphics-level xTranslate during chart paint) into the rotate centre so that the rotation matrix it pushed worked under the old "final = t * (vertex + xT)" convention. After a58de8a8c moved that conjugation into Graphics.setTransform itself it fired twice for any XY chart with axis-title rotation, throwing the chart well off-screen and producing the byte-identical blank PNGs the iOS GL/Metal screenshot tests captured for chart-line / chart-bar / chart-scatter / chart-bubble / chart-time / chart-cubic-line / chart-range-bar / chart-bar-stacked / chart-combined-xy / chart-transform. Drop the manual offset so the rotation centre is taken in chart-local coords -- the same simplification we applied to Node.render and ChartComponent.paint when introducing the platform-side conjugation. RoundChart subclasses (Pie / Doughnut / Radar) never call canvas.rotate so they were unaffected; XYChart's drawText with `extraAngle != 0` (Y-axis title in HORIZONTAL orientation, X title in VERTICAL) is the only path that hit this. Co-Authored-By: Claude Opus 4.7 (1M context) --- CodenameOne/src/com/codename1/charts/compat/Canvas.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/CodenameOne/src/com/codename1/charts/compat/Canvas.java b/CodenameOne/src/com/codename1/charts/compat/Canvas.java index f8adb01b8d..fc045d0182 100644 --- a/CodenameOne/src/com/codename1/charts/compat/Canvas.java +++ b/CodenameOne/src/com/codename1/charts/compat/Canvas.java @@ -175,11 +175,14 @@ public void drawLine(float x1, float y1, float x2, float y2, Paint paint) { } public void rotate(float angle, float x, float y) { - //Log.p("Rotating by angle "+angle); + // (x, y) is in chart-local coords; Graphics.setTransform now + // conjugates with the active xTranslate/yTranslate, so we must NOT + // bake `absoluteX - bounds.getX()` (= xTranslate) into the rotation + // centre here — that would apply the conjugation twice and rotate + // the chart around a point well off-screen. Transform t = g.getTransform(); - t.rotate((float) (angle * Math.PI / 180.0), x + absoluteX - bounds.getX(), y + absoluteY - bounds.getY()); + t.rotate((float) (angle * Math.PI / 180.0), x, y); g.setTransform(t); - } public void scale(float x, float y) { From 40ea4394b8ea9f592d8ca635f00a50fd81a6ac36 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Sat, 9 May 2026 11:32:13 +0300 Subject: [PATCH 24/25] charts: replace em-dash with ASCII in Canvas.rotate comment ParparVM Android Ant build runs with default ASCII source encoding; the em-dash I added in 16deb0831 breaks compilation with three "unmappable character for encoding ASCII" errors at line 181. Swap for two hyphens (per CLAUDE memory: ASCII-only in CN1 Java sources). Co-Authored-By: Claude Opus 4.7 (1M context) --- CodenameOne/src/com/codename1/charts/compat/Canvas.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CodenameOne/src/com/codename1/charts/compat/Canvas.java b/CodenameOne/src/com/codename1/charts/compat/Canvas.java index fc045d0182..2411f6ffc0 100644 --- a/CodenameOne/src/com/codename1/charts/compat/Canvas.java +++ b/CodenameOne/src/com/codename1/charts/compat/Canvas.java @@ -178,7 +178,7 @@ public void rotate(float angle, float x, float y) { // (x, y) is in chart-local coords; Graphics.setTransform now // conjugates with the active xTranslate/yTranslate, so we must NOT // bake `absoluteX - bounds.getX()` (= xTranslate) into the rotation - // centre here — that would apply the conjugation twice and rotate + // centre here -- that would apply the conjugation twice and rotate // the chart around a point well off-screen. Transform t = g.getTransform(); t.rotate((float) (angle * Math.PI / 180.0), x, y); From 36137d12e3a943defa12e122e530a4beee24ca83 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Sat, 9 May 2026 12:27:13 +0300 Subject: [PATCH 25/25] charts: add diagnostic logging + promote iOS round-chart goldens The XYChart-derived screenshot tests on iOS GL+Metal capture identical 45927-byte blank PNGs (no form title bar visible) while round chart variants on the same harness render correctly. Wrap util.paintChart in ChartComponent.paint with a try/Throwable so any iOS-specific exception during the XY chart paint is logged via CN1SS:DBG instead of getting swallowed by the EDT loop's outer catch, and dump the chart bounds, xTranslate/yTranslate plus clip rect at paint entry so we can see whether the paint is being called with sane geometry on iOS. Also promote the iOS GL + iOS Metal goldens for the round-chart tests (chart-pie / chart-doughnut / chart-radar / chart-rotated-pie) which already render correctly on both backends, so the chart-package paint path has visual coverage on iOS while the XY-chart blank-render is under investigation. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../com/codename1/charts/ChartComponent.java | 16 +++++++++++++++- .../ios/screenshots-metal/chart-doughnut.png | Bin 0 -> 106803 bytes scripts/ios/screenshots-metal/chart-pie.png | Bin 0 -> 93501 bytes scripts/ios/screenshots-metal/chart-radar.png | Bin 0 -> 107240 bytes .../screenshots-metal/chart-rotated-pie.png | Bin 0 -> 110288 bytes scripts/ios/screenshots/chart-doughnut.png | Bin 0 -> 96245 bytes scripts/ios/screenshots/chart-pie.png | Bin 0 -> 87175 bytes scripts/ios/screenshots/chart-radar.png | Bin 0 -> 96696 bytes scripts/ios/screenshots/chart-rotated-pie.png | Bin 0 -> 102560 bytes 9 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 scripts/ios/screenshots-metal/chart-doughnut.png create mode 100644 scripts/ios/screenshots-metal/chart-pie.png create mode 100644 scripts/ios/screenshots-metal/chart-radar.png create mode 100644 scripts/ios/screenshots-metal/chart-rotated-pie.png create mode 100644 scripts/ios/screenshots/chart-doughnut.png create mode 100644 scripts/ios/screenshots/chart-pie.png create mode 100644 scripts/ios/screenshots/chart-radar.png create mode 100644 scripts/ios/screenshots/chart-rotated-pie.png diff --git a/CodenameOne/src/com/codename1/charts/ChartComponent.java b/CodenameOne/src/com/codename1/charts/ChartComponent.java index f5326ed50e..d6316f5853 100644 --- a/CodenameOne/src/com/codename1/charts/ChartComponent.java +++ b/CodenameOne/src/com/codename1/charts/ChartComponent.java @@ -306,7 +306,21 @@ public void paint(Graphics g) { } - util.paintChart(g, chart, getBounds(), getAbsoluteX(), getAbsoluteY()); + try { + System.out.println("CN1SS:DBG:ChartComponent.paint:start chart=" + chart.getClass().getSimpleName() + + " absX=" + getAbsoluteX() + " absY=" + getAbsoluteY() + + " bx=" + getBounds().getX() + " by=" + getBounds().getY() + + " bw=" + getBounds().getWidth() + " bh=" + getBounds().getHeight() + + " gxT=" + g.getTranslateX() + " gyT=" + g.getTranslateY() + + " gclipX=" + g.getClipX() + " gclipY=" + g.getClipY() + + " gclipW=" + g.getClipWidth() + " gclipH=" + g.getClipHeight()); + util.paintChart(g, chart, getBounds(), getAbsoluteX(), getAbsoluteY()); + System.out.println("CN1SS:DBG:ChartComponent.paint:end chart=" + chart.getClass().getSimpleName()); + } catch (Throwable t) { + System.out.println("CN1SS:DBG:ChartComponent.paint:exception chart=" + chart.getClass().getSimpleName() + + " err=" + t); + t.printStackTrace(); + } if (transformed) { g.setTransform(tmpTransform); diff --git a/scripts/ios/screenshots-metal/chart-doughnut.png b/scripts/ios/screenshots-metal/chart-doughnut.png new file mode 100644 index 0000000000000000000000000000000000000000..441d8dfb472cf16bcfbdda4fcdfb64b8b3433911 GIT binary patch literal 106803 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 literal 0 HcmV?d00001 diff --git a/scripts/ios/screenshots-metal/chart-pie.png b/scripts/ios/screenshots-metal/chart-pie.png new file mode 100644 index 0000000000000000000000000000000000000000..a20fe39e9fdb05ea4a0da202e8a7d4a78db489ac GIT binary patch literal 93501 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

rOL&7xX}(y-FFmI(_|9 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 H$0z!~*3BB4 literal 0 HcmV?d00001 diff --git a/scripts/ios/screenshots-metal/chart-radar.png b/scripts/ios/screenshots-metal/chart-radar.png new file mode 100644 index 0000000000000000000000000000000000000000..19fdb0feddc1943b4eb0adef23d676019d22e7de GIT binary patch literal 107240 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 literal 0 HcmV?d00001 diff --git a/scripts/ios/screenshots-metal/chart-rotated-pie.png b/scripts/ios/screenshots-metal/chart-rotated-pie.png new file mode 100644 index 0000000000000000000000000000000000000000..25ad04e0dcc0f8b14eb6242bb8e614c59d643728 GIT binary patch literal 110288 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 literal 0 HcmV?d00001 diff --git a/scripts/ios/screenshots/chart-doughnut.png b/scripts/ios/screenshots/chart-doughnut.png new file mode 100644 index 0000000000000000000000000000000000000000..abc74f0b3116a18ddf10fe99b071b298eb23e2ee GIT binary patch literal 96245 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 bZC)USV7BahL`uUl@Q;z9sR8bo!>#`T)@J|? literal 0 HcmV?d00001 diff --git a/scripts/ios/screenshots/chart-pie.png b/scripts/ios/screenshots/chart-pie.png new file mode 100644 index 0000000000000000000000000000000000000000..2b35528ef3c70b10980cdb882169ad6605db48a6 GIT binary patch literal 87175 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

Ras+#tom?wjZteSNetC1_QNL02unxUvbrgZv3%Z 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 Y*yNa<-@U4475sNWP5Uh2^vwtV1D>rqegFUf literal 0 HcmV?d00001 diff --git a/scripts/ios/screenshots/chart-radar.png b/scripts/ios/screenshots/chart-radar.png new file mode 100644 index 0000000000000000000000000000000000000000..ae4a54ae99cc3f655701ac6011ce7deb8de5af68 GIT binary patch literal 96696 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 V$I>qQECT;d9XC9dam4n<{{cZT=TZOw literal 0 HcmV?d00001 diff --git a/scripts/ios/screenshots/chart-rotated-pie.png b/scripts/ios/screenshots/chart-rotated-pie.png new file mode 100644 index 0000000000000000000000000000000000000000..bebb998df8af1b9154c7decb1109be6e8ba18157 GIT binary patch literal 102560 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

6;vT-K_CNBQDi&Z~MLS3SJQY`xFSe805<~ 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 literal 95108 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