From c2ad804fed19c0c7ff1666da1df7877daf08890c Mon Sep 17 00:00:00 2001 From: jyviko <2501648+jyviko@users.noreply.github.com> Date: Thu, 15 Oct 2026 08:39:25 -0400 Subject: [PATCH] ui: Mesh Block under Structured Hex, Mirror Mesh its own Edit entry (#348) Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01UhhZMBTviDQxZvwnyP89fo --- ATTRIBUTION.md | 2 ++ assets/icons/mesh.block.svg | 8 ++++++++ assets/icons/mesh.block.vectorcraft | Bin 0 -> 1718 bytes assets/icons/mesh.mirror.svg | 11 +++++++++++ assets/icons/mesh.mirror.vectorcraft | Bin 0 -> 1776 bytes assets/icons/src/mesh.block.json | 1 + assets/icons/src/mesh.mirror.json | 1 + crates/engine/src/catalogue.rs | 11 +++-------- docs/features.md | 6 ++++-- 9 files changed, 30 insertions(+), 10 deletions(-) create mode 100644 assets/icons/mesh.block.svg create mode 100644 assets/icons/mesh.block.vectorcraft create mode 100644 assets/icons/mesh.mirror.svg create mode 100644 assets/icons/mesh.mirror.vectorcraft create mode 100644 assets/icons/src/mesh.block.json create mode 100644 assets/icons/src/mesh.mirror.json diff --git a/ATTRIBUTION.md b/ATTRIBUTION.md index aa385a2..b107c31 100644 --- a/ATTRIBUTION.md +++ b/ATTRIBUTION.md @@ -58,6 +58,8 @@ is committed and listed here with its exports. | assets/icons/interaction.contact.general.svg, assets/icons/interaction.contact.general.vectorcraft | FieldCraft contributors | Original toolbar icon drawn with VectorCraft from `assets/icons/src/interaction.contact.general.json` (`cargo xtask icons`) | MIT OR Apache-2.0 | | assets/icons/interaction.contact.pair.svg, assets/icons/interaction.contact.pair.vectorcraft | FieldCraft contributors | Original toolbar icon drawn with VectorCraft from `assets/icons/src/interaction.contact.pair.json` (`cargo xtask icons`) | MIT OR Apache-2.0 | | assets/icons/interaction.fsi.svg, assets/icons/interaction.fsi.vectorcraft | FieldCraft contributors | Original toolbar icon drawn with VectorCraft from `assets/icons/src/interaction.fsi.json` (`cargo xtask icons`) | MIT OR Apache-2.0 | +| assets/icons/mesh.block.svg, assets/icons/mesh.block.vectorcraft | FieldCraft contributors | Original toolbar icon drawn with VectorCraft from `assets/icons/src/mesh.block.json` (`cargo xtask icons`) | MIT OR Apache-2.0 | +| assets/icons/mesh.mirror.svg, assets/icons/mesh.mirror.vectorcraft | FieldCraft contributors | Original toolbar icon drawn with VectorCraft from `assets/icons/src/mesh.mirror.json` (`cargo xtask icons`) | MIT OR Apache-2.0 | | assets/icons/model.mass.create.svg, assets/icons/model.mass.create.vectorcraft | FieldCraft contributors | Original toolbar icon drawn with VectorCraft from `assets/icons/src/model.mass.create.json` (`cargo xtask icons`) | MIT OR Apache-2.0 | | assets/icons/interaction.rigid_wall.svg, assets/icons/interaction.rigid_wall.vectorcraft | FieldCraft contributors | Original toolbar icon drawn with VectorCraft from `assets/icons/src/interaction.rigid_wall.json` (`cargo xtask icons`) | MIT OR Apache-2.0 | | assets/icons/model.spring.create.svg, assets/icons/model.spring.create.vectorcraft | FieldCraft contributors | Original toolbar icon drawn with VectorCraft from `assets/icons/src/model.spring.create.json` (`cargo xtask icons`) | MIT OR Apache-2.0 | diff --git a/assets/icons/mesh.block.svg b/assets/icons/mesh.block.svg new file mode 100644 index 0000000..f61ce3d --- /dev/null +++ b/assets/icons/mesh.block.svg @@ -0,0 +1,8 @@ + + + mesh.block + + + + + diff --git a/assets/icons/mesh.block.vectorcraft b/assets/icons/mesh.block.vectorcraft new file mode 100644 index 0000000000000000000000000000000000000000..336317e7e74a326aeab4fdd946186284d789238a GIT binary patch literal 1718 zcmV;n21)rJiwFP!00000|K(b3Z`(Ey{wsz)3x?h$2iS)$E4rfHTBJjZp$H6GqHQj; zs8LcAFYtfg@y)SPC!=U*7_b1XEt0x>{M_+)Jo4UKGQL5bcj0}*Wyg5Q(X#V=c;YQ# zwRe&D-U`>4Bj|)tpXI1aF=`S_XVU=2R;=tdxCSBj5ATJ(*O885cxQv#^>jg5c>{y{ znshBRek6C8w$M;A%J_W4DlznGwSXqXy9GnMf^lE(JyJ<&HQI;~uXNuegn=B;2(5R4 zcM(hj-`komccFI?C9+9>+xcF*X1DVakYZ4X_>Fh5M6|`GgR{1suMy#`?$}-X9z|Qs zj{$ivIwXo4Qda^+w{1j+e8c=O(f*O+76VQJp~IVoq7Ls>H=NWRS_q;#-a|vVCbZ(X z-m8p&kfy$ubvIg?X0bK?X(^ zPjQeIMHIv1LOdq%EDFHyW`q9aF-$%OgZCu zPd2X3k|xqBhM9ceED?McDTFnUQy7UNHE9eIHKPqDk#ZhuB(FD+eCFK_r8)4GQx|IbtjjruMFS1!=hJQmZnJ>?!Y1shYiI zNbQ;^KTcYQE|TOjq}tD3&Td^pS+1t$>vB17C?$s5ed863e*0>*Nc5^?LDcXL9 ze8pMc3<}Y2INFNCxMM}?cR$R6G0`6EvW4~=>9E$J{M`?QvzB6nmfTrOK0-_8tR)+v zC3V)4j?j`gYe`0EiJi5?BeX=$TA~qJLT4@il=@r`c5`I4?w*>ps@M5^BHS;cVW?_E z`-D;E*y)H(rv!3BG5!IIT=0To^r?}?aE@By5JI9Vi(`SDQbrptQ@R8&{`5`(IjL?{ z49f2&*_v4$7s;bi@cd>?%6Z#u>Ck(B!b{XsVKF&k@=1*FUhX2q(Sy))ox>kJ?R+?N zmy5W*TOw}9%oprV-zj)>+B*5rcN9__@4s=s!1i}V&-|{RG5WThyp;vA7rf)*Ucr0-C@V> MZ;hd6HbEx<08T+o6#xJL literal 0 HcmV?d00001 diff --git a/assets/icons/mesh.mirror.svg b/assets/icons/mesh.mirror.svg new file mode 100644 index 0000000..91b010a --- /dev/null +++ b/assets/icons/mesh.mirror.svg @@ -0,0 +1,11 @@ + + + mesh.mirror + + + + + + + + diff --git a/assets/icons/mesh.mirror.vectorcraft b/assets/icons/mesh.mirror.vectorcraft new file mode 100644 index 0000000000000000000000000000000000000000..594af62acbe543fbf4a61313d114e52355075601 GIT binary patch literal 1776 zcmV8DO;k}xpcnbtfeetXx=(wxMK~W zm2(-6odvEiL(mDMK8aCReALLjm|VCpHm6y)#1%~Puzk)OJ1uET49_faQ(PNuNO0DLad!p#Bvz-<-sAjn65%gKH{b78+kC00UR#& z-gPeB3wP|S^u@jBT>7DCQdjG-(-ib>ngLV{0uj4)F6XFhuC(jF3DkwdbKCjWEHNur0?Pw%``(*Fl+ieg}c#}Pq zaX;GCSonQ7&|tRRv$8G7^dFIV*#5_lpO3*B;+@C&y_bH=d!nD-b1v@*_q@mV_S{D_ z^!+C^@t^po|2)Na&w(Vr#tsCU=zEZ8c*cd`AKIHc)Mf>i^Qc_p%OAk>&664c%1Syz z1`X}g0=&GNYb#abyxaJ^8!Gx57NmHJDGvRg}&aFsE*$_&h~cH z45K}BNfXYLHJ*25X=^M|D72!PNqWZO!!=*Mje#7)i0@0M(MY66YfgM=JjO^~En&A@ z=0`@f2rLu`((9Wq=`gq1KQStggb=zt+koVWySI5LdHGL=Y!kVSn;g=J3V6mqu2!fz z%4IYov50Ouj>LkHU=R#jK4PH@U*k~Lpn#}U$Xqf1b_^eD93sB@+Fz4E*z15rzq3W) ziRISQS-v+BhN%k?+HZ`Jys2`spte}#79-MzDm^Ahv}OVY&KS)nLQC9QqR}Y4UMLk_ zo0t>wp<{Jv9n^a}Fi(V4FWn#!{FpoL?+9v-t!)sAA#8)dWG_byIKs%>RIecow_R#w zrV&479Wqrj*9@s_6XpG+wQnL}B0{RU_cD5C8_E*tzT4DH+y^?QnlEtH!Bndw5|P5+ zEGjZlGY{ubqQthAv6r*!98sFZ(476Mpdbsi)|FjN#6qSTy;WbPY35))qRKY+NqWJf zUtkXXfi`+Yp=4pZeTaMN345i6Kqf-wQS7>FY$N(!jvUDNp$$dnt;R?`qq6F(SC^=_ zlkxkGJ9wk{s;S{vq_JIjgPyJUGSq9Mb)~HgAcj{y#-pc75etTL!cVxy+sn&MQR^M4 zpf(15O-pN8mg${d3@e+!(MOFk(ymnVlH@fNaKIcmWIea{{M?6%BhSyx>tV3@=O_Z4;WpOBwW6Eg#WlEI*hM(R^ zAV<}$(q8#pCtDMv<05fX3YK3NB%3zvs_a|uuXv8Sl50$i7=7d;ob!EyaPT1XR0rS( zPdm4#-C_|}->C7g?4~n%uMYF~PFqLsyS9WB$N4@E_D$c*f9Ab@!|3a3^hOlO&iH|e zalQBd;3nMRCU}M$zQHJtQTORiTu()d@u9b(%HN?Xd_)z`XjjV_EjbxHo^&L~`kE2( zg-FA*=L)1H{4+uRX-H1K68^C(3`}8ah8q4|DTb