From c7583cbc6304e05d80373e4ef48ada3524298531 Mon Sep 17 00:00:00 2001 From: Olivier Biot Date: Fri, 8 May 2026 15:47:43 +0800 Subject: [PATCH 1/3] docs(readme): refresh CodeAndWeb tool icons with vector originals MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace the rasterized PNG versions of the TexturePacker / SpriteIlluminator / PhysicsEditor icons with the official SVG originals extracted from codeandweb.com. The PNGs had a visible white halo on dark backgrounds caused by raster anti-aliasing of the brand's deliberate outer ring; the vector versions render the ring as a crisp 3px line at any size. Sized at 112×112 to match the original PNG dimensions. Co-Authored-By: Claude Opus 4.7 (1M context) --- README.md | 6 +++--- media/icons/physicseditor.png | Bin 5075 -> 0 bytes media/icons/physicseditor.svg | 1 + media/icons/spriteilluminator.png | Bin 9605 -> 0 bytes media/icons/spriteilluminator.svg | 1 + media/icons/texturepacker.png | Bin 5240 -> 0 bytes media/icons/texturepacker.svg | 1 + 7 files changed, 6 insertions(+), 3 deletions(-) delete mode 100644 media/icons/physicseditor.png create mode 100644 media/icons/physicseditor.svg delete mode 100644 media/icons/spriteilluminator.png create mode 100644 media/icons/spriteilluminator.svg delete mode 100644 media/icons/texturepacker.png create mode 100644 media/icons/texturepacker.svg diff --git a/README.md b/README.md index 4e4f83ce6d..1b6c4e7d11 100644 --- a/README.md +++ b/README.md @@ -124,9 +124,9 @@ Tools integration melonJS is supporting the below tools and frameworks natively or through our official plugin(s) : [![Free Texture Packer](https://user-images.githubusercontent.com/4033090/136762061-1d3a0dfe-dbe0-4d3d-808d-47a49ecf5309.png "Free Texture Packer")](http://free-tex-packer.com) - [![TexturePacker](media/icons/texturepacker.png "TexturePacker")](https://www.codeandweb.com/texturepacker) - [![SpriteIlluminator](media/icons/spriteilluminator.png "SpriteIlluminator")](https://www.codeandweb.com/spriteilluminator) - [![PhysicsEditor](media/icons/physicseditor.png "PhysicsEditor")](https://www.codeandweb.com/physicseditor) + [![TexturePacker](media/icons/texturepacker.svg "TexturePacker")](https://www.codeandweb.com/texturepacker) + [![SpriteIlluminator](media/icons/spriteilluminator.svg "SpriteIlluminator")](https://www.codeandweb.com/spriteilluminator) + [![PhysicsEditor](media/icons/physicseditor.svg "PhysicsEditor")](https://www.codeandweb.com/physicseditor) [![ShoeBox](https://user-images.githubusercontent.com/4033090/136762705-92027d94-d87c-4a95-b051-26647410248d.png "ShoeBox")](https://renderhjs.net/shoebox/) [![Tiled](https://user-images.githubusercontent.com/4033090/136762999-5a7f377b-4136-4205-9fe0-83728c90cb9b.png "Tiled")](https://www.mapeditor.org) [![Cordova](https://user-images.githubusercontent.com/4033090/136763147-6d157ce6-6921-437e-bb8f-0287b86109da.png "Cordova")](https://cordova.apache.org) diff --git a/media/icons/physicseditor.png b/media/icons/physicseditor.png deleted file mode 100644 index efce171512456e23209134b0459943d76817e3b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5075 zcmV;^6D;hBP) z33OHUoyUJK8zBi0vH&p%Bm^W0n@9+_;Sn9DK&^Ef3kbI3(nX!Nj$<8XImcrKtDW|= zw#T94SVh1JDzd0pbX2IAfQo^TK!C6W637k-36SvSeE!M*aV0ycwpfa5i{(u78K3;_ zexdy&Wl)Nw4oZrzml&{?2y_swVhrU6A>e$ z29A=r$iWg98Q1daXZk*JutbDLsB6zQpOvb{YN=|hYI&V8ecxCu2Wt;r)X0PS4U#K| zOqQ#LPLZr(SrQf2KcI{mFb1q_taN{VbgOJF&5>OdyE?rlv44V08#Ya{lcq^#e1?R& zLOZ>##b7PQiS0K?88k91@}hsc+1)JpmAfUUG*@!Va;3bXqSNcfCybXFN!fCB@(hWO zj1LGy_P7CS&(yjfYk8Y8|sy!WkK62m)$;N2IvSoB^s`37@`cla&&y$LVingPx zvAWaI#3rWAXyw&EP7)&HWqd-WG2MdwH3uZ8EJt$6a^=v;!ySItxVS6iy5wu+`r+3x zLS22c_&vf-E1MaOZa{u+vCfRi8 zBQcx_$9Svv zzAYPy-;;Ca&$TiBO(SQ?%_DD;v4h9Bdc6TZIJnXMe(^?i3@~oO<&v4n*US9$@2T?{ zYuNhY4f4*ucjeUCQ__>TEaoz~bIk2>!|<6B;tEmc&E*9v<R!KpgRDRBUYid-IdPIK%D7h%aNg~fPf9+O6@@F++7?I{HE^UX%(z#k z47pPMn+NdK-OFT0`8RDw@7&bcGI#VG90aajW5B%fJolP?Yi0ZKFOByui%yaUCqAGI z2sko8$ib5bC6F;OVS+5mSZHjhFyPX>KdDWX#?+x#$!%%3%EZKpF2@`2vy#p3clNDO z8xReQ_RmuvlbG;mbH_x zwoQ5iW{tQ}el+nR^%*}r^jBHB^M4FS`oM?*a`zQ?VPuzM42bbo6uhA#0$^aoKzSnT zadp-@ar%Tjo4Z5~o;)PI3F&d;F~$$Qr>?XQ%i3}WLTv9^vXwNdQ!HUfu7v*lwm~H#QQQA z`gCIx;>)7~yG?C8rcFj3##>SNhP=4r553-aps}e@%`$5btXH2M4&Va74IIIh1d;(c zq;t;GM+Fvh);y-o|2y)Dyt#Lk^d-2(EwAkQvwTsSqd0&II00}3S8x_E2E@Z+KBTkT zWW%zjdXN0^o0p_7!Yyw3?N`53jtRJc6Aie6vw$!lzD?X?=5roL1su;ya(~sv@!QwX z*xV?;%vqu~ZE!L-b&l~fID@+$H6T$19Mk$Bj)#RqI=L!~bC*c;LyN7a6WYID@fop64Frxe4Dt(@Yw(U>lbBz?FH9aUq?YzfxMKrRE3`42(AF! z!C{XWkYFtFJPjPv_%>JVeM`0+``oLW>W$cR_#?G5g(J8!-aqt_;?l1MBn^T{x(>!N zE$}*8cU1ne=S@%VrPpKG?$^};U-Jdv5H8`=Zw4fXMW;a!j3u6@Zm?i^n+SUlZNY|a zdEpB6J)9BM0B{MXelZ}~Vq-67*<*xLNP_?bW4#3lwbO=Wspxm|fMgjKHB_41%`Mqx4OME<&+$`kOm~6Z=d1b4 zO+S%ib;mlqpI4D5U!C|`rDyQD*X(~+ zy$`puM$U5ENglQ}g_1F?lWxfxBYTWBkG0Pe#P^Sv$Fm-jXRm!mu1UVSQ{%M<>&BSa zG=LV!oNC#qx^N}&lrsDYNL9!O3quC<oCSNu4ck7p+nC@>apx^QWCJ`}97l8>_p#hI1_G zm9ta6rMRVdMsv<)&nE^Xds>5v9lO&f^>o8yk}Y3PjRe(5?8tZ;SvzMAzfKjJSV4G5 zxVq1c2S2nGeD%~H=`G+A19H#WfM(9UG9cX`bj*+GiSz&}h6*aJdtRmvooe}73N#nz zEa@oL)WAChL|e=px98qt1Co@}(SR*~%nIldVHK4Y z!$ekhm(k(T;uL63%?31c@9`#v_Ej46VX->`!$QI>U&}gY1w$-`g=$Rq-W3Lf50LvO z{6M?~r3Id3pc@8k<=E=|huL}B_0v&pV+8sdRR7Q&!U`&F+-FpHl&bUdMc#`i1q6Cf zm`9+MnWoDrl*V!1tbx7+yUHI;ddTR&bSY3BWw$j~piQA>?mZrXy2h{Nmk(B(2=jaX z9C;Y;>dR(Wx_*1vc5xEm6la2Y7ixv)E)A&Xa}Jn1`JJT*bSDUQrVSpga%KA4h#!98 zzyvFHqIjG1VcyDG8u0x>7i7#+?I7)-s0Jq$?Zt11DzZAN>g7}>#gC~1f^iVaGH8eFyAmZ?;BeKbZdIMU8tlPiN>%ZT0 z-m}DJIK}BvR$pekXC-#pr2%PEthcl5lrSJq3TgC#hK8mFd4Agq(rocOX-56II$2rx z7wIW<<|KjpuF&QDM33o?Tipvgr9gq(?Ur9}|4pauA)NrtX{G6iX6D}G5lDk@4LaSn z{4xKngI1a_oNYcUzx(<{NB5oSYy_IQ_t=2uZ04RAfn8-@S2b3tD%hgxB5^V_r)C3M z$t3U6fE4Lp%3IJ=Bal(I?!X3Fz4t9gd0gy_Kr{Cq8xUOu4edfph`i9zw!3k@-3UB# z>WDg|e^9*fqP?x12+gV4fM)JJHXx!H9Hfa5)7_ouab`lMI-gmM9(aSb``4)eE+33M z5r2Dv`~kRx)8_NdMhh}HhkLILNKQt|pcHpuRiQdy(g%#5nHh2EDz&1!K^jGGM@C$_ zYQ;s%O}!jYKWIfw#*!hrpRB&^vmhA zq|R#tB1a>wS#G5JJuu-PRSx6JyIzsrf~c@4mD=Ykl-8A6HXvNG+s-N7)|PV%u;ge& zOGu|DuyG)pm>p6|YX(&io&yfylA_hh*2E^bhI5}85FseEgf#R}Hy30C;TeoVAyfDZ zuC0o1S$6d!1l6%1BWOTxp*chwqcg63XTZb>Dk=`}H==05PHAY=P1K%Q{4aI zLlP)}D>$RS!21V3Fy2R-(5}Fw?W88e54F~x>it!)Qhqw+QCXC^P@dTQWQXhVq3*nh zpkrUfqRfTr>+1z8jLb7?DB;#FY-bFiTxss@^6AmfR4p3^&lyS6ZQnp&!;GZqiYpH8 zdLszn)Du-ukGd7o2|}m0v$p6yX~@uAOcpf=QQW{0KrhPZbUb9T$K5qNG9a>}C|7D@ zQSQZyq||xi{8tO_G{6lUeR=##V_AVixb#%Y)#Hx6$d001seuF=sd;ydx!rNSTKs|Q zldn_UaBNs=YNh~(-blE5)iWE}Q9KC%{X8Vt2>3oc>Bp)eT@WpRi-#xwSaI{K?JpSJ zt>6w0y@6K-L^BrIQKR#0`8P`Nf*Oh^r#&I@e$L_!M8E-DzzJYq{XJm zBa?sPupWZG0iT)A4hIBwU*7e<#?Rmi&U^u%7!bij*h`RcRdU1HtSZCT(5u6!ku>@)Q;1b@+tMPdygeu#b^MT+dcety-@`owe^5gMUB zE1wx3CrQV;+6Zpo$d}^CeieY+SF=wR=RRkvcHM~^mbBP3HS#cCNnMF^1R$+Qu&P#C zxz9;ajk8nX+ha`ZnAQ!;V72BkZR(NdC<#_8BFJaYpOqJP{ISQH%lR5OE;#4Ww4L21 z8y3ChIZ_1KiVQg}B>HWyC|v1SwU*^vqs?|LKx`?;(G-Ht+MY+

