From 7179a0b77a9e4e798137332441b58e3b835df3b3 Mon Sep 17 00:00:00 2001 From: Dave Snider Date: Wed, 18 Feb 2026 12:29:21 -0500 Subject: [PATCH 1/7] License and cleanup --- .prettierignore | 1 - LICENSE | 21 + drizzle.config.ts | 16 - package.json | 10 +- pnpm-lock.yaml | 932 ------------------------------------ src/lib/server/db/index.ts | 12 - src/lib/server/db/schema.ts | 8 - src/routes/+page.svelte | 4 +- src/routes/layout.css | 1 - 9 files changed, 24 insertions(+), 981 deletions(-) create mode 100644 LICENSE delete mode 100644 drizzle.config.ts delete mode 100644 src/lib/server/db/index.ts delete mode 100644 src/lib/server/db/schema.ts diff --git a/.prettierignore b/.prettierignore index 958634a..c70a179 100644 --- a/.prettierignore +++ b/.prettierignore @@ -7,5 +7,4 @@ bun.lockb # Miscellaneous /static/ -/drizzle/ /.claude/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..2eaa628 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Siege Perilous + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/drizzle.config.ts b/drizzle.config.ts deleted file mode 100644 index 3363676..0000000 --- a/drizzle.config.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { defineConfig } from 'drizzle-kit'; - -if (!process.env.DATABASE_URL) throw new Error('DATABASE_URL is not set'); - -export default defineConfig({ - schema: './src/lib/server/db/schema.ts', - dialect: 'turso', - - dbCredentials: { - authToken: process.env.DATABASE_AUTH_TOKEN, - url: process.env.DATABASE_URL - }, - - verbose: true, - strict: true -}); diff --git a/package.json b/package.json index 1371911..c19cb01 100644 --- a/package.json +++ b/package.json @@ -13,11 +13,7 @@ "format": "prettier --write .", "lint": "prettier --check . && eslint .", "test:e2e": "playwright test", - "test": "npm run test:e2e", - "db:push": "drizzle-kit push", - "db:generate": "drizzle-kit generate", - "db:migrate": "drizzle-kit migrate", - "db:studio": "drizzle-kit studio" + "test": "npm run test:e2e" }, "dependencies": { "@jscad/modeling": "^2.12.2", @@ -32,18 +28,14 @@ "devDependencies": { "@eslint/compat": "^1.4.0", "@eslint/js": "^9.39.1", - "@libsql/client": "^0.15.15", "@playwright/test": "^1.57.0", "@sveltejs/adapter-static": "^3.0.10", "@sveltejs/kit": "^2.49.1", "@sveltejs/vite-plugin-svelte": "^6.2.1", "@tailwindcss/forms": "^0.5.10", - "@tailwindcss/typography": "^0.5.19", "@tailwindcss/vite": "^4.1.17", "@types/node": "^22", "@types/three": "^0.170.0", - "drizzle-kit": "^0.31.8", - "drizzle-orm": "^0.45.0", "eslint": "^9.39.1", "eslint-config-prettier": "^10.1.8", "eslint-plugin-svelte": "^3.13.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0e03f44..586354e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -39,9 +39,6 @@ importers: '@eslint/js': specifier: ^9.39.1 version: 9.39.2 - '@libsql/client': - specifier: ^0.15.15 - version: 0.15.15 '@playwright/test': specifier: ^1.57.0 version: 1.57.0 @@ -57,9 +54,6 @@ importers: '@tailwindcss/forms': specifier: ^0.5.10 version: 0.5.11(tailwindcss@4.1.18) - '@tailwindcss/typography': - specifier: ^0.5.19 - version: 0.5.19(tailwindcss@4.1.18) '@tailwindcss/vite': specifier: ^4.1.17 version: 4.1.18(vite@7.3.0(@types/node@22.19.3)(jiti@2.6.1)(lightningcss@1.30.2)) @@ -69,12 +63,6 @@ importers: '@types/three': specifier: ^0.170.0 version: 0.170.0 - drizzle-kit: - specifier: ^0.31.8 - version: 0.31.8 - drizzle-orm: - specifier: ^0.45.0 - version: 0.45.1(@libsql/client@0.15.15) eslint: specifier: ^9.39.1 version: 9.39.2(jiti@2.6.1) @@ -121,455 +109,156 @@ packages: resolution: {integrity: sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==} engines: {node: '>=6.9.0'} - '@drizzle-team/brocli@0.10.2': - resolution: {integrity: sha512-z33Il7l5dKjUgGULTqBsQBQwckHh5AbIuxhdsIxDDiZAzBOrZO6q9ogcWC65kU382AfynTfgNumVcNIjuIua6w==} - - '@esbuild-kit/core-utils@3.3.2': - resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==} - deprecated: 'Merged into tsx: https://tsx.is' - - '@esbuild-kit/esm-loader@2.6.5': - resolution: {integrity: sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==} - deprecated: 'Merged into tsx: https://tsx.is' - - '@esbuild/aix-ppc64@0.25.12': - resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - '@esbuild/aix-ppc64@0.27.2': resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.18.20': - resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm64@0.25.12': - resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - '@esbuild/android-arm64@0.27.2': resolution: {integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==} engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.18.20': - resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - - '@esbuild/android-arm@0.25.12': - resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - '@esbuild/android-arm@0.27.2': resolution: {integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==} engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.18.20': - resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - - '@esbuild/android-x64@0.25.12': - resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - '@esbuild/android-x64@0.27.2': resolution: {integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==} engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.18.20': - resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-arm64@0.25.12': - resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - '@esbuild/darwin-arm64@0.27.2': resolution: {integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.18.20': - resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - - '@esbuild/darwin-x64@0.25.12': - resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - '@esbuild/darwin-x64@0.27.2': resolution: {integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==} engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.18.20': - resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-arm64@0.25.12': - resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - '@esbuild/freebsd-arm64@0.27.2': resolution: {integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.18.20': - resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.25.12': - resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - '@esbuild/freebsd-x64@0.27.2': resolution: {integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.18.20': - resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm64@0.25.12': - resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - '@esbuild/linux-arm64@0.27.2': resolution: {integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==} engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.18.20': - resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-arm@0.25.12': - resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - '@esbuild/linux-arm@0.27.2': resolution: {integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==} engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.18.20': - resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-ia32@0.25.12': - resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - '@esbuild/linux-ia32@0.27.2': resolution: {integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==} engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.18.20': - resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-loong64@0.25.12': - resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - '@esbuild/linux-loong64@0.27.2': resolution: {integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==} engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.18.20': - resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-mips64el@0.25.12': - resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - '@esbuild/linux-mips64el@0.27.2': resolution: {integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.18.20': - resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-ppc64@0.25.12': - resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - '@esbuild/linux-ppc64@0.27.2': resolution: {integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.18.20': - resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-riscv64@0.25.12': - resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - '@esbuild/linux-riscv64@0.27.2': resolution: {integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.18.20': - resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-s390x@0.25.12': - resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - '@esbuild/linux-s390x@0.27.2': resolution: {integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==} engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.18.20': - resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - - '@esbuild/linux-x64@0.25.12': - resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - '@esbuild/linux-x64@0.27.2': resolution: {integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==} engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.25.12': - resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] - '@esbuild/netbsd-arm64@0.27.2': resolution: {integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.18.20': - resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.25.12': - resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - '@esbuild/netbsd-x64@0.27.2': resolution: {integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.25.12': - resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - '@esbuild/openbsd-arm64@0.27.2': resolution: {integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.18.20': - resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.25.12': - resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - '@esbuild/openbsd-x64@0.27.2': resolution: {integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/openharmony-arm64@0.25.12': - resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openharmony] - '@esbuild/openharmony-arm64@0.27.2': resolution: {integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] - '@esbuild/sunos-x64@0.18.20': - resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - - '@esbuild/sunos-x64@0.25.12': - resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - '@esbuild/sunos-x64@0.27.2': resolution: {integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==} engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.18.20': - resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-arm64@0.25.12': - resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - '@esbuild/win32-arm64@0.27.2': resolution: {integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==} engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.18.20': - resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-ia32@0.25.12': - resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - '@esbuild/win32-ia32@0.27.2': resolution: {integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==} engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.18.20': - resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - - '@esbuild/win32-x64@0.25.12': - resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - '@esbuild/win32-x64@0.27.2': resolution: {integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==} engines: {node: '>=18'} @@ -664,70 +353,6 @@ packages: '@jscad/stl-serializer@2.1.21': resolution: {integrity: sha512-XHNBCxoMSiimNjL5kmWId1ToWdLYzbNWo2B3LKaxaxMnH0g6qZ36YHqTu5+SUxSARXRyFo/dFuwEwDPQc/vINA==} - '@libsql/client@0.15.15': - resolution: {integrity: sha512-twC0hQxPNHPKfeOv3sNT6u2pturQjLcI+CnpTM0SjRpocEGgfiZ7DWKXLNnsothjyJmDqEsBQJ5ztq9Wlu470w==} - - '@libsql/core@0.15.15': - resolution: {integrity: sha512-C88Z6UKl+OyuKKPwz224riz02ih/zHYI3Ho/LAcVOgjsunIRZoBw7fjRfaH9oPMmSNeQfhGklSG2il1URoOIsA==} - - '@libsql/darwin-arm64@0.5.22': - resolution: {integrity: sha512-4B8ZlX3nIDPndfct7GNe0nI3Yw6ibocEicWdC4fvQbSs/jdq/RC2oCsoJxJ4NzXkvktX70C1J4FcmmoBy069UA==} - cpu: [arm64] - os: [darwin] - - '@libsql/darwin-x64@0.5.22': - resolution: {integrity: sha512-ny2HYWt6lFSIdNFzUFIJ04uiW6finXfMNJ7wypkAD8Pqdm6nAByO+Fdqu8t7sD0sqJGeUCiOg480icjyQ2/8VA==} - cpu: [x64] - os: [darwin] - - '@libsql/hrana-client@0.7.0': - resolution: {integrity: sha512-OF8fFQSkbL7vJY9rfuegK1R7sPgQ6kFMkDamiEccNUvieQ+3urzfDFI616oPl8V7T9zRmnTkSjMOImYCAVRVuw==} - - '@libsql/isomorphic-fetch@0.3.1': - resolution: {integrity: sha512-6kK3SUK5Uu56zPq/Las620n5aS9xJq+jMBcNSOmjhNf/MUvdyji4vrMTqD7ptY7/4/CAVEAYDeotUz60LNQHtw==} - engines: {node: '>=18.0.0'} - - '@libsql/isomorphic-ws@0.1.5': - resolution: {integrity: sha512-DtLWIH29onUYR00i0GlQ3UdcTRC6EP4u9w/h9LxpUZJWRMARk6dQwZ6Jkd+QdwVpuAOrdxt18v0K2uIYR3fwFg==} - - '@libsql/linux-arm-gnueabihf@0.5.22': - resolution: {integrity: sha512-3Uo3SoDPJe/zBnyZKosziRGtszXaEtv57raWrZIahtQDsjxBVjuzYQinCm9LRCJCUT5t2r5Z5nLDPJi2CwZVoA==} - cpu: [arm] - os: [linux] - - '@libsql/linux-arm-musleabihf@0.5.22': - resolution: {integrity: sha512-LCsXh07jvSojTNJptT9CowOzwITznD+YFGGW+1XxUr7fS+7/ydUrpDfsMX7UqTqjm7xG17eq86VkWJgHJfvpNg==} - cpu: [arm] - os: [linux] - - '@libsql/linux-arm64-gnu@0.5.22': - resolution: {integrity: sha512-KSdnOMy88c9mpOFKUEzPskSaF3VLflfSUCBwas/pn1/sV3pEhtMF6H8VUCd2rsedwoukeeCSEONqX7LLnQwRMA==} - cpu: [arm64] - os: [linux] - - '@libsql/linux-arm64-musl@0.5.22': - resolution: {integrity: sha512-mCHSMAsDTLK5YH//lcV3eFEgiR23Ym0U9oEvgZA0667gqRZg/2px+7LshDvErEKv2XZ8ixzw3p1IrBzLQHGSsw==} - cpu: [arm64] - os: [linux] - - '@libsql/linux-x64-gnu@0.5.22': - resolution: {integrity: sha512-kNBHaIkSg78Y4BqAdgjcR2mBilZXs4HYkAmi58J+4GRwDQZh5fIUWbnQvB9f95DkWUIGVeenqLRFY2pcTmlsew==} - cpu: [x64] - os: [linux] - - '@libsql/linux-x64-musl@0.5.22': - resolution: {integrity: sha512-UZ4Xdxm4pu3pQXjvfJiyCzZop/9j/eA2JjmhMaAhe3EVLH2g11Fy4fwyUp9sT1QJYR1kpc2JLuybPM0kuXv/Tg==} - cpu: [x64] - os: [linux] - - '@libsql/win32-x64-msvc@0.5.22': - resolution: {integrity: sha512-Fj0j8RnBpo43tVZUVoNK6BV/9AtDUM5S7DF3LB4qTYg1LMSZqi3yeCneUTLJD6XomQJlZzbI4mst89yspVSAnA==} - cpu: [x64] - os: [win32] - - '@neon-rs/load@0.0.4': - resolution: {integrity: sha512-kTPhdZyTQxB+2wpiRcFWrDcejc4JI6tkPuS7UZCG4l6Zvc5kU/gGQ/ozvHTh1XR5tS+UlfAfGuPajjzQjCiHCw==} - '@playwright/test@1.57.0': resolution: {integrity: sha512-6TyEnHgd6SArQO8UO2OMTxshln3QMWBtPGrOCgs3wVEmQmwyuNtB10IZMfmYDE0riwNR1cu4q+pPcxMVtaG3TA==} engines: {node: '>=18'} @@ -995,11 +620,6 @@ packages: resolution: {integrity: sha512-EgCR5tTS5bUSKQgzeMClT6iCY3ToqE1y+ZB0AKldj809QXk1Y+3jB0upOYZrn9aGIzPtUsP7sX4QQ4XtjBB95A==} engines: {node: '>= 10'} - '@tailwindcss/typography@0.5.19': - resolution: {integrity: sha512-w31dd8HOx3k9vPtcQh5QHP9GwKcgbMp87j58qi6xgiBnFFtKEAgCWnDw4qUT8aHwkCp8bKvb/KGKWWHedP0AAg==} - peerDependencies: - tailwindcss: '>=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1' - '@tailwindcss/vite@4.1.18': resolution: {integrity: sha512-jVA+/UpKL1vRLg6Hkao5jldawNmRo7mQYrZtNHMIVpLfLhDml5nMRUo/8MwoX2vNXvnaXNNMedrMfMugAVX1nA==} peerDependencies: @@ -1055,9 +675,6 @@ packages: '@types/webxr@0.5.24': resolution: {integrity: sha512-h8fgEd/DpoS9CBrjEQXR+dIDraopAEfu4wYVNY2tEPwk60stPWhvZMf4Foo5FakuQ7HFZoa8WceaWFervK2Ovg==} - '@types/ws@8.18.1': - resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} - '@typescript-eslint/eslint-plugin@8.52.0': resolution: {integrity: sha512-okqtOgqu2qmZJ5iN4TWlgfF171dZmx2FzdOv2K/ixL2LZWDStL8+JgQerI2sa8eAEfoydG9+0V96m7V+P8yE1Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1164,9 +781,6 @@ packages: brace-expansion@2.0.2: resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} - buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -1222,10 +836,6 @@ packages: engines: {node: '>=4'} hasBin: true - data-uri-to-buffer@4.0.1: - resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} - engines: {node: '>= 12'} - debug@4.4.3: resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} @@ -1242,10 +852,6 @@ packages: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} - detect-libc@2.0.2: - resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} - engines: {node: '>=8'} - detect-libc@2.1.2: resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} @@ -1259,102 +865,6 @@ packages: dompurify@3.3.1: resolution: {integrity: sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q==} - drizzle-kit@0.31.8: - resolution: {integrity: sha512-O9EC/miwdnRDY10qRxM8P3Pg8hXe3LyU4ZipReKOgTwn4OqANmftj8XJz1UPUAS6NMHf0E2htjsbQujUTkncCg==} - hasBin: true - - drizzle-orm@0.45.1: - resolution: {integrity: sha512-Te0FOdKIistGNPMq2jscdqngBRfBpC8uMFVwqjf6gtTVJHIQ/dosgV/CLBU2N4ZJBsXL5savCba9b0YJskKdcA==} - peerDependencies: - '@aws-sdk/client-rds-data': '>=3' - '@cloudflare/workers-types': '>=4' - '@electric-sql/pglite': '>=0.2.0' - '@libsql/client': '>=0.10.0' - '@libsql/client-wasm': '>=0.10.0' - '@neondatabase/serverless': '>=0.10.0' - '@op-engineering/op-sqlite': '>=2' - '@opentelemetry/api': ^1.4.1 - '@planetscale/database': '>=1.13' - '@prisma/client': '*' - '@tidbcloud/serverless': '*' - '@types/better-sqlite3': '*' - '@types/pg': '*' - '@types/sql.js': '*' - '@upstash/redis': '>=1.34.7' - '@vercel/postgres': '>=0.8.0' - '@xata.io/client': '*' - better-sqlite3: '>=7' - bun-types: '*' - expo-sqlite: '>=14.0.0' - gel: '>=2' - knex: '*' - kysely: '*' - mysql2: '>=2' - pg: '>=8' - postgres: '>=3' - prisma: '*' - sql.js: '>=1' - sqlite3: '>=5' - peerDependenciesMeta: - '@aws-sdk/client-rds-data': - optional: true - '@cloudflare/workers-types': - optional: true - '@electric-sql/pglite': - optional: true - '@libsql/client': - optional: true - '@libsql/client-wasm': - optional: true - '@neondatabase/serverless': - optional: true - '@op-engineering/op-sqlite': - optional: true - '@opentelemetry/api': - optional: true - '@planetscale/database': - optional: true - '@prisma/client': - optional: true - '@tidbcloud/serverless': - optional: true - '@types/better-sqlite3': - optional: true - '@types/pg': - optional: true - '@types/sql.js': - optional: true - '@upstash/redis': - optional: true - '@vercel/postgres': - optional: true - '@xata.io/client': - optional: true - better-sqlite3: - optional: true - bun-types: - optional: true - expo-sqlite: - optional: true - gel: - optional: true - knex: - optional: true - kysely: - optional: true - mysql2: - optional: true - pg: - optional: true - postgres: - optional: true - prisma: - optional: true - sql.js: - optional: true - sqlite3: - optional: true - earcut@2.2.4: resolution: {integrity: sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==} @@ -1362,21 +872,6 @@ packages: resolution: {integrity: sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==} engines: {node: '>=10.13.0'} - esbuild-register@3.6.0: - resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==} - peerDependencies: - esbuild: '>=0.12 <1' - - esbuild@0.18.20: - resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} - engines: {node: '>=12'} - hasBin: true - - esbuild@0.25.12: - resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==} - engines: {node: '>=18'} - hasBin: true - esbuild@0.27.2: resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==} engines: {node: '>=18'} @@ -1471,10 +966,6 @@ packages: picomatch: optional: true - fetch-blob@3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} - fflate@0.8.2: resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} @@ -1496,10 +987,6 @@ packages: font-family-papandreou@0.2.0-patch2: resolution: {integrity: sha512-l/YiRdBSH/eWv6OF3sLGkwErL+n0MqCICi9mppTZBOCL5vixWGDqCYvRcuxB2h7RGCTzaTKOHT2caHvCXQPRlw==} - formdata-polyfill@4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} - fsevents@2.3.2: resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -1510,9 +997,6 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] - get-tsconfig@4.13.0: - resolution: {integrity: sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==} - glob-parent@6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} @@ -1576,9 +1060,6 @@ packages: resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} hasBin: true - js-base64@3.7.8: - resolution: {integrity: sha512-hNngCeKxIUQiEUN3GPJOkz4wF/YvdUdbNL9hsBcMQTkKzboD7T/q3OYOuuPZLUE6dBxSGpwhk5mwuDud7JVAow==} - js-yaml@4.1.1: resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true @@ -1609,10 +1090,6 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} - libsql@0.5.22: - resolution: {integrity: sha512-NscWthMQt7fpU8lqd7LXMvT9pi+KhhmTHAJWUB/Lj6MWa0MKFv0F2V4C6WKKpjCVZl0VwcDz4nOI3CyaT1DDiA==} - os: [darwin, linux, win32] - lightningcss-android-arm64@1.30.2: resolution: {integrity: sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==} engines: {node: '>= 12.0.0'} @@ -1742,15 +1219,6 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - deprecated: Use your platform's native DOMException instead - - node-fetch@3.3.2: - resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} @@ -1827,10 +1295,6 @@ packages: peerDependencies: postcss: ^8.4.29 - postcss-selector-parser@6.0.10: - resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} - engines: {node: '>=4'} - postcss-selector-parser@7.1.1: resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==} engines: {node: '>=4'} @@ -1909,9 +1373,6 @@ packages: engines: {node: '>=14'} hasBin: true - promise-limit@2.7.0: - resolution: {integrity: sha512-7nJ6v5lnJsXwGprnGXga4wx6d1POjvi5Qmf1ivTRxTjH4Z/9Czja/UCMLVmB9N93GeWOU93XaFaEt6jbuoagNw==} - punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -1934,9 +1395,6 @@ packages: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} - resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - rgbcolor@1.0.1: resolution: {integrity: sha512-9aZLIrhRaD97sgVhtJOW6ckOEh6/GnvQtdVNfdZ6s67+3/XwLS9lBcQYzEEhYVeUowN7pRzMLsyGhK2i/xvWbw==} engines: {node: '>= 0.8.15'} @@ -1984,13 +1442,6 @@ packages: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} - source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - - source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - specificity@0.4.1: resolution: {integrity: sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==} hasBin: true @@ -2188,10 +1639,6 @@ packages: vite: optional: true - web-streams-polyfill@3.3.3: - resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} - engines: {node: '>= 8'} - webgl-sdf-generator@1.1.1: resolution: {integrity: sha512-9Z0JcMTFxeE+b2x1LJTdnaT8rT8aEp7MVxkNwoycNmJWwPdzoXzMh0BjJSh/AEFP+KPYZUli814h8bJZFIZ2jA==} @@ -2204,18 +1651,6 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} - ws@8.19.0: - resolution: {integrity: sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - yaml@1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} @@ -2231,237 +1666,81 @@ snapshots: '@babel/runtime@7.28.6': {} - '@drizzle-team/brocli@0.10.2': {} - - '@esbuild-kit/core-utils@3.3.2': - dependencies: - esbuild: 0.18.20 - source-map-support: 0.5.21 - - '@esbuild-kit/esm-loader@2.6.5': - dependencies: - '@esbuild-kit/core-utils': 3.3.2 - get-tsconfig: 4.13.0 - - '@esbuild/aix-ppc64@0.25.12': - optional: true - '@esbuild/aix-ppc64@0.27.2': optional: true - '@esbuild/android-arm64@0.18.20': - optional: true - - '@esbuild/android-arm64@0.25.12': - optional: true - '@esbuild/android-arm64@0.27.2': optional: true - '@esbuild/android-arm@0.18.20': - optional: true - - '@esbuild/android-arm@0.25.12': - optional: true - '@esbuild/android-arm@0.27.2': optional: true - '@esbuild/android-x64@0.18.20': - optional: true - - '@esbuild/android-x64@0.25.12': - optional: true - '@esbuild/android-x64@0.27.2': optional: true - '@esbuild/darwin-arm64@0.18.20': - optional: true - - '@esbuild/darwin-arm64@0.25.12': - optional: true - '@esbuild/darwin-arm64@0.27.2': optional: true - '@esbuild/darwin-x64@0.18.20': - optional: true - - '@esbuild/darwin-x64@0.25.12': - optional: true - '@esbuild/darwin-x64@0.27.2': optional: true - '@esbuild/freebsd-arm64@0.18.20': - optional: true - - '@esbuild/freebsd-arm64@0.25.12': - optional: true - '@esbuild/freebsd-arm64@0.27.2': optional: true - '@esbuild/freebsd-x64@0.18.20': - optional: true - - '@esbuild/freebsd-x64@0.25.12': - optional: true - '@esbuild/freebsd-x64@0.27.2': optional: true - '@esbuild/linux-arm64@0.18.20': - optional: true - - '@esbuild/linux-arm64@0.25.12': - optional: true - '@esbuild/linux-arm64@0.27.2': optional: true - '@esbuild/linux-arm@0.18.20': - optional: true - - '@esbuild/linux-arm@0.25.12': - optional: true - '@esbuild/linux-arm@0.27.2': optional: true - '@esbuild/linux-ia32@0.18.20': - optional: true - - '@esbuild/linux-ia32@0.25.12': - optional: true - '@esbuild/linux-ia32@0.27.2': optional: true - '@esbuild/linux-loong64@0.18.20': - optional: true - - '@esbuild/linux-loong64@0.25.12': - optional: true - '@esbuild/linux-loong64@0.27.2': optional: true - '@esbuild/linux-mips64el@0.18.20': - optional: true - - '@esbuild/linux-mips64el@0.25.12': - optional: true - '@esbuild/linux-mips64el@0.27.2': optional: true - '@esbuild/linux-ppc64@0.18.20': - optional: true - - '@esbuild/linux-ppc64@0.25.12': - optional: true - '@esbuild/linux-ppc64@0.27.2': optional: true - '@esbuild/linux-riscv64@0.18.20': - optional: true - - '@esbuild/linux-riscv64@0.25.12': - optional: true - '@esbuild/linux-riscv64@0.27.2': optional: true - '@esbuild/linux-s390x@0.18.20': - optional: true - - '@esbuild/linux-s390x@0.25.12': - optional: true - '@esbuild/linux-s390x@0.27.2': optional: true - '@esbuild/linux-x64@0.18.20': - optional: true - - '@esbuild/linux-x64@0.25.12': - optional: true - '@esbuild/linux-x64@0.27.2': optional: true - '@esbuild/netbsd-arm64@0.25.12': - optional: true - '@esbuild/netbsd-arm64@0.27.2': optional: true - '@esbuild/netbsd-x64@0.18.20': - optional: true - - '@esbuild/netbsd-x64@0.25.12': - optional: true - '@esbuild/netbsd-x64@0.27.2': optional: true - '@esbuild/openbsd-arm64@0.25.12': - optional: true - '@esbuild/openbsd-arm64@0.27.2': optional: true - '@esbuild/openbsd-x64@0.18.20': - optional: true - - '@esbuild/openbsd-x64@0.25.12': - optional: true - '@esbuild/openbsd-x64@0.27.2': optional: true - '@esbuild/openharmony-arm64@0.25.12': - optional: true - '@esbuild/openharmony-arm64@0.27.2': optional: true - '@esbuild/sunos-x64@0.18.20': - optional: true - - '@esbuild/sunos-x64@0.25.12': - optional: true - '@esbuild/sunos-x64@0.27.2': optional: true - '@esbuild/win32-arm64@0.18.20': - optional: true - - '@esbuild/win32-arm64@0.25.12': - optional: true - '@esbuild/win32-arm64@0.27.2': optional: true - '@esbuild/win32-ia32@0.18.20': - optional: true - - '@esbuild/win32-ia32@0.25.12': - optional: true - '@esbuild/win32-ia32@0.27.2': optional: true - '@esbuild/win32-x64@0.18.20': - optional: true - - '@esbuild/win32-x64@0.25.12': - optional: true - '@esbuild/win32-x64@0.27.2': optional: true @@ -2556,70 +1835,6 @@ snapshots: '@jscad/array-utils': 2.1.4 '@jscad/modeling': 2.12.6 - '@libsql/client@0.15.15': - dependencies: - '@libsql/core': 0.15.15 - '@libsql/hrana-client': 0.7.0 - js-base64: 3.7.8 - libsql: 0.5.22 - promise-limit: 2.7.0 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - '@libsql/core@0.15.15': - dependencies: - js-base64: 3.7.8 - - '@libsql/darwin-arm64@0.5.22': - optional: true - - '@libsql/darwin-x64@0.5.22': - optional: true - - '@libsql/hrana-client@0.7.0': - dependencies: - '@libsql/isomorphic-fetch': 0.3.1 - '@libsql/isomorphic-ws': 0.1.5 - js-base64: 3.7.8 - node-fetch: 3.3.2 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - '@libsql/isomorphic-fetch@0.3.1': {} - - '@libsql/isomorphic-ws@0.1.5': - dependencies: - '@types/ws': 8.18.1 - ws: 8.19.0 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - '@libsql/linux-arm-gnueabihf@0.5.22': - optional: true - - '@libsql/linux-arm-musleabihf@0.5.22': - optional: true - - '@libsql/linux-arm64-gnu@0.5.22': - optional: true - - '@libsql/linux-arm64-musl@0.5.22': - optional: true - - '@libsql/linux-x64-gnu@0.5.22': - optional: true - - '@libsql/linux-x64-musl@0.5.22': - optional: true - - '@libsql/win32-x64-msvc@0.5.22': - optional: true - - '@neon-rs/load@0.0.4': {} - '@playwright/test@1.57.0': dependencies: playwright: 1.57.0 @@ -2819,11 +2034,6 @@ snapshots: '@tailwindcss/oxide-win32-arm64-msvc': 4.1.18 '@tailwindcss/oxide-win32-x64-msvc': 4.1.18 - '@tailwindcss/typography@0.5.19(tailwindcss@4.1.18)': - dependencies: - postcss-selector-parser: 6.0.10 - tailwindcss: 4.1.18 - '@tailwindcss/vite@4.1.18(vite@7.3.0(@types/node@22.19.3)(jiti@2.6.1)(lightningcss@1.30.2))': dependencies: '@tailwindcss/node': 4.1.18 @@ -2894,10 +2104,6 @@ snapshots: '@types/webxr@0.5.24': {} - '@types/ws@8.18.1': - dependencies: - '@types/node': 22.19.3 - '@typescript-eslint/eslint-plugin@8.52.0(@typescript-eslint/parser@8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@eslint-community/regexpp': 4.12.2 @@ -3032,8 +2238,6 @@ snapshots: dependencies: balanced-match: 1.0.2 - buffer-from@1.1.2: {} - callsites@3.1.0: {} camera-controls@3.1.2(three@0.170.0): @@ -3089,8 +2293,6 @@ snapshots: cssesc@3.0.0: {} - data-uri-to-buffer@4.0.1: {} - debug@4.4.3: dependencies: ms: 2.1.3 @@ -3099,8 +2301,6 @@ snapshots: deepmerge@4.3.1: {} - detect-libc@2.0.2: {} - detect-libc@2.1.2: {} devalue@5.6.1: {} @@ -3112,19 +2312,6 @@ snapshots: '@types/trusted-types': 2.0.7 optional: true - drizzle-kit@0.31.8: - dependencies: - '@drizzle-team/brocli': 0.10.2 - '@esbuild-kit/esm-loader': 2.6.5 - esbuild: 0.25.12 - esbuild-register: 3.6.0(esbuild@0.25.12) - transitivePeerDependencies: - - supports-color - - drizzle-orm@0.45.1(@libsql/client@0.15.15): - optionalDependencies: - '@libsql/client': 0.15.15 - earcut@2.2.4: {} enhanced-resolve@5.18.4: @@ -3132,67 +2319,6 @@ snapshots: graceful-fs: 4.2.11 tapable: 2.3.0 - esbuild-register@3.6.0(esbuild@0.25.12): - dependencies: - debug: 4.4.3 - esbuild: 0.25.12 - transitivePeerDependencies: - - supports-color - - esbuild@0.18.20: - optionalDependencies: - '@esbuild/android-arm': 0.18.20 - '@esbuild/android-arm64': 0.18.20 - '@esbuild/android-x64': 0.18.20 - '@esbuild/darwin-arm64': 0.18.20 - '@esbuild/darwin-x64': 0.18.20 - '@esbuild/freebsd-arm64': 0.18.20 - '@esbuild/freebsd-x64': 0.18.20 - '@esbuild/linux-arm': 0.18.20 - '@esbuild/linux-arm64': 0.18.20 - '@esbuild/linux-ia32': 0.18.20 - '@esbuild/linux-loong64': 0.18.20 - '@esbuild/linux-mips64el': 0.18.20 - '@esbuild/linux-ppc64': 0.18.20 - '@esbuild/linux-riscv64': 0.18.20 - '@esbuild/linux-s390x': 0.18.20 - '@esbuild/linux-x64': 0.18.20 - '@esbuild/netbsd-x64': 0.18.20 - '@esbuild/openbsd-x64': 0.18.20 - '@esbuild/sunos-x64': 0.18.20 - '@esbuild/win32-arm64': 0.18.20 - '@esbuild/win32-ia32': 0.18.20 - '@esbuild/win32-x64': 0.18.20 - - esbuild@0.25.12: - optionalDependencies: - '@esbuild/aix-ppc64': 0.25.12 - '@esbuild/android-arm': 0.25.12 - '@esbuild/android-arm64': 0.25.12 - '@esbuild/android-x64': 0.25.12 - '@esbuild/darwin-arm64': 0.25.12 - '@esbuild/darwin-x64': 0.25.12 - '@esbuild/freebsd-arm64': 0.25.12 - '@esbuild/freebsd-x64': 0.25.12 - '@esbuild/linux-arm': 0.25.12 - '@esbuild/linux-arm64': 0.25.12 - '@esbuild/linux-ia32': 0.25.12 - '@esbuild/linux-loong64': 0.25.12 - '@esbuild/linux-mips64el': 0.25.12 - '@esbuild/linux-ppc64': 0.25.12 - '@esbuild/linux-riscv64': 0.25.12 - '@esbuild/linux-s390x': 0.25.12 - '@esbuild/linux-x64': 0.25.12 - '@esbuild/netbsd-arm64': 0.25.12 - '@esbuild/netbsd-x64': 0.25.12 - '@esbuild/openbsd-arm64': 0.25.12 - '@esbuild/openbsd-x64': 0.25.12 - '@esbuild/openharmony-arm64': 0.25.12 - '@esbuild/sunos-x64': 0.25.12 - '@esbuild/win32-arm64': 0.25.12 - '@esbuild/win32-ia32': 0.25.12 - '@esbuild/win32-x64': 0.25.12 - esbuild@0.27.2: optionalDependencies: '@esbuild/aix-ppc64': 0.27.2 @@ -3336,11 +2462,6 @@ snapshots: optionalDependencies: picomatch: 4.0.3 - fetch-blob@3.2.0: - dependencies: - node-domexception: 1.0.0 - web-streams-polyfill: 3.3.3 - fflate@0.8.2: {} file-entry-cache@8.0.0: @@ -3361,20 +2482,12 @@ snapshots: font-family-papandreou@0.2.0-patch2: {} - formdata-polyfill@4.0.10: - dependencies: - fetch-blob: 3.2.0 - fsevents@2.3.2: optional: true fsevents@2.3.3: optional: true - get-tsconfig@4.13.0: - dependencies: - resolve-pkg-maps: 1.0.0 - glob-parent@6.0.2: dependencies: is-glob: 4.0.3 @@ -3422,8 +2535,6 @@ snapshots: jiti@2.6.1: {} - js-base64@3.7.8: {} - js-yaml@4.1.1: dependencies: argparse: 2.0.1 @@ -3458,21 +2569,6 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 - libsql@0.5.22: - dependencies: - '@neon-rs/load': 0.0.4 - detect-libc: 2.0.2 - optionalDependencies: - '@libsql/darwin-arm64': 0.5.22 - '@libsql/darwin-x64': 0.5.22 - '@libsql/linux-arm-gnueabihf': 0.5.22 - '@libsql/linux-arm-musleabihf': 0.5.22 - '@libsql/linux-arm64-gnu': 0.5.22 - '@libsql/linux-arm64-musl': 0.5.22 - '@libsql/linux-x64-gnu': 0.5.22 - '@libsql/linux-x64-musl': 0.5.22 - '@libsql/win32-x64-msvc': 0.5.22 - lightningcss-android-arm64@1.30.2: optional: true @@ -3565,14 +2661,6 @@ snapshots: natural-compare@1.4.0: {} - node-domexception@1.0.0: {} - - node-fetch@3.3.2: - dependencies: - data-uri-to-buffer: 4.0.1 - fetch-blob: 3.2.0 - formdata-polyfill: 4.0.10 - optionator@0.9.4: dependencies: deep-is: 0.1.4 @@ -3636,11 +2724,6 @@ snapshots: dependencies: postcss: 8.5.6 - postcss-selector-parser@6.0.10: - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - postcss-selector-parser@7.1.1: dependencies: cssesc: 3.0.0 @@ -3667,8 +2750,6 @@ snapshots: prettier@3.7.4: {} - promise-limit@2.7.0: {} - punycode@2.3.1: {} raf@3.4.1: @@ -3685,8 +2766,6 @@ snapshots: resolve-from@4.0.0: {} - resolve-pkg-maps@1.0.0: {} - rgbcolor@1.0.1: optional: true @@ -3753,13 +2832,6 @@ snapshots: source-map-js@1.2.1: {} - source-map-support@0.5.21: - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - - source-map@0.6.1: {} - specificity@0.4.1: {} stackblur-canvas@2.7.0: @@ -3941,8 +3013,6 @@ snapshots: optionalDependencies: vite: 7.3.0(@types/node@22.19.3)(jiti@2.6.1)(lightningcss@1.30.2) - web-streams-polyfill@3.3.3: {} - webgl-sdf-generator@1.1.1: {} which@2.0.2: @@ -3951,8 +3021,6 @@ snapshots: word-wrap@1.2.5: {} - ws@8.19.0: {} - yaml@1.10.2: {} yocto-queue@0.1.0: {} diff --git a/src/lib/server/db/index.ts b/src/lib/server/db/index.ts deleted file mode 100644 index e251319..0000000 --- a/src/lib/server/db/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { dev } from '$app/environment'; -import { drizzle } from 'drizzle-orm/libsql'; -import { createClient } from '@libsql/client'; -import * as schema from './schema'; -import { env } from '$env/dynamic/private'; - -if (!env.DATABASE_URL) throw new Error('DATABASE_URL is not set'); -if (!dev && !env.DATABASE_AUTH_TOKEN) throw new Error('DATABASE_AUTH_TOKEN is not set'); - -const client = createClient({ url: env.DATABASE_URL, authToken: env.DATABASE_AUTH_TOKEN }); - -export const db = drizzle(client, { schema }); diff --git a/src/lib/server/db/schema.ts b/src/lib/server/db/schema.ts deleted file mode 100644 index eff35fe..0000000 --- a/src/lib/server/db/schema.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { integer, sqliteTable, text } from 'drizzle-orm/sqlite-core'; - -export const user = sqliteTable('user', { - id: text('id') - .primaryKey() - .$defaultFn(() => crypto.randomUUID()), - age: integer('age') -}); diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 544739c..cea419f 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -318,12 +318,12 @@
-

