From 88d380fa3fbae7efcab0e5b5fce89c02e5874d5c Mon Sep 17 00:00:00 2001 From: Michael Mainguy Date: Sat, 8 Nov 2025 05:39:09 -0600 Subject: [PATCH] Add continuous auto-save to IndexedDB for physics recordings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Modified physics recorder to automatically save all captured data to IndexedDB: - Auto-saves every 10 seconds in batches (non-blocking) - Creates unique session ID for each gameplay session - Buffers snapshots between saves to minimize IndexedDB writes - Saves any remaining buffered data on disposal - All data preserved indefinitely in browser storage Technical implementation: - Auto-save buffer collects snapshots between 10-second intervals - performAutoSave() copies buffer and clears immediately (non-blocking) - Async save happens in background without impacting frame rate - Session ID format: "session-{timestamp}" for easy identification - Ring buffer (30s) still available for quick exports Recording flow: 1. Recording starts when XR pose is set 2. Every frame adds snapshot to ring buffer AND auto-save buffer 3. Every 10 seconds, auto-save buffer is flushed to IndexedDB 4. On disposal, any remaining buffered frames are saved 5. All data accessible via existing storage APIs Performance: Minimal impact - saves happen async every 10s, not per frame. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- public/assets/themes/default/audio/ammo.mp3 | Bin 0 -> 29206 bytes public/assets/themes/default/audio/danger.mp3 | Bin 0 -> 29206 bytes public/assets/themes/default/audio/fuel.mp3 | Bin 0 -> 30042 bytes public/assets/themes/default/audio/hull.mp3 | Bin 0 -> 29206 bytes .../assets/themes/default/audio/warning.mp3 | Bin 0 -> 30460 bytes src/physicsRecorder.ts | 85 +++++++++++++++++- 6 files changed, 83 insertions(+), 2 deletions(-) create mode 100644 public/assets/themes/default/audio/ammo.mp3 create mode 100644 public/assets/themes/default/audio/danger.mp3 create mode 100644 public/assets/themes/default/audio/fuel.mp3 create mode 100644 public/assets/themes/default/audio/hull.mp3 create mode 100644 public/assets/themes/default/audio/warning.mp3 diff --git a/public/assets/themes/default/audio/ammo.mp3 b/public/assets/themes/default/audio/ammo.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..d5c61ab6a980e9431af790118109c0d90e81e8fe GIT binary patch literal 29206 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 TIJEEnRB`{U;Qx>FKV;x9ep#yR literal 0 HcmV?d00001 diff --git a/public/assets/themes/default/audio/fuel.mp3 b/public/assets/themes/default/audio/fuel.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..a8180ad3a5279f9b18be4b1acc0bf47f4128dfcd GIT binary patch literal 30042 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

8%uiO3I(!{pRwG) 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 literal 0 HcmV?d00001 diff --git a/public/assets/themes/default/audio/hull.mp3 b/public/assets/themes/default/audio/hull.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..1474149ffc4b201fa014ffed98ad76ca66c23dbb GIT binary patch literal 29206 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 DI;i*< literal 0 HcmV?d00001 diff --git a/public/assets/themes/default/audio/warning.mp3 b/public/assets/themes/default/audio/warning.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..890ba686d0b919e59dbe6fdafa385fdaa2243fee GIT binary patch literal 30460 zcmeFZXI#@u(?6Vqfb=fC_fA3wK|0bqNQV$Y@4bn1r1vJG^xmr|0@9>Q7ZgQM1O-Gu zy1+lNoa4F5ec#vf;`%%+9($BER7S0BGtk zUt19fA5?@73W3~E)RF@Lf$qq9n7g~P103e<;O5Hj&kGlDhw-|=Tper?Uf#T3-fo@< z0IKf$8^f;#h93<8fJ}>{kBc>O1UlrW&38f~0AVNqPz4an^FaGvfuu_MNp<4~l?x2; zJC%>8tAvk_gN+1C2qq+KYi-R7hucDVg&ZSUsEBw-rFM(0B z1{GI0-*0`jJnfJ+3H)v)rd#H>kfV?OMG4k!p1;rOyXN^|@b4Pn^A$i%<1QRYRA~3J zGOXD4$2aHi`huh8jIeR>aivwH( zVdDTpN>=@IDjX>Dprrigso2B3?D=e9-Y9ZF5Q?VM5#bMa_VGg5IIIY{T4A2v6!x~x z2v<9AdrFxW8$!z29Ib}&?!^=9D z^y{*fBQJaM*w>DSF;Q@Ln2j=O%pWh1$4^mNzKbdVcm8Kl;m$Az7bH1I5hZ51+xN01 zQlAJ<7}B3yQTpcf^x}u`35)STy#Jxu(!tf%Ev);y^macSDSi|g|9|9U-@EYr!OrndZ;B{_`*=G0 zi~hzR#r`*c8I8=ecAxI^8&SJ{aW;6uLZ{YR7azkPETQBa--tLsTAWs2I2Z2 z2Kh1QAM5)kU&dEnIZoaWP91Al`M>e~W3l~Y z8|bVQ(VzjRtVRrDC~Fbj+En=rwgAp%yES&Otv^ASIM~1?Y~4IvVBU@}9~%cZeiwIy zouh**a!tCz5h@D)JpL~35)Q}+XCo{Iw}y&~^NQNQVZ1`N0tjAl0jM}K)`=m6p#s)W zgdpU%MG631)BCyLe)xs}{9nYnKkS5Dbk~?si*7p77#~&y6l0=bj4%d^K*GTSkZ?4r z0yGd11R?~PhQU4DYjAJh37{_SJD7mrVPJ7ZD@PyU0fD&a0EjIV2ZDuxW&p+@0U78) zuR=&r1#A*r1!N46M}}2Ybb?Ys$WhfeB!qr`etal*ha;Q#;BGEZRtPhy35|s2j~)tc za37>QdNb%D*QkT59fQ0qgpM3fKo|)|qLA+|6J${YSricv6c!g2H-Q-bRSqHu0g5Xo z38p5(kHHujoPWuHO+xsOvGZ3G+CMizd?ADwSCA8)kOBcQ(7D6F046kR0C@XIa?g3V zG1=r;;y6P(S>oGq6?4;tHxZFMm+<7xrQ?ZfEH!IA8wuHcS-qf>!FAd;kuMcdGUo%* zSeSWLSL@iXk^01~oN>zM&d+Xa4^M(wjID=y0_JCz%zUrr+9(x=19KqZzzhgIavHSE zU1}2RmWS4O3Kl9(x8SM=-o4W8B zc6DLo9e6utgJ`0poxl-~Ov zTmUT`2n2+`rOl49ZTdEUm1uBttZ)P2;`7eWwzbB&OB$yVJh`lqn)Lquw0s5u+75jd z;QBkSJKT!%V-;2}FD#w*yoz>Ns(X*8XKe+B_7+|sZevyGoo(>+I^=T*$p;q4%X-J_ z6TYx%<=(f7({*2eufE1aE@hsEPj@xLKXbW|(*SpG+f!_9%ye|&*6ff(%G{&=DdWai zIZg%N?2B2w6pv3T$&hLQ#)%wY_ui&L&04H#?AO@Y;ptZ~Im*zB?vGy*GcR6Ix4F3m z;8?MGUZI-5vi^RNpi?*O0b2C4ri04;-1~@g6Ben;8+WZjUSXCN% zQj47HEyfsDkZ=q$NI1H}&%lB8to>D!KZ|H8rG;aoU<~2!TEjsG4#Zy__CF6CED$E- znnVT;>R-!^LDtI)31~J9Dhdp`Zf@Q`;|5d^3WXp8CMs~C;)d97#s6CT3I{U%t^puA z0J&}m07xIl2B8+vhz^;AU+w`JOJ(c(4{tI9p?IqKj-$6&gG=)6MV?{`*&krBU56?* zFe83);4aaH+42BV<$_I%VaCJ2HN{E47=2dD=8Rqla`x8 z&ie~bpVdb-P!01Hg0c*rf+3FA6-wx0Nra?#tE3~zRy9r1ETfv0#$`#}E=Er4pVSIt z^M>&}X!|yfKLbJo0)WNgXy{1n0YZpT(S`&SoiHI7$PW+@@Yje1jD`sPa%N-*;DE6G zA45P`*pEOK2=RwV6o?gwL<{{H#{Nwd`njxB6i|ywUiNzg`=`GDCItSgzTZRkzmK)y zz#f#04B&8JJ92$ABmaspuz!Yb00@jMr$IP=%^n0Kqe0C8b(Hu=aOIcR)a50Kf0j!;$X{$bJsU z7L<%XzQX|4$P%jdM}L%zsIgESQDdRTK+Vk)IRn)DkNKh~P_m$CP!tSEE~wE_W!sxN> z3H|lu>B{{!ntl#5#@of~Q-#nE7;z7D;}hPgpE7p%iZX=9zj^yZq^GG z&&k0K@MAnUT68xbumut2W%i8L#)@F~L~LS*jw zJ@^SRxa)7%$QP6@lGm)hQGbDm|E@Lk|0={lM4(7e`SC(R3=(kuEdIBU?tep=TKuaM z@8v_y8e{g`txi0MOY4@{GVWA;oj70+=PKc((V5L{f~r?}uCXfBVK?{ih?feB}kT^Qes_jP%(Tcn1^eTn1w^1jt% zQi|}Pzd;N`;qx^Y>>-t4XpW#W)5n-e0h6LfB;iEc;^g_c5}t)0PD>W&$e})UQMZ`t zq=8D&ha3SzjW6HdB<~NQ!Eb0uD>H0<(v-bjRsN-Yph7y6Z1S=&YZKFw!cXf5!oVT0 ze?k(}QQ-&LphM7*X!F~i`d>Qdf8xE!b@<(Ti|{*_SGT{s^YjX|$>=`vv|SK*FXv-j z7qhuHxA?}e`N7x(DMtrhwv`#Ny3zX?sR$KCqikUZs)`$*3u1_Q>**X*D~N{v%>1=I!!RJC$bh%_c0aO}1_Su3OUF`|WJPE|#&tHWkwc zK=iz7Db}ZBZMS=O-J%CiZR|J0cr!NT+D{YcUR&>WY1_3sKiS`w1qgwnBEoN-zzk)=Q$w5Bh~j0z#m8ga#l}G{M5|u{uZe1SB=Val z8L@&0gW}2G@w%6WpJ<)<#4Da|Q4k0~kS9+l1i5X5iXo4hAWVPvx1Mh{U2YVFlSm+U zz1zqm^W4vngdMs=p_aId9zNCYTb}7{|9eP6?Rp*ly6Yu}Tt%)uq9l&=*8MRnK7wHJOGUc~l zjoZ>SnA!xUaz9bXyS;*G)xphE9$1n4d941b=Pk4+4P${e=*6TW_+w(7${Sib4r=#l zg|Ll-%OqyqS^c;@gq}-DWzI@pxEmvgxL4^1nG1H^5F8`T-f`FT@pPul7t7t>C7`)i zTsh8AA<1BvoH-g{X^KyWhH2glB#No;+<0uZF7}+mr-Q4YzLecn4bxrMk+%cWEaH{> zV(3v{O_~aK*PBvFT222Le!g~iPXiZkn1g-P)t@mbi{f+fo+=i zzEsLd$sSKryr4Xz|K)jKL2c4zCQW)~LHKR_mnsUHy+M!16atBgLO@3GpYP20@M#&H zkp+G-Y;JbIzRI$GUv=h9<~)(ma2k2g1``^3%T(chjVL4Ic%B@U!(<$`BHcpA7nZV4 z^;mZ-d4t}&?hitbzMTb>{|L(Az)a-EG!=r2TxdT6F$ec{sO!GR;IDTasqvnpGontu)R$P~x-R0u2TP=O1<{Emh`9kWW})4SBzm@_!|$IBYHanwI7~Fg;)7VL%I=HkIVKiJ=tt^gJ8ix zf?4lE&9>_cQ1L3s9ovavhC95IR#60tywBuz2WPcEpCGtQV@#MzHq3OSSqb_96!Zws zc|G-2^*5=@9E4ymQuKlVmzU3-EfN&th2GF{ILosSL}c%3>u_$niUdy@h{oUNEvHkw zl&gMmZ~nqsW+444Moa(8J1w_*CG`il3klgAs#%5oSVDw?1EbZqCS7vkOj=xku6)itpEbW5RkMPN;>WtC|`e*$&Ugr^CqE zmR@`MCIi%V0bY|y!>f=uW&I{#dO+wf)9#rU(j=yLZobdN{O=wk@Q zr_qy5jOB&(itjN(hbRUx=H_^NYaMgPsC{lMsf3mvZ?StAkl)UqW0lvmA4q5$znVz~ z4ayxk#tFeq4y3`lNdr1jy}8hTf7Izd(~cgEfsNK?+58zJkx14swq&@KOYup&!(j3O z4j-S?fG7~5Mb)o9LH}xqLG6Ot=y%(f_byAl83Hng2Y^!}#6Nkw{4K2mJg(!tXhr8$v&k zPWZRnu%H+O3KjZ=bpJ)r{onAe#UDC@og?enC8^XyQ{(fh70;e&8G02s?SI>|BcSu6I@g+U9IG&bE2$u7?(H!M=eXH-cSd zo}9`0_C;dx>ZcRB2>@xsWvy}NnZzaiB^ILG`%5aXDZV71d>%Zhs@7&QJ`^lu;a1*$ z*UlsdtO!<_UMJqXO*vR9 zysEvP#@Fi^9{#+%E-yv+z*d`1HG}oY1|Ry~V?^!KCyc$UfypKrSqzV+H*?*9z67ka ztHNx}TUWms&SO+Oz9nFnRJ)R__)7L!aJ1NE^|QbcBPdozT)f4eVSXb2I=fcM#^|T< zQ!h!urggr8>TA|oZ=$*{P3b#QM(#kVXTg$z&u`YBJ#rRWw_+J#>iINFZELO?Nv-EN zmX@|EUpA=3x#*mP&$lBB3A3G3WIZr`bA2Mrp*+&$cvw}?_GQ8K#wmS&C80{A=NxNw z5xb8p^Fre}$F`{3oEYGGzwpi+iFd~TGR^f{=HOp}+V5wNtrzdYr#;MV)R+0}q}Lzi z)X@-V{T20)X)@G(3@z(FK%U<(Fho%=iCr*aYLh&i zy-<9Y%&ih0@HP5$?h{oO1zN zD>(g(&AED@(4|EdlgfL!sK_{Lfvcr z_pT=d1RzMX`ty*6N*#&+g0BAteEx5k)%_vG%l^&d_vWgS5GII&;8t%rE8j4q)Lz_z zaqkLexs*}0@7?jbAnHiGehB?Ob%_|+rr}_=3vG2%z}^Va^n1&BbV*$TUHZZMS4%^> z9#q~WGdA$7w@-KPZF=OB>*ytrF-53A$hRE6e z&7t&TMp&NECivwUc3T(ak-`fgBjIlJL{;?e9ZlA7bTzycLim-F<+Rdl=Ob6EU8oKfb*;m*CDLYgN?M1}-CQlRhVFtn(VauFehbF1DIBS)Vt7 zHI|9e!<{p-M8u|RgxZ_Xfe}wKCamRPbsuT?7Ncc9gN~D1V|8@AR`0x`Wj@2VLb`#T zV?E6(O;PIKVj29U(9$T?}xvixUNHx`1Fr=L;u134$+Tu6*dHU zd4&N+9@(OwKjGI}Wg~~0tqxo9p7-%GZ>OL{zI5~BlzrS2lH58%dlpkMtu8|; ztmNpR-|(=|Flnn~PHLlZ>6~WatDlLPeuCRhp|;dFUo88`2W}&;7!rl8Xh3MA3=K6# z1^6=XfgGl%O~wZXPS4q^oqZ?Vn0dd3csMdUF8aDhQvaH;{7Gl z2%-724IN7G{dXyUW(OhMzY&9Qp)?RG2=d1pVA9vtkeX<0UWn66u}1pX|y*+E<8hjncx2Pdeuv=XN5&fMzKlJ;(Cj{A1 zwLrRv=Y?71fLVHSc#@sdy}FTR>31${cZ-E~m58tfe_w#e>?t@L1PGbuzLR8?{&Da? z*61nyoZZ6;*T9HVrpN}{PI5`dv5l8QsR>!-_vd5g88DRW<*NIxMS&^uY4?MIn%zD9 zi|{2AIyy|4w>Dn|z95JNCVr7irZ8oYpc{6&>3;eeFuAQ6`|Zl7+XH1zX`~aDLw@Zy zlhS-&kG3mO#m^gDw|cMdU~gxQ^Og9EhN7=|)TL2<-F70PAN}PAAoYaQVwyM>^x-Jn z(q(N^B5ChSOInz>xY+QLa1a|w5`6ANQcCq`hKIbo8f(HxM1g7zVFf``jdm^vretlf zl?kmls%bMmX?kcar8?snmJr6lmKc{mu*Vf*;U+$(E;{NC*6bGUhqUgA0oFxsTB@NL zznI@@j=YhtNwDEo&vEKLLW9n{ocAogZjD(hwl_)s@UesN!zC+(nSp%_7`B#LWRPp0 zBk}3jiMdjMWxZAv@ZM#DlQS}_hU`_fpTn1%bn;6&v)%p=68$vBpKhG>DI{_$zmBM& zK&;YZOl@5TlOGAinHkS4?i?){yDY|u^^Vb5ua0Sdu2;5tc*Zokf2PgB2@g=^zjaSO zJ0fp%`AfKw96A44B53};tgPVpw~qJMpGzrnQ!<=q_YnH=$FF!*e0yMl?a#uwDM4Z# z{5o6Lx3QRPnp{7aSo2D59U@9ocxmJM)b(e$G{=U%OZYW~toW#3D;kq_{QR-v-yeT# z;BO85t%1Ka@V5s3*1+Ey_*(;iYv6AU{H=k%HSo6v{?@?X8u(iSe{0}x4g9Tv|Nm&< z(8%iPL{AL+p}F>Wqqf796;A<;EhZDq2^CFoUVOMPWR$NL(_DpwVgdk!a@wNHMUwzI z?hBLk7V{PLu7G^CH7ZM-%L zzzf*S9N}zgxfwKqMO3ib1%rLk2v>Gn+MYz$P;tj{6yB9f*p@Cdp*OY0{O zy_s1Ks$q?acMvSvebIQbb3;i=s+`~Oywk;_+%Q%=*ejmXH*Z8I^O8@R=1Q7XW9d@M zR*>QJ0RGv{+ARIGSq<7^*I6%}!JXYtM8O$G775iQ?P{y&nG_H1J;=pju&$aSCubL{ zUvM&;(@xNZNh#{zVa)*xlu{n`>&}dNI^Bfr5YS|XJRHROlH5fBr%ko^#eioDicai4i4~Tht zbnihKlu*Iz^t00=%TunqRaGgt9GJNLOzI^0iOM*MJZK5Qw7B8K3DlUALq=G-duw4R z3lWD>y_Vt^ei4d8)4(Gt9Ev8BMrcGzC$ei$XL)6VVs4|*Uc7&a7x>Lg>l%4~TnFyW z(Hjy9x0PMu)-nSVCPSL0Gwijv{U}=*=65%VY>Uh(**aM9i`1p%3Gv+e6gb@v7_ZU$~LP<4umwQak=8NP+L(|%b^IP_u9SF8Qi z@K%#)$TJNi{Mb880J7;jVWBg5WcF;+A6H75?xGcB1wV>(wvC2znpcf!lMaz~mlnp@ z=49lzo0GIHKf|DLAc}p&K^Z&v@tu$P{F58Pw|Y|zE}l#C)g*pXxm_D&?@M{UmL;L@ z-F&lr%gC=}{_%Yei?!~{5o7VgYvpw3pUsQvg}EZwtJcp34{0tljQS*k0@jz#Orq1G zOXg`iUVHJs-f9oJ9kZ?i=Mj&l{dRWwD*MRE_~J6~#gU~OWivnlOd`mG*J}jL%$e$E zzLGsgri-!=Hh|2>PD1KgDAhb~g+ohIE(2AL0>+&?64}F~^BAGkviYhS@HN#cwojy| z!PF}WpsD~@zg-Vj<_?$ietEtJ>ILJ6TZShCJC|<`cQq7M$K=P$2el^NG(C#)rFrUf zKfo*c*{3$2V03GW6<|G%eVcG#twmP>TbyzNUP{V*6pmaY;Q)GJ*xG*Ot4&s^+NG<> z0)x+pQk9%W;VK{j9CWFapcd4f&1h|dAmNd4tKA~ zx8Qwze5KO5uGZQtf)Yw+Z>8@+DdeGT5XCfzmsIG3wN*I%=+RfA!AhcpEaQkByvfe_ zcYd8dg$C%M05D8ox0pdG_SU_QZ#JX;_k)LmrZ&C^6_u5~GYXfnabf^f5Z`Jcr$dVp zd(O3?vSG!80Yq7dI`nRUo7jX@W&|Z4`^RTxjkwBDE^HZ-ees_}oKM*YmcrwTe6=g^ z*0_8@#@Wu!nMYl3C1azw?DP1v-m^@q&^)6m|JbLi)Tb_9u@K^zVl)~Ac!UG<7acMc zJGll9t!0j>*p}B6vx|*$V;HT~Ba@2^O$p{n$5EUqzCye?l3r>5HKhsT`S5y3CLV28 z75~(GVYeAWVWGs1dl9xe!URue??0nq#*4+gsm<8{Km!0H7||3P!8sTfu{lzjhz*^r z#1)Et!bn^Q2m=%um2jfrki&be>adM{o+5hr#(54K)QYZj9K>rl%I`{>+*Ziv$GS?t z^$9_n;n*5{5J4@{Rg12kBA~ra=36TM(C>Z&;bPfbfkngB1~Tn|V>;hMG6iA$UYZU_ zpIC6The??lAL-bK(_BMm8armHK}kL5oYUuJSZ!Tq)tqc;Ocr3gBw76|d6wEa3NwNA z9jS8_!~0`1CJs*zMRYcTu*=PYc0r*407mxLep|&#T*?$Y3y%A4av!$mJy#i0$uoHH z3sp3Co-}`E$?uCnS?DS#3+N=b-RTqW-?W}MRu)jw>9D1GeIm5qx<}LItIAuYuorW8 z&{T+MD^Eof6NE(TMN13cUAvTsA>P&Bd1ck4l&HFC`Rs`$H|1R1A|-tlb&^u?J`Y~4 zDr2Z}e9_v_fvJ^MtldbtCLc5BuY5P*9c!L~@4#DnnQl4#d;{%O)|Ur7 znIHTaxgK*2JW_$QlseB|xBlW-Z}4c=uwlCjxgUj&;4tJhq($EqOV!7Gqdf*GdHYZ^ z#h4l>k6lGU@wsYfGzc<@vJfd+j)tj%OXplXKTidEXIbEbn93f*H7o5^rWrhJ`D3Em zl^YW29gWjX(I#g4{iIyZRK&Wcc&<4cVOFkL_!PR)Tt$Q z(e(qS8*N0<_omz`o%SVNYVc_ID`lM9C*d}_IyKIj@ zIr(c`P)g{CD7vzt5a2OmNn!LHPoj#@m3-2%vxEd3@AlP6Gt-r!8X$)Pp|(RBi+RT_ zWBnc4)6ad5IzB}j;(4CHm*eQfY#C#H1{G^D284#DR`HJ zOvj6o5_Uzn5l4D`5Q$(ve;(}8o$eyz9(Y7G-9D!blmP>@|Y6>1zhDTtIrXq>L3u zqtVrx;IH3Cj|dD=8yG^q@QLEH`Z`J>7^nk z`})nFmWbpX=R&sJB#nCJA+{Ulw%J~zIK#6xcGf^j2C9>f9G8y+ruz1w3thm@!P%wk znUnVb3`_=eA1<1(z7`gaN~?ypk^7#j)2|Z&MZ3{br(uIO)i2{h5)Ludg~pHdJxgvRg^qbqD@ zs@Q-ra@cu7ts($1d^=$<{e;FmD5=`D3imi-fgb%A>@HFXJYpUWwWRxGd79^f3{AZ4 z{qH)i9v`xl<}YM(OIHyidSY#`N#);>PR^{twl*vREXK=2REItplMWp~lvS2Xsb0*fe0qcx&vVCJTmgUyut;RD=!nNK9PKi**Be}y5)-+pm&_fo6AReH#go6F*s>*dDT8+pB`!TR{vjczl`y`b8l_+j(xqDg&?;N@je znyw80*CYc1RTgM91)`H*eUsBiNLX0UEM>iVpEjq}jn5!!?Y_~{;D^>M(Q6Mj_g)CU zYV~;Y>0)a$(>W8uPus?%H~VEvp2J0+%scZ*5AvW4aCX%82V%h91bQi-x>zg2^%Ag^ zKs`E(v93sUCGQy8a{l@j9?xN)nkNjlbwU!Q=*>L@nLOgs~)RR)!5C4+Z=@AoZ2KB zr6J2LsapE1VhOtfR7?{ZS4Av8p)8aOAgR5oWY7r!e}4Lb{8|Cf)aKFX6Q6EPM~i0P z=j09*+!$R>;G-tCw#O9KgBD**Rh>rjb$XoB1i`9Bmi@{NVn_eWedsd;#%h2 zhX#E|for_1EJ?nvKPtX_;gi|jclrB^?&#!n`Ok{^uX#e$1&iqWbdwrX&Ok#v=SOmr z+8mP3R@%D{QX&fWuOOco1$3uk&slP`3M;Iu&O19v<;+8@q_k7XVtVHG8PSBTWE4|4 z6=pumH5LyO%vA*#@ep!hlR(@BDX!Ss6jZD_D)fZ)(W>z70*oP#xTJMF3RvEtVM$MD zH>QSRqK;sxp>1U{o!WI-h06XvTKa)#7surdUW)u)8fi(`gNa( zEkr^-UURPf6jMn}6PqP8EC5{5WVZ0^ml5#QUlUx+fPyfvF^YD5a@D2yJQxQP>ge~j z1clNO9w-ZW0oXNCB`L>4L8;7~ubNYUtud~AMg4C(68v0h?wW) zrjE(IpPBNTAzz&p$M)kWj2GRyWw!2YR@P`zQZ?ZCZSd>%Yn}OO@sQUARun?^rk9a* zb{BL6!l=h?<~6V}9b>Or0(-8A2t;`1MG754)_oc^Tc5?|w+VX>kL41Y$8u-yU7ufB zq>yPsmwWvnTQfJWt5$r${Xr~*zO(gs(@&tcjI2hj>dr{WQGIAA z0Zz@4*+d03cV1rdPD@?iq5g8wl@he=QC*sDQdAszKmM)uj9jTv()Q)*6mjGsY3g+n zUMAbL;KTsigK~+IrR)lY#9r3+YnYGjeI?>~$;otsy-eaxYD(JI2|2X^>MymmWoPsv zjUU+fjXyr9Ls>`_K(gkbK31|2XV3KULt`jVYKGWmpwN*zP&gkzg4C>*aiL-+@!bMS z4;HNZqm~OWxNr`a;l<-A3clt8?qF&weT6b@MHf>{9DSUV_t90)=#;sxDLhJJQcoN1S znt~l>&r823-V+A_oz zy(ussOCXiPV%cZ~kp$!F=?=drP3BueHzVkK%>P8J!$eZoWdBet>N-P@;MJhT{?eF6 zgSQ2VQT~bFeJGS|C09&*0zl)}v`#MG008Q;<=32fxOm0Mt>kc7ihlL+Y)`ugC6}v@ zric*9u6riC6k+LLj@J9;ksc}CV!vjDQuFEIFsjpRm~hpgH|v0u91^qfiFcE_`h4Xnar(VM9Y;J33&j zfDNsVh0J8|-i{)!O9O`h95|*)nbB@TH%Q#G&WhK|>xl8$9mg=MyPne}jiOt}<(l@p zif^rLMq9FDv)+U}phJoFw_-3i9>I;i{Hg|?!Uv8e6*GQ6u zd?VtEUciKqLFTo(W~WO?5}L=_9>uG;6$7X05uVy6Ofz!c=sJX9ZH`@D^liG3ijS3| z)@hz|tXsnMvtPMPNprdxa=OJ;9P1-2FCSmN0Hgu{tjd@Y-Z0t}?4{D8p6NJ--65(8 zSC+9rxt;GmL=Z|+C?!i<9*Uh_Q?@u(axyznTuoZ9gefR9;grUFz&1(;mUvmMMUy$g zN=+GZEu{pMnMdeyUG(De^t6BCt)=N3#$ls{5?_w0Hca2X^zk#DZ|Qn^{UN(&2W)^za45`84zU?;fh=s&xf zA<9yFgKU<0B3HH*?bBWCJ|{Rmy=i)+K?~-B#s})YFPd%U;v?mhO1x@(#aQ##5b3@x zHi~VfmhCoR00Y=231fBEQ@QNH8yrV2^jypaD;t9sR>^tO#p7&Tjrj&uNZ}lCFH2N0 z(`g0q90+Fz2=Ve55K}o{=SIbSvw2tiT6bWS)vu(JgU&B6zg?QtM=piahSV&S_jM<2 z>#igVeyFpnLivy|;3|+)Xs$C9_aW3qUaAMMPwr|LBON^N%RSq{nfa{n?yIt_LCf_+ zs+3n3N0*nT=bO}-@1c$+8DI6=uV?UET+}pjOeoLxXa;M&xQrFlQjTEVRTZG&OIH<0 zh5}`q&58EdsO5p~S0Il-);+{IG{BKc3Q#EaI|v6z5b*Y@Mvw9p3U@P0ICsfds2=n! z&C|Cs0G3`Hc`ymCe}L%r#ys-*3F2XtA3QOmN$K^qEI!Z?WLNfCD9T92F#{^lz#;c* zQvf>Wu45zj6edzftQXX%`qTna_ob#W<=7Z0nXb3$E1=o%vof()`9?Ry7il+O@0z@Q zMg&_sxjtUYV?L8LR{rQ#QK1WIc*My4q34}FlZ9cu0LBz6JmDp?9Z`mdM2KpMo+qKCg&RR9iHWD(b|&aQuvBr%ClFZ&DNbp z3dH3RKJc5oV`?6yquk`KGcW6J5=t!GzT6MG+(bSUJC%hHfB{VnrIJDJ$A{U0Y`H}o z9}3B+=s{%6B;WILgrQWNDxxRj05s-GE>XcyG;57$DmoU(TcQ$Nc0FcrDD79`@|4+T z1|MEo7OEK>fzrO1+8%ZIb;@43kiIBhmYM)uu`7Y2EnBZ&7^4;Pt*Hd{mlK;g$Jr0nUAz1b0HT!lB1>j0B-X*&D zcA(zrsPu5Z;Rh95O(DPSX*<5{xY6mP=-Ef6vcx580cLIdq@nKvHd}K^BvMT?ypEy? z@yRRdVUf3v4ZQ1}c&~?a-CizBy(aWxcX`uazoZ&2J0OEi=r_EdbzuOg1j;~M zNM6_rJQFmRf_R2Dh@pH4D^&lrv>0J-*Z!5u`sbyYqxl5;}%K}mpc!Wtw5|_N-BKhQs zEy>b&)*LfS6ger_GV;mt`H~QtF&Wu$jS++@?)l5qD~IgY>-dfr>??4!U432}xM{et z$navx7rf=6-3g4l>xE~txHjtR_D=sSGxeN-2CtL{of)*}5$ni|^Y!tmg-EVdleJMo zS~J(H1xv;ar-9Zb|LMNYlv*lD`;%Gv$`nE##mlPGIY0{Xum|{(&}QrYWy6SzoE8jy zCiOC9(fgh5`X^D`7C$V)bi$6$j;Wb#clPvw?Am64mdsfC+?gY-5VEW}?@g~N+_WZ8 z5t9m{it-)ln-)wZbul?rl!drM=Tua<@maG$MyzX$eQfVw)rWG2WML@$f;VPAl>(mBjeju2)}MCw73>5KR#)vbWfdh)v%h;jV$MUkR=k5CkzE=Ug005-ORfvZSgv~}0ih&-j@U$@ufV~$lki)r-fSTCPI$YQ_W(wFi zt0WKHY%a0lL@ZQCSC}Z^QI(ZO_%+tsr39-G^G`y+sVb@{D^mTbq zhvUS7Z|jDk-Q3VFoM?S-IeG*Q0U}C zt8{q==B1e}tnwc(*}M;(ExFtFi5qj#UdxF~+qRJkEH#aj z_lre69xdPTSaPd9-SAW)KHE)FZD!Z6=5`4|f8Juqhd-K$KNXk9$}a~c(oC*LqrO>9 zhIsKYV1(C0@5bak9c((k6|irh5-^evQ+;jTBSQWZZ<9EG)Thk zR3GOGjfy8RiSf8sFimk%_=7A*%vW#niByQIhMAm|R3BVl6Lx#?tak?z2F(B8Z1`Jn0xa{f!b!JFqJ=a#k7 zls#RWw)&|{-NDQKC5Nt5^{N6VXhT;m(!--nm8z=p=V>wQ?DvS{m6NWNmCUf*jk;;J z6+DwOUm^mvI&@%0jsy{n%;@zKy4G$sz@d&8+?fk(Jz~l(R*< z&;~K}mcsu2VEawotE>Pt>BzhkwNi<8yG&O-yUrcEF0anM{EuFc&)buC$-;~TO0nWK zY*enQ(0O$<3*txWOAvov=CY&a$vkveHfzo|ag(>DsmhNiXeirD#kG1l6SyeyiZk>1lKqHETgxp_0$&DUNi{`l z%Y8PuXJ6*i&!Pbb)HLT3i?@fkouiz?37MK%Vpn(ZCCo+4RkGQ((sQoK1w58b>dqR_ zbgW2ylA!^9bhnB0dAmC} z90)Kc#J+^7S=N{=cMv7G1v0N@+HkuRyv%~1V!3+^puHfJ#iIObKPhX2 z6FvEfJNE#~J=O1)etUMzy^Hxr*Y~`VUw>pi|6m#e{o>7BMNVUw_wh_?%!~JqdIqer zY~VC|Y;k;VuT7u?zlwdiPK)GGTPx_a`RY|>l!YEg=p%|T)N=(#3MJmkGP4D!Oz5B9 zrPteUV@`cw$>$~i$>r&J%j9)sjx!rm-oq}+?a_*MS#`3n>N59=?x=Si3!D>C%E_}b zyvJk|sIVv=#+2j0D^{|kc2<#C9lR))re;sXa@G8o?2p(hAio zdP-5TW!N)zG%+e_w`R@as6A@a7&U5je%tf=Cw`v?_rv?i>w4V}KKJ{&?rMT&1VIm2 z&GbML%%KoYzlg%UDrZ$~IzI)y_z<8-g62JI~n$9+JPdK3x{_gq^AfPGot1Bd+$WcTzeFWM%jfCAxuc!V3 z*J&~@qm57W;Vua!iMQ^_a?00tox7DU@s#QGQCU8Enlb+% z#)#E&x56r={;`;8y(xBVae;jJeOwLypwJ^07q@y@_4|fNUid(ZDn|a!4Skgfu6uSH ze+Vs7+06}8GxJ>^I&59xdakG$upn;+{Q;>DBEAnymsU>H~9J)fJGiE;h#?&9P}PrF9Um~3*{kyb=o&D~Sy zn|FH{#LcQonQ~|w#$ylhRhy572DAu7lY_ltiwnH?8rNu|6ClIJq!w_q%=yDh-VozL z{kG3jO-tSlFF+d8lye1dXZcByFJg3j(N)~yZu&D)6An9zyF5)eKgFY&LBpFG;hwZ% z8149u>nP?#9ioGyQ{)72wzGMuL72Y;1vd{(bWpMIgbJaCQb+rnOk?y%Nk&iWtp5Ia z(ij&>mr)ivkM zg%nv+PG4Qo61mirZG(~IcunX}K=z5t4tT%H%z&iW(V!#r=@x}GatYB<8?HqH0Md%4)&iOa>P4j1{0)kwW8`#J<|4QqnL zjge&;CPnztvi;*9zx{&9E<&28@^U2Nl{ddon|Fr`H^w|Z{JI((z4zGOqI77cAUBVR z2UDalbk4X*)YFYQ^QLY5_}(jPt-XB&bmn=I>{#{0rF`W8DdBGFwbGC^dsA!>@7yvt z!kG=<@#?NSO)NGfSZoNsFSU*d37(U*%==O>Okf?3Wp?`418 z^5JpaH-0ZOl<#z0QBgfJReHWy(j?HvWxqOIq3y`Q$k7Zpsm5qSv7M1&t_Z9ATcT38 z8`jDh_Sg{N1gfL8kkg&1+nPKga>)8icBwiC&uok4l~`r_1oOZvgu7bu2`qn+seFe? zl$m*i&gZB%Pv`_G^K=zV-xM~rWntW`D(jlqQ)*T!v&}~mJBn?tWTyyC_n^*g&(>~s zBg(|gtK7O{gFz}?vOY5yWbybFbeCS~<=c@u8BRS%H*bp|uk;t1)gk^1k3x!3h|iPr z7RG-9jg;uw`h%Y@`O=2z+Jw4(JCr1hRNkZYYh23;sS)Ci)#TE^Ad_dX0!tOdkY_s)9CNEn>C5i{N0crWRWsu==&B0n#2yS%8 zT?^CuPF5?&@-Ooy$7{E~gvq^p7`G7AaOQMpM+fE?Y2ucc-i=+FQj1$oIkRJW zVjkX4Ywk}KB3>&_<&N$ZtYKyd6zx(6R6ObAA>sFKP4lJ_W^PO5^V3fsdkNv$Iv@vF-i@#34fVY(O>fwvM4v34n0niNrE~uyI|Yud`KX;H zp>~aY{yF^%heDsRTJXi$v>y`M!0O-2C4KGsR4qQYEr9u8P-@Jq)Kx_y*{S{ zNS?TkP5|d#C!=BFKFGz=`JTXkLXySM-<_sfNJN*0frBMpzgnHdyE)Qvjg{PKi}FPc ztz3T;+KX{m{r-P|+J*Xl1B%Zq?T1&+dIgK}$e2W+WQOMS6-DsK44%HhOhFwn1vMQ_ z16Qx;4IetOzwuyEIYP3v;|-AhComsi7|;m;_OBvf+oJ`^dM#_z#!MyYUy286>|+h- z-kT|(XV~vX%};Qow#lo`!2T%@ukNpS^BD21KFvaPAq*-xNS8(sHMEsGzwteNIEX~`!i&~)%c?oMw$Mc!tU7e)3}4rrB>L*`75Vgdnk+bpXa8kWk=-D_hxjy7D` z=Ad>rL|5KU=f72_+5E{XzrOZO>a$ba(Wa9@Jer0{Yqpg^Mj7=I>HRJ$o>lklz(^>f z#Pqn6Bi;*L4QyU}z@PqcI+Izq(P-`;cIyh#`-%L6kdDG?u8Lug!9JVe(0dGd&4T}D`ZQk8b)HFP`E6@7_Dt z^B#+P@>H~NMJvK6CIdj82+OXY(Mnj~RqNm%$GJ?@8l_2%jHvuG5u+53#i2QA0}O>6 zZ!hmn-*}QyR=rgqk%FTmep=Wjsv@I2{HCjLQwe=31o(Wz+znLUNWv%OO^?^$L072V zC8wE&os-kW$nD|{kP^($S6AThsf+y#=U#dfCnVA=7(ZtQI_fbFdpPYHq;|5nE!9Nc zAx2Dm&wXlp+!7GDkIO0i`6Iktm*EO^)>zMM(0+TsS);>aL4DFV5_f&APmp0?@d8z9 zEeUj#*ML}bSERAp_0BzB<;bI%L3!ney^auiitQXN+J7?D^h<@9+h;bFZH4~t(`PT* zq2uhgL(#)P-H(3=omQ?Ha~%9*HhbwQW-zqwX64X4YPcF-^P;ckb!!Oq-DJEZZ)$nz z3^qZ^Gxqr5U%N)T02o43}20hWhKCUh%p`@#!5J%V3Bt*2pen+~(wG2eyho3Z~jm@#^9^hDC1`hARE-lz744$WfeiR zA#;bz8e!qKksF7{DI~(Sy8*FrEbWQujI=}Gc8RuqHJ|4y)<^s~-j6pkJ}ffb3=-LR zN0@<~`)bUm$0Xl}?DzCI5-jMqDs50TBUW~_;?bw;i0l<}BWEQ%ZpQk-(GP_p#+j8c zzsrN0`)yf2$(6?uG78IKEbYtR4&hv!IF6tpc;3067}~C4jqza?lx2c`Wj@i|5N#d< zEWeO92SS@HHPuXR=;I03`UQu2yM~qt-sz{Yet3AAzJf3LgIB15-{OB^tOFWHB;cn7 zUs96j+y5L|3F*H>yk2OGL~CDt=$_yBsk$rl!4mP)_{uI_xuAX{Ni zs&LPr45cdSS^B^@H4KdZ?U}iOTYAMmyjzjeqa2v+VR>sS**Y++#{WAWZB67Jlk6cH zbc(#zD?3C$Tv7p73G^bo|N2m*f80=<{QAud4;khlS4+POE+6VWRZuFb`2tCX@%S~g zx>XGO%Yr@a#Pobr17f>Xtcv? zoJ0W0xq1uac*ao`&+qw`*jT56`&mVW!@+4R30JTNmV0tTw2Lk!k{ez~l!n{q9#o%jo-(9vA&O47d5$jWu zVeL*4cf1+>sOv6~ljttCUUji^=pK_jQ&ZV1Xu`#HVX(Vn;Mt7doR{Oo^XDZJU3znC zC0*T%I9AscPdCOX#mD&-EQb-aPSWY7oBHc$_eg6jTUM@Jeyb-eZCJ85T{{d(0ipte zLKLlMrK6?0A8mP+vbeh@nS=RvTnf59lnWEFIrH(+ zIgOq5#qqJxCU8?IcTn=$p-XSDlnX%P@3_`I^$BzI@93m}OnGk|5Qt;ab?V7ryGA>H zgC;+lUb-ryjQS;lxeg<0SIcx+j8`zjkeT3O{y2MSZr{G_mz0?lla1%kqhQQWA2O?p zztFOYQGPxLHf(KD9_hk;p=7 zDl0WcK4>uo2WeT;-&11coXnoI#-RXVIc%!#;o3Ok-IES%y(ISprJ=XRzQoL+et>9G zuU3cY^;e36QGEqsbp(s zP^&GHdgBZX%53b-uF9C&yIV6n6Qg?e%;2r9;VeD<#_88~bIH^-N8z_CZx7$DG}}pH zM#csQhB26Qaaw7R5!}7oj){*xJH!@dcOXH}PJ$tW9W`3CIW?@0M0!!Qo`{A}-p?5usM7 z2`v>%PSs2~|I@e=Pz#)NR|Yp$*kNB|g;izIx3be@)lc8}uV_$%P*uYMCdq?ky23zu zK*pcKiL=W98(D&>uAt3x4N!b4YX*c=F=lF72CxANBxZs(BM=B>`_k9 z4;TyvOw { if (this._isEnabled) { this.captureFrame(); + this.checkAutoSave(); } }); - debugLog("PhysicsRecorder: Ring buffer started (30 second capacity)"); + debugLog("PhysicsRecorder: Recording started (ring buffer + auto-save to IndexedDB)"); + debugLog(`PhysicsRecorder: Session ID: ${this._currentSessionId}`); } /** @@ -237,6 +251,11 @@ export class PhysicsRecorder { this._longRecording.push(snapshot); } + // Add to auto-save buffer if enabled + if (this._autoSaveEnabled) { + this._autoSaveBuffer.push(snapshot); + } + this._frameNumber++; // Track performance @@ -251,6 +270,61 @@ export class PhysicsRecorder { } } + /** + * Check if it's time to auto-save to IndexedDB + */ + private checkAutoSave(): void { + if (!this._autoSaveEnabled || !this._storage) { + return; + } + + const now = performance.now(); + const timeSinceLastSave = now - this._lastAutoSaveTime; + + // Save every 10 seconds + if (timeSinceLastSave >= this._autoSaveInterval && this._autoSaveBuffer.length > 0) { + this.performAutoSave(); + this._lastAutoSaveTime = now; + } + } + + /** + * Save buffered snapshots to IndexedDB + */ + private async performAutoSave(): Promise { + if (!this._storage || this._autoSaveBuffer.length === 0) { + return; + } + + // Copy buffer and clear it immediately to avoid blocking next frame + const snapshotsToSave = [...this._autoSaveBuffer]; + this._autoSaveBuffer = []; + + // Create a recording from the buffered snapshots + const metadata: RecordingMetadata = { + startTime: snapshotsToSave[0].timestamp, + endTime: snapshotsToSave[snapshotsToSave.length - 1].timestamp, + frameCount: snapshotsToSave.length, + recordingDuration: snapshotsToSave[snapshotsToSave.length - 1].timestamp - snapshotsToSave[0].timestamp, + physicsUpdateRate: this._physicsUpdateRate + }; + + const recording: PhysicsRecording = { + metadata, + snapshots: snapshotsToSave + }; + + try { + // Save to IndexedDB with session ID as name + await this._storage.saveRecording(this._currentSessionId, recording); + + const duration = (metadata.recordingDuration / 1000).toFixed(1); + debugLog(`PhysicsRecorder: Auto-saved ${snapshotsToSave.length} frames (${duration}s) to IndexedDB`); + } catch (error) { + debugLog("PhysicsRecorder: Error during auto-save", error); + } + } + /** * Export last N seconds from ring buffer */ @@ -512,11 +586,18 @@ export class PhysicsRecorder { /** * Dispose of recorder resources */ - public dispose(): void { + public async dispose(): Promise { + // Save any remaining buffered data before disposing + if (this._autoSaveBuffer.length > 0) { + debugLog(`PhysicsRecorder: Saving ${this._autoSaveBuffer.length} remaining frames before disposal`); + await this.performAutoSave(); + } + this.stopRingBuffer(); this.stopLongRecording(); this._ringBuffer = []; this._longRecording = []; + this._autoSaveBuffer = []; if (this._storage) { this._storage.close();