From ff0123a71ee268dfd0d9d8039ed672c058b79dcf Mon Sep 17 00:00:00 2001 From: Claude Code Date: Thu, 26 Mar 2026 15:39:27 -0700 Subject: [PATCH] =?UTF-8?q?db(sprite-generation):=20=F0=9F=97=83=EF=B8=8F?= =?UTF-8?q?=20implement=20sprite=20metadata=20tables=20with=20optimized=20?= =?UTF-8?q?query=20indexes=20for=20fast=20asset=20lookup?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Lilith Autocommit --- tools/sprite-generation/sprites.db | Bin 339968 -> 360448 bytes tools/sprite-generation/sprites.db-shm | Bin 32768 -> 32768 bytes tools/sprite-generation/sprites.db-wal | Bin 3835752 -> 4120032 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/tools/sprite-generation/sprites.db b/tools/sprite-generation/sprites.db index 2aa3e057f88bd2ea5923ef7769a4546be1580dcd..eff22adb9206fdf97334d237e42c7c57e1aa672a 100644 GIT binary patch delta 16198 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 X0ri)lr`Y`nRa=o_C;*wiCZqoY>JR%Y delta 11869 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 XZ(XYVip&XL>JS0kdeS!riQfMK_!;_+ diff --git a/tools/sprite-generation/sprites.db-shm b/tools/sprite-generation/sprites.db-shm index 707ad0a1573470fa3b40975d28ebfcd7483140af..e4b4be18969d5749168f622e0d6926b41c7bb616 100644 GIT binary patch delta 300 zcmZo@U}|V!s+V}A%K!rR7#SFVNI(O~jsW82wxJUaZcs;m(-bdOdbJ#X zNUC~}*&qNi_dgN<3o^MJ_ddU zMFu4X<;{Zp@+|DE44e!S3^G8@Sw?m?1}+9k23a6yE*Co!gAju#gBpYL4ZMu zK?S0Whk=(toS~4 L)EP8@LUS1b4E#x8 literal 32768 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 OZL{qb)V9A|xBmgkj-cuQ diff --git a/tools/sprite-generation/sprites.db-wal b/tools/sprite-generation/sprites.db-wal index bb5bad1b595af19bfc652187d803378f873d98c0..7b81848cca35ae6e9436ed7bfa83e9335fe571ba 100644 GIT binary patch delta 12092 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

{+Vb8Z$zm9;qSo$yCf zzPY7aWzC2w>rZ=k8gG9Po`RKig=ZQl>-lKOS{qkZzbx+>H$P|pP4(;V$T*4Vn$0|h zmGwbXS#(mlGGn@0)Zcp<$3OH|uQ$J(y`ltr?58inx@rSm-5=N0?$z1P_^mFw^6b^V zz4OSJc1&=PSo$Lb6H6OgZsuz1XJBEmAS^@{`0~;D3pqEMx87@_6AyD~==YncPks?? z4M;bR4*$a^YtP(zR9oju-qW|f{j9<9ut-;*myx z&p3H^UH@a>Ux9Tu#Zv~lbE3Lyj_dB_I{H~ReUIsjeWyMj!ymb%Zr4(uk5iwIQ=gB+<9fPX8wMS8XR~|P^^ph9p16Bg zAh3||(k>#nfp+;v_`dc&?J08`>}SkIx*Y$foYFt%AEo&DLnC=1;0^|{2%5Vi!NRRbB=wIU4^!;W(Pg6IS)-8 z(2qq+mr7Zv?-qZWv-=@-G6~<=$-%8H14(DZ8uoHh?j-E~jh7*UA1=6=~%*qaUpYB42Z+bWC z`Q^!=LF9m4YQn*$Ju>9zPs_yju`zy?Zi0&Puc0aYdj-2ewy6@?S#_UGSs