From c7e84149dab2605f731f0b0d84076ec3c46245b6 Mon Sep 17 00:00:00 2001 From: Maki Nada Kirby Date: Sun, 14 Aug 2022 13:28:13 +0200 Subject: [PATCH] feat: update workspace with scene asset support --- assets/project/add-project.zip | Bin 5601 -> 3175 bytes assets/project/workspace.zip | Bin 47939 -> 46945 bytes .../project/converter/scenes-converter.ts | 9 +++++++++ .../editor/project/welcome/welcome.tsx | 18 ++++++++++++++++++ 4 files changed, 27 insertions(+) diff --git a/assets/project/add-project.zip b/assets/project/add-project.zip index f68488fb83b71324f6aab310b1f7bd4926878883..44c987143f516f1bbb8b1dd8089a530a12700319 100644 GIT binary patch delta 2202 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 MoXRi-SIM9G2QDh3l>h($ delta 2031 zcmZXUdmxnQ9>?E#v#;4{3{8W{tZS)8=CVwr5|v9UM2V8n5tg$^LmH`ZS!7+3-#J_7 zL{y_OF2l^Y6{!x&*_CcKV!Oy`J9I%JN}P9Q_MGFK{(9c$`~05Y@AJIB@AC}2L0czL z808qq46=xd_e9wO_`uPDMzX#zleo+0$K$g!KLUbi&=G`+AjpA(F_EDmaeNNjX-CkG zxR`^XuTS4{YjxB~4sVcnF#l#mOAHwGuVMMG4BS-733k%n8Tp4)Y%n@vJAY;R*@^Td zYVpmPoW8ziyN8nOk`(SXuXG9w^^nu{6YCJOg&r$!$%C~zW8BBg70-lAQcm3n;oLKt z(SKX#XPU8&=vY-bcZ=b=udud%B*!mj*pqd^yD8QvZg^R=Rc=&*Ri~@Izw6`hSBa$3MmiT5d%7eGN6F-?WJ^x_g)8ZLrzw_Ao0Jm;ym-BXK4BscR9=?qGjb-;Tp`Rt_ z9_e}!&!2lb`j4b{bbIEf?Lv0p*OkHVU7f2dbnVwI){Te{YF?UZLQI|N)9%D{G&WYw z887SG#BsCkt(SFBsC zvr(rXv&Oov%|1^)9WtV9sJHUI4kKO{6dbY6G<`sj!Ij&2?kG^AGA+F(z35ONp%ec9Xie5932Zspo8N;^BUAef%v z-J^Lb&gJqSej*s*5b}7uiTQ4;OT8NvJY-XSZD990_Yh>>)Be zV_I|b`oz&M$0up$qi5L*zMIyqgf*NSgHJL9`ybi85t^nw){HS zy-PE;FkWa1o0+pGOs{`1uPnK9BjF}IYdCRtRJNgfFs0Oq(Nk_c5h$J@C;!=n-#qxu z*hl06J(C_H_=|F(UoMK_VNMt7HCHPu$#byFHA=*p&nxAk{DIw-?O{}LNm%0+*T9pPgT{IyS z!><=jHIbLcY^f7Hpdq#<1i%`x131ccAX7{cx{>GEk%XAw?nDp*?$UduG*z8wX{kh+ z{3m~PU9YVK)B&O4QAFhPH)ok@KZ4+9M`Guv{?7|EzXno4ds+D<6DO~jKSG<>5}ne5 z0kSS=mU*I+EO=t63*VJ-RoInf6x4zZ&1Htd3sq`J*695qC1hFJ=a8RY!1<7V?0M(^ zzw7uvs5t|273utuz=Sc05ok#$Xd%wVS^_o_8kRYwgaI!J5522aizUa_<&oJ(pw zsU~baS)ecj?Q#lQVhur7UxB!shTT{1yk5>jd)4Y`?ppAu@I-I&R6&<2j-ySh@lRh| zWrKr^3SM#w$`1$cDmoCVXe83K`cD`aE4=`#s|--Fauv|}2=EVMK(B}lT2dk@Or!=0 z6DdKISzbqgx73o$)ilhdpX(XHsqr;;xHq1#q(e^0SG`#v4S`-T#qn*LB z#uMemLsHFZlAuPNS5Twcu6d9GPin|$Y&^WKIf!l(!af;`6#PX4oBXy$)Pq)bh~ybnvb<#daTN_Tb84TsfN#(polV zzoSZlE2d?7FjZ@W#%2S(ZaG$r{YiP_oa%UJeKsW4aj=~|`)hDTR;>s6SyalueU*%x zKRpMY*D { + try { + await writeJson(join(path, "assets/scene.scene"), { + createdAt: new Date(Date.now()).toDateString(), + }, { + spaces: "\t", + encoding: "utf-8", + }); + } catch (e) { + // Catch silently. + } + } + /** * Returns wether or not the folder is empty. */