Boardgame Slayer

by +

Counter Slayer

by Dave Snider
diff --git a/src/routes/layout.css b/src/routes/layout.css index cd67023..ffb96a1 100644 --- a/src/routes/layout.css +++ b/src/routes/layout.css @@ -1,3 +1,2 @@ @import 'tailwindcss'; @plugin '@tailwindcss/forms'; -@plugin '@tailwindcss/typography'; From 349131fc1231ebc022ab23d9b0ba5dc6ebf7ce44 Mon Sep 17 00:00:00 2001 From: Dave Snider Date: Wed, 18 Feb 2026 12:35:48 -0500 Subject: [PATCH 2/7] cleanup --- .github/workflows/ci.yml | 2 +- Dockerfile | 2 +- README.md | 39 ++++----------------------------------- 3 files changed, 6 insertions(+), 37 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 047de9d..7f074a5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,7 +20,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 22 cache: pnpm - name: Install dependencies diff --git a/Dockerfile b/Dockerfile index ada6e2d..39c0a1d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ # syntax=docker/dockerfile:1 -ARG NODE_VERSION=20 +ARG NODE_VERSION=22 FROM node:${NODE_VERSION}-slim AS build WORKDIR /app diff --git a/README.md b/README.md index 75842c4..ba9fcaf 100644 --- a/README.md +++ b/README.md @@ -1,38 +1,7 @@ -# sv +# Content Slayer -Everything you need to build a Svelte project, powered by [`sv`](https://github.com/sveltejs/cli). +Content Slayer is a small application to help you build box and tray inserts for your war games. -## Creating a project +## Contributing -If you're seeing this, you've probably already done this step. Congrats! - -```sh -# create a new project in the current directory -npx sv create - -# create a new project in my-app -npx sv create my-app -``` - -## Developing - -Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server: - -```sh -npm run dev - -# or start the server and open the app in a new browser tab -npm run dev -- --open -``` - -## Building - -To create a production version of your app: - -```sh -npm run build -``` - -You can preview the production build with `npm run preview`. - -> To deploy your app, you may need to install an [adapter](https://svelte.dev/docs/kit/adapters) for your target environment. +Feel free to create a PR to contribute code changes or add a new game to the prebuilt trays. You can find these in [`static/projects`](https://github.com/Siege-Perilous/counterslayer/tree/main/static/projects). From 6febbda217d001f5791f79cf21d253f34078a8fe Mon Sep 17 00:00:00 2001 From: Dave Snider Date: Wed, 18 Feb 2026 12:38:09 -0500 Subject: [PATCH 3/7] cleanup --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ba9fcaf..928d6a0 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Content Slayer -Content Slayer is a small application to help you build box and tray inserts for your war games. +Content Slayer is a small Svelte / JSCad application to help you build box and tray inserts for your war games. Code quality isn't so hot, as it was mostly vibe-coded with Claude. ## Contributing From efad43135fd4743670549661a3c7d59000774de5 Mon Sep 17 00:00:00 2001 From: Dave Snider Date: Wed, 18 Feb 2026 12:41:13 -0500 Subject: [PATCH 4/7] prettier --- src/routes/+page.svelte | 232 +++++++++++++++++++++++----------------- 1 file changed, 133 insertions(+), 99 deletions(-) diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index cea419f..af78653 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -316,14 +316,32 @@
-
+
-

