From c6c175e9e31383ba64ef88985c1df391ae861609 Mon Sep 17 00:00:00 2001 From: archmoj Date: Thu, 14 Nov 2019 09:34:01 -0500 Subject: [PATCH 1/3] handle missing vertexcolor and facecolor in mesh3d --- package-lock.json | 6 +- package.json | 2 +- .../baselines/gl3d_mesh3d-mising-colors.png | Bin 0 -> 23067 bytes .../mocks/gl3d_mesh3d-mising-colors.json | 56 ++++++++++++++++++ 4 files changed, 60 insertions(+), 4 deletions(-) create mode 100644 test/image/baselines/gl3d_mesh3d-mising-colors.png create mode 100644 test/image/mocks/gl3d_mesh3d-mising-colors.json diff --git a/package-lock.json b/package-lock.json index 4bb153a5d5c..caabd7554a8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4601,9 +4601,9 @@ } }, "gl-mesh3d": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/gl-mesh3d/-/gl-mesh3d-2.1.1.tgz", - "integrity": "sha512-UuDnuSE/xX8y9/B6EtDsBKllEmKDVmuiD9lsFoQdUq4FPSvwFOo9rKH3fsjK2pfxsTigguF6GhFjHqq+sJKQWg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/gl-mesh3d/-/gl-mesh3d-2.1.2.tgz", + "integrity": "sha512-XxDJAMK0MX0+GrvJu5vkd7or9mvJjV5/D7svTMYI0yiVFN5OQG/qDo8P+/erpC403SmP0CPFaR51/MHh32MTBg==", "requires": { "barycentric": "^1.0.1", "colormap": "^2.3.1", diff --git a/package.json b/package.json index 2c3cf2e6388..c6d6497925b 100644 --- a/package.json +++ b/package.json @@ -79,7 +79,7 @@ "gl-heatmap2d": "^1.0.5", "gl-line3d": "^1.1.11", "gl-mat4": "^1.2.0", - "gl-mesh3d": "^2.1.1", + "gl-mesh3d": "^2.1.2", "gl-plot2d": "^1.4.2", "gl-plot3d": "^2.3.0", "gl-pointcloud2d": "^1.0.2", diff --git a/test/image/baselines/gl3d_mesh3d-mising-colors.png b/test/image/baselines/gl3d_mesh3d-mising-colors.png new file mode 100644 index 0000000000000000000000000000000000000000..09ee08901a249f812fe4f400c1a8df5dcf9b446b GIT binary patch literal 23067 zcmeEu^CQ=v5G9ltj7Cao zbPY!H?DKqoe*S^y_5Eqr?sM-x*NOW&=e*zVYw-qpnlzLwlmGyL=9!k75#jS30081{ zkrAwWA4Sgq04~5YH5HRLwmT@Q8YlChg|nTbc4Vu%cF6;>2aRvX=8QT&+{+gfqK+bp zdIFLnbEKZiWl=VH^s(fwsqY}Q?+1y@4}3=QK;3B@eiwHmiKLo8w8lnvCAc0rI2mXg z1oYhJ>K{~9yY;9dY%XNDdA+gtdcksG-ea$ISoY#;$VpJ;URl-d4g~K3^SGM8TYHcf z>%(cEb(jzdM5d*K5r}H&jr+0*kr0s7hCJ$dCo#oiEC;ks%8&v_EwTi9$+5)UFDj2fZl~ zWlIt;ErOg-poo3tmH!;9GAV|*yALK5kmpqBnh@%eBQqi5&;qOA5vh&w0t6>|BmUQk z|Id12CA|})udJ(?#J03Nw*avN(|ye*xrb|x4?FX|>?Ec`dm-m~=ytE$L!TV%#WUb| zHjgSRpUfbA7IfgJzZmU4?Bd6a^+!euG|v|3luo(WmBT{Uh9xjP)#$-{gu8XXfmn22 zEu4w|=gG+l`bZC?H?r)JyeGGYE{r{e93hc+N0is#dzXh98+DUy@50WS*YhD0lamaW zwIME2e2=m9ACGePh+Y8CMH8>zEc?ne2Dne6m^zPP&^;bJEi6ftI`BrZQ&VhlEh6I7 zaea%k9e3Bu%ZIPC7tWXYj&n;ZHOi@!Y)`OBx?gYaa zE=O-h8K2vR>(?0+#K7_vya&uzWl zhwpQ1J|l?zNTL@-UfK_{;1p_TC1T(&LLM3)B}FlW!>OlyHAMh7H0$4%BGw~sdYn`D z6>o)-!u~3;?41^p*ks+BDyC^UtLdI@cz7NQdlqxp9*W%YCcw}5`xm{x7p4j1p=gQU z(8HFFGu9TKTUdV)l-j9H`@KsPURd6S5M6SA24xS;6~9iK_36mb%T%~tGTUB1AH7(UbFIRbNT<`B-}| zE<9C(bLCrkzOH1Vhh64;a*Sry(Nkfv%5W0^Fhb3EzNrdf#I~u-m5_ z0C<$r2*C0~>idf3+*kHONfyesw4q|bki+8F#JWV+3v=^D*_Kbv_i{s$1c_lu+af3p zc&O_KCCFX$YS|HSSg`E=$la`kI~|wV3$y+ZlKtx;?(C6u6)?{9VQ{aV-2i;2PaReP;p2gmJphPCBzMtV`7Csa?ocCyoD@cSh*eKYf2gC#pEwty6c(l~Y>^dc z{U)JF7SW$Ka!`m6#Hy~xKLiK*$h31NkG+snmqL~9CP}yi*iavD)IC-wg1gwZUVPtB z{54;_^0W%U8dSES#EpSX?UU|D-|zZz#H;_&>Bp@5h(^7vlp)}XeIb|}bhCQ8o&>9> z(7)aBSJ4L45~XCGnA?7~+nHlhn`e@??sR?gcu@WUH@Chcy5o%2{kr@Yi6WKXIJRs= zlXg2_7q3ER-w+aAKD8?Yk&@evVYK^Zu2a)J(D!al!G1&~W6`Qb7LD!8TlSc+@?E{> zwG>;r(GDmInYYcI{K-9x>_Ze^`30>d!#opr+v=D6X>+`~oa|8PjGvw*WlO)?9_i!I=e)3C3C}Fi#%+Z=j4@njI^VKof0xt7J4m><-ce5b* z>;C<5P0o9v5Y}%jHlXu9U=<6@7j!P#VXd;D*kD>vuE8n0^dw7Tn5sEz*S%$(;XJ?Z-e&0v)N zFn1;hjdI5^jA0AFJ;H(!L4T_)B9v%4tY>1LGT$2z8hxc$HBju|7S;Y1kxbNF68N5x z=3MfDCUWyPh^A*X_wjlj&FkTc>Yxt!3RiUTolwYX5ur^GQbJ{i2GR3)#pGwb3??5D z`WTT67c;au8peMaL0OX$ioQWQLpm#flVb5 z)`4mCV7XV*R|2Rhps@7c=*Ue<3Z%6MuOjSgF zi2DnJ?$s$p~;jVpt&+d*xBp?EF$U zlTlLE+X(F&mcGWhew~m%zJA4q0iawv{_dEQ!idlqdjN-81D*xq=Vff)sMfHqcSQzfLE$aDMTS~Ovyt512szlbs_~PdRF}04pr}qhAU0HKI znN3!_|H;``bs%hBr4SWm3*CP**Ht!xM~u{}aE)50p109sG=84>Mo`5au+=;!u~(qK zesTu6go(TsF}m$(m`jT2IBrK8;s4Clw)&d=-~P5qoz=|10PhVPyQxU-#(jJN+*K}j zd2ugM$!CiQv2a=!yX^9p_pc($OgB7HZL1ZQ!vN^qiN zr1;KQmUK<(yqyZ18W;35i7#whZ29Ft`6u7e1GAq&&ARvs91DkQb>oV zHqnKIc638C{3+BcN8l$f1UG}5RYW#{=}Rq?=ckC_KOz|i-?U9qU-4sQomog>3g~qj z*<3S19DpEl6x39P>CW4(2;nJ&x+hV$mof)|SSN-V5&}azs}g7qqN7C_tb|@?4~4WE z=>`%mAS#PO(o^28jxctKn4`(*yvDJzHRg#*)&(LgD^(jxd&fZ8cau7_hG0TM8K9&vPxKvh7o)A7%wBbn z8GtQcgx`Y-hHu@oEugtk-?LX&Xi6)V@A zXA{VQS)Z`u$FNP2EL{J>`FQ**nLnxb2oKLcFneUbtbmrxbwqz!#&gQ4c_b?jC1c)f z*JAP5v*0ykEN6RU*pYO28b{E|-iITsgrXUEQlaHetHvCJw!;mOeq^Rf$BLJ&YmjW( zm_NN-kN=Uf=igtf?6vE5lXC{JWt)WHj)s@8E_QuDrKEm5UrM37*oyU!$w2j05sXpiQG3) z6M8w~(u2faxsJSUASnagvy~tb?qtbo`y9fGzs_FXn#4+uQ`rz~d;M}50#B%d)vC4j z29@P^2Edn8SVLLYo5|SZlTE%7?$%d;_QnTr!;TAFhBbh-wT%rIpX&j$sD+4I7vG|? zV+o!R0_(^(^|m2q1pIF5%*O(cfaT@9u3CkL0TxeuX3wqmRk!C8p`Zl&oCu{|iK@c` zL3;ndty-YMz=~VjsKw=GG&$Xp4nO&sl!ZhT~m0#83j3h_EUypkw{jq~y>TZFgbHwO5@C&AQ#v_}zS%33$24f$T zDW5RSUB`xhp(|7$nJCB&c;AIIL_WVk#o6ZwyIT07S3$qEtdz7G64dfsj8V|O^_Cc_Fw04%E(9?Acbsx>!D{jvCKW4@9YsKN9ZzJ|~`Y-0?uE<%!emyhtZP|EB zj({r!iMumQ#%KK`Ap|TNOt|%ucaNK zH`;$>5>k3{UZ)?NrtwGm$I$gfbJ=?-l~>2;wGP&_`I{Ybe4A?&5N;(myNk1+X~Myn zPDCY1K?$E6;l4pz6|Y2Q*gHF}b`I{F5vIRVs@Sbm--UBIo4UuOppYr>OJ1VcW!=%P zmcWh+i}QH+sj!!)XNos9GnF~$oP*qQV&fm@5DMYkAMLXoK+|yHqI?mK&Iy#lwqNWP zuzG)YDB7L3hM;#hk8i)d^6kP6<3xPZ+*H# z182LKU#>(>+J#?zpKBWJ6~s1$Bv=BXRpLw*&d-AnNI?;7pl$6-o*6m1sT6+RF(_J> zcZ=tK_Za6K71~gZTSWEyR#mGw2qYPNCuA_5IUbIdjJZE1v!|JTuEmdyvT%NLZkAt5 z9%+Lvs2p=L=fFWNwz&p(c4he#g|6o%gWL9_vUuWZ5}0#OsxgN#t=tC7K3Tl87q_f~ z(0PM%;!`SAHlrc6jD}AIiQjByn+ZK$3A*%%cf2)qO7Tatqew6^ja*SXdi}Wfh(lU0 zLr1Z<9o&U{cIiPH@^wVwtX7cj+%_PWp9nf)FRF>RHjr3nIeB)u9gtTk-{9_f1C6(a_yj+oOH;{ zVJ9%%&j=0Cd8XbW%hSvKh}L&OrCsZKa;iqZw9Vi2YRk8mG%2HYDJemSM!CO{arNs{ zNja8v_kD})xu(ZNIV-YvYv^V}yq|U`_*~0*y%$kk^t>CC?6>pkvMf1QwWTV4`@Bn5 z@A&X`e=T=x=s0L{JH3l3W&NPqH`aaNUeV(o}RC7 zE~l}iN9e*oww)0qY4>k)e zzZ_i`B7u@D?H8u#&pdH4f zDlVtx$yd|@_N{T1-@j$`Hq02!hmA3{o|BAZ(#U;S)Vhu0Yh1D5`tzu!%y94H4}ntv zDNF~b&Eh+scaj_bxh0DbLf~t@7~g!zqlL#RcG1;qnQTUQzZ_M3mB!y}^z|-r`qG-ThS8 zonP~-S^lJ?u&2#sCz%GXOEIsO=#|X+in)zRVekFa;zh_xCp`2GOM**(JVLObL`R0! ze|XPZ8b=&$M60)zN43YH>Uv#1g?4=D4r%+E+fGD4NX-%S7+v&N9A&^JM>b(|Zy1pf z(DJn1Rk4m~xBwxdp{%pYfA6p~&X-3dA5pD^bhiyxm#afKKgN<$1f*w}_POxythQxD zwST=T(yzSBq)lk$i+`ihrbK`Efuu0m3tf2dTavno`ir(68x`|cW=2FCl|8V9Mhz9a zeut{WC=wFy%cMpMrD|;hbXt5`TEw<`EZKRxxSopLv_ln5G|37(al6l2DMFA=P!Nd! zmE_(6S7NX7)c5FaO9P+#8?-YrlxpDb$BcW+=mboPa2}_B8BZts7}dV1Sg~VFkrGuE zO@NDINK6VsMh0iJ76=IQg%VN2mF<7>;$98Rk0V8p}K>Y_Ht4n)u!!iiQ#Vzzn z$O8flo!~v8aV|_S@OKb9_@@LEnQ^Wn5obd%_PD{bdoctgTBOB-b)%JFENDhFEl?2< zW?N{z)My~VXio-sbubdT8ijTC`nE?fV4T32Fp>WN?f-S?e|zYE=g|N2EmO$RP`bil zpeucM+P_>}K&z_E`HhGugFlYi)OslIcM?Nqy^y};e;3RvG6kpENMZ3U{vI9)Cp)v! z7{0KBUyKD8ipOKdP#o6q8Xrxkq}7|u2|qg;XgCmrN)YarqervLL0z}`dPr(fC`DXb zhr&3bBeYHBitC%`tx`=z%4j9jB}2xjIY%|7ly7s4Dp;+MgH$DX{%oik?UaGaQo`jq zL+6f<{Yk^O=Q9T>D9=4t+SXeEW)Vs{1^!v~+ANlmY+QaYgt~7M;j^`HSc7tNb*)J;f?Q~EP)Ft<) zdanJi@y&c9MeDh)21pXo!NAzOdj`PQaNsVf&1Twa+ zMJ-8%OTSKyk^jI&7nQPaBd}BqT(l&ZGF)z(gPbV80_`d#Q93VXN| z_TR9#xA*Av)y2jl3SC9U)k(?3axq!bK94v=kuy&OpqG6BvrmrC0*T8ao4VKh7Tg^| zoh2(>ZN)Nyg}~XrbTf?j?KEFIVxinZ)~6Dzam)i)pD#Lq3dP(judkYy64XSwo&yV& zJxvj*$AiQZLjYzYvV9ej)=2qxGna!AUhRWH;)d**B>se z0UqGB{=Bhu2#}BKzLul?LFRbhW#FMCG6|4};*u@H8#13g^n=TC^yS=^HF!2RoI#D-oGc~$#hf*qAXzqiH& z?|2w5-<*`v|In10N!Rti^zMo|*|rotkhdZ~ks+>iwJ&h{^)?+VeS;!#CABSRWOmNI z1!&E@4dCbMk&V>3b;+!B>#UvwT?hY_HR)OkB3_ zY|V0a-46z7e?hqxDlrlVvR9H1*cO?@4F9tSL(cH5|MKCIunT$AQM#lz$l zroIiHOEpedjaBR!I9940`$dDQfRmj)&W*<(Nu4{V62M6NbRt&IEsGrwd)|pYval~` z4dQ4@`Y#e4sv*lRTAo^(T-giJM)s2Jr1ZnTdiQJ1v^7&GUI>4Uuxe;_^<{iokYi(j ziReKWIrJDm>PmW$;iw&Ocgf;MW+;(d=qV^PtkKeJzxUODj)}S+Psk6Wn|nxS+$Bq= zT@A}?Rd*U`{WonWH+jm;SxtmZKXeQ@2i|tGbbOh>OE#dO#~dn^ZGkDeashkWJA==P zNBVkJq;8A1*hiXHMh<`Zck<%ejgRcPyEBksX2NyzMQV|?EI|_RKU#p+EYP(AnN(0) zCzHo3p!CGdOPU(Yp3dDvSp+CGq1lc))YE1W64Y~QTOGP8cy_8+oJti6Ck~@Lzl9E* zzq*^_nAom9*vRfa9#De88WfKddZRS28dG4W?v1}ycpcwc>3TMLc?PhazLa2n`)({Y z-de!oJ54J!$iu<$9c$~vr6hd>=?}g8YkO;uGgd@5=wZZJ0G&!z8VCP z^$h7>rwmCqxz;zS&w4y@9}j$yO@(#f{#K)MX;YR_Vp(n|E83ahEEPd{X{KuRCNJB9 z)yj*LnBBwEntXj(hD>^N@pSH8^YruE#;ovPoz9USO4?Zytsrm9)}Bu0n_19OqLkEi zuq7m+C}58<{C+mJHB!(0oXI^Xtd{6sNYCW2p9vk>yua4_u17s^5Bb>1t|l0pKfw%{k>IULKo)_Ok;5>8+SJ;HTj@CXrg7HBMGS}JR6Qk z%1cb{?O5($?mNJLQk=LP%-sTKlL?=c+R!UdBmyN*e$jxd_;<3_(LHMppC)@cFuVa3 zuzLFsd|yw4-gOD~{%IUlz5~_?KTvzl+qvn%rLV&2(1KhzA||^E^-3W2tz@y^GeV9O zc%$^MG~hpi!79WHY9@lU{C1`0C4V0qH<}gt73%O5ymJ(tmXx+<*7XE97|*#|jr?}L zTXS9GnDs{u@LdNgUny&YwI}Oc^W&)8ayOP$s&v52$WZ-Nn7qSOA6B$97&X1qgIma( zX24;J1N9@-%ldg*q$I(3)G(%*Me>{%wB_XvnrSfhs1Kj_0^m}9uo%AJqhxW)4+gKg zX9^^Wr)@Emjg?cw7?cImZuMwET6r7FyVP4PpNPzWPSTv7_D!_NC{2u>>8z=w6kRQ= zI78AicigQ5>pJ&@Q$iwx#+qxY{sWR1$GQ(BI#Xgmfsht3DP^A8I+i1*qp{;R{}6z@t~kK_3T@1qx*X}3U@dW+vN;Mt z_A5~TRoPF9lB@KM?aF>9yS30Qc_130*|l>G^YYSFQLaSLk)rU|E*qha*(wV}SbtX> zt-m`NuErS#b;Sk8UmXEhP`3GgC}(i2R5cLCVtQaxZbYM8ZYtI9Fd+d>npP5yt4jA@ z`g3%~^=4IW8Jxy5;0Bc6lqJ(;sr#o7!|{k0yPTCUF^9=RIs!1dZaX{I zy06m7g73+6hc5XJ&rxkh1BOBd6NFo|{^J$9jLE@t%D5+TRt)GnA3QL6DAhSjxEzS& zUtD->_z(-bA>J~L*w1NYvT~aCh#fu20xDYyBx@fU3Bt2R78vpd&R7RrE&2j=kYRt1 zdJpRPa%2vP6tU;zbQ~rGym|>y4Xb*#a1l8CBC%byQUEM{2d~%IdmU8$4*d0a*uzO+ ziM3s3eS8Vt4P``^Q=f35^X3i$rGH7fA`;#Wu`Cum#JGhAiF77qv7MBCj8)vKiGQBE z^+{WJ$y%=68O1Ou^aSmIAH~hw-T)U=!@RR|Zw4?879Jzcjq37^!i}5k@2qw3VW4jY z4MFTG-^EEA?-C0m>f>oKCvfNnJ3DYSD`9GpfQ&qikLz;;0SDIW^ zKicIwt2z~u5zs{D3J2 zXkrW9Blc*=tF9;K*PLNF!ef>Vrf!DyGkF21VPLcOlW)R)SS`%NbG2JNummoPix6yz` zU8^*y#w|s6^V|M(r9PnG4wl!~Y(daY+V6S&2Z>;|ixo7sQO>lSp$x?0nP03DSg;#J ze)%{x#Kc~B57sl%7Na_lnAGZRzzUH2p9=2bV07?e#_Ov|Y-sZ{t8w<3DyGDwG0Wl^ zB!YabnkzQxC9~SXQif`I0p-xW0WI2`EB^=|mDp0@8VE44o(=N3Uw*)Zll10WmUQ)A zPN31^@@SR}-_H@n8jVhifx9Qm%z!(Aq&CsM(cHcPjhJ@Lp;0P0?33{4>;?-jOhB{l z4ofI5rN#7f=UtWTSkN+@zCrGOBRF-^!{lkRAo)L?=Yyx%Ly3)I?I)M$*t+n6@)-QT z1Um7#Vv2)43chYOPCj=!^g-o+8US!rN{H8WzeL0Fna}9i-BAw!%28#{xR@xB!=U4R z#8)c0f#dfDBMx=h&@7UrM~|f|UO0c&7#^)UoPHG9W@rYs?d$=~9$5!Y{gl$t%dibD zjjGyc9BDZ^6M^N-blg0$DQR%6|68=<9&4G#;a~Q%D1T$@@h%r7{xQ8voYw2X_( zydE+8w>iFLZwOv&9=-~+|J;-N2$62?xIS_kR1KnB$*b!Vy;?mL6z+I>grz)pMF%Z> zx4U_mBM5SH_X?pJ9d%?qS4!Db_Xzf-easH$YUQWsU zKSEUVd_(@GI~v;bRv|b$Yn%h5ZR2jPLyIzxB*Y@rPXu{fQ$5@^fykE(YQ;t$XDb2rO(0P*Soxdf8`X6|d1&64v)8;(U}<-kOun~zlrKX*CAhlg#2IbK96RpONSP*J zmTgr-vsjYUoo@W1?_U*2y2Is%%)_TS(%;i2)`I5VKI78+OLaR5=;th{$nJ#vcu}!s zd-HCKz^p2AVt2w1i=pj*i>QF39yac27hg5WS8UY&mh+_As`^_uKIaks3S2yuI^JD< zZ!`9Trz(O&DL4oAW>PwkvHlCH@RQWBmfZwz26;9MT|-&% zcmB;4>;F`gqkpX_XE(F7=Uk{?`5uTemO|hKOWq4YD&^A*my>>EX3_k7z~!O?eV5DF z08TAm=l1YXznlH+VBwb=cIP%SY3govGb$;7HJiY44J#0#=kPNiV#@zaFfxe^Hc>LIf+}%xy$kPpEy|d>)jZeZ8yuA0QI=~g3)KI{H#mF1Cqe1Dp3Iex%2Hv|8 z34gl&oV~?h6CHpqG~@Zk-loEU$f(s}Xb;MCAYUO#Op->%X{@V1p{b`A%HHbnWb_(h z1#5&5b{ci91JqLG-E(Wfdi8SbI;?zCpd>fNJ{D#cM=jFLyS=ovO8Gj`@_J#6@JhQ6$X!?G_CSS4k%xpjA)OEWH1G|?gNyh^LMFR#3t{& zmQZST4LAz9Bzi0EbGP40%YsJa;yd5v5%6qTr=)Jw(z{`Hq@~~xlR4ubcP13Ed$?+x zYIwgdTC%xwAgtZXDtOe7?;%_GettCcYO5Nr6iX{h&@O zb5IWYtM|Sz@tV%j?D%hHVa=C*HPgQ$Q}xpW))^`upiT}aM?L5|2-=NAr7S4fRka@G z$nH{NM(EfzRcWtqAyzR5A(eR^$B@c3Qj+w$yxUp@r^xx%Ll zOAC#DxkDU#_|kpe_xu);Vn%d9+Gv~z)r%G$xjSXP^~;*_n^q7_UPjtMPFY&c_s1#E z%c7E`D_ZQ3a{;ri`Q&U}i13~24RX5hcwvJKsc4R!&v98i`Fi}{IKU$2k6%>^7lkA~ ze=%jG?*FwvPqjXqQDmZmOgf8AMaI>)O)fJU;@Q$`>h}yYcPW@Rt~#>FT;t-3o!bQq z(7}xb`8Ls-nNw?vQ-ghVkG?*8AgG(Mimz|pBUv0xo%kr2j0Tz86378=tiIy$z2x!# z1X1}EeZC(EGM$uVGBTVCmONSEN6`iEv0E{lksz0QhQStXqV3Xe8MWDH@la@l_rq;B z^q*DtZ(XuXE}&K`Np2r;-HXlxaL?^z!L@<)q?_CanK}k_erp8-XAWT67jMLCuIF>& z-pvJq7l%>a=@m(~{-2Yq{nb?Lq|kfK>$$h=J1-BC!$T)i$goUf|KWTu5|-8QIWt=e zZ?dF1&Pj5Lg}q1>-7Wh9iSlh52Z};EKHyk>+m)OAgEI)2yPIfa3T7XEG7_9cmiv+q~+z zRubBm5B`8|bB3i9KIl@uY+$j?J(wx4E_5_!H%4br;3PYvBXaL!#b4!(;1#cE&b#1> zI_urEUZfAa$Zz$Kj?o%0llKXZb(aSn*od7$I+Nh5&*zG!_T@Kc5}P?JQwb2rmn~k= z-Z1%SAKT+rD|#06^>>*beuH_ZkY`~uSdGX3?L?rV$Pr#)gD&kp=2 z+mfn6cKpjm%0;gVgJU^g&q)&yff67%^ZR{g!9vqN`KE$N(i$NLi7&fu5eVlkTxx zty?L|eNCt`*XdldOVTB}uWu%$u(-70rP-#4pn0;(>0+yLUj|0uoQYHdu$JkP`)nWh zM7FeOfGUeE!|9WY8?It&P0<@Ip?J~BX?QvruCm_E;dMtcSW6xVrYo@#Fn&>G01tnN za+Z`Ez}aT@K}|SV zl>dNUE3y8Q&?l)MpNO^}67QhrM^>DNB56wB{E7`f?51pCIQg088$o_&2StWDBvR(b zhKyt1wC`P=@oy@fTgXlBjhIa#5g8@ypG%BC;Vff7@_yLDy7;Dysn60~-$ftKZc1;# zC9wD3l+Pvd`y{w}8VGyrXAe`C?3x?R9uL6pit;76y$%c&VL$!&{XTe|H1HE)pFDjfeR*i*gGwtn z3|xRov&#p3@bSI5!b6~8BI)FNtoYbK%ycfPqFUDnQbhpPw0vCqo{4=C6*jJu3X7i4 z|Mg2*GqE*t))nelm!0^yLPI)Oabox5;)k=G9I5)X<}d#?j4ZbBtc#u`gD6b_nRGW{ z7dH4jTv2fUJ}HGw>fa_e^A;h(Q35jjL89-~^5-Adqh1}~5c-to|78MbL3B5d^oYKH zCElTa4HU~Iz8?di{=RUOi&wkpS-=w^FTMg`>&Z9faEtP=OzO%hFm-d<9q7;G^GJkIA0>Qdw9*7`~`OR2ScQom-Fmr=I)hmlb&~UU-1@@DcwQs z&Qi91s4P4EZbBPoF!Ef3HZ;XqpJZ^<%8+N1ge`98Ray-RS>~blzWA+;$)uaCC?yJP z1e;yG)O2qSbrDPf?6YvAJko3nmjVVe86*(R!R&0?dbYiCHHCgy_n_LlbRivh9mCgf?K$n$#!x4bKo73sELdXl5<~Jm8=4U^< znoU49_73Y~Ha?T(A0N?nt`iU~FfD(;GtF*Hn6z@X&0^iw6m(2+N8klL->b=PTXM_! zpxos4^#aQC?+AVF5|9_b#a}UE{)`U(3N3<*&q8BiD7#oKL(O5oUaFrP#O7tl1jiB3l9(>Ldm9hzViZGW$2PS zc!=yAHW%6s2SLjc?@dOFI#}bhNxQ#?zw-N0P}EQ_PeDVZ`22YKqK56AD|9marZX89 z!MTJctidb-R3Y%chW|-OEgL5-4`b3k9NAN!!>`G5_F|#!tVR+-hV{uf%S@0Qn2xZo z3UF*v%_digId_O3436M%gG#Mxnac#_NqY(BMe zLPIO7t1<1ci*$$Y42K^G;?skb)J1bVB3d&E}PA)q@?13Gc{Ygp&YO(9g$oe8Jonl?qqwsw_HH#{XZW(T0|&P zV-$G7d$5C!Vu)h?(VPh)Ne8a&7!$sYO&-ZkLOmlWSdWG&+I;?Ucj&pa zKCr>w^}-Xm8%;;(FwDo?p+R^IeO7N)-xR~hW?xQr@ zM-p19e`LFPDdV2qUwIT7zSXf1igRu`o5}u9gR6iRTsW1+b?=2Isw`}ij%~7{<=@(~ z89DbAOipX=#oTq0c5VeH!_ioWTU3A%e^=P+cf$vFr9c1ZJ>Glq$dL?H>Zg4^6p%-y zIcc0_b-%4Qq*E>!>GPUu6`1$ zHdR3J%X{W%t-z;9nlq%HaKuX{Kc88+WLCUcfs10T(AX==oww*UvJ<6o&tMvUP(7OG z=lZRlv>FA5);=!SyWzxeS}$6!j6t2E!ln{G_XrLzz7cf&DO=g71XMK32ncMio6R;nz70iKXzW*RV zeiYcjseHbSOZQmFC!E|Iqr%pPv1ip+cf10$D@K@cw*6VVAieTqho)4DAIDE!Jy_#Z zKYjqM-ud9zCoAKk{W5QGHIU@r&(P{cma1lNa;fZDfB{*sS-;1qrnKzA_c^Af)ZkAW{D}wff&q#h!BeyGg$9;QVEiho|BV_$Vc-wTy zPU=fE=BmOVHnA#&Ri(H|VHqd$7f1!Os#3GRfg=}$N!E5iPhAaCG#aSxi0q}9kbghiO17} z6J+;Dj>QMB=d^9lf+v#ozRYesWMYK!rE{U0JnB+pVscF8!*DxqeQXlE9~H4ElJAk> zVzC$c3!02_JTu#$Ulee2O>S7Bf%3$(26@xK@8jE58?;!j9r^72`%sDVotKPK3&gfu z+-}ua8XhxM$jOJRF{T#mi%4P9J#U>r7tINyHW^-lz|{_yFGn9YeD>V5JqLd-TKDQ^ z%dWkV40>hS_-t4CJ^Lff8*eW0QS4A{>-#rE`F3Zuc6ow!VTDmu1gDmgG!~G@Tvv;k z;k`xjV4o9#iow8OhRvA1LUS4{Ol{$SzDxRaOL#kOh!{($IWJ4(1CsY)U^v?mog=1n z_ougaay}XSX%Sw`+6EWo@4<-2Fmq?<|%umqPUMGpbC6-zyEp1qBBAL+NbQDkDa0PGd~DaW1XFD&9mQ5E zwOjys)GkuftxW#YG*xr`UY6SO;3t#MT^ebAaX*&_MGPNVytn#PK6RHDU)A>g6iw7d zvMwV#Z0h4{m}r4=wkAQYnCUN;l zF{$D?TDTMOUE^6O5g&SeWxn7cGnt%iH^-h{^buxp`MZn&d{uRQWR#-Q=~q>Z9LAiH zne+i{lTYctthwcA0&*F2zP@2y{Q$w3yD57abkuu#vhP%@H z%0q0=LgM|Iu;t7_my>vkJ)50$6`ZdB{+e1)pyn1W#kc-%otBoAE?@0))OP4sQ2`Ph z((l9fTK7x|TundN2ew5F^)6P+_96~$H802sOMIY-%Zc`@7y&AT2Ha~~Eav~Zfv3TK zHAW^_KXnbhM(Vc4IB&TKXSr4Iz@V*NZ%3S~roAHdFGdUnhO$--OXk5Gg`*E?gw;X) zTyWN!gs^0AGUJa&ppfD7Km1e#(N}->y;cd}}9pwb#BC*qpi) zaMq?^s?lCG=E4$Z(AWuc!u|jk*V6rpad3zM0xLiz zN|7%HNKmrI@Lhi1{I1b$@%mqc8#3k-lto(Q;XmrPR{5Lmn@q3jg9l?Iom%8cC2G%h zO=h2E4Ucad<}O$ZUMTby2f(%((gUyW>yjL1S~2iNB!C>NA%{7941{bR*^L0&W!Q2% z9s{j1EuxY)bq^>Ti`tm4G$dbZ9pA1PF;weT21@V}(L(IpoRH`qmdUIgid5z1(pQ{ojXKoK_SvJx=G;`+!)b40#bDbP zY^?(qZ}PQHcf7$~FYYN7HWoBIP|Aq^(X@l6NP zT*G5assv=;U%GXpVI|#q=0V`VLy;b&-z_Ii`egYV`y>M*)B3rubspkInt?h2f#RQB zYN|B)qDO;iQ-SP}bhq3;pzO8Z*+g6~A7~ z$^Upn*GjALgbsbPsVM$e5A8hLZ-LWN#zu+0FNd=0pR1m zy@M*o#|#0&+>aU6_ta;}AE5Au_|Xu$4)gyUBe@z_C^)L5%<)mlmj19Y@A2Azc7grd zjKSSM8%=Wlt#RL3y}SnkNLK8t68L@0>K;5Co(0c}zp!XxsjAe}e$Gvwt$Zg{zWMZL zOq#Y0{hd9gpKmhVo0^gu8*(1WC}v156+C5rwydtyO7p|F#-Qw+B%m37UG^dG zo%C{*ap2bSTxWK{vFuYH*eTxTTIoFVPq@babXv#~JJg$%0QP}`TanHVy?Ywv#8Bea z(ob6_A2c+7<{WLEva{qiwnTotf(TcLg~=!TR(M*?4%4wj=2#|h6z9K8l{;BhrQ|ODZAu^DFSRIB+fK7sKnkfPpvjADc8y0^YlSwYN$y z(hKFSiuuZ&4!%8lArhjD+N;C!6DXip2z=ALhD)~TOqA5#MCr5}T5mFI55PVWD7EBe zYeNJX4|XCQez{1`;4`+Y za9p*>vHt59JiTt(#NS#je~72PmN(;<1RHT&1yF}t;}0J%5kHC@Q7Y>tMY3r#0glJI zh!B!Nrp>P^{>xP&3+}iwlS3wg|FU@C%qAn|H^-*zV$C!ga;~7lUrS$$(TsYaw>{g5 z{Z_^g1o$TYIr}u%BnwEhMk0Ab4eSbP1orIdG4eE!?QG3#6E)`w#om}_`9}a+#GW{c zN7JXVAx5T7$dkQoWl@a3k3heT^*q!H?HP6g$zF_o@w9(3wOm&=&!(G03PP&rgoIp^ zhpiCfAl2uxq%cC-=Apl?R<+_qPWW?j5!jce8Jd~hDnoi;vv5O5Vt`y<;iN24a*2HQ z-XTq&p&CY_ux5Y6qM)8RIYZJuFX4<@7OJ)!bS7X{Jzh2us-KZH6Twzo#C9_sIRoH| z0r_&wpYG{ZwyrEXi6xK>eS=P9{rgy?_igCkVwMg|er>_uc2~c5GkU_IG^}|pe+WQA zKzlz`qY1jXH+Pa(7ae|c50cp_iZ6>%e12RZ z73cmU)f?$Y6ld73zz~-@{%ZI9^~m#hH7pn|PHOLLTA(mrAb3G=n9O7*oET-C)Djxb6D7BDSJ-?*_ zn$1wy?@8jxKbJG4@tB#rms#HtY|`VNk*qQ9>pib9WTpLlfYj!Gqgo`AWXuh-Kr)>V z&OTnX0dv3Mk+5G%0_b}LlG*SAbncx5@%)Crvpi{m5C{J2oqd@}$9XOaI~}DH#FkUH zTx>r6QiVZprZBn}{g<8Q-ULT*ULD-1S;=b@besD$0fTY^WbP&}EM-qlztt>DoGjxO z?Om-C9jpxn4He>Bm`a^lT`m6pX#GCHqDJE>vr$DOy;>FT+Sc~rL5^NRK#JJ)oBvbI zU4}LN{(AtY1ZgFu1WA$Zk^xd8jUp|fbjLOs4Js;9Djh?RP(gtK8ynp@7!4aCHTW^Q z`|N+}I@ft{o}Xv$hu{0U??<2S=l!yGcCYc0kFl1U@$eF%?M@Y-u(giXmkG*~e{sXL! ztYC!B>itc0qaqZHXYT^Zk)*>VsKSLW7uf7&HZOzV`c(gE_M}?H?ju37RRTM&=eY97 zT`fk0#7^M1Pb{4s>vGKY36sU$*)ux0#OuU;@q_Zi#8Cf%NZQ6m=tUybdM2J)?1u8S zop3YX_aWY^hS+@BmsVZ+?87T*=wSj$$jqPD@7(YR@S!JUZ{W{UX5nyD*SccM+$uCp z`M$gH>yy>2O1taaj4HiKY|zx1>RTXzeY=5Ud|Fgkwo`y!igU_@Oi@4Y=EUxvIqIgK zd|hHoH{ZvS^bJ?7yj0aC9KvB~>tvCxdU?W}U#zL&1TWjWBj_xgkb*3UH3<(B6!f`m z)+Uuv$i*PZ$-bJ95n-<7XgN#@oOxz?zB#%x9+>DKb&e%&hdQfHUR|#ZIi9^CYncNQwxt6LMET$}A0@g)C1wBlm5AWe%G2)le$-Q7Y8g6RJw0M1) zu@5cS_EqmpX@3(BZEELi^wW%QMgvgO($(%!L89V0d(l{m6%zHr&1fFA!8eIOSnQxf zK->5$1A5-gqs6g85t1YeTeO{(&XS&);j1~B(PG)8+De1*tPk23zSIXpg3xi?X7EN-_L5Hd-qfD*`q$J)_gp?SPxKlcsdP2CqVYfyy7{jwrPn7bkTb**FBZ+IYWk8$N zi<$v&eUit~b@&!^6bv`9+i!g2tFut`iPii#$p-l#W#5IJ>+8$Wyk_G~HL{T0r}0BC z90hD0-Hk;_6+|Be3aq9cxyems;|u?u$cd!j#qa4xi<`CDK&@`nAru_VtVTm|S&n(4$1fSJF>2_TabTl!TY-Cv^`b`g)7 z`Z(3;kJOKGaw z*@mPELNpwpleKe>1Ld>Lucc1_Shn^K&bjAV^+3YsEvEY&9T^_T6YQd?VN4|n2 zTeuUVonf~_xNaxMMzB3=5%(UR=1vwSoun|$UZj(irFi(^4nh~DZwsxhAK$v*W&`zB zECGsB<{tZhkD5K7B)-MCq@#QHsdfba0DOZZZV^r{9$khauLlgg>VEkkwTlGq#Ls^l zL~&=v%_p_kXDNh1Gpf_yms1a=f^`-r8E$RLd5n28B+5?j|4|D7ypI>KiF%p1)-V|xKq6MaAZA}M$+h+by8=tHa5 z;Z0B-C*d>J;&D_IetT5IVV5f8TdHm#ZK;4Y~t@?hqbP)_FPQE4dFpdniK z`RC3nghasy`4At7{$%oqYhmgVt7p{_NFGd4E)mB{FU3YmH472u-1hKij)BiKy?Ke$ zVSTyR9uhSPZBA%bQdA_mPuiWJBPNFk*9S{%2CEpdOf-0HzA1#a7VFYP9+2a*k@f>C z(*%KY-I-FG(12&FPaVtBFcRQGg%;ubYR&ICw#r2_#(m2J^LSjWrP^_w3EV54G&`QN z9~I!QJ4M5*t{^VOSqg`tkM5&XfSBPVUjGVGP->4mO zP#AYwSV(uh+R6F`j2 z&gPF0X3`NNjAEh%XEGnACF99pow^>Z*ZAh|6E&Z?PJY1gGtQ2Ui~WTbe!O8O~)eWCB_J0!Pwwoo!>4R`IWy2hf}*SH4R5wA;TDRFu^Ts=Z(3{$E4 zO6#=&*II=M3{yyd5uq+E6&o(U^mIMeAd6|?)DX?V5$pCDPZofRcOI&+m*)F zNAy>4Zn<89a7<5kT}*AyF^Ja1Cx)Icc_08Yrx(26_{0HO1^lE4x>EG5d11;`!8@3n zt~Z@$sQ?5VDW%5*kD&4bmZC<<9b_vgwwB(me?dI>=T2G|+ zyL|nadBq0Gr^|f+4}xwf?@Q(@Z$0!j+A5dAOvSZGG9-`J@AbvyOD6Dqub)-Ne-G=N z&(QldmppYPvXseis5YZC>oxYd_dL?`rFY&Ld^gUN$}%I!)eBjMvXrVvyhK4@mDzAZXp zHIKZL2CQGurS-o%@;HeyzULQq;?a!>)Am}FJ790@!4MkImC|mdpFQXSB3Fte3t{MU z2vzPY;&R0G<{47VVsPfCUe6v27^(?DBva2$=6#a%TNQeNh6lJU27wqv4;A|;maQWo zEt}h0{wlG;3e$ylt-&C36>Y7S$+)67ypu{578f_lAFkPOKK!GRe~bu3>hkY8Zd}ku z>aN%Uw$N&(=vDR1K#(uU9PXZ!+Pl9GGXl+?8A;zi3goHJHCS88kPjV9D2s zQSv?umbVYWDN+q#0;v4#HM04PhfKTKmbQ;S7ufTR#7E?RPCu2FJFIQ z2I8aJ^)Ix|nZDFzF=lNCi_*Dg;m5Ps!tD^zkv+b*NRDdhba3%92Ez;rHN7&vKDkn} z)pP;J(VvY;sr~9-ZnzKeIHr_#X zDcnor{jbDW$yDW?Rgn^{ziq_1jFqCM^0!B-*33Sj4XM~?d#jIef1uZ#5x{dY?_kLU zS7yM%XKU3Ud71{@8?xMVFe&p}2v<{uNji86Y#M6oLNnShda$>?IcGo3|<;Z@8ddcl<}(pd<{|C3gD z?6k3qX1HvdmSeeEi(<}bu)RJdml+<)g5w7eNgMEe7O3vpyL{{Rg%Hhy>FRN>zEz##}QnT_&Svlk9p#z;!WU*|F3CZb=)GINuJ_C?fXyF_T%A z>>oHZ`kK?5rI@B{vL8BVq`rug7OOvlK-)CgeVaUlXR1SLP+4U8p&SB>aq@6NWAkHA zv?~Yu7l8Y{0)dV;{h8#q}O z%?Z4<+#w~_xX9Aw2Y#;DbhBu0wF`lhm?=+}J&peW!u@tv0cKi55)T$5@C9iF-wHy< zI=Ho8Ycl}Zd3v3_6pZ!jf>>`v(1rGG722XS-VIyC^P45Ows>yl-#A|eW8_AOReKR` z=4`5bqk#50mkEX2UwY+-Y-k{NMP0e&wq4=OfTOnD^jb#E=c<0rcVGAN>S#eL$t}-~ z?knSK$~y&Z!>YjbZVp;nP_y4ZBZOJ(|B<&jd6Ue#x8Czi3tGr+zL=n;nykK4GDX+; zRfNebvB`yJbG1U@2Eru|6~B6aE$r4@Vg7^DNSS!{LzTmNHxZ(U0IJTP&XX5Wmot|d zOk_DIUjG@+_%j9n<%_?*=$hEr63r06#M=EmKWIWdpFiRagtPuGFm7^@@4k0U%yeP zWDTEne8_qbdK^9HC?x$a*;npX_1q&NX@6qe-y&^ne&R$)yc>7ESB-CJk5}14}>6RwamWPQBpRih6)Z|DMskDTkX;57-f7Lzw3F vAErzqA$-7b)5iZBQzo1k|DS#ERn&RSdn)_{)o&vDOk$vGqVxNaQ|!M1Ey}d) literal 0 HcmV?d00001 diff --git a/test/image/mocks/gl3d_mesh3d-mising-colors.json b/test/image/mocks/gl3d_mesh3d-mising-colors.json new file mode 100644 index 00000000000..2959518338c --- /dev/null +++ b/test/image/mocks/gl3d_mesh3d-mising-colors.json @@ -0,0 +1,56 @@ +{ + "data": [{ + "x": [0, 1, 0, 1, 0, 1, 0, 1], + "y": [0, 0, 1, 1, 0, 0, 1, 1], + "z": [0, 0, 0, 0, 1, 1, 1, 1], + "i": [0, 3, 4, 7, 0, 6, 1, 7, 0, 5, 2, 7], + "j": [1, 2, 5, 6, 2, 4, 3, 5, 4, 1, 6, 3], + "k": [3, 0, 7, 4, 6, 0, 7, 1, 5, 0, 7, 2], + "flatshading": true, + "lightposition": { "x": 1000, "y": 1000, "z": 0 }, + "opacity": 1, + "vertexcolor": ["#F00", "#FF0", "#0F0", "#0FF", "#00F", "#F0F"], + "type": "mesh3d", + "name": "mesh3d", + "scene": "scene1" + }, { + "x": [0, 1, 0, 1, 0, 1, 0, 1], + "y": [0, 0, 1, 1, 0, 0, 1, 1], + "z": [0, 0, 0, 0, 1, 1, 1, 1], + "i": [0, 3, 4, 7, 0, 6, 1, 7, 0, 5, 2, 7], + "j": [1, 2, 5, 6, 2, 4, 3, 5, 4, 1, 6, 3], + "k": [3, 0, 7, 4, 6, 0, 7, 1, 5, 0, 7, 2], + "flatshading": true, + "lightposition": { "x": 1000, "y": 1000, "z": 0 }, + "opacity": 1, + "facecolor": ["#F00", "#FF0", "#0F0", "#0FF", "#00F", "#F0F"], + "type": "mesh3d", + "name": "mesh3d", + "scene": "scene2" + }], + "layout": { + "paper_bgcolor": "#ddd", + "margin": { + "t": 0, + "b": 0, + "l": 0, + "r": 0 + }, + "width": 250, + "height": 500, + "scene1": { + "domain": { + "x": [0, 1], + "y": [0, 0.5] + }, + "camera": { "eye": { "x": 1.5, "y": 3, "z": 1 } } + }, + "scene2": { + "domain": { + "x": [0, 1], + "y": [0.5, 1] + }, + "camera": { "eye": { "x": 1.5, "y": 3, "z": 1 } } + } + } +} From 0a033398c8b1a3237a0c85dfd1cc19ed209a8061 Mon Sep 17 00:00:00 2001 From: archmoj Date: Thu, 14 Nov 2019 12:35:23 -0500 Subject: [PATCH 2/3] fix typo in new mock filenames --- ...ng-colors.png => gl3d_mesh3d-missing-colors.png} | Bin ...-colors.json => gl3d_mesh3d-missing-colors.json} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename test/image/baselines/{gl3d_mesh3d-mising-colors.png => gl3d_mesh3d-missing-colors.png} (100%) rename test/image/mocks/{gl3d_mesh3d-mising-colors.json => gl3d_mesh3d-missing-colors.json} (100%) diff --git a/test/image/baselines/gl3d_mesh3d-mising-colors.png b/test/image/baselines/gl3d_mesh3d-missing-colors.png similarity index 100% rename from test/image/baselines/gl3d_mesh3d-mising-colors.png rename to test/image/baselines/gl3d_mesh3d-missing-colors.png diff --git a/test/image/mocks/gl3d_mesh3d-mising-colors.json b/test/image/mocks/gl3d_mesh3d-missing-colors.json similarity index 100% rename from test/image/mocks/gl3d_mesh3d-mising-colors.json rename to test/image/mocks/gl3d_mesh3d-missing-colors.json From 3066f32660586ef4736597a8b6eb787ab4570088 Mon Sep 17 00:00:00 2001 From: archmoj Date: Thu, 14 Nov 2019 12:40:48 -0500 Subject: [PATCH 3/3] bump gl-mesh3d v2.1.3 - display mesh3d missing colors gray - update baseline --- package-lock.json | 6 +++--- package.json | 2 +- .../baselines/gl3d_mesh3d-missing-colors.png | Bin 23067 -> 17327 bytes 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index caabd7554a8..f006fa5f2a8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4601,9 +4601,9 @@ } }, "gl-mesh3d": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/gl-mesh3d/-/gl-mesh3d-2.1.2.tgz", - "integrity": "sha512-XxDJAMK0MX0+GrvJu5vkd7or9mvJjV5/D7svTMYI0yiVFN5OQG/qDo8P+/erpC403SmP0CPFaR51/MHh32MTBg==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/gl-mesh3d/-/gl-mesh3d-2.1.3.tgz", + "integrity": "sha512-c1zMvkVoKrVPSn/YA0JTDE/I289xqAjkH52HZBLvEGmKAg0Ezwi/Llg1M7NPIb4d5nwekCBMXGZmemsZaedI5g==", "requires": { "barycentric": "^1.0.1", "colormap": "^2.3.1", diff --git a/package.json b/package.json index c6d6497925b..0dac48e1a5e 100644 --- a/package.json +++ b/package.json @@ -79,7 +79,7 @@ "gl-heatmap2d": "^1.0.5", "gl-line3d": "^1.1.11", "gl-mat4": "^1.2.0", - "gl-mesh3d": "^2.1.2", + "gl-mesh3d": "^2.1.3", "gl-plot2d": "^1.4.2", "gl-plot3d": "^2.3.0", "gl-pointcloud2d": "^1.0.2", diff --git a/test/image/baselines/gl3d_mesh3d-missing-colors.png b/test/image/baselines/gl3d_mesh3d-missing-colors.png index 09ee08901a249f812fe4f400c1a8df5dcf9b446b..b237c2b7627eea1bf9349386f1d27bd8901f65a3 100644 GIT binary patch literal 17327 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

s;M*tM2ybkf6~s}YtME}(T_IR=U*XPFZv~f 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 literal 23067 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