<xml xmlns="https://developers.google.com/blockly/xml">
<variables>
<variable id="W%VyM?WbBgr49`?[)ieN">scannedMesh</variable>
<variable id="qgz32{%8teL/]{|4):a-">heartWire</variable>
<variable id="rKNj:rG{A4Z]]XND{W|H">heartWireOffset</variable>
<variable id="][Pwv0Oa+m@D%o$_sf*m">heartWireOffset2</variable>
<variable id="i4tzw8G^?,V4.qZ@bYF4">heartFillet</variable>
<variable id="uwsSA#K!y!if|;;ThqEw">heart</variable>
<variable id="bV6]mw73~~RUC,gOVuX5">heartBase</variable>
<variable id="TnE+}#9cf|WQHiEB6UZA">rotationSpeed</variable>
<variable id="ZqZ0Bs!q.__WP=ku[XS=">timeElapsedFromPreviousFrame</variable>
</variables>
<block type="base_time_async_context" id="GS8=j/-oL3IiE|:xar-#" x="-814" y="-1486">
<statement name="Then">
<block type="bitbybit.babylon.scene.enableSkybox" id="hu/7E[35]c5SQ3M@wMRP">
<value name="Skybox">
<block type="bitbybit.babylon.enums.skyboxEnum" id=",1s$5o$=ud-hg{K4,5EH">
<field name="bitbybit.babylon.enums.skyboxEnum">'clearSky'</field>
</block>
</value>
<value name="Size">
<block type="math_number" id="r!wVB[peZ9}G3XxR1Udh">
<field name="NUM">1000</field>
</block>
</value>
<value name="Blur">
<block type="math_number" id="TKcq02T?8XV9p^.ycuX@">
<field name="NUM">0.1</field>
</block>
</value>
<value name="EnvironmentIntensity">
<block type="math_number" id="ZkZ_D$K6_F;~C|c0gc=n">
<field name="NUM">0.7</field>
</block>
</value>
<next>
<block type="bitbybit.babylon.scene.adjustActiveArcRotateCamera" id="VGGUO+360Bj%NLwqV`Ha">
<value name="Position">
<block type="bitbybit.point.pointXYZ" id=",c|_-JAqdt~{v%2VJ5E9">
<value name="X">
<block type="math_number" id="O-K_H72Js1B*87;3cu5q">
<field name="NUM">3</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="`vg@d*arSL-o/|fYp0(_">
<field name="NUM">2</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="8z03lnDR.$0usBUJEFqi">
<field name="NUM">3</field>
</block>
</value>
</block>
</value>
<value name="LookAt">
<block type="bitbybit.point.pointXYZ" id="F|)yoKKR09twMEaaYDeo">
<value name="X">
<block type="math_number" id="L=GV^--6|j_fhRA5nN!.">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="5i2~^2Gm__YasrAbPHfb">
<field name="NUM">0.3</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="And_EI*G}HV.,9_`F8#c">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="LowerBetaLimit">
<block type="math_number" id="/fcEz/`jA]+~Vfv:dUD;">
<field name="NUM">1</field>
</block>
</value>
<value name="UpperBetaLimit">
<block type="math_number" id="n6op`2NDGbVz0iDY76}`">
<field name="NUM">179</field>
</block>
</value>
<value name="AngularSensibilityX">
<block type="math_number" id="A+[dFks][,wQY,[n*?5i">
<field name="NUM">1000</field>
</block>
</value>
<value name="AngularSensibilityY">
<block type="math_number" id="2^8[s-@|?6Oz4g6+U8{{">
<field name="NUM">1000</field>
</block>
</value>
<value name="MaxZ">
<block type="math_number" id="8VoP/?*W%tl,v8kzAn--">
<field name="NUM">1000</field>
</block>
</value>
<value name="PanningSensibility">
<block type="math_number" id="=|_.cmtZ;=!]BJ1hZ+~S">
<field name="NUM">1000</field>
</block>
</value>
<value name="WheelPrecision">
<block type="math_number" id="83/[N2!8Y~aD~*/lg+fb">
<field name="NUM">3</field>
</block>
</value>
<next>
<block type="bitbybit.babylon.scene.drawDirectionalLightNoReturn" id=":}Y-)32.4qVkZ`s(n,1/">
<value name="Direction">
<block type="bitbybit.vector.vectorXYZ" id="oL+|JS@zF;lIBtcJVA=C">
<value name="X">
<block type="math_number" id="r_/Is1YlJN_2k%oht(GL">
<field name="NUM">-100</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="KfO|r{Vm,oo4K#kCRr*y">
<field name="NUM">-100</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="-1t:]h-a|3g-sIlxeewo">
<field name="NUM">-100</field>
</block>
</value>
</block>
</value>
<value name="Intensity">
<block type="math_number" id="=tb0atSb)l2Q-,Yfy4x1">
<field name="NUM">3</field>
</block>
</value>
<value name="Diffuse">
<block type="colour_picker" id="Ga]s~vO*e~]Js8oM;Al~">
<field name="COLOUR">#ffffff</field>
</block>
</value>
<value name="Specular">
<block type="colour_picker" id="@i{HWOE/S?d3c$e4[9x5">
<field name="COLOUR">#ffffff</field>
</block>
</value>
<value name="ShadowGeneratorMapSize">
<block type="math_number" id="#,M`v##J:wQSS$UjOe(F">
<field name="NUM">1024</field>
</block>
</value>
<value name="EnableShadows">
<block type="logic_boolean" id="On+w1Kzm[`5bmM^zc@!J">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="ShadowDarkness">
<block type="math_number" id="%M}2/:UErIyzPE!on=V!">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="variables_set" id="+^0s/cgn:,JS-wV%@`c5">
<field name="VAR" id="W%VyM?WbBgr49`?[)ieN">scannedMesh</field>
<value name="VALUE">
<block type="base_time_await_return" id="LFe39J$060Yze)NO[GIA">
<value name="Promise">
<block type="bitbybit.babylon.gaussianSplatting.create" id="/-r[M[jo7hj)w(eRrG,x">
<value name="Url">
<block type="text" id="!dHi+sy!Be2xoB~Difk1">
<field name="TEXT">https://firebasestorage.googleapis.com/v0/b/bit-by-bit-prod.appspot.com/o/users%2FyVqNAFXmieX0iAkdP6wAz5BJ4X82%2Fprojects%2Fzc4uSjR0Xn3FHVV3IESh%2Fassets%2Fflowers.splat?alt=media&token=72211175-0d81-426e-b076-d935c6b64af5</field>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="%3]-0Kd=(armSVI_2!6?">
<field name="VAR" id="qgz32{%8teL/]{|4):a-">heartWire</field>
<value name="VALUE">
<block type="bitbybit.occt.shapes.wire.createHeartWire" id="UG}C9e,{g2?CMf?Yvakv">
<value name="Center">
<block type="bitbybit.point.pointXYZ" id="fp=P:0v^Jre.Au}BSs[I">
<value name="X">
<block type="math_number" id="+?1a})}+]!WDT(1f[$^{">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="#+!U*^APzt6J,w~~qf(C">
<field name="NUM">0</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="e5lj.Pq8V8i~#f)iNhV?">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="Direction">
<block type="bitbybit.vector.vectorXYZ" id="Idy4A5ePw@hGE-[Mg7Ve">
<value name="X">
<block type="math_number" id="i#_%n`WK%C[ekUgy|3vG">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="~?T=w]$bRuW+lIS0,mLI">
<field name="NUM">1</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="JDk1$l*I-#`qg^[=F-as">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="Rotation">
<block type="math_number" id="W3*30c@Qt9PSuA_Q9tLV">
<field name="NUM">0</field>
</block>
</value>
<value name="SizeApprox">
<block type="math_number" id="WIt,%+Df?(m|M/ypR.4B">
<field name="NUM">1.5</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="#xD{{PCE)$um;:#J-PgZ">
<field name="VAR" id="rKNj:rG{A4Z]]XND{W|H">heartWireOffset</field>
<value name="VALUE">
<block type="bitbybit.occt.operations.offset" id="Z]Sh?)s8rJgeCFytb9m-">
<value name="Shape">
<block type="variables_get" id="?{6;pBTQ{cWQPXP[rCI7">
<field name="VAR" id="qgz32{%8teL/]{|4):a-">heartWire</field>
</block>
</value>
<value name="Distance">
<block type="math_number" id="u9p_ikS7D9c`ssgdghaL">
<field name="NUM">0.2</field>
</block>
</value>
<value name="Tolerance">
<block type="math_number" id="hOIVEPfMGWu)gG)khic6">
<field name="NUM">0.1</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="7:LOLbmVGiu(^0G=(/H%">
<field name="VAR" id="][Pwv0Oa+m@D%o$_sf*m">heartWireOffset2</field>
<value name="VALUE">
<block type="bitbybit.occt.operations.offset" id="Ua]#-|9)qptfa]qL5r})">
<value name="Shape">
<block type="variables_get" id="6%CiW|,J3qe0il^Y5OL]">
<field name="VAR" id="qgz32{%8teL/]{|4):a-">heartWire</field>
</block>
</value>
<value name="Distance">
<block type="math_number" id="fe/9)yqsE}#vnWjZ?72-">
<field name="NUM">0.3</field>
</block>
</value>
<value name="Tolerance">
<block type="math_number" id="7q5918[8%lgO6}Cr~dRP">
<field name="NUM">0.1</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="[+S*Aa|36xlJk:Sx[,sV">
<field name="VAR" id="i4tzw8G^?,V4.qZ@bYF4">heartFillet</field>
<value name="VALUE">
<block type="bitbybit.occt.fillets.filletEdges" id="!G5r[Qba:K*.(yuxL/v%">
<value name="Shape">
<block type="bitbybit.occt.operations.extrude" id="Vb:10cL7YvBu1sVhv|%2">
<value name="Shape">
<block type="bitbybit.occt.shapes.face.createFaceFromWires" id="I16H.;[0gs0*B)16kIR+">
<value name="Shapes">
<block type="lists_create_with" id="j2RfHMBSW4Xx[{BzL8(C">
<mutation items="2">
</mutation>
<value name="ADD0">
<block type="variables_get" id="Yd/dt=KHJL*NP+jx3by]">
<field name="VAR" id="rKNj:rG{A4Z]]XND{W|H">heartWireOffset</field>
</block>
</value>
<value name="ADD1">
<block type="bitbybit.occt.shapes.wire.reversedWire" id="_d{zlQ6.5pc$wB|^WzmA">
<value name="Shape">
<block type="variables_get" id="Z$Am*k(oUnURn.oA/0_4">
<field name="VAR" id="qgz32{%8teL/]{|4):a-">heartWire</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="Planar">
<block type="logic_boolean" id="z;LX)8VUiEZ7)rp(?4a2">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
<value name="Direction">
<block type="bitbybit.vector.vectorXYZ" id="|=$aGO=EnqMUD}UTYKt]">
<value name="X">
<block type="math_number" id="roJ3Q/j[OHw7pA,tTS7|">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="|Dw){.T*@-E8?4`=(*CG">
<field name="NUM">0.2</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="YK0r,Bi@AH0j*[Yd#HIe">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="Radius">
<block type="math_number" id="^K7F,Q)rL*_Hr=*3?8r#">
<field name="NUM">0.06</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="+c!L;Y1s?=K}OW`%W26Z">
<field name="VAR" id="uwsSA#K!y!if|;;ThqEw">heart</field>
<value name="VALUE">
<block type="base_time_await_return" id="rI^haxrw,RB$JHkcqaG:">
<value name="Promise">
<block type="bitbybit.draw.drawAnyAsync" id="x@e%1lUTX3`b;Lw}qEPa">
<value name="Entity">
<block type="variables_get" id="?FAKxHZ^5!,[e{YKmF[?">
<field name="VAR" id="i4tzw8G^?,V4.qZ@bYF4">heartFillet</field>
</block>
</value>
<value name="Options">
<block type="bitbybit.draw.optionsOcctShapeSimple" id="#*Fgdbyc{k(aGLqnPi$z">
<value name="Precision">
<block type="math_number" id="Q{_N!M8D:FI]Ns=^joxm">
<field name="NUM">0.002</field>
</block>
</value>
<value name="DrawFaces">
<block type="logic_boolean" id="M-h/[BWlC*~sl-,8$)aP">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="FaceColour">
<block type="colour_picker" id="hUet/.7og0a=T;5QkMdC">
<field name="COLOUR">#ff0000</field>
</block>
</value>
<value name="DrawEdges">
<block type="logic_boolean" id="qK%:_+0QR@|9)e%^z44Y">
<field name="BOOL">FALSE</field>
</block>
</value>
<value name="EdgeColour">
<block type="colour_picker" id="?nkRjB-${73c77TdSj;y">
<field name="COLOUR">#ffffff</field>
</block>
</value>
<value name="EdgeWidth">
<block type="math_number" id="gCqV3P|Z}X`.TW%F6`hC">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="|PigQ8SXFIE3,H[6;gdz">
<field name="VAR" id="bV6]mw73~~RUC,gOVuX5">heartBase</field>
<value name="VALUE">
<block type="base_time_await_return" id="9@_k(U9y@xIVd[Y2=Fg$">
<value name="Promise">
<block type="bitbybit.draw.drawAnyAsync" id="c6DM(]pcEWoqo(1b,RZn">
<value name="Entity">
<block type="bitbybit.occt.shapes.face.createFaceFromWire" id="_Vn-9!`5GjuJEY6^D:WS">
<value name="Shape">
<block type="variables_get" id="SdUB6q_3.M(I.)?E7y+h">
<field name="VAR" id="][Pwv0Oa+m@D%o$_sf*m">heartWireOffset2</field>
</block>
</value>
<value name="Planar">
<block type="logic_boolean" id="GF{Wesl7.vI.x@l#WMkG">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
<value name="Options">
<block type="bitbybit.draw.optionsOcctShapeSimple" id="ZioJJ}Ufd6815d6L!dVR">
<value name="Precision">
<block type="math_number" id="Mzxfb`;aB5Qq])-_7VWN">
<field name="NUM">0.002</field>
</block>
</value>
<value name="DrawFaces">
<block type="logic_boolean" id="-i=hA8)(.5Ds5u=:J$/T">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="FaceColour">
<block type="colour_picker" id="87?$6NCo?31B*4lFb(Be">
<field name="COLOUR">#000000</field>
</block>
</value>
<value name="DrawEdges">
<block type="logic_boolean" id="g*6QTO4X!X^{cW9npZkx">
<field name="BOOL">FALSE</field>
</block>
</value>
<value name="EdgeColour">
<block type="colour_picker" id="gnk$k]wEwux3tOl+zAG2">
<field name="COLOUR">#ffffff</field>
</block>
</value>
<value name="EdgeWidth">
<block type="math_number" id="qJ9BbFk[Oh`npj@gt?~v">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="ur%z}^PbU;y?/g2FwrpC">
<field name="VAR" id="TnE+}#9cf|WQHiEB6UZA">rotationSpeed</field>
<value name="VALUE">
<block type="math_number" id="q,ip0(G:.Ae~ycBnRjE#">
<field name="NUM">0.2</field>
</block>
</value>
<next>
<block type="base_time_update" id="NCv[^Xk^mXh`C;eG3`hR">
<field name="TimePassedMs" id="ZqZ0Bs!q.__WP=ku[XS=">timeElapsedFromPreviousFrame</field>
<statement name="Update">
<block type="bitbybit.babylon.mesh.yaw" id="bg$}Zj40F{n%pwpuI6cW">
<value name="BabylonMesh">
<block type="variables_get" id="Yq_/XR.U7HSzE#vfVgEC">
<field name="VAR" id="W%VyM?WbBgr49`?[)ieN">scannedMesh</field>
</block>
</value>
<value name="Rotate">
<block type="variables_get" id="cw)~4!Xl|40(MiL5^|Vt">
<field name="VAR" id="TnE+}#9cf|WQHiEB6UZA">rotationSpeed</field>
</block>
</value>
<next>
<block type="bitbybit.babylon.mesh.yaw" id="pG8dzcg~^d*4B/[}fm`[">
<value name="BabylonMesh">
<block type="variables_get" id="}^L414-rldPNtFqJV@DD">
<field name="VAR" id="uwsSA#K!y!if|;;ThqEw">heart</field>
</block>
</value>
<value name="Rotate">
<block type="variables_get" id="`3SJpAsXLn]8|SF8[[TD">
<field name="VAR" id="TnE+}#9cf|WQHiEB6UZA">rotationSpeed</field>
</block>
</value>
<next>
<block type="bitbybit.babylon.mesh.yaw" id="G)b!0W*Chm_dn|g3yJHS">
<value name="BabylonMesh">
<block type="variables_get" id="|WVeI55iI%h5DWnu{,m*">
<field name="VAR" id="bV6]mw73~~RUC,gOVuX5">heartBase</field>
</block>
</value>
<value name="Rotate">
<block type="variables_get" id="[laM-{R2]VW_{=,tCth)">
<field name="VAR" id="TnE+}#9cf|WQHiEB6UZA">rotationSpeed</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</xml>