Counter Slayer

by - Dave Snider +

Counter Slayer

+ by + Dave Snider
@@ -362,7 +380,8 @@ {#each viewModes as { mode, label } (mode)} -
-
- {#if communityProjects.length > 0} -
- - -
- {/if} - - - -
- - - -
- -
- {/if} +
+ {#if communityProjects.length > 0} +
+ + +
+ {/if} + + + +
+ + + +
+ +
+ {/if}
From 9679812e33815aafe350caf4b420a6457ff885e7 Mon Sep 17 00:00:00 2001 From: Dave Snider Date: Wed, 18 Feb 2026 12:50:46 -0500 Subject: [PATCH 5/7] org in ci --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7f074a5..3f1eb73 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -50,3 +50,4 @@ jobs: with: name: pr-${{ github.event.pull_request.number }}-counterslayer config: fly.dev.toml + org: siege-perilous From 22fca47a7e17e94b6b0b66e64a4cc10d03a0dd42 Mon Sep 17 00:00:00 2001 From: Dave Snider Date: Wed, 18 Feb 2026 12:55:15 -0500 Subject: [PATCH 6/7] preview for pr --- .github/workflows/ci.yml | 57 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3f1eb73..3ade611 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -4,6 +4,10 @@ on: pull_request: branches: [main] +permissions: + contents: read + pull-requests: write + jobs: lint-and-check: runs-on: ubuntu-latest @@ -45,9 +49,62 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - name: Find existing comment + uses: peter-evans/find-comment@v3 + id: fc + with: + issue-number: ${{ github.event.pull_request.number }} + comment-author: 'github-actions[bot]' + body-includes: '' + + - name: Create or update comment (deploying) + uses: peter-evans/create-or-update-comment@v3 + with: + comment-id: ${{ steps.fc.outputs.comment-id }} + issue-number: ${{ github.event.pull_request.number }} + edit-mode: replace + body: | + + ### Fly Preview Deployment - In Progress :rocket: + + Deploying preview to [Fly.io](https://fly.io/apps/pr-${{ github.event.pull_request.number }}-counterslayer/monitoring)... + - name: Deploy preview uses: superfly/fly-pr-review-apps@1.3.0 with: name: pr-${{ github.event.pull_request.number }}-counterslayer config: fly.dev.toml org: siege-perilous + + - name: Find comment after deploy + uses: peter-evans/find-comment@v3 + id: fc2 + with: + issue-number: ${{ github.event.pull_request.number }} + comment-author: 'github-actions[bot]' + body-includes: '' + + - name: Update comment (success) + uses: peter-evans/create-or-update-comment@v3 + with: + comment-id: ${{ steps.fc2.outputs.comment-id }} + issue-number: ${{ github.event.pull_request.number }} + edit-mode: replace + body: | + + ### Fly Preview Deployment - Completed :white_check_mark: + + - [Preview](https://pr-${{ github.event.pull_request.number }}-counterslayer.fly.dev) - [Fly Dashboard](https://fly.io/apps/pr-${{ github.event.pull_request.number }}-counterslayer/monitoring) + + - name: Update comment (failure) + if: failure() + uses: peter-evans/create-or-update-comment@v3 + with: + comment-id: ${{ steps.fc2.outputs.comment-id }} + issue-number: ${{ github.event.pull_request.number }} + edit-mode: replace + body: | + + ### Fly Preview Deployment - Failed :x: + + Check the [workflow logs](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) for details. From c811b735bacf4433401004a5bb579b8e4e2982bb Mon Sep 17 00:00:00 2001 From: Dave Snider Date: Wed, 18 Feb 2026 12:56:40 -0500 Subject: [PATCH 7/7] more cleanup --- analyze_stl.py | 108 ------------------------------------------------ box_example.stl | Bin 299284 -> 0 bytes 2 files changed, 108 deletions(-) delete mode 100644 analyze_stl.py delete mode 100644 box_example.stl diff --git a/analyze_stl.py b/analyze_stl.py deleted file mode 100644 index c351f07..0000000 --- a/analyze_stl.py +++ /dev/null @@ -1,108 +0,0 @@ -#!/usr/bin/env python3 -"""Analyze box_example.stl to extract rail/channel geometry.""" - -import numpy as np -from stl import mesh -import sys - -filename = sys.argv[1] if len(sys.argv) > 1 else 'box_example.stl' -print(f"Analyzing: {filename}\n") - -stl_mesh = mesh.Mesh.from_file(filename) -all_points = stl_mesh.vectors.reshape(-1, 3) -unique_points = np.unique(all_points, axis=0) - -x_min, y_min, z_min = unique_points.min(axis=0) -x_max, y_max, z_max = unique_points.max(axis=0) - -print(f"=== OVERALL DIMENSIONS ===") -print(f"X: {x_min:.1f} to {x_max:.1f} (width: {x_max-x_min:.1f})") -print(f"Y: {y_min:.1f} to {y_max:.1f} (depth: {y_max-y_min:.1f})") -print(f"Z: {z_min:.1f} to {z_max:.1f} (height: {z_max-z_min:.1f})") - -# Focus on the symmetric region around Y=0 (the lid channel area) -# The box depth is ~97mm, so Y ranges from -48.4 to +48.4 (symmetric) - -print(f"\n=== CROSS-SECTION ALONG Y (at X=0, varying Z) ===") -# Get points near X=0 to see the Y-Z cross section -x_center_pts = unique_points[np.abs(unique_points[:,0]) < 2] -for z in np.linspace(z_max, z_min, 8): - pts = x_center_pts[np.abs(x_center_pts[:,2] - z) < 0.5] - if len(pts) > 0: - y_vals = sorted(np.unique(np.round(pts[:,1], 0))) - print(f"Z={z:6.1f}: Y boundaries = {y_vals[:3] if len(y_vals) > 3 else y_vals} ... {y_vals[-3:] if len(y_vals) > 3 else ''}") - -print(f"\n=== WALL STRUCTURE (looking at Y boundaries at different Z) ===") -# The structure should be: -# - At bottom: outer walls at Y = ±48.4 (full width) -# - Somewhere up: walls step IN to create the channel -# - Inner rail at some Y position - -for z in [z_min, z_min + 2, z_min + 4, z_min + 6, z_max - 4, z_max - 2, z_max]: - pts = unique_points[np.abs(unique_points[:,2] - z) < 0.3] - if len(pts) > 0: - y_min_z = pts[:,1].min() - y_max_z = pts[:,1].max() - # Also find any "inner" Y boundaries - y_unique = sorted(np.unique(np.round(pts[:,1], 0))) - inner_y = [y for y in y_unique if abs(y) < 45 and abs(y) > 20] - print(f"Z={z:6.1f}: outer Y=[{y_min_z:.1f}, {y_max_z:.1f}], inner Y candidates: {inner_y[:6] if len(inner_y) > 6 else inner_y}") - -print(f"\n=== DETAILED Y ANALYSIS AT KEY Z LEVELS ===") - -# At bottom (Z = z_min): should see floor + outer walls starting -z = z_min + 0.5 -pts = unique_points[np.abs(unique_points[:,2] - z) < 0.5] -y_vals = sorted(set(round(y, 1) for y in pts[:,1])) -print(f"Z={z:.1f} (near bottom): Y values count={len(y_vals)}") -print(f" Outer: {y_vals[:3]} ... {y_vals[-3:]}") - -# Just above floor (Z = z_min + 2): should see ledge -z = z_min + 2 -pts = unique_points[np.abs(unique_points[:,2] - z) < 0.5] -y_vals = sorted(set(round(y, 1) for y in pts[:,1])) -print(f"Z={z:.1f} (above floor): Y values count={len(y_vals)}") -# Find gaps in Y values that indicate wall boundaries -if len(y_vals) > 10: - gaps = [] - for i in range(1, len(y_vals)): - if y_vals[i] - y_vals[i-1] > 3: - gaps.append((y_vals[i-1], y_vals[i])) - print(f" Gaps (wall boundaries): {gaps}") - -# At top (Z = z_max): should see top of inner rails -z = z_max - 0.5 -pts = unique_points[np.abs(unique_points[:,2] - z) < 0.5] -y_vals = sorted(set(round(y, 1) for y in pts[:,1])) -print(f"Z={z:.1f} (near top): Y values count={len(y_vals)}") -print(f" Values: {y_vals[:5]} ... {y_vals[-5:]}") - -print(f"\n=== EXTRACTING KEY DIMENSIONS ===") -# Based on typical box_example structure: -# - Floor thickness: distance from bottom to first interior point -# - Ledge height: height of outer wall before it steps in -# - Channel: gap between outer wall and inner rail -# - Rail width: thickness of inner rail - -# Find the "step" - where outer wall ends and channel begins -# Look for the Z level where Y boundaries change significantly -prev_y_range = None -step_z = None -for z in np.linspace(z_min, z_max, 20): - pts = unique_points[np.abs(unique_points[:,2] - z) < 0.3] - if len(pts) > 0: - y_range = pts[:,1].max() - pts[:,1].min() - if prev_y_range and abs(y_range - prev_y_range) > 5: - step_z = z - print(f"Step detected at Z={z:.1f}: Y range changed from {prev_y_range:.1f} to {y_range:.1f}") - prev_y_range = y_range - -# Analyze the symmetric Y structure -print(f"\n=== Y STRUCTURE (assuming symmetric) ===") -mid_z = (z_min + z_max) / 2 -pts = unique_points[np.abs(unique_points[:,2] - mid_z) < 1] -y_positive = sorted(set(round(y, 1) for y in pts[:,1] if y > 0)) -y_negative = sorted(set(round(y, 1) for y in pts[:,1] if y < 0), reverse=True) -print(f"At Z={mid_z:.1f}:") -print(f" +Y wall positions: {y_positive[-5:]}") -print(f" -Y wall positions: {y_negative[-5:]}") diff --git a/box_example.stl b/box_example.stl deleted file mode 100644 index 27f02a3103a4e1ee86bbb2652cbeeec1ef5be04a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 299284 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