-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 \ No newline at end of file diff --git a/media/icons/spriteilluminator.png b/media/icons/spriteilluminator.png deleted file mode 100644 index e385cbcc8a4212a3430a397d3d365fb395e4ea14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9605 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 \ No newline at end of file diff --git a/media/icons/texturepacker.png b/media/icons/texturepacker.png deleted file mode 100644 index 83f58abd1aa37de9c53bd6c1ad8c15b3cce24e9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5240 zcmV-;6o>1HP)dFd1 zGg`oo+acxRkQ?vc0xpjM6SMZ-Uy`Su$7k%luP7I2E(JDK0Gq2rXe@VUte6=m;Mi0^ zIXmP*`;ZIghk^0g=;Exe1ggD2RiS>a@&eT+ojZ+n2*9u(7@h=%q;uy;bdgJPfxD`J z?bQmlRR>X8kdskjW{iM0Cj!db{T`eda^byO=J(VT0sGbh`|5#JafV+(iUptoK(2-V zzc&Q5bpvfZz~F@WJ$F_BJE|4jR~N*JqRbF7?E>EN2bH!yH{Ka^;mYXzzppD-1#4La zluEA$0Gz%};Z-Xd5mx0lw83t-Y$CS8vb%tfn$xca4I5 zD?_O8rg!j@Rsmn@2`R0;Zd|xEzj=IY3vjR&@JO$ZO2l3>AvRG^f^Bu`gR+MvYp~?w z1HcOx=06x)D)?Z9aA0lv`pC2hcxfo4yw>YRYabAh{`))+@bOK+$Ja(SZLM0w&`?^w*9L0{?Ly7_&KoOf}Y&0-xFnY%kGYJNg0eY9}C5*H8=`Tmw9ENB9|7d;(q{ z4Jfbl*`4&b}zfK$EFO$u;m zEsp@!lr794XF&u!I}lP{>UQHShlSFU{n`6~wOS|F9R!Y?0y?9NKr;n9R{~FN(+5;N zLEu|&1J^n7(Xg!w_;7s)+iIO}QXLoY^`4OO(=Iosu*Ujg;3Ewo?00y8_p2jk$vK0jX@l!Po4WMWdgSM2bCXQ@yv}j*=+vfLDlkp+6VmG zSu7d20DNW_&{CyZ;vYz@4o9cI)fB|`y3~l6l8}m?+q25cJ-T=tu&~c_X%q9MBpyN0 z{^?!dgDI5*azRcAazw7k88SscdRXL1I!Buvu<)g?pTv@c0^lpH0H5hvjS~TKMb0up zz?ZKo%B$C15%WATRe0tEFtf<}yjYkF08h87*W`rU2#_;!hja?~-e5pEalV`7eMaFVcGyhy2zb0JptSYt|E6P_cx3=M(UsJ9T9o*|4}jL;NUjKSNG=yt zz+vC4($<$Vw;0Q2fvXDin*B?AqF-h4<9nyo!40_*O({7fm*jN81Y``$MQw6QzXI3u z!e8*B9!$H8`QU)=`$C-!XS=lBP}E7$X!u{wBhLPmbOi|6 zXaJ9#2EKfs${|On3|S<%L1FeWuh&MBFW4w?`sFt)$>%Nxd8aw9&7iu z4McKkk@5s`?q(?Ua8?@w4C-KP!-Ekcamo@)rsm3iquE}}IrV*WEdbiB{JmRFZ zfEx?UBKlv8O>IR1u-A|sWQJDfpIBh00{g>_Rlubf z5B$k)O~86xz#gAF%)Qs^btTn=4o$kyFqR>#hXMgzG3d{pXdtb&tu z&e?eQ6Zn50k+QDL(5`VwZbe={IVbl?TVUU$2ckP=PC9XUD$T172`bp6eSbUn`*XnQ zUPEGM4e%#Btq+3slmp+2@pt-augm~VTHgQJeuOzE_tN0hz6H{RS%*b{Daph_Bw9LQ zfqSIHQ7ib|8}r2@E(`*nJ*K94TSa4>zFnl#362SJPYsf4LPw@O5ffj6x#&*7=_HqC zEeXX6n8X0o(|Y_z~i8xz0dSL5Gv zZa|Gfumah#%)sId#{0;9yujL}bNEFi1?8E=+fTgo*uAKhsE-gpnaa7@U*%?i&^xuEIt5M63}O86G6q^?O#0$^su10cGwJ7cf7#U>2CkCASnC_x^1= z&~7tgPjD*xnPu*6Pa|AfuU%6ZnrDIOOjb!(AE;Pp3Q5n?Z9tz5%M%cs%6*{VUT9%i zK*nKAOiUV;eVj6`y1#(C(nRatzIz$bAUG798o5qbKn`1l`SRFM zHjN_9vCaCIL9Nn4ofG+4aj;knu&!9;kiKq_&EEh$*14 zALQ_MYq{=iq+FzvswQ3#rXFn8d&^tzgiy5N|9ElK#s`Os3HG?oR;S)aJk%;`#;N7>$x%!3WXq! z@fjD6UMaz)aZkivNE|yI{#j<#Cd(vv+`!RCRIB+a*9^7M=f;vC4mXXXBu|0c?VdY| zii+YYXsHP`T48Z+2)nB%!qhuEQY9{B#|7=RR z1sm~~yPS(3%_dYAs$391=+v7|az^gRq0FgWE3_=2aZV_XeJdugzeb;YvP=fIU?aYC z0LZsjd~Z=9-=lIsymdP=MwFb9J2OtLT3=FqpnUAFnZV{!eYuJI=h0P4PtjBRuw?Pn zK9vK8p?q8F_sA7Fi^iuN*b-1!A&0o~f5_;mgS8V_tu>jPoO1s>wyaycz~kD!dP@n9 z?^J&~r&fP;LJxK#N92l}$s7t!?O0zzo|tG)&Bn4BJXGgHxfTx2-MYAc9`R5O@P++L zqdCp@sK1rJnRxn5J==)fkRx)H3hPTqK(oG3JU#bRPU6r?f5f^W_sDu0dtg(| z`lE+*%lq>;BiH%J4LLGv#S*bTBB3C4Sw!O(X<0FWhwCQhvYIF&_sEe+Kazbv*9{fbbOKJm1raRHC7EZ&~Tx{Z+=VSd|yxL!ciJbe1s6~jF`AIAH;cj|-kvqzhWywdaI`&p zeWxC`>K+pw7S8kJsRH{vVR_MnOGdnuY{5!LcQh;H`SeI3e%@b<-YNY%3grs><16IwXWd!WXL=F(|X@sgP~II;<{6%hv~ z-Dn*u!Rv$h5liZ{Ms5V9MQVh1f#F6XnYI^2Lzx-|!IgA^U++5xtK)E+9+sBs@$fv) zY4K9Ji?uwci6!RAp<BSAHN#*p18$pSEm5ttu9cocZDB&t9>y=OLoxW=sxoCL=@LuzC64&?8Uny`4LqaxLVG=gv6FUgiqVv zfEDr=s>pg{g&HxvZ)N1R1Pnl842xU{k3GPy%4ytR4RA=__z(dD1-SKy8&EC$Yf6^u1gFHfn}gBc^k z^lzR=w6n3a2Wze{jk&T=Jy&UGX2y!-N`c#2t^&i|&HCa7ZwTAVRpE>)>1Gz_lz5H_ zXg08kW`*Jyops~PNFgqa72%4{{C9F+1(xQgprZJCEC>y))aYSyCG+!`;w7?#jA$xW zu%&bYJ1QqpW)cDsOGGEcb5uZCL^JWs#0(F%lDOV-3Q z>us`Rqfy_WHdP5*t9FQFO{O)A%vdAnN!eIBgUzK=xU*D^+azL%mMS+{+66Ro zqxFkc4nmvuodCV zgmhZC1s5=yHQEtTKHr+j!N7DbZccf^*SBVK;0t&#KI_I*NG)+JM*D7U%bfyltdSc+ zaZV5wxdBw<1+bzZh}!(w@U<+K@oeW6q+r98S($huGp@G?})Yl0000 From f43c4dbbccc9af98d8da2903070ab78e6c467c8a Mon Sep 17 00:00:00 2001 From: Olivier Biot Date: Fri, 8 May 2026 15:47:49 +0800 Subject: [PATCH 2/3] chore(release): stamp 19.3.0 release date (2026-05-08) Co-Authored-By: Claude Opus 4.7 (1M context) --- packages/melonjs/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/melonjs/CHANGELOG.md b/packages/melonjs/CHANGELOG.md index 9295c54ea9..29992e8290 100644 --- a/packages/melonjs/CHANGELOG.md +++ b/packages/melonjs/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## [19.3.0] (melonJS 2) - _unreleased_ +## [19.3.0] (melonJS 2) - _2026-05-08_ ### Added - Light2d: now a first-class world Renderable — add lights with `app.world.addChild(light)` (or any container, including a sprite, so the light follows it via parent transforms). Auto-registers with the active Stage's lighting set via `onActivateEvent` / `onDeactivateEvent` — no manual bookkeeping. From 47183b6bd18fb25151e01409628b23620286bc67 Mon Sep 17 00:00:00 2001 From: Olivier Biot Date: Fri, 8 May 2026 16:13:06 +0800 Subject: [PATCH 3/3] docs(readme): use absolute URLs for CodeAndWeb tool icons Address Copilot review on #1438. The melonjs package's `files` whitelist (packages/melonjs/package.json) does not include `media/`, so relative `media/icons/*.svg` paths would 404 when the README is rendered from the npm tarball (e.g. on npmjs.com). Switch to `https://github.com/melonjs/melonJS/raw/master/media/icons/*.svg`, matching the convention already used by the banner image at the top of the same file. Co-Authored-By: Claude Opus 4.7 (1M context) --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 1b6c4e7d11..25caa45478 100644 --- a/README.md +++ b/README.md @@ -124,9 +124,9 @@ Tools integration melonJS is supporting the below tools and frameworks natively or through our official plugin(s) : [![Free Texture Packer](https://user-images.githubusercontent.com/4033090/136762061-1d3a0dfe-dbe0-4d3d-808d-47a49ecf5309.png "Free Texture Packer")](http://free-tex-packer.com) - [![TexturePacker](media/icons/texturepacker.svg "TexturePacker")](https://www.codeandweb.com/texturepacker) - [![SpriteIlluminator](media/icons/spriteilluminator.svg "SpriteIlluminator")](https://www.codeandweb.com/spriteilluminator) - [![PhysicsEditor](media/icons/physicseditor.svg "PhysicsEditor")](https://www.codeandweb.com/physicseditor) + [![TexturePacker](https://github.com/melonjs/melonJS/raw/master/media/icons/texturepacker.svg "TexturePacker")](https://www.codeandweb.com/texturepacker) + [![SpriteIlluminator](https://github.com/melonjs/melonJS/raw/master/media/icons/spriteilluminator.svg "SpriteIlluminator")](https://www.codeandweb.com/spriteilluminator) + [![PhysicsEditor](https://github.com/melonjs/melonJS/raw/master/media/icons/physicseditor.svg "PhysicsEditor")](https://www.codeandweb.com/physicseditor) [![ShoeBox](https://user-images.githubusercontent.com/4033090/136762705-92027d94-d87c-4a95-b051-26647410248d.png "ShoeBox")](https://renderhjs.net/shoebox/) [![Tiled](https://user-images.githubusercontent.com/4033090/136762999-5a7f377b-4136-4205-9fe0-83728c90cb9b.png "Tiled")](https://www.mapeditor.org) [![Cordova](https://user-images.githubusercontent.com/4033090/136763147-6d157ce6-6921-437e-bb8f-0287b86109da.png "Cordova")](https://cordova.apache.org)