From ea5163a393b0184a7834db4950772e323e92df09 Mon Sep 17 00:00:00 2001 From: Reshma R Date: Fri, 27 Jun 2025 17:16:47 +0900 Subject: [PATCH] Fixes #7900 --- src/webgl/ShaderGenerator.js | 17 +++++++++++------ test/unit/io/loadTable.js | 3 ++- .../with the default monospace font/000.png | Bin 830 -> 682 bytes .../can control non-variable fonts/000.png | Bin 2769 -> 2671 bytes .../can control non-variable fonts/001.png | Bin 2725 -> 2771 bytes 5 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/webgl/ShaderGenerator.js b/src/webgl/ShaderGenerator.js index d029ed44ef..9f355e59d0 100644 --- a/src/webgl/ShaderGenerator.js +++ b/src/webgl/ShaderGenerator.js @@ -521,24 +521,29 @@ function shadergenerator(p5, fn) { class FunctionCallNode extends BaseNode { constructor(name, userArgs, properties, isInternal = false) { let functionSignature; - const determineFunctionSignature = (props) => { + const determineFunctionSignature = (props, userArgs) => { let genType; let similarity = 0; const valid = userArgs.every((userArg, i) => { const userType = getType(userArg); let expectedArgType = props.args[i]; - + let coercedUserType = userType; if (expectedArgType === 'genType') { - // We allow conversions from float -> vec if one argument is a vector. - if (genType === undefined || (genType === 'float' && userType.startsWith('vec'))) { - genType = userType - }; + if (userType === 'int') coercedUserType = 'float'; + if (!validGenTypes.includes(coercedUserType)) return false; + + if (genType === undefined) { + genType = coercedUserType; + } + expectedArgType = genType; } similarity += (userType === expectedArgType); return userType === expectedArgType || (userType === 'float' && expectedArgType.startsWith('vec')); }) + console.log('userArgs:', userArgs); + console.log('props.args:', props.args); return { ...props, valid, similarity, genType } } diff --git a/test/unit/io/loadTable.js b/test/unit/io/loadTable.js index 171d12f7c3..f00e78cdce 100644 --- a/test/unit/io/loadTable.js +++ b/test/unit/io/loadTable.js @@ -84,6 +84,7 @@ suite('loadTable', function() { // TODO: Current parsing does not handle quoted fields const table = await mockP5Prototype.loadTable(validFile); assert.equal(table.getRowCount(), 4); - assert.equal(table.getRow(3).get(0), 'David,\nSr. "the boss"'); + const value = table.getRow(3).get(0).replace(/\r\n/g, '\n'); + assert.equal(value, 'David,\nSr. "the boss"'); }); }); diff --git a/test/unit/visual/screenshots/Typography/textFont/with the default monospace font/000.png b/test/unit/visual/screenshots/Typography/textFont/with the default monospace font/000.png index a88804ae7178954bfcbab941518e7fe701dfa3ea..12203ca667c45d461e145ecdfe349345c91615f5 100644 GIT binary patch delta 644 zcmV-~0(@7g5_wKYOb{j#85k=}Oq3D^9;KARw`IjqOchuVQn5 z5^21no&F4qASimRQhyKLS70aNXau|w*JIHscvdZs=hzepj=&1c!jUEf+rjWpT3=@* z#9xfdAS{JI;(yOKErNa!TPgfL36C)rTkr_KTD0+hAuK=@nD6~rB*GOb&9Q;F=8G{1w%RM}vA*5Xl-7f9e zf4>Q{JAF7(iX(%=hrcL_BgK(S3Y6B$By4io;z+V|nG%a5nS@O)TO3K2E>mK0B$Keo zWs4)p(q&34j${%xxomMHS-MP##gR#(#fg2n&f!8Ip|*zGHqmGOq4Q*A`}U6o_cScu6sZC`_6a%>fbq=?|$c=_r1^i zJnwK?_eD&we)oA3W#Ba{o^Qvw<(bHmj!@PL+jb z(;s;4*~_26N`JK@z!N~s&$FOccxUUz(`b!Mcg$Y24-W>Oc_0o0i+}^ba&P~)Jx>F! zmWb$n}z3&*M`a zeYZ{3(k^>efnNfy0_T8VH3Ewoh`P)G$M{j;Q3(j8(tl3ir@hyZRm!QJG^etqnpp~5 z`yZ)w+2#3EU;%Kvjx^EHcEB)T4zSV)x#1L=)a*bqwnqbMgGFn<6|z!gU7dmW$A?%g zX|L=iQ3Vf0#jd=a>~ecOu%iUzSZ_|~`F8HyIG0vk0V$`|9+(B3_i9G_69B29rS|W) z`^;q(Jb#6OtO0hL7j+(89+mG3?3D+2kNfay`+ov>Xt}Qx(QwtU++goj^xtgeoU(SU z^qOh6h)pi#ww91q2~UwC9f8HbDr=XSe_cb=LbD}X74KdHRRtMk=pn;iR znm0<%vTIExJVk+&5L0to`K`gIDgWGETRxSXmVYvXfL?Y+gYg6NB2oD_*bYLLsMNDzGyjFTb}NDXq?W)%4Y YF%xy4Ghf8fIsgCw07*qoM6N<$g871MqyPW_ diff --git a/test/unit/visual/screenshots/Typography/textWeight/can control non-variable fonts/000.png b/test/unit/visual/screenshots/Typography/textWeight/can control non-variable fonts/000.png index 87dcda79dfd9bc62826e969080832bb38477f934..21fd22f1ea8914478e56028a8c2b4fe46f629a63 100644 GIT binary patch literal 2671 zcmds3`9Bkm8y^-UL~cG}az^f&BYiTr=4@`3xiYd@?xI*jxk`>9`Z#CI(aJ5q=47JNLCJOBWI&&tx&k!AhFi z4xP(^vkY69qXiUD_wlb40Dwou%G4Mhjo9$;CpldgModttq8!`FUVj6-f1n*GLhXWv z_Hg)Z3P=0P_HMKmh2mknPK}M_xEJ=Zvz^g?tEjmi!>A7%cDpw;xI0u+5a)Yxw7;3$ z0OU*%x3TnYu@@S_15?k~Siaq(;{&0%q-$@N%6uOw%6o%=w+#+hE_RlSC{%CPx4*eu zxIgS3)qeg-QI<))Lx&p^2*-)6MXXyAf2C1Xz(l&cXKD z@*Zzb$mA=9B0Vh5y&&fXk=h# z?7nBeRj!&ug;ka!Y?+mPyanrP5dE`wKMn@tm4I+5SZCY+@?+%)|994?f`h;%cUt5^ z`AO0MRmCvwpy7_!A49_SuX&4VulAVd*nv8$DLa=Ks(=^35`HoXhzh)23mQ}X-V3s@Z zNc14~_d@?C)CKnjl0Ks~Y?)-9F1ht%#_(n|Zi|JEDn`(X`~1S*uX%W5kki4*al5{G zrkoiG^Q9Bs7LK~Rvo5hQ`PyOw>SvVXdIL6p=ul=p@_nStZPSbomm-A?9jGiH(XWD`u zUU_ihsUW0h+{e6DFjnA}+URhZo3fKsYiq0seRbIp<~EWy`I_4n zxv{DzFvl0WTc{rfD|#@EO&s_>+hKU|W+$_uF=YC(PJpRTBN{K8*uzO%NtEqTbA5U3 z)L!6(mLj;M<6IZpfVGcjN>}hiokQ!L#lhl~>T{ps%4w=3U!8Y+9y-^zXmspb%m@i1 z3}&SDsh_5BD28Y5b%abeA=?W%h>b<(#5@pTjUF<#SG1eez1r{!YK*<4&p1=FRc)A{ zPn2IRs$@d079YQmuXC%K)4Lwgq3l!*uRAL4&Zt>p!D_8Bg%{5Y_CHf-h}jHy zt;t(-C8(HB>M|)!ceE5l5yjs3%H77x661lEfghv}I>y**hWh@bJf-g=b-**`)rKKc zy05c%rQsWv56^p1RG~E}8O|-9Rl3C0*cR*b+Q)!VkA{|S?6S&|nHf_~^q$uYeVW3# zn4*9#b^UREhAwKf{AEU?>185_LX67;RXcBmhyIOJIwNxxPA~_Y#rdYSm4|+#u42Od zTxwiPt{z(X8jIICgOz!9|NSE4K=>*$e%x~I@kwEXrvDo(!< zPxfHm6vt5oA(4^5vJd8ptP3Fh1$e-w3GYo8Xoz|mP`0CtcoSWto`B?1=b50HE4_ar z_U+?Xj)1tyd_5~Vs8o55o^8@KK#uUa_!m;uBIB>>CgTgJ26?&-q9qhuBC18Zn>gSl z-0SbA1Ji|J$54ZUABsjf|US${L@Wv=xWc9GiU4$x!9l{Y;U1sZv5&0qIXS1^>l$NG&N zZR+#GE>pYywd1LHx0Djut~ZJpyqG z@PV_0z087^=hDqlRJyN}UZ}UMU9wy9R}MtjJF=$o6g?(=_)j{%Q`}RSy%pRdYa#}4 zp)i^QODR@I8Q>js{TFV_74XwC)%1^QptpZgfcYSf~ND~!d^GKHp zJ1h`T^d4O;5J2JccP@cpZ_7Vj0*``pHiDsf@mA#E|Jwp5XJ%D$HOTtWR;&*aU}a`& JS_k#U{Rbe<6;l8J literal 2769 zcmd5;XIB$i7ENfOgbqTe0Uo_eks=s+Q%optC?+)N#fWqSB1jhqO}aopiXsR>kO3)D zq)C+;=_T~u;mKsa%}1tU7p>}O4D=Z%|y>kTx1UAOaA*Xr80-Pir6O*E& z6L>l8K@tJ>PNY&G@%r-4P+j1D<@H|Ext%kJZ%aMY#g$0NDY!i2WQIT>Mm8CTu-8<& z5UFedE~YOBBN(xmSSnp|TrP+WZ%|0eb>A<_R#nqhgw6*q5{C=@E)E>}(}d}+FF96g zlCjF(vm*)YlAH`2GEa)gC~0p_vv0m&TEed1rinc22WG4JOPua6EZo7K?=Or`eEe4> zyjYt}J-|!2gN_c0{@#{B zu4KsCX|BO&RH05iZ;Dfe45;c4Tz=+`<|=t!sN)n4O;p;vX6h^|&4e{wc4xo*s&_XZ z2nMW9ezLthPUck~!|5fG)k*S1>CpC$mKfx$kY!d`MZ_I#e2PZXG4fQVg3cDxZXk9lHx~x;ojEQi2@q&8bV6 zmw}N@zQRzXWVBwWuYU?xJaM$#;&Mf7+LZ*!$gN?dO0jPLMN)Ve#dU^7Ofty*>{TrlSo7yGwL49-k{q=cxqE7Wtx+vq+D+{x4A^ygB%F?%e zSOM}(DeJW5o}_IRj`bXkP-T7)k%TZ^@1xl8JBz&4Tg;*QCAe0B%9Tuz zT9qHvnqxmDNCurQCNy}LD7ufq%S{X14wt)cGS>#O%(o{${bK>m1<`YLMYM&SdU(vY zsNObK{YW}qA1>S{ugeR}@3{bs)!04Am3N9+P+yGmUF+}m72gU|XvZ!fwiDB&ZI%E1 zf|#66f1}!u@LQe1yPk&v4J9Tf?S{PpSKW*80ZbmE-q3rN~Y;alkd%xU0b*_G4Y{! zdyZjXkq%hPGI}o2P0JWI6QAM8@ybf<4lgz0Yv4XA;9aH+GFSf%r-Kc88t8kpY9xWc zQ8aQh#~9*S02DOc9YerZKyO0BX)Q1_#;xK4-Hrk7*t1d=sOB&KRrHfY|3Jly)idsU zJ{R7vNnp&={xZt9XbSfMQ3r%%N?3lC;knwl(mNVE)zxBH#XwVpe$#8QNAFDJ?CSZ~!^FCmAmhvgf$;r-4`dew+_2c=L;A1PWra3 z?!R9ht4H0hB8SJRATR8zUj7&<)&b44#tHiohYH*~A}Jes2G%6G^m(dK@!YVkCK!hR zZ%KbwN>09J*lb#5+=n?ZRwtIBHrJL-(QYxOiel~A`e06&v6bH#NqOySifr!;*#5c- zm?{%PYQeZz9$qQnt*I#LnTF`^Mb`0VS?fD_v_u{8a}S$1U@(z#PWlLjght=xu8ojd zLj=5si^I$})xMlgZA2+?RmcZoki@k%V-p4Jl5?D_vaUM1Tk1UUw%%hxV%Y1oAXV@B z&pe2~gNRBg0?B#KJ}nJhe9FSeK^io2IjQ)iPAt*w;-Fm0ifw}f@%v2C=bHdI8E)K4 zVH%kq2BquRvgylLePI>vL*3rtU6%D7(1FAU>4-kY)G?~^N`0Q7hmPg-?nO#^jN+mT zKNT&d@^#c}hTmjcDlJb)pbjEGWQjJA>y`##-+n$G4efdZNv{Oby}1h+?rNngg!XZZ zTcJ6jrsrVObj=RrCo&}!sHHSfq(y!ES(C1aaZNdd zsivEjX;2~PzX6jt+msUW>F(cT0LI3#1V$*$!qkJG) z?7+Q<JywCAc=t}`uN>_PXFqKFXUZtGJP(0>O5w5+U=f@ zTCMT-CO=^93p(Oprpo|ER@^XlGXu`W;xTs@YTMvdEB#d4J0&xmDz5grTkF|;%VEZ! zKW%s11|{t{ikR8O&u!xOtWoe{ z7UO)C+J7Ctwq&e`P$zsVb8dOU11b$Y-%||Sds0T&9uSbF4=AA<^**)xt*bwqRENO<|xd28~*Sqvc+H59wf%9F_(wY~NdwQ*Gr zJp8V;G+7L!Y5c*vK8|sNu^nR^*Egs~F=Fe$?!i%J91t-`o{&=_MDkVHAT|X9gE%T( zc}6jp4A;8#MfS>+2lyTFCn&eRdMtY{Y)!O!v F{{hN}8q5Fy diff --git a/test/unit/visual/screenshots/Typography/textWeight/can control non-variable fonts/001.png b/test/unit/visual/screenshots/Typography/textWeight/can control non-variable fonts/001.png index 786f2a8b718c39053de203a70a92d723133d0899..fdd97786e5eb6a20f24f0e5cb14dc6dc0b92dda9 100644 GIT binary patch literal 2771 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