From 1b70a26bdb816b3cb43073877f58fff1b9edbfd9 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Sat, 25 Jul 2026 17:02:35 +0300 Subject: [PATCH 1/6] Size CSS border-radius by the CSS box model (#5454) A stylesheet rule such as btnSend { border-radius: 0mm 3mm 3mm 0mm; padding: 0.6mm 4mm; } started rendering a much taller button in 7.0.260 than in 7.0.233. Cause: PR #5054 (JS port native themes) added a branch to CSSTheme.getThemeBorder that prefers RoundRectBorder over CSSBorder for the simple border-radius case, so this rule switched border classes. RoundRectBorder.getMinimumHeight() reports twice the corner radius and DefaultLookAndFeel maxes the preferred height against it, so a 3mm radius forced a >=6mm tall button regardless of padding and font size. CSSBorder has no such floor. That floor is deliberate for hand written borders (it guarantees a pill), but it is not CSS: there border-radius never contributes to the size of the box. Rather than revert the border choice, which the JS port needs, this adds an opt-in sizing mode: - RoundRectBorder.cssBoxModel(boolean). When set, the border reserves no space for the radius, only for a shadow it actually draws. Off by default, so hand written borders and the designer are unaffected. - createShape now applies the CSS corner overlap rule, scaling the radius down when the corners do not fit. Per edge, so a shape with only its right corners rounded may use the full height rather than half of it. Previously the path could fold over itself once a component was smaller than the radius, which the CSS mode makes reachable. - The CSS compiler sets the flag on every border it generates. - Resource format 1.16 carries the flag. A 1.15 or older .res reads as legacy, so existing themes keep their current sizing. - Sheet.updateBorderForPosition clones RoundRectBorder field by field and now carries the flag across. The regenerated native themes are exactly one byte larger per RoundRectBorder (70 in the iOS theme, 60 in the Material theme) with no other content change. Touching the theme CSS runs the native theme fidelity suite on this PR so the new sizing is measured against the real OS widgets on both platforms. Tests: border sizing and corner scaling in BorderAndPlafTest, the reported CSS compiling to a flagged border in CSSThemeBorderRadiusTest, and .res round-trip plus 1.15 backward compatibility in RoundRectBorderCssBoxModelResourceTest. Co-Authored-By: Claude Opus 5 (1M context) --- CodenameOne/src/com/codename1/ui/Sheet.java | 3 + .../codename1/ui/plaf/RoundRectBorder.java | 108 ++++++++++++- .../src/com/codename1/ui/util/Resources.java | 11 +- Ports/Android/src/AndroidMaterialTheme.res | Bin 129843 -> 130515 bytes .../iOSPort/nativeSources/iOSModernTheme.res | Bin 159566 -> 159636 bytes Themes/AndroidMaterialTheme.res | Bin 130455 -> 130515 bytes Themes/iOSModernTheme.res | Bin 159566 -> 159636 bytes docs/developer-guide/css.asciidoc | 2 + .../css/CSSThemeBorderRadiusTest.java | 108 +++++++++++++ .../codename1/ui/plaf/BorderAndPlafTest.java | 151 ++++++++++++++++++ ...oundRectBorderCssBoxModelResourceTest.java | 129 +++++++++++++++ .../com/codename1/designer/css/CSSTheme.java | 8 +- .../codename1/ui/util/EditableResources.java | 10 +- .../com/codename1/ui/util/xml/Border.java | 20 ++- native-themes/android-material/theme.css | 10 ++ native-themes/ios-modern/theme.css | 10 ++ 16 files changed, 561 insertions(+), 9 deletions(-) create mode 100644 maven/core-unittests/src/test/java/com/codename1/designer/css/CSSThemeBorderRadiusTest.java create mode 100644 maven/core-unittests/src/test/java/com/codename1/ui/util/RoundRectBorderCssBoxModelResourceTest.java diff --git a/CodenameOne/src/com/codename1/ui/Sheet.java b/CodenameOne/src/com/codename1/ui/Sheet.java index ff7bd12c6d7..12500b09708 100644 --- a/CodenameOne/src/com/codename1/ui/Sheet.java +++ b/CodenameOne/src/com/codename1/ui/Sheet.java @@ -988,6 +988,9 @@ private void updateBorderForPosition() { nb.strokeColor(b.getStrokeColor()); nb.strokeOpacity(b.getStrokeOpacity()); nb.stroke(b.getStrokeThickness(), b.isStrokeMM()); + // A border that came out of a stylesheet must keep sizing like a CSS box, + // otherwise repositioning the sheet silently inflates it by twice the radius + nb.cssBoxModel(b.isCssBoxModel()); b = nb; switch (getPositionInt()) { case C: diff --git a/CodenameOne/src/com/codename1/ui/plaf/RoundRectBorder.java b/CodenameOne/src/com/codename1/ui/plaf/RoundRectBorder.java index 4313a38ea30..17712e819a8 100644 --- a/CodenameOne/src/com/codename1/ui/plaf/RoundRectBorder.java +++ b/CodenameOne/src/com/codename1/ui/plaf/RoundRectBorder.java @@ -156,6 +156,8 @@ public final class RoundRectBorder extends Border { private boolean topRight = true; private boolean bottomLeft = true; private boolean bottomRight = true; + /// True when this border should size itself according to the CSS box model, see cssBoxModel(boolean) + private boolean cssBoxModel; private int arrowPosition = -1; private int arrowDirection = -1; @@ -165,6 +167,11 @@ public final class RoundRectBorder extends Border { private Stroke stroke1; private RoundRectBorder() { + // Every reader of shadowSpread treats it as millimeters, so seeding it with a pixel + // count makes the default spread density dependent and far larger than the 0.2mm it + // reads as. Correcting it would resize and reshadow every existing hand written + // border, so the value stays as is; borders that follow the CSS box model do not + // reserve any spread unless a shadow is actually drawn, see minimumSize(). shadowSpread = Display.getInstance().convertToPixels(0.2f); instanceCounter++; instanceVal = instanceCounter; @@ -544,6 +551,43 @@ public RoundRectBorder bezierCorners(boolean bezierCorners) { return this; } + /// Makes this border follow the CSS box model when the component is measured. + /// + /// By default a `RoundRectBorder` reports a minimum size of twice the corner + /// radius (see [#getMinimumHeight()]), which grows the component so a fully + /// rounded "pill" always fits. That is the behavior hand written code and the + /// designer rely on, but it is not how CSS behaves: in CSS `border-radius` + /// never contributes to the size of the box, it is simply scaled down when the + /// box is too small to fit it. + /// + /// Borders generated by the CSS compiler enable this mode so a rule such as + /// `border-radius: 0 3mm 3mm 0` renders with the padding the stylesheet asked + /// for instead of a component inflated to 6mm tall. + /// + /// #### Parameters + /// + /// - `cssBoxModel`: true to measure like CSS, false for the legacy pill sizing + /// + /// #### Returns + /// + /// border instance so these calls can be chained + public RoundRectBorder cssBoxModel(boolean cssBoxModel) { + if (cssBoxModel != this.cssBoxModel) { + this.cssBoxModel = cssBoxModel; + dirty = true; + } + return this; + } + + /// True if this border is measured according to the CSS box model + /// + /// #### Returns + /// + /// the cssBoxModel value + public boolean isCssBoxModel() { + return cssBoxModel; + } + /// True to draw the top left corner rounded, false to draw it as a corner /// /// #### Parameters @@ -1026,6 +1070,9 @@ private GeneralPath createShape(int shapeW, int shapeH, boolean rtl) { } + radius = scaleRadiusToFit(radius, widthF, heightF, + roundTopLeft, roundTopRight, roundBottomLeft, roundBottomRight); + if (roundTopLeft) { gp.moveTo(x + radius, y); } else { @@ -1120,13 +1167,72 @@ private GeneralPath createShape(int shapeW, int shapeH, boolean rtl) { return gp; } + /// Shrinks the corner radius until the rounded corners fit inside the shape. + /// + /// This is the corner overlap rule from the CSS backgrounds spec: for every edge the + /// radii of the two corners it connects may not add up to more than the length of that + /// edge, and when they do every corner is scaled by the same factor. A square corner + /// contributes nothing, so a shape with only its right corners rounded is allowed a + /// radius of the full height rather than half of it. + /// + /// Without this the path would fold over itself whenever a component ends up smaller + /// than the radius asks for, which is the normal case for a border in CSS box model + /// mode since there the radius no longer inflates the component. + private static float scaleRadiusToFit(float radius, float widthF, float heightF, + boolean roundTopLeft, boolean roundTopRight, + boolean roundBottomLeft, boolean roundBottomRight) { + if (radius <= 0) { + return radius; + } + float scale = 1f; + scale = Math.min(scale, edgeScale(widthF, radius, roundTopLeft, roundTopRight)); + scale = Math.min(scale, edgeScale(widthF, radius, roundBottomLeft, roundBottomRight)); + scale = Math.min(scale, edgeScale(heightF, radius, roundTopLeft, roundBottomLeft)); + scale = Math.min(scale, edgeScale(heightF, radius, roundTopRight, roundBottomRight)); + if (scale >= 1f) { + return radius; + } + return Math.max(0f, radius * scale); + } + + /// The factor the radius has to be multiplied by for the two corners of a single edge to fit it + private static float edgeScale(float edgeLength, float radius, boolean roundStart, boolean roundEnd) { + float used = 0; + if (roundStart) { + used += radius; + } + if (roundEnd) { + used += radius; + } + if (used <= edgeLength || used <= 0) { + return 1f; + } + return edgeLength / used; + } + @Override public int getMinimumHeight() { - return Display.getInstance().convertToPixels(shadowSpread) + Display.getInstance().convertToPixels(cornerRadius) * 2; + return minimumSize(); } @Override public int getMinimumWidth() { + return minimumSize(); + } + + /// The space this border needs on its own, regardless of the content of the component. + /// + /// In CSS mode only the shadow needs reserving: the corner radius is scaled down to + /// fit a small box (see [#createShape(int, int, boolean)]) exactly like CSS does, so + /// it never dictates the size of the component. In the legacy mode the radius reserves + /// twice its size so the rounded corners are always drawn at their full radius. + private int minimumSize() { + if (cssBoxModel) { + if (shadowOpacity <= 0) { + return 0; + } + return Display.getInstance().convertToPixels(shadowSpread); + } return Display.getInstance().convertToPixels(shadowSpread) + Display.getInstance().convertToPixels(cornerRadius) * 2; } diff --git a/CodenameOne/src/com/codename1/ui/util/Resources.java b/CodenameOne/src/com/codename1/ui/util/Resources.java index 0ba571c90f3..0ecf7e7700f 100644 --- a/CodenameOne/src/com/codename1/ui/util/Resources.java +++ b/CodenameOne/src/com/codename1/ui/util/Resources.java @@ -2109,8 +2109,8 @@ private Object createBorder(DataInputStream input, int type) throws IOException //bottomOnlyMode(input.readBoolean()); // round rect border with top-left, top-right, bottom-right, bottom-left corners // specified independently - case 0xff15: - return RoundRectBorder.create(). + case 0xff15: { + RoundRectBorder roundRect = RoundRectBorder.create(). stroke(input.readFloat(), input.readBoolean()). strokeColor(input.readInt()). strokeOpacity(input.readInt()). @@ -2125,6 +2125,13 @@ private Object createBorder(DataInputStream input, int type) throws IOException topRightMode(input.readBoolean()). bottomRightMode(input.readBoolean()). bottomLeftMode(input.readBoolean()); + // CSS box model sizing was added in resource format 1.16, themes written + // before that were all generated with the legacy pill sizing + if (minorVersion >= 16) { + roundRect.cssBoxModel(input.readBoolean()); + } + return roundRect; + } case 0xff16: // CSS border diff --git a/Ports/Android/src/AndroidMaterialTheme.res b/Ports/Android/src/AndroidMaterialTheme.res index cd754e2de989254870fc1e3594dc43974a57029c..dc9bf64f2315ca39c3134ddf00a8e2aa467a1da8 100644 GIT binary patch delta 1572 zcmYjQdr(wm6yLMneY7u^ecXK$3yhM3JS@zy>_PGmSdud&3`t;rkf201HPtjCLle>v zLml;V4BP=p0u)$3>B}7R!T5?`K!QjH!Rawd7~)L+Q)qYD@3Q=H@BN+kIlprceV`fs zSEE-bA1M?HwE`68pk7p}BtfA-pR$6ZL&_T*l`T6LM)V2c7Y$lX4ipXf3*TzPPq@W+ zky=e(8n}0p`vOM=p8s?USwpX%oLyc+W1nt|Z5dV4+pM+Ykwg z!=e}`nTi564!Cu=|MB-DwglNGV2#IwX)#|%Y^x+&bhw7bABgA^FxBrR?MA8gkiP;q z$8N{&*fUrX*G%>C_w>A(Jt;0Ur|e#o?sK#=bvTmBgTary7_&;Cg==aY5xozMnNCcq zQ=>Msj0f({d?=^Lnpo;Ol_k=`P436=!<_ASBj*h6f2|qQww_)F3J*r*+EJCeg<~7; z%KZ-G^G+_v^?5crlQ*~=V@pKb(PzY)J2E8vBLG&GIPg%J6~)pjNn@eyrJX6J#Wh&c zi{30H$pLWUdkv`Jdc4qJC4U9LMprlPPDHPCJe68U$&g zm>v;@U_M8G3kF&lR4XMO{8$vU;byAF29=g}(Co0c8>7`)>g&lcVNvf}(j(HFz1KrF z|78cgaw!d@SU0}=F`P+nAhwth6Bol|B@^(1t)RlfQ{9Zz*lndn4QoG zB&7^&n4PXgb5J06cfm#`X$FAJzYQBg`*-5Dms~989oXvNHNM#gr+JNSHP9>1<*kJo zkk?Dje=b#X*MT{TN396JDIPT%fS?>z)eQW44z@t}dRTP}WU0tdo5XEGdx+cCju5x> zI5>b@I{}4KTOt1=B>HgZYDSE}l$|!0T-ND6CMjH^!hC z*ri{g6iD(o6tLQHcvs0DP5=U{pM)d2Fj+%)z)GH-hF0F~lh6tfTq(6Ok@4l){Fqa> zHZ8OX@8C?0=sJw}5HB3;Fq;ERmTnLbEJ28nHcZojwz-uRoeTc)o^zh(JnuQ@dEYbq z&@3L9Lkw)*U@({rFxc8cbY^lTWE7O|q{er6my2sWBV2;H~C|YJkhPr+LmpiR=1hn zh%2Y~_;4DI%Tn_NnvC~}g9)=Cv^)7QBB_6`mzJjt(R|8)LVNZFkW&Pw?sid7rk%Ri zo9N3GCTd(?{0JNQj}@@c+SkV^e#4ju%1jA18x{-0(_3JtO*ya9iJS}ccCL>eh@ew-JZw-T`cSH zP95 zD&3=r>?;vQD(U-_+WMTr)<40>H{cR%a9pKC&`_vd{5cfHD0HM(jE~%6R5hxL->%I; zOpJAER6BDS9xD6YAr9P}V&bFQ8dJFKs6$lU8TIlHYk9fSG4m5zLRd;E)Pl0%G_fCnES&^&Mrj zj&$%r9d3EZh2`K4Zsf{&Hx57^@Ic*gG!p+fcx5u0<;y8J#pJD23_@Od2JPSGnD(zzpMIk6HA3o4g9wF+M(@pU^;BY)k2N+$OdsmI8SVl;uj zRSG+2rPwIdsvk189IL=@?1EjE?ZQ?UANvgFC9gmiyO{J20Nux#&X2Rx$m?zgmXJH0MZR8BHy1qj|HQ z+Lz8~Q%if8oSsiuv66pTr#Y6rkPbT~R#ffwip#{O8Lo(uBz%R~nG6?1oemdN{yr6B zqSc5+Cc-BCgz%eDc$nXH!z&itXn_cLkS5&~xas8I+Hp&SJ1`4?$2wsVa&e^)4`S0zLoxS!f=b^T^&;{S#|!U&U|yM(QFSdCkXe1Z znME803qX?AO_DAaTlj0neu!8Svx85l%r6R(SqqF%9GjkFjlAy=Y-o6V%6sGahbRng{Rl)8~CmO delta 596 zcmXw!OGuP)6ve-D{pMjaj-%%1I0@;(txln|lfXrb85xhzMVsHrb5S;-16(odcJ9Yb|^EOSa3PUBfW! z28`T?t{fi+{1#XG+A^;GxZvibZ-I<5E-Uu)Xz`>D_}?C3Gjf{)5lg2cZsJ4DKK-t# z8ys!1bW_W2J~y3?rKd=BOu?xp3Se?ww}Z!HF69_RK0ml%*EwgpknR+y_m|<##Ckjy zGWkc(fbQybl0JK`0eYb?T*cp}y6HaBMPKRls=ADafLAiGWK({x=?Mz zVXCQmY|7mRT&z<0!x$#R;(L)Ic{GgYkn`G#LHqLRu5(-lQXZJ>CQH!ZNPBF3`A~9x-sw8;p=`q-)i!47YvULnX%a2e z+%rg{Jy|*y9;2o33wqKUmGD!2-*f4*g)UyJy9prqxYSf-j@SJ@tPLgR%@2i7z}zI*bx zi;{065Z-=HRrS%61zszi)>03R2g4legszjZWlmNW!2ux|{#X z7b{67g`8f#SojY9^3#VS?0Nvbq8Pwch*Lp0A%;vWnQW>RwKP9!V~JLD3)#)8;?_RQ zpfU;2?aR8jvL8oxNyh*c4jJ+#js1+n#g=2(BX(TCtUQek#Nic=IJQHyB(SiTZA#0y zNLt3pO%HX4y=?U<{)pvq_`&QGI4dF($W(Td7TjW|1*0PM(Vc$37~pu-#J0}iw74{f gZK_Cp!w^JO5yN1y63&Qx2?RSJ87xCPtR#u4d>+j z$m9Vhvm(a_hlj+mJbZLEdWy!P({w(Tqrb5!DqOgsVbZ?%6lbmUJZ_FA#%O=Sl*Pn? zmmVaqYxwD3vP^R5wH&Fw zqb2#m7i|g9qT46`EXtE&ycsdI)r=9Sksu7H$07U-i93gou_;8A9+xsY@luy-7wcVU zp~6F_s&!!;w!l))y3v17^rzqxJcTn#Z&j$aVRS>RXW&!m462>tNL~ktyd7k{v4bK7 zm=K4HxWbu9yW*BA7x5ITuY?ZW(WG3$Qdx<&5izigi#B=H%rZ=_KCj>!RBsJQh! diff --git a/Themes/iOSModernTheme.res b/Themes/iOSModernTheme.res index 5f87bbb0917a6feb4d84f8dfb99343fb22f8eacc..df6888d77672140e65eded06c88eb6075330fe26 100644 GIT binary patch delta 714 zcmX|8Ur5tY6#jkJpL27#rrX>yO{J20Nux#&X2Rx$m?zgmXJH0MZR8BHy1qj|HQ z+Lz8~Q%if8oSsiuv66pTr#Y6rkPbT~R#ffwip#{O8Lo(uBz%R~nG6?1oemdN{yr6B zqSc5+Cc-BCgz%eDc$nXH!z&itXn_cLkS5&~xas8I+Hp&SJ1`4?$2wsVa&e^)4`S0zLoxS!f=b^T^&;{S#|!U&U|yM(QFSdCkXe1Z znME803qX?AO_DAaTlj0neu!8Svx85l%r6R(SqqF%9GjkFjlAy=Y-o6V%6sGahbRng{Rl)8~CmO delta 596 zcmXw!OGuP)6ve-D{pMjaj-%%1I0@;(txln|lfXrb85xhzMVsHrb5S;-16(odcJ9Yb|^EOSa3PUBfW! z28`T?t{fi+{1#XG+A^;GxZvibZ-I<5E-Uu)Xz`>D_}?C3Gjf{)5lg2cZsJ4DKK-t# z8ys!1bW_W2J~y3?rKd=BOu?xp3Se?ww}Z!HF69_RK0ml%*EwgpknR+y_m|<##Ckjy zGWkc(fbQybl0JK`0eYb?T*cp}y6HaBMPKRls=ADafLAiGWK({x=?Mz zVXCQmY|7mRT&z<0!x$#R;(L)Ic{GgYkn styles = element.getUnselected().getFlattenedStyle(); + return element.getThemeBorder(styles); + } +} diff --git a/maven/core-unittests/src/test/java/com/codename1/ui/plaf/BorderAndPlafTest.java b/maven/core-unittests/src/test/java/com/codename1/ui/plaf/BorderAndPlafTest.java index a6eb69dfbad..b2bdfad3fb6 100644 --- a/maven/core-unittests/src/test/java/com/codename1/ui/plaf/BorderAndPlafTest.java +++ b/maven/core-unittests/src/test/java/com/codename1/ui/plaf/BorderAndPlafTest.java @@ -24,7 +24,9 @@ import com.codename1.junit.FormTest; import com.codename1.junit.UITestBase; +import com.codename1.ui.Button; import com.codename1.ui.Component; +import com.codename1.ui.Display; import com.codename1.ui.Font; import com.codename1.ui.Graphics; import com.codename1.ui.Image; @@ -39,6 +41,7 @@ import com.codename1.ui.plaf.StyleParser.ScalarValue; import com.codename1.ui.plaf.StyleParser.StyleInfo; import java.lang.reflect.Field; +import java.util.ArrayList; import java.util.List; import org.junit.jupiter.api.BeforeEach; @@ -177,6 +180,154 @@ void testRoundRectBorderMirrorsAsymmetricCornersInRTL() { "RTL should mirror the square top-left corner to the top-right"); } + @FormTest + void testRoundRectBorderReservesTwiceTheRadiusByDefault() { + RoundRectBorder border = RoundRectBorder.create().cornerRadius(3f).shadowSpread(0f); + + assertFalse(border.isCssBoxModel(), "the legacy pill sizing is the default"); + int radius = Display.getInstance().convertToPixels(3f); + assertEquals(radius * 2, border.getMinimumHeight(), + "hand written borders keep growing the component so the full radius is drawn"); + assertEquals(radius * 2, border.getMinimumWidth()); + } + + @FormTest + void testCssBoxModelBorderDoesNotReserveSpaceForTheRadius() { + RoundRectBorder border = RoundRectBorder.create().cornerRadius(3f).cssBoxModel(true); + + assertTrue(border.isCssBoxModel()); + assertEquals(0, border.getMinimumHeight(), + "border-radius never contributes to the size of a CSS box"); + assertEquals(0, border.getMinimumWidth()); + } + + @FormTest + void testCssBoxModelBorderStillReservesRoomForItsShadow() { + RoundRectBorder border = RoundRectBorder.create() + .cornerRadius(3f) + .cssBoxModel(true) + .shadowSpread(2f) + .shadowOpacity(128); + + assertEquals(Display.getInstance().convertToPixels(2f), border.getMinimumHeight(), + "a drawn shadow still needs its spread reserved, the radius does not"); + } + + /// Regression test for https://github.com/codenameone/CodenameOne/discussions/5454: + /// `border-radius: 0 3mm 3mm 0` on a button used to inflate its height because the + /// generated `RoundRectBorder` reserved twice the radius. + @FormTest + void testCssBoxModelBorderDoesNotInflateAButton() { + Button squareCorners = new Button("Send"); + squareCorners.getAllStyles().setBorder(Border.createEmpty()); + int expected = squareCorners.getPreferredSize().getHeight(); + + // Any radius bigger than the button itself, so the legacy reservation is the value + // that wins in the preferred size calculation and the difference is visible here. + float radius = expected; + assertTrue(rightRoundedCorners(radius).getMinimumHeight() > expected, + "test setup: the radius has to exceed the natural height of the button"); + + Button cssRounded = new Button("Send"); + cssRounded.getAllStyles().setBorder(rightRoundedCorners(radius).cssBoxModel(true)); + + Button legacyRounded = new Button("Send"); + legacyRounded.getAllStyles().setBorder(rightRoundedCorners(radius)); + + assertEquals(expected, cssRounded.getPreferredSize().getHeight(), + "rounding the corners must not change the height the stylesheet asked for"); + assertEquals(rightRoundedCorners(radius).getMinimumHeight(), + legacyRounded.getPreferredSize().getHeight(), + "the legacy sizing is unchanged, it still grows the button to twice the radius"); + } + + private static RoundRectBorder rightRoundedCorners(float radius) { + return RoundRectBorder.create() + .cornerRadius(radius) + .shadowSpread(0f) + .topLeftMode(false) + .bottomLeftMode(false) + .topRightMode(true) + .bottomRightMode(true); + } + + @FormTest + void testRoundRectBorderScalesTheRadiusDownToFitTheShape() { + // Both corners of every edge are rounded and the box is only as big as a single + // radius, so each corner may use at most half of what the border asks for. + int radius = Display.getInstance().convertToPixels(4f); + + List shape = shapeOf(RoundRectBorder.create().cornerRadius(4f).cssBoxModel(true), + radius, radius); + + // The path opens at the point where the rounded top-left corner ends. + float[] moveTo = shape.get(0); + assertEquals(PathIterator.SEG_MOVETO, (int) moveTo[0]); + assertTrue(moveTo[1] > 0, "the corner is still rounded"); + assertTrue(moveTo[1] <= radius / 2f + 0.001f, + "two rounded corners sharing an edge may use at most half of it each, was " + + moveTo[1] + " of " + radius); + } + + @FormTest + void testRoundRectBorderScalesTheRadiusPerEdgeNotPerShape() { + // Only the top-right corner is rounded, so nothing shares the top or the right edge + // with it and CSS lets it use a whole edge rather than half of one. + int radius = Display.getInstance().convertToPixels(4f); + int width = radius * 2; + int height = radius / 2; + + RoundRectBorder border = RoundRectBorder.create() + .cornerRadius(4f) + .cssBoxModel(true) + .topLeftMode(false) + .bottomLeftMode(false) + .bottomRightMode(false) + .topRightMode(true); + + List shape = shapeOf(border, width, height); + + // A square top-left corner opens the path at the origin, the line that follows runs + // along the top edge and stops where the single rounded corner begins. + float[] moveTo = shape.get(0); + assertEquals(PathIterator.SEG_MOVETO, (int) moveTo[0]); + assertEquals(0f, moveTo[1], 0.001f, "the square top-left corner starts at the origin"); + + float[] topEdge = shape.get(1); + assertEquals(PathIterator.SEG_LINETO, (int) topEdge[0]); + assertEquals(width - height, topEdge[1], 0.001f, + "the lone rounded corner scales to the whole height, not to half of it"); + } + + /// Paints the border into a component of the given size and returns the shape it filled + /// as `{segmentType, x, y}` rows. The tracked shape has to be walked with a single + /// iterator, a second one over the same shape does not start from the beginning. + private List shapeOf(RoundRectBorder border, int width, int height) { + Label label = new Label(); + label.setWidth(width); + label.setHeight(height); + label.getStyle().setBackgroundType(Style.BACKGROUND_NONE); + label.getStyle().setBgTransparency(0xff); + label.getStyle().setBgColor(0); + label.getStyle().setBorder(border); + + implementation.setShapeSupported(true); + implementation.resetShapeTracking(); + border.paintBorderBackground(Image.createImage(width, height).getGraphics(), label); + + assertTrue(implementation.wasFillShapeInvoked()); + List segments = new ArrayList(); + PathIterator path = implementation.getLastFillShape().getPathIterator(); + float[] coordinates = new float[6]; + while (!path.isDone()) { + int type = path.currentSegment(coordinates); + segments.add(new float[]{type, coordinates[0], coordinates[1]}); + path.next(); + } + assertFalse(segments.isEmpty(), "the border should have filled a shape"); + return segments; + } + @FormTest void testDefaultLookAndFeelBidiAlignmentReversal() { Component component = new com.codename1.ui.Label(); diff --git a/maven/core-unittests/src/test/java/com/codename1/ui/util/RoundRectBorderCssBoxModelResourceTest.java b/maven/core-unittests/src/test/java/com/codename1/ui/util/RoundRectBorderCssBoxModelResourceTest.java new file mode 100644 index 00000000000..221f90bd012 --- /dev/null +++ b/maven/core-unittests/src/test/java/com/codename1/ui/util/RoundRectBorderCssBoxModelResourceTest.java @@ -0,0 +1,129 @@ +/* + * Copyright (c) 2026, Codename One and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Codename One designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Codename One through http://www.codenameone.com/ if you + * need additional information or have any questions. + */ +package com.codename1.ui.util; + +import com.codename1.junit.UITestBase; +import com.codename1.ui.plaf.RoundRectBorder; +import org.junit.jupiter.api.Test; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.DataInputStream; +import java.util.Hashtable; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertInstanceOf; +import static org.junit.jupiter.api.Assertions.assertTrue; + +/** + * Round-trips a {@link RoundRectBorder} through the resource writer + * ({@link EditableResources#save}) and reader ({@link Resources}) to guard the CSS box + * model flag added in resource format 1.16. Every border the CSS compiler generates + * carries the flag, so a broken read/write pairing would silently restore the sizing + * regression from https://github.com/codenameone/CodenameOne/discussions/5454 in a + * shipped theme. + */ +public class RoundRectBorderCssBoxModelResourceTest extends UITestBase { + + @Test + public void cssBoxModelFlagSurvivesResSaveLoad() throws Exception { + RoundRectBorder border = RoundRectBorder.create() + .cornerRadius(3f) + .cssBoxModel(true) + .topLeftMode(false) + .bottomLeftMode(false) + .topRightMode(true) + .bottomRightMode(true); + + RoundRectBorder loaded = saveAndReload(border); + assertTrue(loaded.isCssBoxModel(), "CSS box model flag survived the round-trip"); + // The fields written around the new one must be unaffected by it. + assertEquals(3f, loaded.getCornerRadius(), 0.001f, "corner radius survived"); + assertFalse(loaded.isTopLeft(), "square top-left corner survived"); + assertTrue(loaded.isTopRight(), "rounded top-right corner survived"); + assertTrue(loaded.isBottomRight(), "rounded bottom-right corner survived"); + assertFalse(loaded.isBottomLeft(), "square bottom-left corner survived"); + } + + @Test + public void handWrittenBorderStaysOnTheLegacySizing() throws Exception { + RoundRectBorder border = RoundRectBorder.create().cornerRadius(2f); + assertFalse(border.isCssBoxModel(), "borders default to the legacy pill sizing"); + + assertFalse(saveAndReload(border).isCssBoxModel(), "legacy sizing survived the round-trip"); + } + + @Test + public void resourcesWrittenBeforeTheFlagExistedLoadAsLegacy() throws Exception { + byte[] resource = save(RoundRectBorder.create().cornerRadius(2f).cssBoxModel(true)); + // Rewrite the header as the last format that had no CSS box model flag. The reader + // must then ignore the trailing byte rather than mistaking it for another field. + assertEquals(16, minorVersionOf(resource), "the writer bumped the format to 1.16"); + setMinorVersion(resource, 15); + + Resources loaded = new Resources(new ByteArrayInputStream(resource), -1); + RoundRectBorder border = (RoundRectBorder) loaded.getTheme("t").get("RoundButton.border"); + assertFalse(border.isCssBoxModel(), "a 1.15 resource predates the flag, so it is legacy"); + assertEquals(2f, border.getCornerRadius(), 0.001f, "the fields before it still read back"); + } + + private static RoundRectBorder saveAndReload(RoundRectBorder border) throws Exception { + Resources loaded = new Resources(new ByteArrayInputStream(save(border)), -1); + Object roundTripped = loaded.getTheme("t").get("RoundButton.border"); + assertInstanceOf(RoundRectBorder.class, roundTripped, "border round-trips as a RoundRectBorder"); + return (RoundRectBorder) roundTripped; + } + + private static byte[] save(RoundRectBorder border) throws Exception { + Hashtable theme = new Hashtable(); + theme.put("RoundButton.border", border); + + EditableResources editable = new EditableResources(); + editable.setTheme("t", theme); + ByteArrayOutputStream out = new ByteArrayOutputStream(); + editable.save(out); + return out.toByteArray(); + } + + /// The minor version lives in the header, after the resource count, the magic byte, an + /// empty UTF string, the header size and the major version. + private static int minorVersionOfOffset(byte[] resource) throws Exception { + DataInputStream in = new DataInputStream(new ByteArrayInputStream(resource)); + in.readShort(); + in.readByte(); + int utfLength = in.readUnsignedShort(); + return 2 + 1 + 2 + utfLength + 2 + 2; + } + + private static int minorVersionOf(byte[] resource) throws Exception { + int offset = minorVersionOfOffset(resource); + return ((resource[offset] & 0xff) << 8) | (resource[offset + 1] & 0xff); + } + + private static void setMinorVersion(byte[] resource, int version) throws Exception { + int offset = minorVersionOfOffset(resource); + resource[offset] = (byte) (version >> 8); + resource[offset + 1] = (byte) version; + } +} diff --git a/maven/css-compiler/src/main/java/com/codename1/designer/css/CSSTheme.java b/maven/css-compiler/src/main/java/com/codename1/designer/css/CSSTheme.java index 55f571881ea..ca66f814860 100644 --- a/maven/css-compiler/src/main/java/com/codename1/designer/css/CSSTheme.java +++ b/maven/css-compiler/src/main/java/com/codename1/designer/css/CSSTheme.java @@ -6099,7 +6099,13 @@ private com.codename1.ui.plaf.Border createRoundRectBorder(Map\n"); + + "cornerRadius=\"" + rb.getCornerRadius()+ "\" " + + "bezierCorners=\"" + rb.isBezierCorners()+ "\" " + + "cssBoxModel=\"" + rb.isCssBoxModel()+ "\" />\n"); continue; } @@ -2340,6 +2342,8 @@ private void writeBorder(DataOutputStream output, Border border, boolean newVers output.writeBoolean(rb.isTopRight()); output.writeBoolean(rb.isBottomRight()); output.writeBoolean(rb.isBottomLeft()); + // CSS box model sizing, added in resource format 1.16 + output.writeBoolean(rb.isCssBoxModel()); return; } int type = Accessor.getType(border); diff --git a/maven/css-compiler/src/main/java/com/codename1/ui/util/xml/Border.java b/maven/css-compiler/src/main/java/com/codename1/ui/util/xml/Border.java index cb8ceb94f89..14bf8bea3a8 100644 --- a/maven/css-compiler/src/main/java/com/codename1/ui/util/xml/Border.java +++ b/maven/css-compiler/src/main/java/com/codename1/ui/util/xml/Border.java @@ -100,9 +100,11 @@ public class Border { private boolean bezierCorners; private boolean topOnlyMode; - + private boolean bottomOnlyMode; - + + private boolean cssBoxModel; + /** * @return the key */ @@ -359,6 +361,20 @@ public boolean isBottomOnlyMode() { return bottomOnlyMode; } + /** + * @return the cssBoxModel + */ + public boolean isCssBoxModel() { + return cssBoxModel; + } + + /** + * @param cssBoxModel the cssBoxModel to set + */ + public void setCssBoxModel(boolean cssBoxModel) { + this.cssBoxModel = cssBoxModel; + } + /** * @return the millimeters */ diff --git a/native-themes/android-material/theme.css b/native-themes/android-material/theme.css index 54d0a956bf5..8b854a28ca8 100644 --- a/native-themes/android-material/theme.css +++ b/native-themes/android-material/theme.css @@ -57,6 +57,16 @@ * --accent-pressed to "state-pressed". Keep light/dark variants in * sync (-dark suffix) so an app override affecting only the light * constant doesn't desynchronise dark mode. + * + * border-radius sizing: a rule with border-radius and no round/pill + * background type compiles to a RoundRectBorder flagged as CSS box + * model, so the radius rounds the box the padding below asks for + * instead of growing it to twice the radius (the RoundRectBorder + * default that hand written code still gets). A radius bigger than the + * box scales down to fit, per the CSS corner overlap rule. Size every + * UIID here through padding/margin and treat the radius as decoration. + * A shape that must stay a pill at any height wants cn1-pill-border, + * not a large border-radius. */ #Constants { diff --git a/native-themes/ios-modern/theme.css b/native-themes/ios-modern/theme.css index fe19855cc34..959129430a4 100644 --- a/native-themes/ios-modern/theme.css +++ b/native-themes/ios-modern/theme.css @@ -51,6 +51,16 @@ * in. See PaletteOverrideThemeScreenshotTest for a worked example. * Keep light/dark variants in sync (-dark suffix) so an app override * affecting only the light constant doesn't desynchronise dark mode. + * + * border-radius sizing: a rule with border-radius and no round/pill + * background type compiles to a RoundRectBorder flagged as CSS box + * model, so the radius rounds the box the padding below asks for + * instead of growing it to twice the radius (the RoundRectBorder + * default that hand written code still gets). A radius bigger than the + * box scales down to fit, per the CSS corner overlap rule. Size every + * UIID here through padding/margin and treat the radius as decoration. + * A shape that must stay a pill at any height wants cn1-pill-border, + * not a large border-radius. */ #Constants { From 66b95c1ecc2359961d626602aef1f8a59b52e3d1 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Sat, 25 Jul 2026 17:22:56 +0300 Subject: [PATCH 2/6] Drop the "that is" Vale flagged in the css guide note Microsoft.Contractions wants "that's"; rewording without the relative clause reads better than the contraction. Co-Authored-By: Claude Opus 5 (1M context) --- docs/developer-guide/css.asciidoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/developer-guide/css.asciidoc b/docs/developer-guide/css.asciidoc index b4dba3cbc99..589da8ae5da 100644 --- a/docs/developer-guide/css.asciidoc +++ b/docs/developer-guide/css.asciidoc @@ -216,7 +216,7 @@ Rounded borders can be achieved in a few different ways. The easiest methods are * **The `cn1-pill-border` style**. This will render a pill-shaped border in the background natively. This also doesn't require generation of an image border * **The `border-radius` property**. This will round the corners of the border. If the style can be achieved using the `RoundRectBorder` in CodenameOne, then it will use that border. If not, this will cause the style to be generated as an image border -A border generated from `border-radius` follows the CSS box model, so the radius rounds the component without changing its size. A radius that is larger than the component scales down to fit it. This differs from a `RoundRectBorder` you create in Java, which grows the component to twice the radius so the corners are always drawn in full. Use `cn1-pill-border` when a shape has to stay a pill at any height. +A border generated from `border-radius` follows the CSS box model, so the radius rounds the component without changing its size. A radius larger than the component scales down to fit it. This differs from a `RoundRectBorder` you create in Java, which grows the component to twice the radius so the corners are always drawn in full. Use `cn1-pill-border` when a shape has to stay a pill at any height. **Examples using `cn1-round-border`** From 217c19337fde7b393f8222dbcf477fc4f03359c1 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Sat, 25 Jul 2026 18:51:55 +0300 Subject: [PATCH 3/6] Keep chat bubbles airy now that the radius no longer sizes them ChatBubbleUser and ChatBubbleAssistant carry "border-radius: 4mm" with "padding: 2mm 3mm", so a single line bubble was previously floored at twice the radius rather than sized by its padding. With the CSS box model that floor is gone and single line bubbles hug their text, which the ChatView screenshot suites picked up on every platform. Multi line bubbles were always taller than the floor and are unaffected. Raising the vertical padding to 3mm keeps the roomy bubble as a stated design choice instead of a side effect of the corner radius. The ChatView goldens still move on every platform and are re-seeded from the CI artifacts in a follow-up commit. Co-Authored-By: Claude Opus 5 (1M context) --- Ports/Android/src/AndroidMaterialTheme.res | Bin 130515 -> 130515 bytes .../iOSPort/nativeSources/iOSModernTheme.res | Bin 159636 -> 159636 bytes Themes/AndroidMaterialTheme.res | Bin 130515 -> 130515 bytes Themes/iOSModernTheme.res | Bin 159636 -> 159636 bytes native-themes/android-material/theme.css | 4 ++-- native-themes/ios-modern/theme.css | 4 ++-- 6 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Ports/Android/src/AndroidMaterialTheme.res b/Ports/Android/src/AndroidMaterialTheme.res index dc9bf64f2315ca39c3134ddf00a8e2aa467a1da8..7dbedeafef65accc80959af667a5cacc3ecc07b4 100644 GIT binary patch delta 113 zcmccooBi@{_6=d1SsfS{92_P`Z@vd%ZMNIu%?M@oZB2tRf$|EQCAUxFgDT%}^Z-;% h=`jtM8oMoGlexJhH(xx?4-?vORJ!Tpwv&vPO#pR$CCC5( delta 117 zcmccooBi@{_6=d1r{8MJ-0Y8PM3NLWX;?f%{YAzkOhytgRiWZM!c!lY0gL!S6M( diff --git a/Themes/AndroidMaterialTheme.res b/Themes/AndroidMaterialTheme.res index dc9bf64f2315ca39c3134ddf00a8e2aa467a1da8..7dbedeafef65accc80959af667a5cacc3ecc07b4 100644 GIT binary patch delta 113 zcmccooBi@{_6=d1SsfS{92_P`Z@vd%ZMNIu%?M@oZB2tRf$|EQCAUxFgDT%}^Z-;% h=`jtM8oMoGlexJhH(xx?4-?vORJ!Tpwv&vPO#pR$CCC5( delta 117 zcmccooBi@{_6=d1r{8MJ-0Y8PM3NLWX;?f%{YAzkOhytgRiWZM!c!lY0gL!S6M( diff --git a/native-themes/android-material/theme.css b/native-themes/android-material/theme.css index 8b854a28ca8..4b124b2ec08 100644 --- a/native-themes/android-material/theme.css +++ b/native-themes/android-material/theme.css @@ -698,14 +698,14 @@ ChatBubbleRow { background-color: transparent; padding: 1mm 2mm; margin: 0; } ChatBubbleUser { background-color: var(--accent-container-color, #eaddff); color: var(--accent-on-container-color, #21005d); - padding: 2mm 3mm; + padding: 3mm 3mm; margin: 0.5mm 0; border-radius: 4mm; } ChatBubbleAssistant { background-color: #e6e0e9; color: #1d1b20; - padding: 2mm 3mm; + padding: 3mm 3mm; margin: 0.5mm 0; border-radius: 4mm; } diff --git a/native-themes/ios-modern/theme.css b/native-themes/ios-modern/theme.css index 959129430a4..8519f2cd8b1 100644 --- a/native-themes/ios-modern/theme.css +++ b/native-themes/ios-modern/theme.css @@ -1012,14 +1012,14 @@ ChatBubbleRow { background-color: transparent; padding: 1mm 2mm; margin: 0; } ChatBubbleUser { background-color: var(--accent-color, #007aff); color: var(--accent-on-color, #ffffff); - padding: 2mm 3mm; + padding: 3mm 3mm; margin: 0.5mm 0; border-radius: 4mm; } ChatBubbleAssistant { background-color: #e5e5ea; color: #000000; - padding: 2mm 3mm; + padding: 3mm 3mm; margin: 0.5mm 0; border-radius: 4mm; } From 090e078cffa9f7e6d4e79e415adbe4930aa03665 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Sat, 25 Jul 2026 18:53:29 +0300 Subject: [PATCH 4/6] Revert the chat bubble padding bump, the bubbles barely moved Downloading the emulator-screenshot artifact and diffing it against the committed golden shows the real impact of the CSS box model on ChatView: the single line bubble goes from 50px to 49px and the multi line bubbles are byte identical. The 8mm floor was only just binding. Raising the vertical padding to 3mm would have added about 12.5px to EVERY bubble at this density, including the multi line ones that were never floored, so it would have moved the design far more than the 1px it was meant to compensate for. Keeping "padding: 2mm 3mm" is what actually preserves the current look. Co-Authored-By: Claude Opus 5 (1M context) --- Ports/Android/src/AndroidMaterialTheme.res | Bin 130515 -> 130515 bytes .../iOSPort/nativeSources/iOSModernTheme.res | Bin 159636 -> 159636 bytes Themes/AndroidMaterialTheme.res | Bin 130515 -> 130515 bytes Themes/iOSModernTheme.res | Bin 159636 -> 159636 bytes native-themes/android-material/theme.css | 4 ++-- native-themes/ios-modern/theme.css | 4 ++-- 6 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Ports/Android/src/AndroidMaterialTheme.res b/Ports/Android/src/AndroidMaterialTheme.res index 7dbedeafef65accc80959af667a5cacc3ecc07b4..dc9bf64f2315ca39c3134ddf00a8e2aa467a1da8 100644 GIT binary patch delta 117 zcmccooBi@{_6=d1r{8MJ-0Y8PM3NLWX;?f%{YAzkOhytgRiWZM!c!lY0gL!S6M( delta 122 zcmbPopL5E6&JF86PJhwBC@?wZtLS6{L80kc?2O!#KYUyW7Tvt?lLI4!_3?8wloj)J zIUiVTx(7Q@W1gtcbbl^J*6CI(jD2A7?KfB$Wg&{Uv$8Q7LzwMA)!RMTnS3$;p=mC- diff --git a/Themes/AndroidMaterialTheme.res b/Themes/AndroidMaterialTheme.res index 7dbedeafef65accc80959af667a5cacc3ecc07b4..dc9bf64f2315ca39c3134ddf00a8e2aa467a1da8 100644 GIT binary patch delta 117 zcmccooBi@{_6=d1r{8MJ-0Y8PM3NLWX;?f%{YAzkOhytgRiWZM!c!lY0gL!S6M( delta 122 zcmbPopL5E6&JF86PJhwBC@?wZtLS6{L80kc?2O!#KYUyW7Tvt?lLI4!_3?8wloj)J zIUiVTx(7Q@W1gtcbbl^J*6CI(jD2A7?KfB$Wg&{Uv$8Q7LzwMA)!RMTnS3$;p=mC- diff --git a/native-themes/android-material/theme.css b/native-themes/android-material/theme.css index 4b124b2ec08..8b854a28ca8 100644 --- a/native-themes/android-material/theme.css +++ b/native-themes/android-material/theme.css @@ -698,14 +698,14 @@ ChatBubbleRow { background-color: transparent; padding: 1mm 2mm; margin: 0; } ChatBubbleUser { background-color: var(--accent-container-color, #eaddff); color: var(--accent-on-container-color, #21005d); - padding: 3mm 3mm; + padding: 2mm 3mm; margin: 0.5mm 0; border-radius: 4mm; } ChatBubbleAssistant { background-color: #e6e0e9; color: #1d1b20; - padding: 3mm 3mm; + padding: 2mm 3mm; margin: 0.5mm 0; border-radius: 4mm; } diff --git a/native-themes/ios-modern/theme.css b/native-themes/ios-modern/theme.css index 8519f2cd8b1..959129430a4 100644 --- a/native-themes/ios-modern/theme.css +++ b/native-themes/ios-modern/theme.css @@ -1012,14 +1012,14 @@ ChatBubbleRow { background-color: transparent; padding: 1mm 2mm; margin: 0; } ChatBubbleUser { background-color: var(--accent-color, #007aff); color: var(--accent-on-color, #ffffff); - padding: 3mm 3mm; + padding: 2mm 3mm; margin: 0.5mm 0; border-radius: 4mm; } ChatBubbleAssistant { background-color: #e5e5ea; color: #000000; - padding: 3mm 3mm; + padding: 2mm 3mm; margin: 0.5mm 0; border-radius: 4mm; } From 9045f0d1ea6b5964329ccdec1e3359d3a8148f3d Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Sat, 25 Jul 2026 21:24:24 +0300 Subject: [PATCH 5/6] Re-seed the ChatView goldens for the CSS box model bubble height ChatBubbleUser and ChatBubbleAssistant pair "border-radius: 4mm" with "padding: 2mm 3mm", so a single line bubble used to be floored at twice the radius instead of sized by its padding. With the radius no longer sizing the box those bubbles hug their text and everything below them shifts up, which is the whole of the diff: on Android the single line bubble goes 50px -> 49px, the two and five line bubbles are byte identical. Every PNG here was taken from the CI artifact of the run for this branch, and each was diffed against the golden it replaces to confirm the change is confined to the chat bubbles. android 2 (identical across the jdk17/jdk21/default8 matrix, and byte identical across two separate runs) ios, ios-metal 4 ios-tv 2 javascript 4 (includes the ios-theme ChatView_ios_* variants) mac-native 2 Not re-seeded because they render ChatView unchanged, verified by diffing their artifacts rather than assuming: watchOS (suite passed), linux x64 and windows (both byte identical to their goldens). The linux and windows suites do not match this PR's path filters, so they were dispatched manually to check rather than left to fail the nightly cron. Co-Authored-By: Claude Opus 5 (1M context) --- scripts/android/screenshots/ChatView_dark.png | Bin 40625 -> 40675 bytes .../android/screenshots/ChatView_light.png | Bin 41273 -> 41304 bytes .../ios/screenshots-metal/ChatView_dark.png | Bin 201689 -> 200639 bytes .../ios/screenshots-metal/ChatView_light.png | Bin 206229 -> 205274 bytes scripts/ios/screenshots-tv/ChatView_dark.png | Bin 231473 -> 229805 bytes scripts/ios/screenshots-tv/ChatView_light.png | Bin 234956 -> 234141 bytes scripts/ios/screenshots/ChatView_dark.png | Bin 139980 -> 139286 bytes scripts/ios/screenshots/ChatView_light.png | Bin 142105 -> 141282 bytes .../javascript/screenshots/ChatView_dark.png | Bin 60753 -> 60570 bytes .../screenshots/ChatView_ios_dark.png | Bin 57767 -> 57544 bytes .../screenshots/ChatView_ios_light.png | Bin 58464 -> 58244 bytes .../javascript/screenshots/ChatView_light.png | Bin 59948 -> 59885 bytes .../mac-native/screenshots/ChatView_dark.png | Bin 56926 -> 56661 bytes .../mac-native/screenshots/ChatView_light.png | Bin 58670 -> 58335 bytes 14 files changed, 0 insertions(+), 0 deletions(-) diff --git a/scripts/android/screenshots/ChatView_dark.png b/scripts/android/screenshots/ChatView_dark.png index fe4a27ccacf2e49c584a685510701fcc56e68784..a407a445b1b13fa42ff09bd289efb01d8d334076 100644 GIT binary patch delta 23087 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

j$U&UO`tae9Rrw>t z#{yua_9j-oAb%ejMC*JVPO#cZX6;GnV@#$%_u>c3+VJanIaIop1Eg>&WK?0V! zdC78by{W*{r!SFCB)5o(&3ogxQ^dWKlrMJzRR?K^Zn|tupA4D1ll&MR^#?PcZFZbuJLJfb#(>a6(VF7Bj_{dAADA;`41j5^@Zswmq?Z#Er!&K z0Zd2I0^sTDfzRKF7vR5~BpB{EROQaHw6s(;qrZj7Q`h$t1wU*j#asg3-p`TJ#7am+ zC5?|~|6X3^KzvG&MWImbosU1qFq(8~Q24?;=iF`sNSu;F2OeL^#KwjPe*KMn*`;o1 zIIsnY{vY&3&7HyoUWmNs@>)|+pPjGD)ASOi`2i+Ii>*PKMW zyu9%7dG0Wff*Ls=`VQNr)4O4Jdn%_kGf$K7({XS81^k`-EfMgQ5JMV!pYoEC=4jzB U%+AIx=r-)7tddNLl+lO(0kJM)g8%>k delta 23005 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%0AP}bi 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