From f8f8145a56be8e9ab59a399b1de94956abfd6f01 Mon Sep 17 00:00:00 2001 From: tommy Date: Tue, 10 Mar 2026 00:40:44 -0400 Subject: [PATCH 01/18] feat: add WASM and WebGL dependencies for replay viewer - Add gl-matrix for WebGL matrix math - Add vite-plugin-wasm for WASM module support - Configure WASM Vite plugin - Fix dev proxy cookie handling for auth sessions Co-Authored-By: Claude Opus 4.6 --- bun.lock | 832 +++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 2 + vite.config.ts | 18 +- 3 files changed, 847 insertions(+), 5 deletions(-) create mode 100644 bun.lock diff --git a/bun.lock b/bun.lock new file mode 100644 index 0000000..20ea76e --- /dev/null +++ b/bun.lock @@ -0,0 +1,832 @@ +{ + "lockfileVersion": 1, + "configVersion": 0, + "workspaces": { + "": { + "name": "offstyles-web", + "dependencies": { + "@headlessui/vue": "^1.7.23", + "@tailwindcss/vite": "^4.1.11", + "gl-matrix": "^3.4.4", + "tailwindcss": "^4.1.11", + "vite-plugin-wasm": "^3.5.0", + "vue": "^3.5.13", + "vue-router": "^4.5.0", + }, + "devDependencies": { + "@tsconfig/node22": "^22.0.1", + "@types/node": "^22.14.0", + "@vitejs/plugin-vue": "^5.2.3", + "@vue/eslint-config-typescript": "^14.5.0", + "@vue/tsconfig": "^0.7.0", + "eslint": "^9.22.0", + "eslint-plugin-vue": "~10.0.0", + "jiti": "^2.4.2", + "npm-run-all2": "^7.0.2", + "typescript": "~5.8.0", + "vite": "^6.2.4", + "vite-plugin-vue-devtools": "^7.7.2", + "vue-tsc": "^2.2.8", + }, + }, + }, + "packages": { + "@ampproject/remapping": ["@ampproject/remapping@2.3.0", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw=="], + + "@antfu/utils": ["@antfu/utils@0.7.10", "", {}, "sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww=="], + + "@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="], + + "@babel/compat-data": ["@babel/compat-data@7.27.5", "", {}, "sha512-KiRAp/VoJaWkkte84TvUd9qjdbZAdiqyvMxrGl1N6vzFogKmaLgoM3L1kgtLicp2HP5fBJS8JrZKLVIZGVJAVg=="], + + "@babel/core": ["@babel/core@7.27.4", "", { "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.27.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.27.3", "@babel/helpers": "^7.27.4", "@babel/parser": "^7.27.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.27.4", "@babel/types": "^7.27.3", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g=="], + + "@babel/generator": ["@babel/generator@7.27.5", "", { "dependencies": { "@babel/parser": "^7.27.5", "@babel/types": "^7.27.3", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" } }, "sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw=="], + + "@babel/helper-annotate-as-pure": ["@babel/helper-annotate-as-pure@7.27.3", "", { "dependencies": { "@babel/types": "^7.27.3" } }, "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg=="], + + "@babel/helper-compilation-targets": ["@babel/helper-compilation-targets@7.27.2", "", { "dependencies": { "@babel/compat-data": "^7.27.2", "@babel/helper-validator-option": "^7.27.1", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" } }, "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ=="], + + "@babel/helper-create-class-features-plugin": ["@babel/helper-create-class-features-plugin@7.27.1", "", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.1", "@babel/helper-member-expression-to-functions": "^7.27.1", "@babel/helper-optimise-call-expression": "^7.27.1", "@babel/helper-replace-supers": "^7.27.1", "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", "@babel/traverse": "^7.27.1", "semver": "^6.3.1" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A=="], + + "@babel/helper-member-expression-to-functions": ["@babel/helper-member-expression-to-functions@7.27.1", "", { "dependencies": { "@babel/traverse": "^7.27.1", "@babel/types": "^7.27.1" } }, "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA=="], + + "@babel/helper-module-imports": ["@babel/helper-module-imports@7.27.1", "", { "dependencies": { "@babel/traverse": "^7.27.1", "@babel/types": "^7.27.1" } }, "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w=="], + + "@babel/helper-module-transforms": ["@babel/helper-module-transforms@7.27.3", "", { "dependencies": { "@babel/helper-module-imports": "^7.27.1", "@babel/helper-validator-identifier": "^7.27.1", "@babel/traverse": "^7.27.3" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg=="], + + "@babel/helper-optimise-call-expression": ["@babel/helper-optimise-call-expression@7.27.1", "", { "dependencies": { "@babel/types": "^7.27.1" } }, "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw=="], + + "@babel/helper-plugin-utils": ["@babel/helper-plugin-utils@7.27.1", "", {}, "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw=="], + + "@babel/helper-replace-supers": ["@babel/helper-replace-supers@7.27.1", "", { "dependencies": { "@babel/helper-member-expression-to-functions": "^7.27.1", "@babel/helper-optimise-call-expression": "^7.27.1", "@babel/traverse": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA=="], + + "@babel/helper-skip-transparent-expression-wrappers": ["@babel/helper-skip-transparent-expression-wrappers@7.27.1", "", { "dependencies": { "@babel/traverse": "^7.27.1", "@babel/types": "^7.27.1" } }, "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg=="], + + "@babel/helper-string-parser": ["@babel/helper-string-parser@7.27.1", "", {}, "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA=="], + + "@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.27.1", "", {}, "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow=="], + + "@babel/helper-validator-option": ["@babel/helper-validator-option@7.27.1", "", {}, "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg=="], + + "@babel/helpers": ["@babel/helpers@7.27.6", "", { "dependencies": { "@babel/template": "^7.27.2", "@babel/types": "^7.27.6" } }, "sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug=="], + + "@babel/parser": ["@babel/parser@7.27.5", "", { "dependencies": { "@babel/types": "^7.27.3" }, "bin": { "parser": "bin/babel-parser.js" } }, "sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg=="], + + "@babel/plugin-proposal-decorators": ["@babel/plugin-proposal-decorators@7.27.1", "", { "dependencies": { "@babel/helper-create-class-features-plugin": "^7.27.1", "@babel/helper-plugin-utils": "^7.27.1", "@babel/plugin-syntax-decorators": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-DTxe4LBPrtFdsWzgpmbBKevg3e9PBy+dXRt19kSbucbZvL2uqtdqwwpluL1jfxYE0wIDTFp1nTy/q6gNLsxXrg=="], + + "@babel/plugin-syntax-decorators": ["@babel/plugin-syntax-decorators@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-YMq8Z87Lhl8EGkmb0MwYkt36QnxC+fzCgrl66ereamPlYToRpIk5nUjKUY3QKLWq8mwUB1BgbeXcTJhZOCDg5A=="], + + "@babel/plugin-syntax-import-attributes": ["@babel/plugin-syntax-import-attributes@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww=="], + + "@babel/plugin-syntax-import-meta": ["@babel/plugin-syntax-import-meta@7.10.4", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g=="], + + "@babel/plugin-syntax-jsx": ["@babel/plugin-syntax-jsx@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w=="], + + "@babel/plugin-syntax-typescript": ["@babel/plugin-syntax-typescript@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ=="], + + "@babel/plugin-transform-typescript": ["@babel/plugin-transform-typescript@7.27.1", "", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.1", "@babel/helper-create-class-features-plugin": "^7.27.1", "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", "@babel/plugin-syntax-typescript": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-Q5sT5+O4QUebHdbwKedFBEwRLb02zJ7r4A5Gg2hUoLuU3FjdMcyqcywqUrLCaDsFCxzokf7u9kuy7qz51YUuAg=="], + + "@babel/template": ["@babel/template@7.27.2", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/parser": "^7.27.2", "@babel/types": "^7.27.1" } }, "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw=="], + + "@babel/traverse": ["@babel/traverse@7.27.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.27.3", "@babel/parser": "^7.27.4", "@babel/template": "^7.27.2", "@babel/types": "^7.27.3", "debug": "^4.3.1", "globals": "^11.1.0" } }, "sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA=="], + + "@babel/types": ["@babel/types@7.27.6", "", { "dependencies": { "@babel/helper-string-parser": "^7.27.1", "@babel/helper-validator-identifier": "^7.27.1" } }, "sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q=="], + + "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.5", "", { "os": "aix", "cpu": "ppc64" }, "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA=="], + + "@esbuild/android-arm": ["@esbuild/android-arm@0.25.5", "", { "os": "android", "cpu": "arm" }, "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA=="], + + "@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.5", "", { "os": "android", "cpu": "arm64" }, "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg=="], + + "@esbuild/android-x64": ["@esbuild/android-x64@0.25.5", "", { "os": "android", "cpu": "x64" }, "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw=="], + + "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.5", "", { "os": "darwin", "cpu": "arm64" }, "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ=="], + + "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.5", "", { "os": "darwin", "cpu": "x64" }, "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ=="], + + "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.5", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw=="], + + "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.5", "", { "os": "freebsd", "cpu": "x64" }, "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw=="], + + "@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.5", "", { "os": "linux", "cpu": "arm" }, "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw=="], + + "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.5", "", { "os": "linux", "cpu": "arm64" }, "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg=="], + + "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.5", "", { "os": "linux", "cpu": "ia32" }, "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA=="], + + "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg=="], + + "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg=="], + + "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.5", "", { "os": "linux", "cpu": "ppc64" }, "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ=="], + + "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA=="], + + "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.5", "", { "os": "linux", "cpu": "s390x" }, "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ=="], + + "@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.5", "", { "os": "linux", "cpu": "x64" }, "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw=="], + + "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.5", "", { "os": "none", "cpu": "arm64" }, "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw=="], + + "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.5", "", { "os": "none", "cpu": "x64" }, "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ=="], + + "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.5", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw=="], + + "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.5", "", { "os": "openbsd", "cpu": "x64" }, "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg=="], + + "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.5", "", { "os": "sunos", "cpu": "x64" }, "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA=="], + + "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw=="], + + "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ=="], + + "@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.5", "", { "os": "win32", "cpu": "x64" }, "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g=="], + + "@eslint-community/eslint-utils": ["@eslint-community/eslint-utils@4.7.0", "", { "dependencies": { "eslint-visitor-keys": "^3.4.3" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw=="], + + "@eslint-community/regexpp": ["@eslint-community/regexpp@4.12.1", "", {}, "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ=="], + + "@eslint/config-array": ["@eslint/config-array@0.20.1", "", { "dependencies": { "@eslint/object-schema": "^2.1.6", "debug": "^4.3.1", "minimatch": "^3.1.2" } }, "sha512-OL0RJzC/CBzli0DrrR31qzj6d6i6Mm3HByuhflhl4LOBiWxN+3i6/t/ZQQNii4tjksXi8r2CRW1wMpWA2ULUEw=="], + + "@eslint/config-helpers": ["@eslint/config-helpers@0.2.3", "", {}, "sha512-u180qk2Um1le4yf0ruXH3PYFeEZeYC3p/4wCTKrr2U1CmGdzGi3KtY0nuPDH48UJxlKCC5RDzbcbh4X0XlqgHg=="], + + "@eslint/core": ["@eslint/core@0.14.0", "", { "dependencies": { "@types/json-schema": "^7.0.15" } }, "sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg=="], + + "@eslint/eslintrc": ["@eslint/eslintrc@3.3.1", "", { "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^10.0.1", "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" } }, "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ=="], + + "@eslint/js": ["@eslint/js@9.29.0", "", {}, "sha512-3PIF4cBw/y+1u2EazflInpV+lYsSG0aByVIQzAgb1m1MhHFSbqTyNqtBKHgWf/9Ykud+DhILS9EGkmekVhbKoQ=="], + + "@eslint/object-schema": ["@eslint/object-schema@2.1.6", "", {}, "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA=="], + + "@eslint/plugin-kit": ["@eslint/plugin-kit@0.3.2", "", { "dependencies": { "@eslint/core": "^0.15.0", "levn": "^0.4.1" } }, "sha512-4SaFZCNfJqvk/kenHpI8xvN42DMaoycy4PzKc5otHxRswww1kAt82OlBuwRVLofCACCTZEcla2Ydxv8scMXaTg=="], + + "@headlessui/vue": ["@headlessui/vue@1.7.23", "", { "dependencies": { "@tanstack/vue-virtual": "^3.0.0-beta.60" }, "peerDependencies": { "vue": "^3.2.0" } }, "sha512-JzdCNqurrtuu0YW6QaDtR2PIYCKPUWq28csDyMvN4zmGccmE7lz40Is6hc3LA4HFeCI7sekZ/PQMTNmn9I/4Wg=="], + + "@humanfs/core": ["@humanfs/core@0.19.1", "", {}, "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA=="], + + "@humanfs/node": ["@humanfs/node@0.16.6", "", { "dependencies": { "@humanfs/core": "^0.19.1", "@humanwhocodes/retry": "^0.3.0" } }, "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw=="], + + "@humanwhocodes/module-importer": ["@humanwhocodes/module-importer@1.0.1", "", {}, "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA=="], + + "@humanwhocodes/retry": ["@humanwhocodes/retry@0.4.3", "", {}, "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ=="], + + "@isaacs/fs-minipass": ["@isaacs/fs-minipass@4.0.1", "", { "dependencies": { "minipass": "^7.0.4" } }, "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w=="], + + "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.8", "", { "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA=="], + + "@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="], + + "@jridgewell/set-array": ["@jridgewell/set-array@1.2.1", "", {}, "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A=="], + + "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.0", "", {}, "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="], + + "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.25", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ=="], + + "@nodelib/fs.scandir": ["@nodelib/fs.scandir@2.1.5", "", { "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="], + + "@nodelib/fs.stat": ["@nodelib/fs.stat@2.0.5", "", {}, "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="], + + "@nodelib/fs.walk": ["@nodelib/fs.walk@1.2.8", "", { "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="], + + "@polka/url": ["@polka/url@1.0.0-next.29", "", {}, "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww=="], + + "@rollup/pluginutils": ["@rollup/pluginutils@5.1.4", "", { "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", "picomatch": "^4.0.2" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" } }, "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ=="], + + "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.43.0", "", { "os": "android", "cpu": "arm" }, "sha512-Krjy9awJl6rKbruhQDgivNbD1WuLb8xAclM4IR4cN5pHGAs2oIMMQJEiC3IC/9TZJ+QZkmZhlMO/6MBGxPidpw=="], + + "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.43.0", "", { "os": "android", "cpu": "arm64" }, "sha512-ss4YJwRt5I63454Rpj+mXCXicakdFmKnUNxr1dLK+5rv5FJgAxnN7s31a5VchRYxCFWdmnDWKd0wbAdTr0J5EA=="], + + "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.43.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-eKoL8ykZ7zz8MjgBenEF2OoTNFAPFz1/lyJ5UmmFSz5jW+7XbH1+MAgCVHy72aG59rbuQLcJeiMrP8qP5d/N0A=="], + + "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.43.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-SYwXJgaBYW33Wi/q4ubN+ldWC4DzQY62S4Ll2dgfr/dbPoF50dlQwEaEHSKrQdSjC6oIe1WgzosoaNoHCdNuMg=="], + + "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.43.0", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-SV+U5sSo0yujrjzBF7/YidieK2iF6E7MdF6EbYxNz94lA+R0wKl3SiixGyG/9Klab6uNBIqsN7j4Y/Fya7wAjQ=="], + + "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.43.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-J7uCsiV13L/VOeHJBo5SjasKiGxJ0g+nQTrBkAsmQBIdil3KhPnSE9GnRon4ejX1XDdsmK/l30IYLiAaQEO0Cg=="], + + "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.43.0", "", { "os": "linux", "cpu": "arm" }, "sha512-gTJ/JnnjCMc15uwB10TTATBEhK9meBIY+gXP4s0sHD1zHOaIh4Dmy1X9wup18IiY9tTNk5gJc4yx9ctj/fjrIw=="], + + "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.43.0", "", { "os": "linux", "cpu": "arm" }, "sha512-ZJ3gZynL1LDSIvRfz0qXtTNs56n5DI2Mq+WACWZ7yGHFUEirHBRt7fyIk0NsCKhmRhn7WAcjgSkSVVxKlPNFFw=="], + + "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.43.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-8FnkipasmOOSSlfucGYEu58U8cxEdhziKjPD2FIa0ONVMxvl/hmONtX/7y4vGjdUhjcTHlKlDhw3H9t98fPvyA=="], + + "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.43.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-KPPyAdlcIZ6S9C3S2cndXDkV0Bb1OSMsX0Eelr2Bay4EsF9yi9u9uzc9RniK3mcUGCLhWY9oLr6er80P5DE6XA=="], + + "@rollup/rollup-linux-loongarch64-gnu": ["@rollup/rollup-linux-loongarch64-gnu@4.43.0", "", { "os": "linux", "cpu": "none" }, "sha512-HPGDIH0/ZzAZjvtlXj6g+KDQ9ZMHfSP553za7o2Odegb/BEfwJcR0Sw0RLNpQ9nC6Gy8s+3mSS9xjZ0n3rhcYg=="], + + "@rollup/rollup-linux-powerpc64le-gnu": ["@rollup/rollup-linux-powerpc64le-gnu@4.43.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-gEmwbOws4U4GLAJDhhtSPWPXUzDfMRedT3hFMyRAvM9Mrnj+dJIFIeL7otsv2WF3D7GrV0GIewW0y28dOYWkmw=="], + + "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.43.0", "", { "os": "linux", "cpu": "none" }, "sha512-XXKvo2e+wFtXZF/9xoWohHg+MuRnvO29TI5Hqe9xwN5uN8NKUYy7tXUG3EZAlfchufNCTHNGjEx7uN78KsBo0g=="], + + "@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.43.0", "", { "os": "linux", "cpu": "none" }, "sha512-ruf3hPWhjw6uDFsOAzmbNIvlXFXlBQ4nk57Sec8E8rUxs/AI4HD6xmiiasOOx/3QxS2f5eQMKTAwk7KHwpzr/Q=="], + + "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.43.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-QmNIAqDiEMEvFV15rsSnjoSmO0+eJLoKRD9EAa9rrYNwO/XRCtOGM3A5A0X+wmG+XRrw9Fxdsw+LnyYiZWWcVw=="], + + "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.43.0", "", { "os": "linux", "cpu": "x64" }, "sha512-jAHr/S0iiBtFyzjhOkAics/2SrXE092qyqEg96e90L3t9Op8OTzS6+IX0Fy5wCt2+KqeHAkti+eitV0wvblEoQ=="], + + "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.43.0", "", { "os": "linux", "cpu": "x64" }, "sha512-3yATWgdeXyuHtBhrLt98w+5fKurdqvs8B53LaoKD7P7H7FKOONLsBVMNl9ghPQZQuYcceV5CDyPfyfGpMWD9mQ=="], + + "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.43.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-wVzXp2qDSCOpcBCT5WRWLmpJRIzv23valvcTwMHEobkjippNf+C3ys/+wf07poPkeNix0paTNemB2XrHr2TnGw=="], + + "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.43.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-fYCTEyzf8d+7diCw8b+asvWDCLMjsCEA8alvtAutqJOJp/wL5hs1rWSqJ1vkjgW0L2NB4bsYJrpKkiIPRR9dvw=="], + + "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.43.0", "", { "os": "win32", "cpu": "x64" }, "sha512-SnGhLiE5rlK0ofq8kzuDkM0g7FN1s5VYY+YSMTibP7CqShxCQvqtNxTARS4xX4PFJfHjG0ZQYX9iGzI3FQh5Aw=="], + + "@sec-ant/readable-stream": ["@sec-ant/readable-stream@0.4.1", "", {}, "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg=="], + + "@sindresorhus/merge-streams": ["@sindresorhus/merge-streams@4.0.0", "", {}, "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ=="], + + "@tailwindcss/node": ["@tailwindcss/node@4.1.11", "", { "dependencies": { "@ampproject/remapping": "^2.3.0", "enhanced-resolve": "^5.18.1", "jiti": "^2.4.2", "lightningcss": "1.30.1", "magic-string": "^0.30.17", "source-map-js": "^1.2.1", "tailwindcss": "4.1.11" } }, "sha512-yzhzuGRmv5QyU9qLNg4GTlYI6STedBWRE7NjxP45CsFYYq9taI0zJXZBMqIC/c8fViNLhmrbpSFS57EoxUmD6Q=="], + + "@tailwindcss/oxide": ["@tailwindcss/oxide@4.1.11", "", { "dependencies": { "detect-libc": "^2.0.4", "tar": "^7.4.3" }, "optionalDependencies": { "@tailwindcss/oxide-android-arm64": "4.1.11", "@tailwindcss/oxide-darwin-arm64": "4.1.11", "@tailwindcss/oxide-darwin-x64": "4.1.11", "@tailwindcss/oxide-freebsd-x64": "4.1.11", "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.11", "@tailwindcss/oxide-linux-arm64-gnu": "4.1.11", "@tailwindcss/oxide-linux-arm64-musl": "4.1.11", "@tailwindcss/oxide-linux-x64-gnu": "4.1.11", "@tailwindcss/oxide-linux-x64-musl": "4.1.11", "@tailwindcss/oxide-wasm32-wasi": "4.1.11", "@tailwindcss/oxide-win32-arm64-msvc": "4.1.11", "@tailwindcss/oxide-win32-x64-msvc": "4.1.11" } }, "sha512-Q69XzrtAhuyfHo+5/HMgr1lAiPP/G40OMFAnws7xcFEYqcypZmdW8eGXaOUIeOl1dzPJBPENXgbjsOyhg2nkrg=="], + + "@tailwindcss/oxide-android-arm64": ["@tailwindcss/oxide-android-arm64@4.1.11", "", { "os": "android", "cpu": "arm64" }, "sha512-3IfFuATVRUMZZprEIx9OGDjG3Ou3jG4xQzNTvjDoKmU9JdmoCohQJ83MYd0GPnQIu89YoJqvMM0G3uqLRFtetg=="], + + "@tailwindcss/oxide-darwin-arm64": ["@tailwindcss/oxide-darwin-arm64@4.1.11", "", { "os": "darwin", "cpu": "arm64" }, "sha512-ESgStEOEsyg8J5YcMb1xl8WFOXfeBmrhAwGsFxxB2CxY9evy63+AtpbDLAyRkJnxLy2WsD1qF13E97uQyP1lfQ=="], + + "@tailwindcss/oxide-darwin-x64": ["@tailwindcss/oxide-darwin-x64@4.1.11", "", { "os": "darwin", "cpu": "x64" }, "sha512-EgnK8kRchgmgzG6jE10UQNaH9Mwi2n+yw1jWmof9Vyg2lpKNX2ioe7CJdf9M5f8V9uaQxInenZkOxnTVL3fhAw=="], + + "@tailwindcss/oxide-freebsd-x64": ["@tailwindcss/oxide-freebsd-x64@4.1.11", "", { "os": "freebsd", "cpu": "x64" }, "sha512-xdqKtbpHs7pQhIKmqVpxStnY1skuNh4CtbcyOHeX1YBE0hArj2romsFGb6yUmzkq/6M24nkxDqU8GYrKrz+UcA=="], + + "@tailwindcss/oxide-linux-arm-gnueabihf": ["@tailwindcss/oxide-linux-arm-gnueabihf@4.1.11", "", { "os": "linux", "cpu": "arm" }, "sha512-ryHQK2eyDYYMwB5wZL46uoxz2zzDZsFBwfjssgB7pzytAeCCa6glsiJGjhTEddq/4OsIjsLNMAiMlHNYnkEEeg=="], + + "@tailwindcss/oxide-linux-arm64-gnu": ["@tailwindcss/oxide-linux-arm64-gnu@4.1.11", "", { "os": "linux", "cpu": "arm64" }, "sha512-mYwqheq4BXF83j/w75ewkPJmPZIqqP1nhoghS9D57CLjsh3Nfq0m4ftTotRYtGnZd3eCztgbSPJ9QhfC91gDZQ=="], + + "@tailwindcss/oxide-linux-arm64-musl": ["@tailwindcss/oxide-linux-arm64-musl@4.1.11", "", { "os": "linux", "cpu": "arm64" }, "sha512-m/NVRFNGlEHJrNVk3O6I9ggVuNjXHIPoD6bqay/pubtYC9QIdAMpS+cswZQPBLvVvEF6GtSNONbDkZrjWZXYNQ=="], + + "@tailwindcss/oxide-linux-x64-gnu": ["@tailwindcss/oxide-linux-x64-gnu@4.1.11", "", { "os": "linux", "cpu": "x64" }, "sha512-YW6sblI7xukSD2TdbbaeQVDysIm/UPJtObHJHKxDEcW2exAtY47j52f8jZXkqE1krdnkhCMGqP3dbniu1Te2Fg=="], + + "@tailwindcss/oxide-linux-x64-musl": ["@tailwindcss/oxide-linux-x64-musl@4.1.11", "", { "os": "linux", "cpu": "x64" }, "sha512-e3C/RRhGunWYNC3aSF7exsQkdXzQ/M+aYuZHKnw4U7KQwTJotnWsGOIVih0s2qQzmEzOFIJ3+xt7iq67K/p56Q=="], + + "@tailwindcss/oxide-wasm32-wasi": ["@tailwindcss/oxide-wasm32-wasi@4.1.11", "", { "cpu": "none" }, "sha512-Xo1+/GU0JEN/C/dvcammKHzeM6NqKovG+6921MR6oadee5XPBaKOumrJCXvopJ/Qb5TH7LX/UAywbqrP4lax0g=="], + + "@tailwindcss/oxide-win32-arm64-msvc": ["@tailwindcss/oxide-win32-arm64-msvc@4.1.11", "", { "os": "win32", "cpu": "arm64" }, "sha512-UgKYx5PwEKrac3GPNPf6HVMNhUIGuUh4wlDFR2jYYdkX6pL/rn73zTq/4pzUm8fOjAn5L8zDeHp9iXmUGOXZ+w=="], + + "@tailwindcss/oxide-win32-x64-msvc": ["@tailwindcss/oxide-win32-x64-msvc@4.1.11", "", { "os": "win32", "cpu": "x64" }, "sha512-YfHoggn1j0LK7wR82TOucWc5LDCguHnoS879idHekmmiR7g9HUtMw9MI0NHatS28u/Xlkfi9w5RJWgz2Dl+5Qg=="], + + "@tailwindcss/vite": ["@tailwindcss/vite@4.1.11", "", { "dependencies": { "@tailwindcss/node": "4.1.11", "@tailwindcss/oxide": "4.1.11", "tailwindcss": "4.1.11" }, "peerDependencies": { "vite": "^5.2.0 || ^6 || ^7" } }, "sha512-RHYhrR3hku0MJFRV+fN2gNbDNEh3dwKvY8XJvTxCSXeMOsCRSr+uKvDWQcbizrHgjML6ZmTE5OwMrl5wKcujCw=="], + + "@tanstack/virtual-core": ["@tanstack/virtual-core@3.13.10", "", {}, "sha512-sPEDhXREou5HyZYqSWIqdU580rsF6FGeN7vpzijmP3KTiOGjOMZASz4Y6+QKjiFQwhWrR58OP8izYaNGVxvViA=="], + + "@tanstack/vue-virtual": ["@tanstack/vue-virtual@3.13.10", "", { "dependencies": { "@tanstack/virtual-core": "3.13.10" }, "peerDependencies": { "vue": "^2.7.0 || ^3.0.0" } }, "sha512-1UZmUiMNyKxQ1JFPtO3rfRmK7IuLYwfj/foPC7FVWj6yHand4ry5joFh8LQ1Ckm7Dfe/08cv6LKZNc4WYj7hxQ=="], + + "@tsconfig/node22": ["@tsconfig/node22@22.0.2", "", {}, "sha512-Kmwj4u8sDRDrMYRoN9FDEcXD8UpBSaPQQ24Gz+Gamqfm7xxn+GBR7ge/Z7pK8OXNGyUzbSwJj+TH6B+DS/epyA=="], + + "@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], + + "@types/json-schema": ["@types/json-schema@7.0.15", "", {}, "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="], + + "@types/node": ["@types/node@22.15.31", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-jnVe5ULKl6tijxUhvQeNbQG/84fHfg+yMak02cT8QVhBx/F05rAVxCGBYYTh2EKz22D6JF5ktXuNwdx7b9iEGw=="], + + "@typescript-eslint/eslint-plugin": ["@typescript-eslint/eslint-plugin@8.34.0", "", { "dependencies": { "@eslint-community/regexpp": "^4.10.0", "@typescript-eslint/scope-manager": "8.34.0", "@typescript-eslint/type-utils": "8.34.0", "@typescript-eslint/utils": "8.34.0", "@typescript-eslint/visitor-keys": "8.34.0", "graphemer": "^1.4.0", "ignore": "^7.0.0", "natural-compare": "^1.4.0", "ts-api-utils": "^2.1.0" }, "peerDependencies": { "@typescript-eslint/parser": "^8.34.0", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-QXwAlHlbcAwNlEEMKQS2RCgJsgXrTJdjXT08xEgbPFa2yYQgVjBymxP5DrfrE7X7iodSzd9qBUHUycdyVJTW1w=="], + + "@typescript-eslint/parser": ["@typescript-eslint/parser@8.34.0", "", { "dependencies": { "@typescript-eslint/scope-manager": "8.34.0", "@typescript-eslint/types": "8.34.0", "@typescript-eslint/typescript-estree": "8.34.0", "@typescript-eslint/visitor-keys": "8.34.0", "debug": "^4.3.4" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-vxXJV1hVFx3IXz/oy2sICsJukaBrtDEQSBiV48/YIV5KWjX1dO+bcIr/kCPrW6weKXvsaGKFNlwH0v2eYdRRbA=="], + + "@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.34.0", "", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.34.0", "@typescript-eslint/types": "^8.34.0", "debug": "^4.3.4" }, "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-iEgDALRf970/B2YExmtPMPF54NenZUf4xpL3wsCRx/lgjz6ul/l13R81ozP/ZNuXfnLCS+oPmG7JIxfdNYKELw=="], + + "@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.34.0", "", { "dependencies": { "@typescript-eslint/types": "8.34.0", "@typescript-eslint/visitor-keys": "8.34.0" } }, "sha512-9Ac0X8WiLykl0aj1oYQNcLZjHgBojT6cW68yAgZ19letYu+Hxd0rE0veI1XznSSst1X5lwnxhPbVdwjDRIomRw=="], + + "@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.34.0", "", { "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-+W9VYHKFIzA5cBeooqQxqNriAP0QeQ7xTiDuIOr71hzgffm3EL2hxwWBIIj4GuofIbKxGNarpKqIq6Q6YrShOA=="], + + "@typescript-eslint/type-utils": ["@typescript-eslint/type-utils@8.34.0", "", { "dependencies": { "@typescript-eslint/typescript-estree": "8.34.0", "@typescript-eslint/utils": "8.34.0", "debug": "^4.3.4", "ts-api-utils": "^2.1.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-n7zSmOcUVhcRYC75W2pnPpbO1iwhJY3NLoHEtbJwJSNlVAZuwqu05zY3f3s2SDWWDSo9FdN5szqc73DCtDObAg=="], + + "@typescript-eslint/types": ["@typescript-eslint/types@8.34.0", "", {}, "sha512-9V24k/paICYPniajHfJ4cuAWETnt7Ssy+R0Rbcqo5sSFr3QEZ/8TSoUi9XeXVBGXCaLtwTOKSLGcInCAvyZeMA=="], + + "@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.34.0", "", { "dependencies": { "@typescript-eslint/project-service": "8.34.0", "@typescript-eslint/tsconfig-utils": "8.34.0", "@typescript-eslint/types": "8.34.0", "@typescript-eslint/visitor-keys": "8.34.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", "minimatch": "^9.0.4", "semver": "^7.6.0", "ts-api-utils": "^2.1.0" }, "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-rOi4KZxI7E0+BMqG7emPSK1bB4RICCpF7QD3KCLXn9ZvWoESsOMlHyZPAHyG04ujVplPaHbmEvs34m+wjgtVtg=="], + + "@typescript-eslint/utils": ["@typescript-eslint/utils@8.34.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.7.0", "@typescript-eslint/scope-manager": "8.34.0", "@typescript-eslint/types": "8.34.0", "@typescript-eslint/typescript-estree": "8.34.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-8L4tWatGchV9A1cKbjaavS6mwYwp39jql8xUmIIKJdm+qiaeHy5KMKlBrf30akXAWBzn2SqKsNOtSENWUwg7XQ=="], + + "@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.34.0", "", { "dependencies": { "@typescript-eslint/types": "8.34.0", "eslint-visitor-keys": "^4.2.0" } }, "sha512-qHV7pW7E85A0x6qyrFn+O+q1k1p3tQCsqIZ1KZ5ESLXY57aTvUd3/a4rdPTeXisvhXn2VQG0VSKUqs8KHF2zcA=="], + + "@vitejs/plugin-vue": ["@vitejs/plugin-vue@5.2.4", "", { "peerDependencies": { "vite": "^5.0.0 || ^6.0.0", "vue": "^3.2.25" } }, "sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA=="], + + "@volar/language-core": ["@volar/language-core@2.4.14", "", { "dependencies": { "@volar/source-map": "2.4.14" } }, "sha512-X6beusV0DvuVseaOEy7GoagS4rYHgDHnTrdOj5jeUb49fW5ceQyP9Ej5rBhqgz2wJggl+2fDbbojq1XKaxDi6w=="], + + "@volar/source-map": ["@volar/source-map@2.4.14", "", {}, "sha512-5TeKKMh7Sfxo8021cJfmBzcjfY1SsXsPMMjMvjY7ivesdnybqqS+GxGAoXHAOUawQTwtdUxgP65Im+dEmvWtYQ=="], + + "@volar/typescript": ["@volar/typescript@2.4.14", "", { "dependencies": { "@volar/language-core": "2.4.14", "path-browserify": "^1.0.1", "vscode-uri": "^3.0.8" } }, "sha512-p8Z6f/bZM3/HyCdRNFZOEEzts51uV8WHeN8Tnfnm2EBv6FDB2TQLzfVx7aJvnl8ofKAOnS64B2O8bImBFaauRw=="], + + "@vue/babel-helper-vue-transform-on": ["@vue/babel-helper-vue-transform-on@1.4.0", "", {}, "sha512-mCokbouEQ/ocRce/FpKCRItGo+013tHg7tixg3DUNS+6bmIchPt66012kBMm476vyEIJPafrvOf4E5OYj3shSw=="], + + "@vue/babel-plugin-jsx": ["@vue/babel-plugin-jsx@1.4.0", "", { "dependencies": { "@babel/helper-module-imports": "^7.25.9", "@babel/helper-plugin-utils": "^7.26.5", "@babel/plugin-syntax-jsx": "^7.25.9", "@babel/template": "^7.26.9", "@babel/traverse": "^7.26.9", "@babel/types": "^7.26.9", "@vue/babel-helper-vue-transform-on": "1.4.0", "@vue/babel-plugin-resolve-type": "1.4.0", "@vue/shared": "^3.5.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-9zAHmwgMWlaN6qRKdrg1uKsBKHvnUU+Py+MOCTuYZBoZsopa90Di10QRjB+YPnVss0BZbG/H5XFwJY1fTxJWhA=="], + + "@vue/babel-plugin-resolve-type": ["@vue/babel-plugin-resolve-type@1.4.0", "", { "dependencies": { "@babel/code-frame": "^7.26.2", "@babel/helper-module-imports": "^7.25.9", "@babel/helper-plugin-utils": "^7.26.5", "@babel/parser": "^7.26.9", "@vue/compiler-sfc": "^3.5.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-4xqDRRbQQEWHQyjlYSgZsWj44KfiF6D+ktCuXyZ8EnVDYV3pztmXJDf1HveAjUAXxAnR8daCQT51RneWWxtTyQ=="], + + "@vue/compiler-core": ["@vue/compiler-core@3.5.16", "", { "dependencies": { "@babel/parser": "^7.27.2", "@vue/shared": "3.5.16", "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.2.1" } }, "sha512-AOQS2eaQOaaZQoL1u+2rCJIKDruNXVBZSiUD3chnUrsoX5ZTQMaCvXlWNIfxBJuU15r1o7+mpo5223KVtIhAgQ=="], + + "@vue/compiler-dom": ["@vue/compiler-dom@3.5.16", "", { "dependencies": { "@vue/compiler-core": "3.5.16", "@vue/shared": "3.5.16" } }, "sha512-SSJIhBr/teipXiXjmWOVWLnxjNGo65Oj/8wTEQz0nqwQeP75jWZ0n4sF24Zxoht1cuJoWopwj0J0exYwCJ0dCQ=="], + + "@vue/compiler-sfc": ["@vue/compiler-sfc@3.5.16", "", { "dependencies": { "@babel/parser": "^7.27.2", "@vue/compiler-core": "3.5.16", "@vue/compiler-dom": "3.5.16", "@vue/compiler-ssr": "3.5.16", "@vue/shared": "3.5.16", "estree-walker": "^2.0.2", "magic-string": "^0.30.17", "postcss": "^8.5.3", "source-map-js": "^1.2.1" } }, "sha512-rQR6VSFNpiinDy/DVUE0vHoIDUF++6p910cgcZoaAUm3POxgNOOdS/xgoll3rNdKYTYPnnbARDCZOyZ+QSe6Pw=="], + + "@vue/compiler-ssr": ["@vue/compiler-ssr@3.5.16", "", { "dependencies": { "@vue/compiler-dom": "3.5.16", "@vue/shared": "3.5.16" } }, "sha512-d2V7kfxbdsjrDSGlJE7my1ZzCXViEcqN6w14DOsDrUCHEA6vbnVCpRFfrc4ryCP/lCKzX2eS1YtnLE/BuC9f/A=="], + + "@vue/compiler-vue2": ["@vue/compiler-vue2@2.7.16", "", { "dependencies": { "de-indent": "^1.0.2", "he": "^1.2.0" } }, "sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A=="], + + "@vue/devtools-api": ["@vue/devtools-api@6.6.4", "", {}, "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g=="], + + "@vue/devtools-core": ["@vue/devtools-core@7.7.6", "", { "dependencies": { "@vue/devtools-kit": "^7.7.6", "@vue/devtools-shared": "^7.7.6", "mitt": "^3.0.1", "nanoid": "^5.1.0", "pathe": "^2.0.3", "vite-hot-client": "^2.0.4" }, "peerDependencies": { "vue": "^3.0.0" } }, "sha512-ghVX3zjKPtSHu94Xs03giRIeIWlb9M+gvDRVpIZ/cRIxKHdW6HE/sm1PT3rUYS3aV92CazirT93ne+7IOvGUWg=="], + + "@vue/devtools-kit": ["@vue/devtools-kit@7.7.6", "", { "dependencies": { "@vue/devtools-shared": "^7.7.6", "birpc": "^2.3.0", "hookable": "^5.5.3", "mitt": "^3.0.1", "perfect-debounce": "^1.0.0", "speakingurl": "^14.0.1", "superjson": "^2.2.2" } }, "sha512-geu7ds7tem2Y7Wz+WgbnbZ6T5eadOvozHZ23Atk/8tksHMFOFylKi1xgGlQlVn0wlkEf4hu+vd5ctj1G4kFtwA=="], + + "@vue/devtools-shared": ["@vue/devtools-shared@7.7.6", "", { "dependencies": { "rfdc": "^1.4.1" } }, "sha512-yFEgJZ/WblEsojQQceuyK6FzpFDx4kqrz2ohInxNj5/DnhoX023upTv4OD6lNPLAA5LLkbwPVb10o/7b+Y4FVA=="], + + "@vue/eslint-config-typescript": ["@vue/eslint-config-typescript@14.5.0", "", { "dependencies": { "@typescript-eslint/utils": "^8.26.0", "fast-glob": "^3.3.3", "typescript-eslint": "^8.26.0", "vue-eslint-parser": "^10.1.1" }, "peerDependencies": { "eslint": "^9.10.0", "eslint-plugin-vue": "^9.28.0 || ^10.0.0", "typescript": ">=4.8.4" } }, "sha512-5oPOyuwkw++AP5gHDh5YFmST50dPfWOcm3/W7Nbh42IK5O3H74ytWAw0TrCRTaBoD/02khnWXuZf1Bz1xflavQ=="], + + "@vue/language-core": ["@vue/language-core@2.2.10", "", { "dependencies": { "@volar/language-core": "~2.4.11", "@vue/compiler-dom": "^3.5.0", "@vue/compiler-vue2": "^2.7.16", "@vue/shared": "^3.5.0", "alien-signals": "^1.0.3", "minimatch": "^9.0.3", "muggle-string": "^0.4.1", "path-browserify": "^1.0.1" }, "peerDependencies": { "typescript": "*" } }, "sha512-+yNoYx6XIKuAO8Mqh1vGytu8jkFEOH5C8iOv3i8Z/65A7x9iAOXA97Q+PqZ3nlm2lxf5rOJuIGI/wDtx/riNYw=="], + + "@vue/reactivity": ["@vue/reactivity@3.5.16", "", { "dependencies": { "@vue/shared": "3.5.16" } }, "sha512-FG5Q5ee/kxhIm1p2bykPpPwqiUBV3kFySsHEQha5BJvjXdZTUfmya7wP7zC39dFuZAcf/PD5S4Lni55vGLMhvA=="], + + "@vue/runtime-core": ["@vue/runtime-core@3.5.16", "", { "dependencies": { "@vue/reactivity": "3.5.16", "@vue/shared": "3.5.16" } }, "sha512-bw5Ykq6+JFHYxrQa7Tjr+VSzw7Dj4ldR/udyBZbq73fCdJmyy5MPIFR9IX/M5Qs+TtTjuyUTCnmK3lWWwpAcFQ=="], + + "@vue/runtime-dom": ["@vue/runtime-dom@3.5.16", "", { "dependencies": { "@vue/reactivity": "3.5.16", "@vue/runtime-core": "3.5.16", "@vue/shared": "3.5.16", "csstype": "^3.1.3" } }, "sha512-T1qqYJsG2xMGhImRUV9y/RseB9d0eCYZQ4CWca9ztCuiPj/XWNNN+lkNBuzVbia5z4/cgxdL28NoQCvC0Xcfww=="], + + "@vue/server-renderer": ["@vue/server-renderer@3.5.16", "", { "dependencies": { "@vue/compiler-ssr": "3.5.16", "@vue/shared": "3.5.16" }, "peerDependencies": { "vue": "3.5.16" } }, "sha512-BrX0qLiv/WugguGsnQUJiYOE0Fe5mZTwi6b7X/ybGB0vfrPH9z0gD/Y6WOR1sGCgX4gc25L1RYS5eYQKDMoNIg=="], + + "@vue/shared": ["@vue/shared@3.5.16", "", {}, "sha512-c/0fWy3Jw6Z8L9FmTyYfkpM5zklnqqa9+a6dz3DvONRKW2NEbh46BP0FHuLFSWi2TnQEtp91Z6zOWNrU6QiyPg=="], + + "@vue/tsconfig": ["@vue/tsconfig@0.7.0", "", { "peerDependencies": { "typescript": "5.x", "vue": "^3.4.0" } }, "sha512-ku2uNz5MaZ9IerPPUyOHzyjhXoX2kVJaVf7hL315DC17vS6IiZRmmCPfggNbU16QTvM80+uYYy3eYJB59WCtvg=="], + + "acorn": ["acorn@8.15.0", "", { "bin": "bin/acorn" }, "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg=="], + + "acorn-jsx": ["acorn-jsx@5.3.2", "", { "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="], + + "ajv": ["ajv@6.12.6", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="], + + "alien-signals": ["alien-signals@1.0.13", "", {}, "sha512-OGj9yyTnJEttvzhTUWuscOvtqxq5vrhF7vL9oS0xJ2mK0ItPYP1/y+vCFebfxoEyAz0++1AIwJ5CMr+Fk3nDmg=="], + + "ansi-styles": ["ansi-styles@6.2.1", "", {}, "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug=="], + + "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], + + "balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], + + "birpc": ["birpc@2.4.0", "", {}, "sha512-5IdNxTyhXHv2UlgnPHQ0h+5ypVmkrYHzL8QT+DwFZ//2N/oNV8Ch+BCRmTJ3x6/z9Axo/cXYBc9eprsUVK/Jsg=="], + + "boolbase": ["boolbase@1.0.0", "", {}, "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="], + + "brace-expansion": ["brace-expansion@1.1.12", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="], + + "braces": ["braces@3.0.3", "", { "dependencies": { "fill-range": "^7.1.1" } }, "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="], + + "browserslist": ["browserslist@4.25.0", "", { "dependencies": { "caniuse-lite": "^1.0.30001718", "electron-to-chromium": "^1.5.160", "node-releases": "^2.0.19", "update-browserslist-db": "^1.1.3" }, "bin": "cli.js" }, "sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA=="], + + "bundle-name": ["bundle-name@4.1.0", "", { "dependencies": { "run-applescript": "^7.0.0" } }, "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q=="], + + "callsites": ["callsites@3.1.0", "", {}, "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="], + + "caniuse-lite": ["caniuse-lite@1.0.30001723", "", {}, "sha512-1R/elMjtehrFejxwmexeXAtae5UO9iSyFn6G/I806CYC/BLyyBk1EPhrKBkWhy6wM6Xnm47dSJQec+tLJ39WHw=="], + + "chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], + + "chownr": ["chownr@3.0.0", "", {}, "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g=="], + + "color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], + + "color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], + + "concat-map": ["concat-map@0.0.1", "", {}, "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="], + + "convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], + + "copy-anything": ["copy-anything@3.0.5", "", { "dependencies": { "is-what": "^4.1.8" } }, "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w=="], + + "cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="], + + "cssesc": ["cssesc@3.0.0", "", { "bin": "bin/cssesc" }, "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="], + + "csstype": ["csstype@3.1.3", "", {}, "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="], + + "de-indent": ["de-indent@1.0.2", "", {}, "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg=="], + + "debug": ["debug@4.4.1", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ=="], + + "deep-is": ["deep-is@0.1.4", "", {}, "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="], + + "default-browser": ["default-browser@5.2.1", "", { "dependencies": { "bundle-name": "^4.1.0", "default-browser-id": "^5.0.0" } }, "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg=="], + + "default-browser-id": ["default-browser-id@5.0.0", "", {}, "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA=="], + + "define-lazy-prop": ["define-lazy-prop@3.0.0", "", {}, "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg=="], + + "detect-libc": ["detect-libc@2.0.4", "", {}, "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA=="], + + "electron-to-chromium": ["electron-to-chromium@1.5.167", "", {}, "sha512-LxcRvnYO5ez2bMOFpbuuVuAI5QNeY1ncVytE/KXaL6ZNfzX1yPlAO0nSOyIHx2fVAuUprMqPs/TdVhUFZy7SIQ=="], + + "enhanced-resolve": ["enhanced-resolve@5.18.3", "", { "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" } }, "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww=="], + + "entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="], + + "error-stack-parser-es": ["error-stack-parser-es@0.1.5", "", {}, "sha512-xHku1X40RO+fO8yJ8Wh2f2rZWVjqyhb1zgq1yZ8aZRQkv6OOKhKWRUaht3eSCUbAOBaKIgM+ykwFLE+QUxgGeg=="], + + "esbuild": ["esbuild@0.25.5", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.5", "@esbuild/android-arm": "0.25.5", "@esbuild/android-arm64": "0.25.5", "@esbuild/android-x64": "0.25.5", "@esbuild/darwin-arm64": "0.25.5", "@esbuild/darwin-x64": "0.25.5", "@esbuild/freebsd-arm64": "0.25.5", "@esbuild/freebsd-x64": "0.25.5", "@esbuild/linux-arm": "0.25.5", "@esbuild/linux-arm64": "0.25.5", "@esbuild/linux-ia32": "0.25.5", "@esbuild/linux-loong64": "0.25.5", "@esbuild/linux-mips64el": "0.25.5", "@esbuild/linux-ppc64": "0.25.5", "@esbuild/linux-riscv64": "0.25.5", "@esbuild/linux-s390x": "0.25.5", "@esbuild/linux-x64": "0.25.5", "@esbuild/netbsd-arm64": "0.25.5", "@esbuild/netbsd-x64": "0.25.5", "@esbuild/openbsd-arm64": "0.25.5", "@esbuild/openbsd-x64": "0.25.5", "@esbuild/sunos-x64": "0.25.5", "@esbuild/win32-arm64": "0.25.5", "@esbuild/win32-ia32": "0.25.5", "@esbuild/win32-x64": "0.25.5" }, "bin": "bin/esbuild" }, "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ=="], + + "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="], + + "escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="], + + "eslint": ["eslint@9.29.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", "@eslint/config-array": "^0.20.1", "@eslint/config-helpers": "^0.2.1", "@eslint/core": "^0.14.0", "@eslint/eslintrc": "^3.3.1", "@eslint/js": "9.29.0", "@eslint/plugin-kit": "^0.3.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", "eslint-scope": "^8.4.0", "eslint-visitor-keys": "^4.2.1", "espree": "^10.4.0", "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, "peerDependencies": { "jiti": "*" }, "bin": "bin/eslint.js" }, "sha512-GsGizj2Y1rCWDu6XoEekL3RLilp0voSePurjZIkxL3wlm5o5EC9VpgaP7lrCvjnkuLvzFBQWB3vWB3K5KQTveQ=="], + + "eslint-plugin-vue": ["eslint-plugin-vue@10.0.1", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "natural-compare": "^1.4.0", "nth-check": "^2.1.1", "postcss-selector-parser": "^6.0.15", "semver": "^7.6.3", "xml-name-validator": "^4.0.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "vue-eslint-parser": "^10.0.0" } }, "sha512-A5dRYc3eQ5i2rJFBW8J6F69ur/H7YfYg+5SCg6v829FU0BhM4fUTrRVR2d4MdZgzw0ioJEk6otYHEAnoGFqO4A=="], + + "eslint-scope": ["eslint-scope@8.4.0", "", { "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg=="], + + "eslint-visitor-keys": ["eslint-visitor-keys@4.2.1", "", {}, "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ=="], + + "espree": ["espree@10.4.0", "", { "dependencies": { "acorn": "^8.15.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^4.2.1" } }, "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ=="], + + "esquery": ["esquery@1.6.0", "", { "dependencies": { "estraverse": "^5.1.0" } }, "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg=="], + + "esrecurse": ["esrecurse@4.3.0", "", { "dependencies": { "estraverse": "^5.2.0" } }, "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag=="], + + "estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="], + + "estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], + + "esutils": ["esutils@2.0.3", "", {}, "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="], + + "execa": ["execa@9.6.0", "", { "dependencies": { "@sindresorhus/merge-streams": "^4.0.0", "cross-spawn": "^7.0.6", "figures": "^6.1.0", "get-stream": "^9.0.0", "human-signals": "^8.0.1", "is-plain-obj": "^4.1.0", "is-stream": "^4.0.1", "npm-run-path": "^6.0.0", "pretty-ms": "^9.2.0", "signal-exit": "^4.1.0", "strip-final-newline": "^4.0.0", "yoctocolors": "^2.1.1" } }, "sha512-jpWzZ1ZhwUmeWRhS7Qv3mhpOhLfwI+uAX4e5fOcXqwMR7EcJ0pj2kV1CVzHVMX/LphnKWD3LObjZCoJ71lKpHw=="], + + "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="], + + "fast-glob": ["fast-glob@3.3.3", "", { "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.8" } }, "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg=="], + + "fast-json-stable-stringify": ["fast-json-stable-stringify@2.1.0", "", {}, "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="], + + "fast-levenshtein": ["fast-levenshtein@2.0.6", "", {}, "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="], + + "fastq": ["fastq@1.19.1", "", { "dependencies": { "reusify": "^1.0.4" } }, "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ=="], + + "fdir": ["fdir@6.4.6", "", { "peerDependencies": { "picomatch": "^3 || ^4" } }, "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w=="], + + "figures": ["figures@6.1.0", "", { "dependencies": { "is-unicode-supported": "^2.0.0" } }, "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg=="], + + "file-entry-cache": ["file-entry-cache@8.0.0", "", { "dependencies": { "flat-cache": "^4.0.0" } }, "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ=="], + + "fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="], + + "find-up": ["find-up@5.0.0", "", { "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng=="], + + "flat-cache": ["flat-cache@4.0.1", "", { "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.4" } }, "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw=="], + + "flatted": ["flatted@3.3.3", "", {}, "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg=="], + + "fs-extra": ["fs-extra@11.3.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew=="], + + "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="], + + "gensync": ["gensync@1.0.0-beta.2", "", {}, "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="], + + "get-stream": ["get-stream@9.0.1", "", { "dependencies": { "@sec-ant/readable-stream": "^0.4.1", "is-stream": "^4.0.1" } }, "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA=="], + + "gl-matrix": ["gl-matrix@3.4.4", "", {}, "sha512-latSnyDNt/8zYUB6VIJ6PCh2jBjJX6gnDsoCZ7LyW7GkqrD51EWwa9qCoGixj8YqBtETQK/xY7OmpTF8xz1DdQ=="], + + "glob-parent": ["glob-parent@6.0.2", "", { "dependencies": { "is-glob": "^4.0.3" } }, "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A=="], + + "globals": ["globals@14.0.0", "", {}, "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ=="], + + "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], + + "graphemer": ["graphemer@1.4.0", "", {}, "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag=="], + + "has-flag": ["has-flag@4.0.0", "", {}, "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="], + + "he": ["he@1.2.0", "", { "bin": "bin/he" }, "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="], + + "hookable": ["hookable@5.5.3", "", {}, "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ=="], + + "human-signals": ["human-signals@8.0.1", "", {}, "sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ=="], + + "ignore": ["ignore@5.3.2", "", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="], + + "import-fresh": ["import-fresh@3.3.1", "", { "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" } }, "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ=="], + + "imurmurhash": ["imurmurhash@0.1.4", "", {}, "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="], + + "is-docker": ["is-docker@3.0.0", "", { "bin": "cli.js" }, "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ=="], + + "is-extglob": ["is-extglob@2.1.1", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="], + + "is-glob": ["is-glob@4.0.3", "", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="], + + "is-inside-container": ["is-inside-container@1.0.0", "", { "dependencies": { "is-docker": "^3.0.0" }, "bin": "cli.js" }, "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA=="], + + "is-number": ["is-number@7.0.0", "", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="], + + "is-plain-obj": ["is-plain-obj@4.1.0", "", {}, "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg=="], + + "is-stream": ["is-stream@4.0.1", "", {}, "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A=="], + + "is-unicode-supported": ["is-unicode-supported@2.1.0", "", {}, "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ=="], + + "is-what": ["is-what@4.1.16", "", {}, "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A=="], + + "is-wsl": ["is-wsl@3.1.0", "", { "dependencies": { "is-inside-container": "^1.0.0" } }, "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw=="], + + "isexe": ["isexe@3.1.1", "", {}, "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ=="], + + "jiti": ["jiti@2.4.2", "", { "bin": "lib/jiti-cli.mjs" }, "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A=="], + + "js-tokens": ["js-tokens@4.0.0", "", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="], + + "js-yaml": ["js-yaml@4.1.0", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": "bin/js-yaml.js" }, "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA=="], + + "jsesc": ["jsesc@3.1.0", "", { "bin": "bin/jsesc" }, "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA=="], + + "json-buffer": ["json-buffer@3.0.1", "", {}, "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="], + + "json-parse-even-better-errors": ["json-parse-even-better-errors@4.0.0", "", {}, "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA=="], + + "json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="], + + "json-stable-stringify-without-jsonify": ["json-stable-stringify-without-jsonify@1.0.1", "", {}, "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="], + + "json5": ["json5@2.2.3", "", { "bin": "lib/cli.js" }, "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg=="], + + "jsonfile": ["jsonfile@6.1.0", "", { "dependencies": { "universalify": "^2.0.0" }, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ=="], + + "keyv": ["keyv@4.5.4", "", { "dependencies": { "json-buffer": "3.0.1" } }, "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw=="], + + "kolorist": ["kolorist@1.8.0", "", {}, "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ=="], + + "levn": ["levn@0.4.1", "", { "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" } }, "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ=="], + + "lightningcss": ["lightningcss@1.30.1", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-darwin-arm64": "1.30.1", "lightningcss-darwin-x64": "1.30.1", "lightningcss-freebsd-x64": "1.30.1", "lightningcss-linux-arm-gnueabihf": "1.30.1", "lightningcss-linux-arm64-gnu": "1.30.1", "lightningcss-linux-arm64-musl": "1.30.1", "lightningcss-linux-x64-gnu": "1.30.1", "lightningcss-linux-x64-musl": "1.30.1", "lightningcss-win32-arm64-msvc": "1.30.1", "lightningcss-win32-x64-msvc": "1.30.1" } }, "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg=="], + + "lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.30.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ=="], + + "lightningcss-darwin-x64": ["lightningcss-darwin-x64@1.30.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA=="], + + "lightningcss-freebsd-x64": ["lightningcss-freebsd-x64@1.30.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig=="], + + "lightningcss-linux-arm-gnueabihf": ["lightningcss-linux-arm-gnueabihf@1.30.1", "", { "os": "linux", "cpu": "arm" }, "sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q=="], + + "lightningcss-linux-arm64-gnu": ["lightningcss-linux-arm64-gnu@1.30.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw=="], + + "lightningcss-linux-arm64-musl": ["lightningcss-linux-arm64-musl@1.30.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ=="], + + "lightningcss-linux-x64-gnu": ["lightningcss-linux-x64-gnu@1.30.1", "", { "os": "linux", "cpu": "x64" }, "sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw=="], + + "lightningcss-linux-x64-musl": ["lightningcss-linux-x64-musl@1.30.1", "", { "os": "linux", "cpu": "x64" }, "sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ=="], + + "lightningcss-win32-arm64-msvc": ["lightningcss-win32-arm64-msvc@1.30.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA=="], + + "lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.30.1", "", { "os": "win32", "cpu": "x64" }, "sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg=="], + + "locate-path": ["locate-path@6.0.0", "", { "dependencies": { "p-locate": "^5.0.0" } }, "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw=="], + + "lodash": ["lodash@4.17.21", "", {}, "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="], + + "lodash.merge": ["lodash.merge@4.6.2", "", {}, "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="], + + "lru-cache": ["lru-cache@5.1.1", "", { "dependencies": { "yallist": "^3.0.2" } }, "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="], + + "magic-string": ["magic-string@0.30.17", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0" } }, "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA=="], + + "memorystream": ["memorystream@0.3.1", "", {}, "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw=="], + + "merge2": ["merge2@1.4.1", "", {}, "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="], + + "micromatch": ["micromatch@4.0.8", "", { "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA=="], + + "minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="], + + "minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="], + + "minizlib": ["minizlib@3.0.2", "", { "dependencies": { "minipass": "^7.1.2" } }, "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA=="], + + "mitt": ["mitt@3.0.1", "", {}, "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw=="], + + "mkdirp": ["mkdirp@3.0.1", "", { "bin": "dist/cjs/src/bin.js" }, "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg=="], + + "mrmime": ["mrmime@2.0.1", "", {}, "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ=="], + + "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], + + "muggle-string": ["muggle-string@0.4.1", "", {}, "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ=="], + + "nanoid": ["nanoid@3.3.11", "", { "bin": "bin/nanoid.cjs" }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], + + "natural-compare": ["natural-compare@1.4.0", "", {}, "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="], + + "node-releases": ["node-releases@2.0.19", "", {}, "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw=="], + + "npm-normalize-package-bin": ["npm-normalize-package-bin@4.0.0", "", {}, "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w=="], + + "npm-run-all2": ["npm-run-all2@7.0.2", "", { "dependencies": { "ansi-styles": "^6.2.1", "cross-spawn": "^7.0.6", "memorystream": "^0.3.1", "minimatch": "^9.0.0", "pidtree": "^0.6.0", "read-package-json-fast": "^4.0.0", "shell-quote": "^1.7.3", "which": "^5.0.0" }, "bin": { "npm-run-all": "bin/npm-run-all/index.js", "npm-run-all2": "bin/npm-run-all/index.js", "run-p": "bin/run-p/index.js", "run-s": "bin/run-s/index.js" } }, "sha512-7tXR+r9hzRNOPNTvXegM+QzCuMjzUIIq66VDunL6j60O4RrExx32XUhlrS7UK4VcdGw5/Wxzb3kfNcFix9JKDA=="], + + "npm-run-path": ["npm-run-path@6.0.0", "", { "dependencies": { "path-key": "^4.0.0", "unicorn-magic": "^0.3.0" } }, "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA=="], + + "nth-check": ["nth-check@2.1.1", "", { "dependencies": { "boolbase": "^1.0.0" } }, "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w=="], + + "open": ["open@10.1.2", "", { "dependencies": { "default-browser": "^5.2.1", "define-lazy-prop": "^3.0.0", "is-inside-container": "^1.0.0", "is-wsl": "^3.1.0" } }, "sha512-cxN6aIDPz6rm8hbebcP7vrQNhvRcveZoJU72Y7vskh4oIm+BZwBECnx5nTmrlres1Qapvx27Qo1Auukpf8PKXw=="], + + "optionator": ["optionator@0.9.4", "", { "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0", "word-wrap": "^1.2.5" } }, "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g=="], + + "p-limit": ["p-limit@3.1.0", "", { "dependencies": { "yocto-queue": "^0.1.0" } }, "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ=="], + + "p-locate": ["p-locate@5.0.0", "", { "dependencies": { "p-limit": "^3.0.2" } }, "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw=="], + + "parent-module": ["parent-module@1.0.1", "", { "dependencies": { "callsites": "^3.0.0" } }, "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="], + + "parse-ms": ["parse-ms@4.0.0", "", {}, "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw=="], + + "path-browserify": ["path-browserify@1.0.1", "", {}, "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g=="], + + "path-exists": ["path-exists@4.0.0", "", {}, "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="], + + "path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="], + + "pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], + + "perfect-debounce": ["perfect-debounce@1.0.0", "", {}, "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA=="], + + "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], + + "picomatch": ["picomatch@4.0.2", "", {}, "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg=="], + + "pidtree": ["pidtree@0.6.0", "", { "bin": "bin/pidtree.js" }, "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g=="], + + "postcss": ["postcss@8.5.5", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-d/jtm+rdNT8tpXuHY5MMtcbJFBkhXE6593XVR9UoGCH8jSFGci7jGvMGH5RYd5PBJW+00NZQt6gf7CbagJCrhg=="], + + "postcss-selector-parser": ["postcss-selector-parser@6.1.2", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg=="], + + "prelude-ls": ["prelude-ls@1.2.1", "", {}, "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="], + + "pretty-ms": ["pretty-ms@9.2.0", "", { "dependencies": { "parse-ms": "^4.0.0" } }, "sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg=="], + + "punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="], + + "queue-microtask": ["queue-microtask@1.2.3", "", {}, "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="], + + "read-package-json-fast": ["read-package-json-fast@4.0.0", "", { "dependencies": { "json-parse-even-better-errors": "^4.0.0", "npm-normalize-package-bin": "^4.0.0" } }, "sha512-qpt8EwugBWDw2cgE2W+/3oxC+KTez2uSVR8JU9Q36TXPAGCaozfQUs59v4j4GFpWTaw0i6hAZSvOmu1J0uOEUg=="], + + "resolve-from": ["resolve-from@4.0.0", "", {}, "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="], + + "reusify": ["reusify@1.1.0", "", {}, "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw=="], + + "rfdc": ["rfdc@1.4.1", "", {}, "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA=="], + + "rollup": ["rollup@4.43.0", "", { "dependencies": { "@types/estree": "1.0.7" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.43.0", "@rollup/rollup-android-arm64": "4.43.0", "@rollup/rollup-darwin-arm64": "4.43.0", "@rollup/rollup-darwin-x64": "4.43.0", "@rollup/rollup-freebsd-arm64": "4.43.0", "@rollup/rollup-freebsd-x64": "4.43.0", "@rollup/rollup-linux-arm-gnueabihf": "4.43.0", "@rollup/rollup-linux-arm-musleabihf": "4.43.0", "@rollup/rollup-linux-arm64-gnu": "4.43.0", "@rollup/rollup-linux-arm64-musl": "4.43.0", "@rollup/rollup-linux-loongarch64-gnu": "4.43.0", "@rollup/rollup-linux-powerpc64le-gnu": "4.43.0", "@rollup/rollup-linux-riscv64-gnu": "4.43.0", "@rollup/rollup-linux-riscv64-musl": "4.43.0", "@rollup/rollup-linux-s390x-gnu": "4.43.0", "@rollup/rollup-linux-x64-gnu": "4.43.0", "@rollup/rollup-linux-x64-musl": "4.43.0", "@rollup/rollup-win32-arm64-msvc": "4.43.0", "@rollup/rollup-win32-ia32-msvc": "4.43.0", "@rollup/rollup-win32-x64-msvc": "4.43.0", "fsevents": "~2.3.2" }, "bin": "dist/bin/rollup" }, "sha512-wdN2Kd3Twh8MAEOEJZsuxuLKCsBEo4PVNLK6tQWAn10VhsVewQLzcucMgLolRlhFybGxfclbPeEYBaP6RvUFGg=="], + + "run-applescript": ["run-applescript@7.0.0", "", {}, "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A=="], + + "run-parallel": ["run-parallel@1.2.0", "", { "dependencies": { "queue-microtask": "^1.2.2" } }, "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="], + + "semver": ["semver@7.7.2", "", { "bin": "bin/semver.js" }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], + + "shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="], + + "shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="], + + "shell-quote": ["shell-quote@1.8.3", "", {}, "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw=="], + + "signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="], + + "sirv": ["sirv@3.0.1", "", { "dependencies": { "@polka/url": "^1.0.0-next.24", "mrmime": "^2.0.0", "totalist": "^3.0.0" } }, "sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A=="], + + "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="], + + "speakingurl": ["speakingurl@14.0.1", "", {}, "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ=="], + + "strip-final-newline": ["strip-final-newline@4.0.0", "", {}, "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw=="], + + "strip-json-comments": ["strip-json-comments@3.1.1", "", {}, "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="], + + "superjson": ["superjson@2.2.2", "", { "dependencies": { "copy-anything": "^3.0.2" } }, "sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q=="], + + "supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], + + "tailwindcss": ["tailwindcss@4.1.11", "", {}, "sha512-2E9TBm6MDD/xKYe+dvJZAmg3yxIEDNRc0jwlNyDg/4Fil2QcSLjFKGVff0lAf1jjeaArlG/M75Ey/EYr/OJtBA=="], + + "tapable": ["tapable@2.2.2", "", {}, "sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg=="], + + "tar": ["tar@7.4.3", "", { "dependencies": { "@isaacs/fs-minipass": "^4.0.0", "chownr": "^3.0.0", "minipass": "^7.1.2", "minizlib": "^3.0.1", "mkdirp": "^3.0.1", "yallist": "^5.0.0" } }, "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw=="], + + "tinyglobby": ["tinyglobby@0.2.14", "", { "dependencies": { "fdir": "^6.4.4", "picomatch": "^4.0.2" } }, "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ=="], + + "to-regex-range": ["to-regex-range@5.0.1", "", { "dependencies": { "is-number": "^7.0.0" } }, "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="], + + "totalist": ["totalist@3.0.1", "", {}, "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ=="], + + "ts-api-utils": ["ts-api-utils@2.1.0", "", { "peerDependencies": { "typescript": ">=4.8.4" } }, "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ=="], + + "type-check": ["type-check@0.4.0", "", { "dependencies": { "prelude-ls": "^1.2.1" } }, "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew=="], + + "typescript": ["typescript@5.8.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ=="], + + "typescript-eslint": ["typescript-eslint@8.34.0", "", { "dependencies": { "@typescript-eslint/eslint-plugin": "8.34.0", "@typescript-eslint/parser": "8.34.0", "@typescript-eslint/utils": "8.34.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-MRpfN7uYjTrTGigFCt8sRyNqJFhjN0WwZecldaqhWm+wy0gaRt8Edb/3cuUy0zdq2opJWT6iXINKAtewnDOltQ=="], + + "undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="], + + "unicorn-magic": ["unicorn-magic@0.3.0", "", {}, "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA=="], + + "universalify": ["universalify@2.0.1", "", {}, "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw=="], + + "update-browserslist-db": ["update-browserslist-db@1.1.3", "", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": "cli.js" }, "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw=="], + + "uri-js": ["uri-js@4.4.1", "", { "dependencies": { "punycode": "^2.1.0" } }, "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="], + + "util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="], + + "vite": ["vite@6.3.5", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", "picomatch": "^4.0.2", "postcss": "^8.5.3", "rollup": "^4.34.9", "tinyglobby": "^0.2.13" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "jiti": ">=1.21.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["less", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": "bin/vite.js" }, "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ=="], + + "vite-hot-client": ["vite-hot-client@2.0.4", "", { "peerDependencies": { "vite": "^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0" } }, "sha512-W9LOGAyGMrbGArYJN4LBCdOC5+Zwh7dHvOHC0KmGKkJhsOzaKbpo/jEjpPKVHIW0/jBWj8RZG0NUxfgA8BxgAg=="], + + "vite-plugin-inspect": ["vite-plugin-inspect@0.8.9", "", { "dependencies": { "@antfu/utils": "^0.7.10", "@rollup/pluginutils": "^5.1.3", "debug": "^4.3.7", "error-stack-parser-es": "^0.1.5", "fs-extra": "^11.2.0", "open": "^10.1.0", "perfect-debounce": "^1.0.0", "picocolors": "^1.1.1", "sirv": "^3.0.0" }, "peerDependencies": { "vite": "^3.1.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.1" } }, "sha512-22/8qn+LYonzibb1VeFZmISdVao5kC22jmEKm24vfFE8siEn47EpVcCLYMv6iKOYMJfjSvSJfueOwcFCkUnV3A=="], + + "vite-plugin-vue-devtools": ["vite-plugin-vue-devtools@7.7.6", "", { "dependencies": { "@vue/devtools-core": "^7.7.6", "@vue/devtools-kit": "^7.7.6", "@vue/devtools-shared": "^7.7.6", "execa": "^9.5.2", "sirv": "^3.0.1", "vite-plugin-inspect": "0.8.9", "vite-plugin-vue-inspector": "^5.3.1" }, "peerDependencies": { "vite": "^3.1.0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0" } }, "sha512-L7nPVM5a7lgit/Z+36iwoqHOaP3wxqVi1UvaDJwGCfblS9Y6vNqf32ILlzJVH9c47aHu90BhDXeZc+rgzHRHcw=="], + + "vite-plugin-vue-inspector": ["vite-plugin-vue-inspector@5.3.1", "", { "dependencies": { "@babel/core": "^7.23.0", "@babel/plugin-proposal-decorators": "^7.23.0", "@babel/plugin-syntax-import-attributes": "^7.22.5", "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-transform-typescript": "^7.22.15", "@vue/babel-plugin-jsx": "^1.1.5", "@vue/compiler-dom": "^3.3.4", "kolorist": "^1.8.0", "magic-string": "^0.30.4" }, "peerDependencies": { "vite": "^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0" } }, "sha512-cBk172kZKTdvGpJuzCCLg8lJ909wopwsu3Ve9FsL1XsnLBiRT9U3MePcqrgGHgCX2ZgkqZmAGR8taxw+TV6s7A=="], + + "vite-plugin-wasm": ["vite-plugin-wasm@3.5.0", "", { "peerDependencies": { "vite": "^2 || ^3 || ^4 || ^5 || ^6 || ^7" } }, "sha512-X5VWgCnqiQEGb+omhlBVsvTfxikKtoOgAzQ95+BZ8gQ+VfMHIjSHr0wyvXFQCa0eKQ0fKyaL0kWcEnYqBac4lQ=="], + + "vscode-uri": ["vscode-uri@3.1.0", "", {}, "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ=="], + + "vue": ["vue@3.5.16", "", { "dependencies": { "@vue/compiler-dom": "3.5.16", "@vue/compiler-sfc": "3.5.16", "@vue/runtime-dom": "3.5.16", "@vue/server-renderer": "3.5.16", "@vue/shared": "3.5.16" }, "peerDependencies": { "typescript": "*" } }, "sha512-rjOV2ecxMd5SiAmof2xzh2WxntRcigkX/He4YFJ6WdRvVUrbt6DxC1Iujh10XLl8xCDRDtGKMeO3D+pRQ1PP9w=="], + + "vue-eslint-parser": ["vue-eslint-parser@10.1.3", "", { "dependencies": { "debug": "^4.4.0", "eslint-scope": "^8.2.0", "eslint-visitor-keys": "^4.2.0", "espree": "^10.3.0", "esquery": "^1.6.0", "lodash": "^4.17.21", "semver": "^7.6.3" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0" } }, "sha512-dbCBnd2e02dYWsXoqX5yKUZlOt+ExIpq7hmHKPb5ZqKcjf++Eo0hMseFTZMLKThrUk61m+Uv6A2YSBve6ZvuDQ=="], + + "vue-router": ["vue-router@4.5.1", "", { "dependencies": { "@vue/devtools-api": "^6.6.4" }, "peerDependencies": { "vue": "^3.2.0" } }, "sha512-ogAF3P97NPm8fJsE4by9dwSYtDwXIY1nFY9T6DyQnGHd1E2Da94w9JIolpe42LJGIl0DwOHBi8TcRPlPGwbTtw=="], + + "vue-tsc": ["vue-tsc@2.2.10", "", { "dependencies": { "@volar/typescript": "~2.4.11", "@vue/language-core": "2.2.10" }, "peerDependencies": { "typescript": ">=5.0.0" }, "bin": "bin/vue-tsc.js" }, "sha512-jWZ1xSaNbabEV3whpIDMbjVSVawjAyW+x1n3JeGQo7S0uv2n9F/JMgWW90tGWNFRKya4YwKMZgCtr0vRAM7DeQ=="], + + "which": ["which@5.0.0", "", { "dependencies": { "isexe": "^3.1.1" }, "bin": { "node-which": "bin/which.js" } }, "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ=="], + + "word-wrap": ["word-wrap@1.2.5", "", {}, "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA=="], + + "xml-name-validator": ["xml-name-validator@4.0.0", "", {}, "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw=="], + + "yallist": ["yallist@5.0.0", "", {}, "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw=="], + + "yocto-queue": ["yocto-queue@0.1.0", "", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="], + + "yoctocolors": ["yoctocolors@2.1.1", "", {}, "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ=="], + + "@babel/core/semver": ["semver@6.3.1", "", { "bin": "bin/semver.js" }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + + "@babel/helper-compilation-targets/semver": ["semver@6.3.1", "", { "bin": "bin/semver.js" }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + + "@babel/helper-create-class-features-plugin/semver": ["semver@6.3.1", "", { "bin": "bin/semver.js" }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + + "@babel/traverse/globals": ["globals@11.12.0", "", {}, "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="], + + "@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="], + + "@eslint/config-array/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="], + + "@eslint/eslintrc/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="], + + "@eslint/plugin-kit/@eslint/core": ["@eslint/core@0.15.0", "", { "dependencies": { "@types/json-schema": "^7.0.15" } }, "sha512-b7ePw78tEWWkpgZCDYkbqDOP8dmM6qe+AOC6iuJqlq1R/0ahMAeH3qynpnqKFGkMltrp44ohV4ubGyvLX28tzw=="], + + "@humanfs/node/@humanwhocodes/retry": ["@humanwhocodes/retry@0.3.1", "", {}, "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA=="], + + "@rollup/pluginutils/picomatch": ["picomatch@4.0.2", "", {}, "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg=="], + + "@typescript-eslint/eslint-plugin/ignore": ["ignore@7.0.5", "", {}, "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg=="], + + "@typescript-eslint/typescript-estree/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + + "@typescript-eslint/visitor-keys/eslint-visitor-keys": ["eslint-visitor-keys@4.2.1", "", {}, "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ=="], + + "@vue/devtools-core/nanoid": ["nanoid@5.1.5", "", { "bin": "bin/nanoid.js" }, "sha512-Ir/+ZpE9fDsNH0hQ3C68uyThDXzYcim2EqcZ8zn8Chtt1iylPT9xXJB0kPCnqzgcEGikO9RxSrh63MsmVCU7Fw=="], + + "@vue/language-core/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + + "chalk/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], + + "cross-spawn/which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="], + + "espree/eslint-visitor-keys": ["eslint-visitor-keys@4.2.1", "", {}, "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ=="], + + "fast-glob/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], + + "lru-cache/yallist": ["yallist@3.1.1", "", {}, "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="], + + "micromatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], + + "npm-run-all2/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + + "npm-run-path/path-key": ["path-key@4.0.0", "", {}, "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ=="], + + "rollup/@types/estree": ["@types/estree@1.0.7", "", {}, "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ=="], + + "tinyglobby/fdir": ["fdir@6.4.6", "", { "peerDependencies": { "picomatch": "^3 || ^4" } }, "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w=="], + + "tinyglobby/picomatch": ["picomatch@4.0.2", "", {}, "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg=="], + + "vue-eslint-parser/eslint-visitor-keys": ["eslint-visitor-keys@4.2.1", "", {}, "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ=="], + + "@eslint/config-array/minimatch/brace-expansion": ["brace-expansion@1.1.12", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="], + + "@eslint/eslintrc/minimatch/brace-expansion": ["brace-expansion@1.1.12", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="], + + "@typescript-eslint/typescript-estree/minimatch/brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="], + + "@vue/language-core/minimatch/brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="], + + "cross-spawn/which/isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="], + + "npm-run-all2/minimatch/brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="], + } +} diff --git a/package.json b/package.json index 7f9773f..fb49eff 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,9 @@ "dependencies": { "@headlessui/vue": "^1.7.23", "@tailwindcss/vite": "^4.1.11", + "gl-matrix": "^3.4.4", "tailwindcss": "^4.1.11", + "vite-plugin-wasm": "^3.5.0", "vue": "^3.5.13", "vue-router": "^4.5.0" }, diff --git a/vite.config.ts b/vite.config.ts index 975d368..0bc14d3 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -4,6 +4,7 @@ import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import vueDevTools from 'vite-plugin-vue-devtools' import tailwindcss from '@tailwindcss/vite' +import wasm from 'vite-plugin-wasm' // https://vite.dev/config/ export default defineConfig({ @@ -12,6 +13,7 @@ export default defineConfig({ vue(), vueDevTools(), tailwindcss(), + wasm(), ], resolve: { alias: { @@ -25,11 +27,17 @@ export default defineConfig({ target: 'https://offstyles.tommyy.dev', changeOrigin: true, secure: true, - configure: (proxy, options) => { - proxy.on('proxyReq', (proxyReq, req, res) => { - // Forward cookies to maintain session - if (req.headers.cookie) { - proxyReq.setHeader('Cookie', req.headers.cookie); + cookieDomainRewrite: 'localhost', + configure: (proxy) => { + // Rewrite response cookies so they work on http://localhost + proxy.on('proxyRes', (proxyRes) => { + const setCookie = proxyRes.headers['set-cookie']; + if (setCookie) { + proxyRes.headers['set-cookie'] = setCookie.map((cookie: string) => + cookie + .replace(/;\s*Secure/gi, '') + .replace(/;\s*SameSite=\w+/gi, '; SameSite=Lax') + ); } }); } From 724383d4cc64ae34c221c7f8e73831c87a96b506 Mon Sep 17 00:00:00 2001 From: tommy Date: Tue, 10 Mar 2026 00:40:49 -0400 Subject: [PATCH 02/18] feat: add BSP replay viewer WASM module Pre-built WASM binary and JS bindings for the bhop-replay-viewer Rust module. Provides BSP map parsing, MDL model loading, VTF texture decoding, and replay file playback via WebAssembly. Co-Authored-By: Claude Opus 4.6 --- .../wasm/bhop_replay_viewer_wasm.d.ts | 148 ++++ .../wasm/bhop_replay_viewer_wasm.js | 663 ++++++++++++++++++ .../wasm/bhop_replay_viewer_wasm_bg.wasm | Bin 0 -> 292221 bytes .../wasm/bhop_replay_viewer_wasm_bg.wasm.d.ts | 43 ++ src/replay-viewer/wasm/package.json | 15 + 5 files changed, 869 insertions(+) create mode 100644 src/replay-viewer/wasm/bhop_replay_viewer_wasm.d.ts create mode 100644 src/replay-viewer/wasm/bhop_replay_viewer_wasm.js create mode 100644 src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm create mode 100644 src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm.d.ts create mode 100644 src/replay-viewer/wasm/package.json diff --git a/src/replay-viewer/wasm/bhop_replay_viewer_wasm.d.ts b/src/replay-viewer/wasm/bhop_replay_viewer_wasm.d.ts new file mode 100644 index 0000000..ed3da50 --- /dev/null +++ b/src/replay-viewer/wasm/bhop_replay_viewer_wasm.d.ts @@ -0,0 +1,148 @@ +/* tslint:disable */ +/* eslint-disable */ + +export class BspMesh { + private constructor(); + free(): void; + [Symbol.dispose](): void; + /** + * Animated texture frame data (all frames for all animated textures, concatenated) + */ + animated_frame_data(): Uint8Array; + /** + * Animated texture metadata: [atlas_x, atlas_y, width, height, frame_count, fps, data_byte_offset] per texture + */ + animated_texture_info(): Float32Array; + /** + * Find the cluster for a world position (for camera PVS lookup) + */ + find_cluster(x: number, y: number, z: number): number; + has_sky_faces(): boolean; + has_skybox(): boolean; + index_count(): number; + index_data(): Uint32Array; + /** + * Check if cluster `to` is visible from cluster `from` + */ + is_cluster_visible(from: number, to: number): boolean; + lightmap_atlas_data(): Uint8Array; + lightmap_height(): number; + lightmap_width(): number; + /** + * Number of drawable models (call before model_draw_data) + */ + model_draw_count(): number; + /** + * Returns per-model draw info as flat array: [index_start, index_count, cluster] * N + */ + model_draw_data(): Int32Array; + sky_index_data(): Uint32Array; + /** + * Sky face positions [x,y,z] for depth-only rendering + */ + sky_vertex_data(): Float32Array; + skybox_data(): Uint8Array; + skybox_face_size(): number; + texture_atlas_data(): Uint8Array; + texture_atlas_height(): number; + texture_atlas_width(): number; + vertex_count(): number; + /** + * Move vertex data out (avoids clone). Field becomes empty after call. + */ + vertex_data(): Float32Array; +} + +export class ReplayData { + private constructor(); + free(): void; + [Symbol.dispose](): void; + angles(): Float32Array; + buttons_array(): Int32Array; + flags_array(): Int32Array; + map_name(): string; + positions(): Float32Array; + preframes(): number; + tick_count(): number; + tick_rate(): number; + time(): number; +} + +export function decompress_bz2(data: Uint8Array): Uint8Array; + +export function init(): void; + +export function parse_bsp(data: Uint8Array): BspMesh; + +export function parse_replay(data: Uint8Array): ReplayData; + +export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; + +export interface InitOutput { + readonly memory: WebAssembly.Memory; + readonly __wbg_bspmesh_free: (a: number, b: number) => void; + readonly bspmesh_animated_frame_data: (a: number) => [number, number]; + readonly bspmesh_animated_texture_info: (a: number) => [number, number]; + readonly bspmesh_find_cluster: (a: number, b: number, c: number, d: number) => number; + readonly bspmesh_has_sky_faces: (a: number) => number; + readonly bspmesh_has_skybox: (a: number) => number; + readonly bspmesh_index_count: (a: number) => number; + readonly bspmesh_index_data: (a: number) => [number, number]; + readonly bspmesh_is_cluster_visible: (a: number, b: number, c: number) => number; + readonly bspmesh_lightmap_atlas_data: (a: number) => [number, number]; + readonly bspmesh_lightmap_height: (a: number) => number; + readonly bspmesh_lightmap_width: (a: number) => number; + readonly bspmesh_model_draw_count: (a: number) => number; + readonly bspmesh_model_draw_data: (a: number) => [number, number]; + readonly bspmesh_sky_index_data: (a: number) => [number, number]; + readonly bspmesh_sky_vertex_data: (a: number) => [number, number]; + readonly bspmesh_skybox_data: (a: number) => [number, number]; + readonly bspmesh_skybox_face_size: (a: number) => number; + readonly bspmesh_texture_atlas_data: (a: number) => [number, number]; + readonly bspmesh_texture_atlas_height: (a: number) => number; + readonly bspmesh_texture_atlas_width: (a: number) => number; + readonly bspmesh_vertex_count: (a: number) => number; + readonly bspmesh_vertex_data: (a: number) => [number, number]; + readonly parse_bsp: (a: number, b: number) => [number, number, number]; + readonly __wbg_replaydata_free: (a: number, b: number) => void; + readonly parse_replay: (a: number, b: number) => [number, number, number]; + readonly replaydata_angles: (a: number) => [number, number]; + readonly replaydata_buttons_array: (a: number) => [number, number]; + readonly replaydata_flags_array: (a: number) => [number, number]; + readonly replaydata_map_name: (a: number) => [number, number]; + readonly replaydata_positions: (a: number) => [number, number]; + readonly replaydata_preframes: (a: number) => number; + readonly replaydata_tick_count: (a: number) => number; + readonly replaydata_tick_rate: (a: number) => number; + readonly replaydata_time: (a: number) => number; + readonly decompress_bz2: (a: number, b: number) => [number, number, number, number]; + readonly init: () => void; + readonly __wbindgen_free: (a: number, b: number, c: number) => void; + readonly __wbindgen_malloc: (a: number, b: number) => number; + readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; + readonly __wbindgen_externrefs: WebAssembly.Table; + readonly __externref_table_dealloc: (a: number) => void; + readonly __wbindgen_start: () => void; +} + +export type SyncInitInput = BufferSource | WebAssembly.Module; + +/** + * Instantiates the given `module`, which can either be bytes or + * a precompiled `WebAssembly.Module`. + * + * @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated. + * + * @returns {InitOutput} + */ +export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput; + +/** + * If `module_or_path` is {RequestInfo} or {URL}, makes a request and + * for everything else, calls `WebAssembly.instantiate` directly. + * + * @param {{ module_or_path: InitInput | Promise }} module_or_path - Passing `InitInput` directly is deprecated. + * + * @returns {Promise} + */ +export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise } | InitInput | Promise): Promise; diff --git a/src/replay-viewer/wasm/bhop_replay_viewer_wasm.js b/src/replay-viewer/wasm/bhop_replay_viewer_wasm.js new file mode 100644 index 0000000..e1a016a --- /dev/null +++ b/src/replay-viewer/wasm/bhop_replay_viewer_wasm.js @@ -0,0 +1,663 @@ +/* @ts-self-types="./bhop_replay_viewer_wasm.d.ts" */ + +export class BspMesh { + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(BspMesh.prototype); + obj.__wbg_ptr = ptr; + BspMeshFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + BspMeshFinalization.unregister(this); + return ptr; + } + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_bspmesh_free(ptr, 0); + } + /** + * Animated texture frame data (all frames for all animated textures, concatenated) + * @returns {Uint8Array} + */ + animated_frame_data() { + const ret = wasm.bspmesh_animated_frame_data(this.__wbg_ptr); + var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 1, 1); + return v1; + } + /** + * Animated texture metadata: [atlas_x, atlas_y, width, height, frame_count, fps, data_byte_offset] per texture + * @returns {Float32Array} + */ + animated_texture_info() { + const ret = wasm.bspmesh_animated_texture_info(this.__wbg_ptr); + var v1 = getArrayF32FromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); + return v1; + } + /** + * Find the cluster for a world position (for camera PVS lookup) + * @param {number} x + * @param {number} y + * @param {number} z + * @returns {number} + */ + find_cluster(x, y, z) { + const ret = wasm.bspmesh_find_cluster(this.__wbg_ptr, x, y, z); + return ret; + } + /** + * @returns {boolean} + */ + has_sky_faces() { + const ret = wasm.bspmesh_has_sky_faces(this.__wbg_ptr); + return ret !== 0; + } + /** + * @returns {boolean} + */ + has_skybox() { + const ret = wasm.bspmesh_has_skybox(this.__wbg_ptr); + return ret !== 0; + } + /** + * @returns {number} + */ + index_count() { + const ret = wasm.bspmesh_index_count(this.__wbg_ptr); + return ret >>> 0; + } + /** + * @returns {Uint32Array} + */ + index_data() { + const ret = wasm.bspmesh_index_data(this.__wbg_ptr); + var v1 = getArrayU32FromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); + return v1; + } + /** + * Check if cluster `to` is visible from cluster `from` + * @param {number} from + * @param {number} to + * @returns {boolean} + */ + is_cluster_visible(from, to) { + const ret = wasm.bspmesh_is_cluster_visible(this.__wbg_ptr, from, to); + return ret !== 0; + } + /** + * @returns {Uint8Array} + */ + lightmap_atlas_data() { + const ret = wasm.bspmesh_lightmap_atlas_data(this.__wbg_ptr); + var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 1, 1); + return v1; + } + /** + * @returns {number} + */ + lightmap_height() { + const ret = wasm.bspmesh_lightmap_height(this.__wbg_ptr); + return ret >>> 0; + } + /** + * @returns {number} + */ + lightmap_width() { + const ret = wasm.bspmesh_lightmap_width(this.__wbg_ptr); + return ret >>> 0; + } + /** + * Number of drawable models (call before model_draw_data) + * @returns {number} + */ + model_draw_count() { + const ret = wasm.bspmesh_model_draw_count(this.__wbg_ptr); + return ret >>> 0; + } + /** + * Returns per-model draw info as flat array: [index_start, index_count, cluster] * N + * @returns {Int32Array} + */ + model_draw_data() { + const ret = wasm.bspmesh_model_draw_data(this.__wbg_ptr); + var v1 = getArrayI32FromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); + return v1; + } + /** + * @returns {Uint32Array} + */ + sky_index_data() { + const ret = wasm.bspmesh_sky_index_data(this.__wbg_ptr); + var v1 = getArrayU32FromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); + return v1; + } + /** + * Sky face positions [x,y,z] for depth-only rendering + * @returns {Float32Array} + */ + sky_vertex_data() { + const ret = wasm.bspmesh_sky_vertex_data(this.__wbg_ptr); + var v1 = getArrayF32FromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); + return v1; + } + /** + * @returns {Uint8Array} + */ + skybox_data() { + const ret = wasm.bspmesh_skybox_data(this.__wbg_ptr); + var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 1, 1); + return v1; + } + /** + * @returns {number} + */ + skybox_face_size() { + const ret = wasm.bspmesh_skybox_face_size(this.__wbg_ptr); + return ret >>> 0; + } + /** + * @returns {Uint8Array} + */ + texture_atlas_data() { + const ret = wasm.bspmesh_texture_atlas_data(this.__wbg_ptr); + var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 1, 1); + return v1; + } + /** + * @returns {number} + */ + texture_atlas_height() { + const ret = wasm.bspmesh_texture_atlas_height(this.__wbg_ptr); + return ret >>> 0; + } + /** + * @returns {number} + */ + texture_atlas_width() { + const ret = wasm.bspmesh_texture_atlas_width(this.__wbg_ptr); + return ret >>> 0; + } + /** + * @returns {number} + */ + vertex_count() { + const ret = wasm.bspmesh_vertex_count(this.__wbg_ptr); + return ret >>> 0; + } + /** + * Move vertex data out (avoids clone). Field becomes empty after call. + * @returns {Float32Array} + */ + vertex_data() { + const ret = wasm.bspmesh_vertex_data(this.__wbg_ptr); + var v1 = getArrayF32FromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); + return v1; + } +} +if (Symbol.dispose) BspMesh.prototype[Symbol.dispose] = BspMesh.prototype.free; + +export class ReplayData { + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(ReplayData.prototype); + obj.__wbg_ptr = ptr; + ReplayDataFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + ReplayDataFinalization.unregister(this); + return ptr; + } + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_replaydata_free(ptr, 0); + } + /** + * @returns {Float32Array} + */ + angles() { + const ret = wasm.replaydata_angles(this.__wbg_ptr); + var v1 = getArrayF32FromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); + return v1; + } + /** + * @returns {Int32Array} + */ + buttons_array() { + const ret = wasm.replaydata_buttons_array(this.__wbg_ptr); + var v1 = getArrayI32FromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); + return v1; + } + /** + * @returns {Int32Array} + */ + flags_array() { + const ret = wasm.replaydata_flags_array(this.__wbg_ptr); + var v1 = getArrayI32FromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); + return v1; + } + /** + * @returns {string} + */ + map_name() { + let deferred1_0; + let deferred1_1; + try { + const ret = wasm.replaydata_map_name(this.__wbg_ptr); + deferred1_0 = ret[0]; + deferred1_1 = ret[1]; + return getStringFromWasm0(ret[0], ret[1]); + } finally { + wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); + } + } + /** + * @returns {Float32Array} + */ + positions() { + const ret = wasm.replaydata_positions(this.__wbg_ptr); + var v1 = getArrayF32FromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); + return v1; + } + /** + * @returns {number} + */ + preframes() { + const ret = wasm.replaydata_preframes(this.__wbg_ptr); + return ret; + } + /** + * @returns {number} + */ + tick_count() { + const ret = wasm.replaydata_tick_count(this.__wbg_ptr); + return ret >>> 0; + } + /** + * @returns {number} + */ + tick_rate() { + const ret = wasm.replaydata_tick_rate(this.__wbg_ptr); + return ret >>> 0; + } + /** + * @returns {number} + */ + time() { + const ret = wasm.replaydata_time(this.__wbg_ptr); + return ret; + } +} +if (Symbol.dispose) ReplayData.prototype[Symbol.dispose] = ReplayData.prototype.free; + +/** + * @param {Uint8Array} data + * @returns {Uint8Array} + */ +export function decompress_bz2(data) { + const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.decompress_bz2(ptr0, len0); + if (ret[3]) { + throw takeFromExternrefTable0(ret[2]); + } + var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 1, 1); + return v2; +} + +export function init() { + wasm.init(); +} + +/** + * @param {Uint8Array} data + * @returns {BspMesh} + */ +export function parse_bsp(data) { + const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.parse_bsp(ptr0, len0); + if (ret[2]) { + throw takeFromExternrefTable0(ret[1]); + } + return BspMesh.__wrap(ret[0]); +} + +/** + * @param {Uint8Array} data + * @returns {ReplayData} + */ +export function parse_replay(data) { + const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.parse_replay(ptr0, len0); + if (ret[2]) { + throw takeFromExternrefTable0(ret[1]); + } + return ReplayData.__wrap(ret[0]); +} + +function __wbg_get_imports() { + const import0 = { + __proto__: null, + __wbg_Error_83742b46f01ce22d: function(arg0, arg1) { + const ret = Error(getStringFromWasm0(arg0, arg1)); + return ret; + }, + __wbg___wbindgen_throw_6ddd609b62940d55: function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }, + __wbg_error_a6fa202b58aa1cd3: function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.error(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }, + __wbg_log_524eedafa26daa59: function(arg0) { + console.log(arg0); + }, + __wbg_log_89f0432d129e5e26: function(arg0, arg1) { + console.log(getStringFromWasm0(arg0, arg1)); + }, + __wbg_new_227d7c05414eb861: function() { + const ret = new Error(); + return ret; + }, + __wbg_stack_3b0d974bbf31e44f: function(arg0, arg1) { + const ret = arg1.stack; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, + __wbindgen_cast_0000000000000001: function(arg0, arg1) { + // Cast intrinsic for `Ref(String) -> Externref`. + const ret = getStringFromWasm0(arg0, arg1); + return ret; + }, + __wbindgen_init_externref_table: function() { + const table = wasm.__wbindgen_externrefs; + const offset = table.grow(4); + table.set(0, undefined); + table.set(offset + 0, undefined); + table.set(offset + 1, null); + table.set(offset + 2, true); + table.set(offset + 3, false); + }, + }; + return { + __proto__: null, + "./bhop_replay_viewer_wasm_bg.js": import0, + }; +} + +const BspMeshFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_bspmesh_free(ptr >>> 0, 1)); +const ReplayDataFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_replaydata_free(ptr >>> 0, 1)); + +function getArrayF32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getFloat32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +function getArrayI32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getInt32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +function getArrayU32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +function getArrayU8FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len); +} + +let cachedDataViewMemory0 = null; +function getDataViewMemory0() { + if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) { + cachedDataViewMemory0 = new DataView(wasm.memory.buffer); + } + return cachedDataViewMemory0; +} + +let cachedFloat32ArrayMemory0 = null; +function getFloat32ArrayMemory0() { + if (cachedFloat32ArrayMemory0 === null || cachedFloat32ArrayMemory0.byteLength === 0) { + cachedFloat32ArrayMemory0 = new Float32Array(wasm.memory.buffer); + } + return cachedFloat32ArrayMemory0; +} + +let cachedInt32ArrayMemory0 = null; +function getInt32ArrayMemory0() { + if (cachedInt32ArrayMemory0 === null || cachedInt32ArrayMemory0.byteLength === 0) { + cachedInt32ArrayMemory0 = new Int32Array(wasm.memory.buffer); + } + return cachedInt32ArrayMemory0; +} + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return decodeText(ptr, len); +} + +let cachedUint32ArrayMemory0 = null; +function getUint32ArrayMemory0() { + if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) { + cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer); + } + return cachedUint32ArrayMemory0; +} + +let cachedUint8ArrayMemory0 = null; +function getUint8ArrayMemory0() { + if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { + cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8ArrayMemory0; +} + +function passArray8ToWasm0(arg, malloc) { + const ptr = malloc(arg.length * 1, 1) >>> 0; + getUint8ArrayMemory0().set(arg, ptr / 1); + WASM_VECTOR_LEN = arg.length; + return ptr; +} + +function passStringToWasm0(arg, malloc, realloc) { + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8ArrayMemory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; + } + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); + const ret = cachedTextEncoder.encodeInto(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +function takeFromExternrefTable0(idx) { + const value = wasm.__wbindgen_externrefs.get(idx); + wasm.__externref_table_dealloc(idx); + return value; +} + +let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }); +cachedTextDecoder.decode(); +const MAX_SAFARI_DECODE_BYTES = 2146435072; +let numBytesDecoded = 0; +function decodeText(ptr, len) { + numBytesDecoded += len; + if (numBytesDecoded >= MAX_SAFARI_DECODE_BYTES) { + cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }); + cachedTextDecoder.decode(); + numBytesDecoded = len; + } + return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len)); +} + +const cachedTextEncoder = new TextEncoder(); + +if (!('encodeInto' in cachedTextEncoder)) { + cachedTextEncoder.encodeInto = function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length + }; + }; +} + +let WASM_VECTOR_LEN = 0; + +let wasmModule, wasm; +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + wasmModule = module; + cachedDataViewMemory0 = null; + cachedFloat32ArrayMemory0 = null; + cachedInt32ArrayMemory0 = null; + cachedUint32ArrayMemory0 = null; + cachedUint8ArrayMemory0 = null; + wasm.__wbindgen_start(); + return wasm; +} + +async function __wbg_load(module, imports) { + if (typeof Response === 'function' && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + } catch (e) { + const validResponse = module.ok && expectedResponseType(module.type); + + if (validResponse && module.headers.get('Content-Type') !== 'application/wasm') { + console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); + + } else { throw e; } + } + } + + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); + } else { + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + } else { + return instance; + } + } + + function expectedResponseType(type) { + switch (type) { + case 'basic': case 'cors': case 'default': return true; + } + return false; + } +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + + if (module !== undefined) { + if (Object.getPrototypeOf(module) === Object.prototype) { + ({module} = module) + } else { + console.warn('using deprecated parameters for `initSync()`; pass a single object instead') + } + } + + const imports = __wbg_get_imports(); + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + const instance = new WebAssembly.Instance(module, imports); + return __wbg_finalize_init(instance, module); +} + +async function __wbg_init(module_or_path) { + if (wasm !== undefined) return wasm; + + + if (module_or_path !== undefined) { + if (Object.getPrototypeOf(module_or_path) === Object.prototype) { + ({module_or_path} = module_or_path) + } else { + console.warn('using deprecated parameters for the initialization function; pass a single object instead') + } + } + + if (module_or_path === undefined) { + module_or_path = new URL('bhop_replay_viewer_wasm_bg.wasm', import.meta.url); + } + const imports = __wbg_get_imports(); + + if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) { + module_or_path = fetch(module_or_path); + } + + const { instance, module } = await __wbg_load(await module_or_path, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync, __wbg_init as default }; diff --git a/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm b/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm new file mode 100644 index 0000000000000000000000000000000000000000..6cb676d7328df89323317a60a5bc0af5415ff4ce GIT binary patch literal 292221 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

or+*G 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â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 AmjD0& literal 0 HcmV?d00001 diff --git a/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm.d.ts b/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm.d.ts new file mode 100644 index 0000000..e10aa83 --- /dev/null +++ b/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm.d.ts @@ -0,0 +1,43 @@ +/* tslint:disable */ +/* eslint-disable */ +export const memory: WebAssembly.Memory; +export const __wbg_bspmesh_free: (a: number, b: number) => void; +export const bspmesh_animated_frame_data: (a: number) => [number, number]; +export const bspmesh_animated_texture_info: (a: number) => [number, number]; +export const bspmesh_find_cluster: (a: number, b: number, c: number, d: number) => number; +export const bspmesh_has_skybox: (a: number) => number; +export const bspmesh_index_count: (a: number) => number; +export const bspmesh_index_data: (a: number) => [number, number]; +export const bspmesh_is_cluster_visible: (a: number, b: number, c: number) => number; +export const bspmesh_lightmap_atlas_data: (a: number) => [number, number]; +export const bspmesh_lightmap_height: (a: number) => number; +export const bspmesh_lightmap_width: (a: number) => number; +export const bspmesh_model_draw_count: (a: number) => number; +export const bspmesh_model_draw_data: (a: number) => [number, number]; +export const bspmesh_skybox_data: (a: number) => [number, number]; +export const bspmesh_skybox_face_size: (a: number) => number; +export const bspmesh_texture_atlas_data: (a: number) => [number, number]; +export const bspmesh_texture_atlas_height: (a: number) => number; +export const bspmesh_texture_atlas_width: (a: number) => number; +export const bspmesh_vertex_count: (a: number) => number; +export const bspmesh_vertex_data: (a: number) => [number, number]; +export const parse_bsp: (a: number, b: number) => [number, number, number]; +export const decompress_bz2: (a: number, b: number) => [number, number, number, number]; +export const init: () => void; +export const __wbg_replaydata_free: (a: number, b: number) => void; +export const parse_replay: (a: number, b: number) => [number, number, number]; +export const replaydata_angles: (a: number) => [number, number]; +export const replaydata_buttons_array: (a: number) => [number, number]; +export const replaydata_flags_array: (a: number) => [number, number]; +export const replaydata_map_name: (a: number) => [number, number]; +export const replaydata_positions: (a: number) => [number, number]; +export const replaydata_preframes: (a: number) => number; +export const replaydata_tick_count: (a: number) => number; +export const replaydata_tick_rate: (a: number) => number; +export const replaydata_time: (a: number) => number; +export const __wbindgen_free: (a: number, b: number, c: number) => void; +export const __wbindgen_malloc: (a: number, b: number) => number; +export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; +export const __wbindgen_externrefs: WebAssembly.Table; +export const __externref_table_dealloc: (a: number) => void; +export const __wbindgen_start: () => void; diff --git a/src/replay-viewer/wasm/package.json b/src/replay-viewer/wasm/package.json new file mode 100644 index 0000000..42a6f70 --- /dev/null +++ b/src/replay-viewer/wasm/package.json @@ -0,0 +1,15 @@ +{ + "name": "bhop-replay-viewer-wasm", + "type": "module", + "version": "0.1.0", + "files": [ + "bhop_replay_viewer_wasm_bg.wasm", + "bhop_replay_viewer_wasm.js", + "bhop_replay_viewer_wasm.d.ts" + ], + "main": "bhop_replay_viewer_wasm.js", + "types": "bhop_replay_viewer_wasm.d.ts", + "sideEffects": [ + "./snippets/*" + ] +} \ No newline at end of file From 06ad79c3710654177727a3c08f1b08e81f20c14e Mon Sep 17 00:00:00 2001 From: tommy Date: Tue, 10 Mar 2026 00:41:04 -0400 Subject: [PATCH 03/18] feat: add replay viewer WebGL engine Core rendering and playback engine for the in-browser BSP replay viewer: - renderer.ts: WebGL renderer with lightmap atlas, texture atlas, skybox cubemap, sky depth occlusion, PVS culling, and static prop rendering with transparency support - camera.ts: First-person and free-cam camera with mouse look, WASD movement, and smooth replay-following mode - math.ts: Matrix/vector utilities and Source Engine coordinate helpers - playback.ts: Replay tick interpolation with speed control, pause, scrubbing, and button state decoding - fetchWithProgress.ts: Streaming download with progress callbacks Co-Authored-By: Claude Opus 4.6 --- src/replay-viewer/camera.ts | 145 +++++ src/replay-viewer/fetchWithProgress.ts | 42 ++ src/replay-viewer/math.ts | 43 ++ src/replay-viewer/playback.ts | 196 +++++++ src/replay-viewer/renderer.ts | 726 +++++++++++++++++++++++++ 5 files changed, 1152 insertions(+) create mode 100644 src/replay-viewer/camera.ts create mode 100644 src/replay-viewer/fetchWithProgress.ts create mode 100644 src/replay-viewer/math.ts create mode 100644 src/replay-viewer/playback.ts create mode 100644 src/replay-viewer/renderer.ts diff --git a/src/replay-viewer/camera.ts b/src/replay-viewer/camera.ts new file mode 100644 index 0000000..c0bb357 --- /dev/null +++ b/src/replay-viewer/camera.ts @@ -0,0 +1,145 @@ +import { mat4, vec3 } from 'gl-matrix'; +import type { PlaybackState } from './playback'; + +export class Camera { + readonly viewMatrix = mat4.create(); + private freecam = false; + + // Freecam state + private pos = vec3.fromValues(0, 0, 0); + private yaw = 0; + private pitch = 0; + private keys: Record = {}; + private speed = 800; + private sensitivity = 0.002; + private canvas: HTMLCanvasElement; + + private onKeyDown: (e: KeyboardEvent) => void; + private onKeyUp: (e: KeyboardEvent) => void; + private onMouseMove: (e: MouseEvent) => void; + + constructor(canvas: HTMLCanvasElement) { + this.canvas = canvas; + + this.onKeyDown = (e: KeyboardEvent) => { + this.keys[e.key.toLowerCase()] = true; + }; + this.onKeyUp = (e: KeyboardEvent) => { + this.keys[e.key.toLowerCase()] = false; + }; + this.onMouseMove = (e: MouseEvent) => { + if (!this.freecam || !document.pointerLockElement) return; + this.yaw -= e.movementX * this.sensitivity; + this.pitch -= e.movementY * this.sensitivity; + this.pitch = Math.max(-Math.PI / 2 + 0.01, Math.min(Math.PI / 2 - 0.01, this.pitch)); + }; + + document.addEventListener('keydown', this.onKeyDown); + document.addEventListener('keyup', this.onKeyUp); + canvas.addEventListener('mousemove', this.onMouseMove); + canvas.addEventListener('click', () => { + if (this.freecam && !document.pointerLockElement) { + canvas.requestPointerLock(); + } + }); + } + + get isFreecam(): boolean { + return this.freecam; + } + + toggleFreecam(): void { + this.freecam = !this.freecam; + if (this.freecam) { + this.canvas.requestPointerLock(); + } else { + document.exitPointerLock(); + } + } + + forceFreecam(): void { + this.freecam = true; + } + + getPosition(): Float32Array { + return new Float32Array([this.pos[0], this.pos[1], this.pos[2]]); + } + + update(dt: number, state: PlaybackState): void { + if (this.freecam) { + this.updateFreecam(dt); + } else { + this.updateFollowCam(state); + } + } + + private updateFollowCam(state: PlaybackState): void { + const px = state.position[0]; + const py = state.position[1]; + const pz = state.position[2] + state.eyeHeight; + + // Source Engine angles: yaw is angles[1], pitch is angles[0] + const yaw = state.angles[1] * Math.PI / 180; + const pitch = -state.angles[0] * Math.PI / 180; + + const cosPitch = Math.cos(pitch); + const fx = Math.cos(yaw) * cosPitch; + const fy = Math.sin(yaw) * cosPitch; + const fz = Math.sin(pitch); + + mat4.lookAt( + this.viewMatrix, + [px, py, pz], + [px + fx, py + fy, pz + fz], + [0, 0, 1], + ); + } + + private updateFreecam(dt: number): void { + const spd = this.keys['shift'] ? this.speed * 3 : this.speed; + + const cosPitch = Math.cos(this.pitch); + const fx = Math.cos(this.yaw) * cosPitch; + const fy = Math.sin(this.yaw) * cosPitch; + const fz = Math.sin(this.pitch); + + // Right vector (perpendicular to forward in XY plane) + const rx = Math.cos(this.yaw - Math.PI / 2); + const ry = Math.sin(this.yaw - Math.PI / 2); + + if (this.keys['w']) { + this.pos[0] += fx * spd * dt; + this.pos[1] += fy * spd * dt; + this.pos[2] += fz * spd * dt; + } + if (this.keys['s']) { + this.pos[0] -= fx * spd * dt; + this.pos[1] -= fy * spd * dt; + this.pos[2] -= fz * spd * dt; + } + if (this.keys['a']) { + this.pos[0] -= rx * spd * dt; + this.pos[1] -= ry * spd * dt; + } + if (this.keys['d']) { + this.pos[0] += rx * spd * dt; + this.pos[1] += ry * spd * dt; + } + + mat4.lookAt( + this.viewMatrix, + this.pos as unknown as vec3, + [this.pos[0] + fx, this.pos[1] + fy, this.pos[2] + fz], + [0, 0, 1], + ); + } + + dispose(): void { + document.removeEventListener('keydown', this.onKeyDown); + document.removeEventListener('keyup', this.onKeyUp); + this.canvas.removeEventListener('mousemove', this.onMouseMove); + if (document.pointerLockElement === this.canvas) { + document.exitPointerLock(); + } + } +} diff --git a/src/replay-viewer/fetchWithProgress.ts b/src/replay-viewer/fetchWithProgress.ts new file mode 100644 index 0000000..85ecfe5 --- /dev/null +++ b/src/replay-viewer/fetchWithProgress.ts @@ -0,0 +1,42 @@ +export async function fetchWithProgress( + url: string, + onProgress: (received: number, total: number | null) => void, + credentials: RequestCredentials = 'same-origin', +): Promise { + const response = await fetch(url, { credentials }); + if (!response.ok) { + throw new Error(`Failed to fetch ${url}: ${response.status} ${response.statusText}`); + } + + // If no body stream available, fall back to simple arrayBuffer + if (!response.body) { + onProgress(0, null); + return response.arrayBuffer(); + } + + const contentLength = response.headers.get('content-length'); + const total = contentLength ? parseInt(contentLength, 10) : null; + + // Always use streaming reader so progress updates even without Content-Length + const reader = response.body.getReader(); + const chunks: Uint8Array[] = []; + let received = 0; + + onProgress(0, total); + + while (true) { + const { done, value } = await reader.read(); + if (done) break; + chunks.push(value); + received += value.length; + onProgress(received, total); + } + + const result = new Uint8Array(received); + let offset = 0; + for (const chunk of chunks) { + result.set(chunk, offset); + offset += chunk.length; + } + return result.buffer; +} diff --git a/src/replay-viewer/math.ts b/src/replay-viewer/math.ts new file mode 100644 index 0000000..4aab518 --- /dev/null +++ b/src/replay-viewer/math.ts @@ -0,0 +1,43 @@ +export function deltaAngle(a: number, b: number): number { + return (b - a) - Math.floor((b - a + 180) / 360) * 360; +} + +export function hermiteValue(p0: number, p1: number, p2: number, p3: number, t: number): number { + const m0 = (p2 - p0) * 0.5; + const m1 = (p3 - p1) * 0.5; + const t2 = t * t; + const t3 = t * t * t; + return (2 * t3 - 3 * t2 + 1) * p1 + (t3 - 2 * t2 + t) * m0 + + (-2 * t3 + 3 * t2) * p2 + (t3 - t2) * m1; +} + +export function hermitePosition( + p0: Float32Array, p1: Float32Array, p2: Float32Array, p3: Float32Array, + t: number, out: Float32Array +): void { + out[0] = hermiteValue(p0[0], p1[0], p2[0], p3[0], t); + out[1] = hermiteValue(p0[1], p1[1], p2[1], p3[1], t); + out[2] = hermiteValue(p0[2], p1[2], p2[2], p3[2], t); +} + +export function hermiteAngles( + a0: Float32Array, a1: Float32Array, a2: Float32Array, a3: Float32Array, + t: number, out: Float32Array +): void { + // Pitch + out[0] = hermiteValue( + a1[0] + deltaAngle(a1[0], a0[0]), + a1[0], + a1[0] + deltaAngle(a1[0], a2[0]), + a1[0] + deltaAngle(a1[0], a3[0]), + t + ); + // Yaw + out[1] = hermiteValue( + a1[1] + deltaAngle(a1[1], a0[1]), + a1[1], + a1[1] + deltaAngle(a1[1], a2[1]), + a1[1] + deltaAngle(a1[1], a3[1]), + t + ); +} diff --git a/src/replay-viewer/playback.ts b/src/replay-viewer/playback.ts new file mode 100644 index 0000000..1222795 --- /dev/null +++ b/src/replay-viewer/playback.ts @@ -0,0 +1,196 @@ +import { hermitePosition, hermiteAngles, hermiteValue } from './math'; + +// Button flags +export const IN_JUMP = 1 << 1; +export const IN_DUCK = 1 << 2; +export const IN_FORWARD = 1 << 3; +export const IN_BACK = 1 << 4; +export const IN_MOVELEFT = 1 << 9; +export const IN_MOVERIGHT = 1 << 10; + +// Entity flags +export const FL_DUCKING = 1 << 1; + +export interface PlaybackState { + tick: number; + position: Float32Array; // [x, y, z] + angles: Float32Array; // [pitch, yaw] + buttons: number; + flags: number; + eyeHeight: number; + speed: number; + isPlaying: boolean; + playbackRate: number; + totalTicks: number; + tickRate: number; + time: number; +} + +export class PlaybackEngine { + private positions: Float32Array; + private angles: Float32Array; + private buttons: Int32Array; + private flags: Int32Array; + private tickCount: number; + readonly tickRate: number; + readonly replayTime: number; + + tick = 0; + isPlaying = true; + playbackRate = 1.0; + private spareTime = 0; + private pauseTicks = 100; + + // Temp buffers for interpolation + private tempPos = [new Float32Array(3), new Float32Array(3), new Float32Array(3), new Float32Array(3)]; + private tempAng = [new Float32Array(2), new Float32Array(2), new Float32Array(2), new Float32Array(2)]; + + // Output state + readonly state: PlaybackState; + + constructor( + positions: Float32Array, + angles: Float32Array, + buttons: Int32Array, + flags: Int32Array, + tickCount: number, + tickRate: number, + replayTime: number, + ) { + this.positions = positions; + this.angles = angles; + this.buttons = buttons; + this.flags = flags; + this.tickCount = tickCount; + this.tickRate = tickRate; + this.replayTime = replayTime; + + this.state = { + tick: 0, + position: new Float32Array(3), + angles: new Float32Array(2), + buttons: 0, + flags: 0, + eyeHeight: 64, + speed: 0, + isPlaying: true, + playbackRate: 1.0, + totalTicks: tickCount, + tickRate, + time: replayTime, + }; + } + + private clampTick(tick: number): number { + return Math.max(0, Math.min(tick, this.tickCount - 1)); + } + + private getTickPos(tick: number, out: Float32Array): void { + const t = this.clampTick(tick); + const off = t * 3; + out[0] = this.positions[off]; + out[1] = this.positions[off + 1]; + out[2] = this.positions[off + 2]; + } + + private getTickAngles(tick: number, out: Float32Array): void { + const t = this.clampTick(tick); + const off = t * 2; + out[0] = this.angles[off]; + out[1] = this.angles[off + 1]; + } + + private getTickFlags(tick: number): number { + return this.flags[this.clampTick(tick)]; + } + + private getTickButtons(tick: number): number { + return this.buttons[this.clampTick(tick)]; + } + + private getEyeHeight(flags: number): number { + return (flags & FL_DUCKING) !== 0 ? 46 : 64; + } + + setTick(tick: number): void { + this.tick = tick; + this.spareTime = 0; + } + + update(dt: number): void { + const tickPeriod = 1.0 / this.tickRate; + + if (this.isPlaying) { + this.spareTime += dt * this.playbackRate; + + while (this.spareTime > tickPeriod) { + this.spareTime -= tickPeriod; + this.tick += 1; + if (this.tick > this.tickCount + this.pauseTicks * 2) { + this.tick = -this.pauseTicks; + } + } + + while (this.spareTime < 0) { + this.spareTime += tickPeriod; + this.tick -= 1; + if (this.tick < -this.pauseTicks * 2) { + this.tick = this.tickCount + this.pauseTicks; + } + } + } else { + this.spareTime = 0; + } + + const clamped = this.clampTick(this.tick); + const curFlags = this.getTickFlags(this.tick); + const curButtons = this.getTickButtons(this.tick); + let eyeHeight = this.getEyeHeight(curFlags); + + // Get base position/angles + this.getTickPos(this.tick, this.state.position); + this.getTickAngles(this.tick, this.state.angles); + + // Hermite interpolation + if (this.spareTime >= 0 && this.spareTime <= tickPeriod) { + const t = this.spareTime / tickPeriod; + + this.getTickPos(this.tick - 1, this.tempPos[0]); + this.getTickPos(this.tick, this.tempPos[1]); + this.getTickPos(this.tick + 1, this.tempPos[2]); + this.getTickPos(this.tick + 2, this.tempPos[3]); + + this.getTickAngles(this.tick - 1, this.tempAng[0]); + this.getTickAngles(this.tick, this.tempAng[1]); + this.getTickAngles(this.tick + 1, this.tempAng[2]); + this.getTickAngles(this.tick + 2, this.tempAng[3]); + + hermitePosition(this.tempPos[0], this.tempPos[1], this.tempPos[2], this.tempPos[3], t, this.state.position); + hermiteAngles(this.tempAng[0], this.tempAng[1], this.tempAng[2], this.tempAng[3], t, this.state.angles); + + eyeHeight = hermiteValue( + this.getEyeHeight(this.getTickFlags(this.tick - 1)), + this.getEyeHeight(curFlags), + this.getEyeHeight(this.getTickFlags(this.tick + 1)), + this.getEyeHeight(this.getTickFlags(this.tick + 2)), + t, + ); + } + + // Compute speed (horizontal velocity between ticks) + const prevTick = this.clampTick(clamped - 1); + const p0 = prevTick * 3; + const p1 = clamped * 3; + const dx = this.positions[p1] - this.positions[p0]; + const dy = this.positions[p1 + 1] - this.positions[p0 + 1]; + const speed = Math.sqrt(dx * dx + dy * dy) * this.tickRate; + + this.state.tick = clamped; + this.state.buttons = curButtons; + this.state.flags = curFlags; + this.state.eyeHeight = eyeHeight; + this.state.speed = speed; + this.state.isPlaying = this.isPlaying; + this.state.playbackRate = this.playbackRate; + } +} diff --git a/src/replay-viewer/renderer.ts b/src/replay-viewer/renderer.ts new file mode 100644 index 0000000..6cdf09b --- /dev/null +++ b/src/replay-viewer/renderer.ts @@ -0,0 +1,726 @@ +import { mat4 } from 'gl-matrix'; +import type { BspMesh } from './wasm/bhop_replay_viewer_wasm'; + +// Vertex stride: 14 floats = [x, y, z, nx, ny, nz, lm_u, lm_v, tex_u, tex_v, atlas_min_u, atlas_min_v, atlas_scale_u, atlas_scale_v] +const STRIDE = 14 * 4; // 56 bytes + +const MAP_VERT = ` +attribute vec3 aPosition; +attribute vec3 aNormal; +attribute vec2 aLightmapUV; +attribute vec2 aTexUV; +attribute vec2 aAtlasMin; +attribute vec2 aAtlasScale; +uniform mat4 uProjection; +uniform mat4 uView; +varying vec3 vNormal; +varying vec2 vLightmapUV; +varying vec2 vTexUV; +varying vec2 vAtlasMin; +varying vec2 vAtlasScale; +void main() { + vNormal = aNormal; + vLightmapUV = aLightmapUV; + vTexUV = aTexUV; + vAtlasMin = aAtlasMin; + vAtlasScale = aAtlasScale; + gl_Position = uProjection * uView * vec4(aPosition, 1.0); +} +`; + +const MAP_FRAG = ` +#extension GL_OES_standard_derivatives : enable +#extension GL_EXT_shader_texture_lod : enable +precision mediump float; +varying vec3 vNormal; +varying vec2 vLightmapUV; +varying vec2 vTexUV; +varying vec2 vAtlasMin; +varying vec2 vAtlasScale; +uniform sampler2D uLightmap; +uniform sampler2D uTexture; +uniform vec2 uAtlasSize; +uniform float uDebugMode; + +const float RGBM_SCALE = 6.0; +const float MAX_SAFE_TEXELS = 8.0; // must match TEX_PAD in bsp.rs + +void main() { + vec3 n = normalize(vNormal); + if (!gl_FrontFacing) n = -n; + + // Sample base texture with per-pixel tiling + float hasTex = step(0.001, vAtlasScale.x + vAtlasScale.y); + vec2 rawDdx = dFdx(vTexUV) * vAtlasScale; + vec2 rawDdy = dFdy(vTexUV) * vAtlasScale; + + // Clamp gradients so mip level never exceeds padding coverage + float maxGrad = MAX_SAFE_TEXELS / max(uAtlasSize.x, uAtlasSize.y); + float gradLen = max(length(rawDdx), length(rawDdy)); + if (gradLen > maxGrad) { + float s = maxGrad / gradLen; + rawDdx *= s; + rawDdy *= s; + } + + vec2 tiledUV = fract(vTexUV); + vec2 atlasUV = vAtlasMin + tiledUV * vAtlasScale; + vec4 texColor = texture2DGradEXT(uTexture, atlasUV, rawDdx, rawDdy); + + // Alpha test: discard nearly transparent fragments (cutout textures like fences, grates) + float alpha = mix(1.0, texColor.a, hasTex); + if (alpha < 0.1) discard; + + // Debug mode 1: raw texture only (no lightmap, no gamma) + if (uDebugMode > 0.5) { + vec3 c = mix(vec3(1.0, 0.0, 1.0), texColor.rgb, hasTex); + gl_FragColor = vec4(c, alpha); + return; + } + + // Linearize base texture (sRGB -> linear) before combining with lightmap + vec3 texLinear = pow(texColor.rgb, vec3(2.2)); + vec3 albedo = mix(vec3(0.18), texLinear, hasTex); + + // Sample lightmap (RGBM encoded, already linear) + vec4 lmSample = texture2D(uLightmap, vLightmapUV); + vec3 lightColor = lmSample.rgb * lmSample.a * RGBM_SCALE; + + float hasLM = step(0.001, vLightmapUV.x + vLightmapUV.y); + vec3 light = mix(vec3(1.0), lightColor, hasLM); + + vec3 color = albedo * light; + color = pow(color, vec3(1.0 / 2.2)); + + gl_FragColor = vec4(color, alpha); +} +`; + +const PLAYER_VERT = ` +attribute vec3 aPosition; +uniform mat4 uProjection; +uniform mat4 uView; +uniform mat4 uModel; +void main() { + gl_Position = uProjection * uView * uModel * vec4(aPosition, 1.0); +} +`; + +const PLAYER_FRAG = ` +precision mediump float; +void main() { + gl_FragColor = vec4(0.3, 0.65, 0.4, 1.0); +} +`; + +const SKY_VERT = ` +attribute vec3 aPosition; +attribute vec2 aUV; +uniform mat4 uProjection; +uniform mat4 uViewRotation; +varying vec2 vUV; +void main() { + vUV = aUV; + gl_Position = uProjection * uViewRotation * vec4(aPosition, 1.0); +} +`; + +const SKY_FRAG = ` +precision mediump float; +varying vec2 vUV; +uniform sampler2D uSkybox; +void main() { + gl_FragColor = texture2D(uSkybox, vUV); +} +`; + +// Depth-only shader for sky face occlusion +const DEPTH_VERT = ` +attribute vec3 aPosition; +uniform mat4 uProjection; +uniform mat4 uView; +void main() { + gl_Position = uProjection * uView * vec4(aPosition, 1.0); +} +`; + +const DEPTH_FRAG = ` +precision mediump float; +void main() { + gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0); +} +`; + +// Build 6 skybox quads matching noclip.website's exact vertex positions. +// Atlas layout: 3 columns x 2 rows +// Row 0: ft(0), bk(1), lf(2) +// Row 1: rt(3), up(4), dn(5) +function createSkyboxQuads(): { vertices: Float32Array; indices: Uint16Array } { + const S = 100; + const eps = 1.0 / 512.0; + + const faces: Array<{ verts: number[][]; localUVs: number[][]; faceIdx: number }> = [ + { // ft (faceIdx 0) + verts: [[S,-S,-S], [S,-S,S], [-S,-S,S], [-S,-S,-S]], + localUVs: [[0,1], [0,0], [1,0], [1,1]], + faceIdx: 0, + }, + { // bk (faceIdx 1) + verts: [[-S,S,-S], [-S,S,S], [S,S,S], [S,S,-S]], + localUVs: [[0,1], [0,0], [1,0], [1,1]], + faceIdx: 1, + }, + { // lf (faceIdx 2) + verts: [[-S,-S,-S], [-S,-S,S], [-S,S,S], [-S,S,-S]], + localUVs: [[0,1], [0,0], [1,0], [1,1]], + faceIdx: 2, + }, + { // rt (faceIdx 3) + verts: [[S,S,-S], [S,S,S], [S,-S,S], [S,-S,-S]], + localUVs: [[0,1], [0,0], [1,0], [1,1]], + faceIdx: 3, + }, + { // up (faceIdx 4) + verts: [[S,S,S], [-S,S,S], [-S,-S,S], [S,-S,S]], + localUVs: [[0,1], [0,0], [1,0], [1,1]], + faceIdx: 4, + }, + { // dn (faceIdx 5) + verts: [[-S,S,-S], [S,S,-S], [S,-S,-S], [-S,-S,-S]], + localUVs: [[0,1], [0,0], [1,0], [1,1]], + faceIdx: 5, + }, + ]; + + const vertData: number[] = []; + const idxs: number[] = []; + + for (const face of faces) { + const col = face.faceIdx % 3; + const row = Math.floor(face.faceIdx / 3); + const base = vertData.length / 5; + + for (let i = 0; i < 4; i++) { + const [lu, lv] = face.localUVs[i]; + const cu = Math.max(eps, Math.min(1 - eps, lu)); + const cv = Math.max(eps, Math.min(1 - eps, lv)); + const atlasU = col / 3 + cu / 3; + const atlasV = row / 2 + cv / 2; + vertData.push(face.verts[i][0], face.verts[i][1], face.verts[i][2], atlasU, atlasV); + } + + idxs.push(base, base + 1, base + 2); + idxs.push(base, base + 2, base + 3); + } + + return { vertices: new Float32Array(vertData), indices: new Uint16Array(idxs) }; +} + +function compileShader(gl: WebGLRenderingContext, type: number, source: string): WebGLShader { + const shader = gl.createShader(type)!; + gl.shaderSource(shader, source); + gl.compileShader(shader); + if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) { + const info = gl.getShaderInfoLog(shader); + gl.deleteShader(shader); + throw new Error('Shader compile error: ' + info); + } + return shader; +} + +function createProgram(gl: WebGLRenderingContext, vert: string, frag: string): WebGLProgram { + const vs = compileShader(gl, gl.VERTEX_SHADER, vert); + const fs = compileShader(gl, gl.FRAGMENT_SHADER, frag); + const prog = gl.createProgram()!; + gl.attachShader(prog, vs); + gl.attachShader(prog, fs); + gl.linkProgram(prog); + if (!gl.getProgramParameter(prog, gl.LINK_STATUS)) { + const info = gl.getProgramInfoLog(prog); + throw new Error('Program link error: ' + info); + } + return prog; +} + +function createCubeData(): { vertices: Float32Array; indices: Uint16Array } { + const s = 8; + const h = 36; + const v = [ + -s, -s, 0, s, -s, 0, s, s, 0, -s, s, 0, + -s, -s, h, s, -s, h, s, s, h, -s, s, h, + ]; + const i = [ + 0,1,2, 0,2,3, 4,6,5, 4,7,6, 0,4,5, 0,5,1, + 2,6,7, 2,7,3, 0,3,7, 0,7,4, 1,5,6, 1,6,2, + ]; + return { vertices: new Float32Array(v), indices: new Uint16Array(i) }; +} + +interface ModelDrawRange { + indexStart: number; + indexCount: number; + cluster: number; +} + +export class Renderer { + private gl: WebGLRenderingContext; + private mapProgram: WebGLProgram; + private playerProgram: WebGLProgram; + private mapVBO: WebGLBuffer; + private mapIBO: WebGLBuffer; + private indexCount = 0; + private playerVBO: WebGLBuffer; + private playerIBO: WebGLBuffer; + private playerIndexCount: number; + private lightmapTexture: WebGLTexture | null = null; + private baseTexture: WebGLTexture | null = null; + private anisoExt: any = null; + private maxAnisotropy = 1; + + // Map uniforms + private uProjection: WebGLUniformLocation; + private uView: WebGLUniformLocation; + private uLightmap: WebGLUniformLocation; + private uTexture: WebGLUniformLocation; + private uAtlasSize: WebGLUniformLocation; + private uDebugMode: WebGLUniformLocation; + private atlasWidth = 0; + private atlasHeight = 0; + public debugTexMode = false; + + // Player uniforms + private puProjection: WebGLUniformLocation; + private puView: WebGLUniformLocation; + private puModel: WebGLUniformLocation; + + // Skybox + private skyboxProgram: WebGLProgram | null = null; + private skyboxVBO: WebGLBuffer | null = null; + private skyboxIBO: WebGLBuffer | null = null; + private skyboxTexture: WebGLTexture | null = null; + private skyboxIndexCount = 0; + private suProjection: WebGLUniformLocation | null = null; + private suViewRot: WebGLUniformLocation | null = null; + private suSkybox: WebGLUniformLocation | null = null; + + // Sky depth faces (occlusion) + private depthProgram: WebGLProgram | null = null; + private skyDepthVBO: WebGLBuffer | null = null; + private skyDepthIBO: WebGLBuffer | null = null; + private skyDepthIndexCount = 0; + private dpProjection: WebGLUniformLocation | null = null; + private dpView: WebGLUniformLocation | null = null; + + // PVS + private bspMesh: BspMesh | null = null; + private modelDrawRanges: ModelDrawRange[] = []; + + // Animated textures + private animTextures: { atlasX: number; atlasY: number; width: number; height: number; frameCount: number; fps: number; dataOffset: number; currentFrame: number }[] = []; + private animFrameData: Uint8Array | null = null; + + readonly projMatrix = mat4.create(); + private playerModelMatrix = mat4.create(); + + // Attribute locations (cached) + private aPos = -1; + private aNorm = -1; + private aLmUV = -1; + private aTexUV = -1; + private aAtlasMin = -1; + private aAtlasScale = -1; + + constructor(private canvas: HTMLCanvasElement) { + const gl = canvas.getContext('webgl', { antialias: true, alpha: false })!; + if (!gl) throw new Error('WebGL not supported'); + this.gl = gl; + + gl.getExtension('OES_element_index_uint'); + gl.getExtension('OES_standard_derivatives'); + gl.getExtension('EXT_shader_texture_lod'); + this.anisoExt = gl.getExtension('EXT_texture_filter_anisotropic') + || gl.getExtension('WEBKIT_EXT_texture_filter_anisotropic') + || gl.getExtension('MOZ_EXT_texture_filter_anisotropic'); + if (this.anisoExt) { + this.maxAnisotropy = gl.getParameter(this.anisoExt.MAX_TEXTURE_MAX_ANISOTROPY_EXT); + } + gl.enable(gl.DEPTH_TEST); + gl.disable(gl.CULL_FACE); + gl.clearColor(0.1, 0.1, 0.18, 1.0); + + // Map shader + this.mapProgram = createProgram(gl, MAP_VERT, MAP_FRAG); + this.uProjection = gl.getUniformLocation(this.mapProgram, 'uProjection')!; + this.uView = gl.getUniformLocation(this.mapProgram, 'uView')!; + this.uLightmap = gl.getUniformLocation(this.mapProgram, 'uLightmap')!; + this.uTexture = gl.getUniformLocation(this.mapProgram, 'uTexture')!; + this.uAtlasSize = gl.getUniformLocation(this.mapProgram, 'uAtlasSize')!; + this.uDebugMode = gl.getUniformLocation(this.mapProgram, 'uDebugMode')!; + + // Cache attribute locations + this.aPos = gl.getAttribLocation(this.mapProgram, 'aPosition'); + this.aNorm = gl.getAttribLocation(this.mapProgram, 'aNormal'); + this.aLmUV = gl.getAttribLocation(this.mapProgram, 'aLightmapUV'); + this.aTexUV = gl.getAttribLocation(this.mapProgram, 'aTexUV'); + this.aAtlasMin = gl.getAttribLocation(this.mapProgram, 'aAtlasMin'); + this.aAtlasScale = gl.getAttribLocation(this.mapProgram, 'aAtlasScale'); + + // Player shader + this.playerProgram = createProgram(gl, PLAYER_VERT, PLAYER_FRAG); + this.puProjection = gl.getUniformLocation(this.playerProgram, 'uProjection')!; + this.puView = gl.getUniformLocation(this.playerProgram, 'uView')!; + this.puModel = gl.getUniformLocation(this.playerProgram, 'uModel')!; + + // Buffers + this.mapVBO = gl.createBuffer()!; + this.mapIBO = gl.createBuffer()!; + + const cube = createCubeData(); + this.playerVBO = gl.createBuffer()!; + gl.bindBuffer(gl.ARRAY_BUFFER, this.playerVBO); + gl.bufferData(gl.ARRAY_BUFFER, cube.vertices, gl.STATIC_DRAW); + this.playerIBO = gl.createBuffer()!; + gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, this.playerIBO); + gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, cube.indices, gl.STATIC_DRAW); + this.playerIndexCount = cube.indices.length; + } + + uploadMap(vertices: Float32Array, indices: Uint32Array): void { + const gl = this.gl; + gl.bindBuffer(gl.ARRAY_BUFFER, this.mapVBO); + gl.bufferData(gl.ARRAY_BUFFER, vertices, gl.STATIC_DRAW); + gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, this.mapIBO); + gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, indices, gl.STATIC_DRAW); + this.indexCount = indices.length; + } + + setPVS(mesh: BspMesh): void { + this.bspMesh = mesh; + const drawData = mesh.model_draw_data(); + const count = mesh.model_draw_count(); + this.modelDrawRanges = []; + for (let i = 0; i < count; i++) { + this.modelDrawRanges.push({ + indexStart: drawData[i * 3], + indexCount: drawData[i * 3 + 1], + cluster: drawData[i * 3 + 2], + }); + } + } + + setupAnimatedTextures(info: Float32Array, frameData: Uint8Array): void { + this.animFrameData = frameData; + this.animTextures = []; + const ENTRY_SIZE = 7; + const count = info.length / ENTRY_SIZE; + let computedOffset = 0; + for (let i = 0; i < count; i++) { + const off = i * ENTRY_SIZE; + const width = info[off + 2]; + const height = info[off + 3]; + const frameCount = info[off + 4]; + this.animTextures.push({ + atlasX: info[off], + atlasY: info[off + 1], + width, + height, + frameCount, + fps: info[off + 5], + dataOffset: computedOffset, + currentFrame: -1, + }); + computedOffset += width * height * 4 * frameCount; + } + } + + updateAnimations(time: number): void { + if (!this.animFrameData || this.animTextures.length === 0) return; + const gl = this.gl; + gl.activeTexture(gl.TEXTURE1); + gl.bindTexture(gl.TEXTURE_2D, this.baseTexture); + let updated = 0; + for (const anim of this.animTextures) { + const frame = Math.floor(time * anim.fps) % anim.frameCount; + if (frame === anim.currentFrame) continue; + anim.currentFrame = frame; + const frameBytes = anim.width * anim.height * 4; + const offset = anim.dataOffset + frame * frameBytes; + const pixels = new Uint8Array(this.animFrameData.buffer, this.animFrameData.byteOffset + offset, frameBytes); + gl.texSubImage2D(gl.TEXTURE_2D, 0, anim.atlasX, anim.atlasY, anim.width, anim.height, gl.RGBA, gl.UNSIGNED_BYTE, pixels); + updated++; + } + if (updated > 0) { + gl.generateMipmap(gl.TEXTURE_2D); + } + } + + uploadLightmap(data: Uint8Array, width: number, height: number): void { + const gl = this.gl; + this.lightmapTexture = gl.createTexture()!; + gl.bindTexture(gl.TEXTURE_2D, this.lightmapTexture); + gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, width, height, 0, gl.RGBA, gl.UNSIGNED_BYTE, data); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE); + } + + uploadTextureAtlas(data: Uint8Array, width: number, height: number): void { + const gl = this.gl; + this.atlasWidth = width; + this.atlasHeight = height; + this.baseTexture = gl.createTexture()!; + gl.bindTexture(gl.TEXTURE_2D, this.baseTexture); + gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, width, height, 0, gl.RGBA, gl.UNSIGNED_BYTE, data); + gl.generateMipmap(gl.TEXTURE_2D); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR_MIPMAP_LINEAR); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE); + if (this.anisoExt) { + gl.texParameterf(gl.TEXTURE_2D, this.anisoExt.TEXTURE_MAX_ANISOTROPY_EXT, this.maxAnisotropy); + } + } + + uploadSkybox(data: Uint8Array, faceSize: number): void { + const gl = this.gl; + + // Build skybox shader + geometry + this.skyboxProgram = createProgram(gl, SKY_VERT, SKY_FRAG); + this.suProjection = gl.getUniformLocation(this.skyboxProgram, 'uProjection'); + this.suViewRot = gl.getUniformLocation(this.skyboxProgram, 'uViewRotation'); + this.suSkybox = gl.getUniformLocation(this.skyboxProgram, 'uSkybox'); + + const quads = createSkyboxQuads(); + this.skyboxVBO = gl.createBuffer()!; + gl.bindBuffer(gl.ARRAY_BUFFER, this.skyboxVBO); + gl.bufferData(gl.ARRAY_BUFFER, quads.vertices, gl.STATIC_DRAW); + this.skyboxIBO = gl.createBuffer()!; + gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, this.skyboxIBO); + gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, quads.indices, gl.STATIC_DRAW); + this.skyboxIndexCount = quads.indices.length; + + // Build 3x2 atlas from 6 concatenated face images + const atlasW = faceSize * 3; + const atlasH = faceSize * 2; + const faceBytes = faceSize * faceSize * 4; + const atlas = new Uint8Array(atlasW * atlasH * 4); + for (let fi = 0; fi < 6; fi++) { + const col = fi % 3; + const row = Math.floor(fi / 3); + const ox = col * faceSize; + const oy = row * faceSize; + const srcOff = fi * faceBytes; + for (let y = 0; y < faceSize; y++) { + const srcRow = srcOff + y * faceSize * 4; + const dstRow = ((oy + y) * atlasW + ox) * 4; + atlas.set(data.subarray(srcRow, srcRow + faceSize * 4), dstRow); + } + } + + this.skyboxTexture = gl.createTexture()!; + gl.bindTexture(gl.TEXTURE_2D, this.skyboxTexture); + gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, atlasW, atlasH, 0, gl.RGBA, gl.UNSIGNED_BYTE, atlas); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE); + } + + uploadSkyDepth(vertices: Float32Array, indices: Uint32Array): void { + const gl = this.gl; + this.depthProgram = createProgram(gl, DEPTH_VERT, DEPTH_FRAG); + this.dpProjection = gl.getUniformLocation(this.depthProgram, 'uProjection'); + this.dpView = gl.getUniformLocation(this.depthProgram, 'uView'); + + this.skyDepthVBO = gl.createBuffer()!; + gl.bindBuffer(gl.ARRAY_BUFFER, this.skyDepthVBO); + gl.bufferData(gl.ARRAY_BUFFER, vertices, gl.STATIC_DRAW); + + this.skyDepthIBO = gl.createBuffer()!; + gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, this.skyDepthIBO); + gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, indices, gl.STATIC_DRAW); + + this.skyDepthIndexCount = indices.length; + } + + resize(): void { + const canvas = this.canvas; + const dpr = window.devicePixelRatio || 1; + const w = canvas.clientWidth * dpr; + const h = canvas.clientHeight * dpr; + if (canvas.width !== w || canvas.height !== h) { + canvas.width = w; + canvas.height = h; + } + this.gl.viewport(0, 0, canvas.width, canvas.height); + mat4.perspective(this.projMatrix, 80 * Math.PI / 180, w / h, 1, 65536); + } + + render(viewMatrix: mat4, playerPos: Float32Array, showPlayer: boolean = true): void { + const gl = this.gl; + this.resize(); + + gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); + + // Draw skybox first (depth test OFF so it fills background) + if (this.skyboxTexture && this.skyboxProgram) { + gl.disable(gl.DEPTH_TEST); + gl.depthMask(false); + gl.useProgram(this.skyboxProgram); + gl.uniformMatrix4fv(this.suProjection, false, this.projMatrix); + + // View matrix with translation removed (rotation only) + const viewRot = mat4.clone(viewMatrix); + viewRot[12] = 0; viewRot[13] = 0; viewRot[14] = 0; + gl.uniformMatrix4fv(this.suViewRot, false, viewRot); + + gl.activeTexture(gl.TEXTURE2); + gl.bindTexture(gl.TEXTURE_2D, this.skyboxTexture); + gl.uniform1i(this.suSkybox, 2); + + // Stride: 5 floats (pos3 + uv2) = 20 bytes + gl.bindBuffer(gl.ARRAY_BUFFER, this.skyboxVBO!); + const sPos = gl.getAttribLocation(this.skyboxProgram, 'aPosition'); + const sUV = gl.getAttribLocation(this.skyboxProgram, 'aUV'); + gl.enableVertexAttribArray(sPos); + gl.vertexAttribPointer(sPos, 3, gl.FLOAT, false, 20, 0); + gl.enableVertexAttribArray(sUV); + gl.vertexAttribPointer(sUV, 2, gl.FLOAT, false, 20, 12); + + gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, this.skyboxIBO!); + gl.drawElements(gl.TRIANGLES, this.skyboxIndexCount, gl.UNSIGNED_SHORT, 0); + + gl.disableVertexAttribArray(sPos); + gl.disableVertexAttribArray(sUV); + gl.depthMask(true); + gl.enable(gl.DEPTH_TEST); + } + + // Draw sky faces depth-only (occlusion barrier so geometry behind sky isn't visible) + if (this.depthProgram && this.skyDepthIndexCount > 0) { + gl.useProgram(this.depthProgram); + gl.uniformMatrix4fv(this.dpProjection, false, this.projMatrix); + gl.uniformMatrix4fv(this.dpView, false, viewMatrix); + gl.colorMask(false, false, false, false); + + gl.bindBuffer(gl.ARRAY_BUFFER, this.skyDepthVBO!); + const dpPos = gl.getAttribLocation(this.depthProgram, 'aPosition'); + gl.enableVertexAttribArray(dpPos); + gl.vertexAttribPointer(dpPos, 3, gl.FLOAT, false, 12, 0); + + gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, this.skyDepthIBO!); + gl.drawElements(gl.TRIANGLES, this.skyDepthIndexCount, gl.UNSIGNED_INT, 0); + + gl.disableVertexAttribArray(dpPos); + gl.colorMask(true, true, true, true); + } + + if (this.indexCount === 0) return; + + // Enable alpha blending for transparent textures (fences, grates, glass, etc.) + gl.enable(gl.BLEND); + gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA); + + // Draw map + gl.useProgram(this.mapProgram); + gl.uniformMatrix4fv(this.uProjection, false, this.projMatrix); + gl.uniformMatrix4fv(this.uView, false, viewMatrix); + + // Bind lightmap on unit 0 + gl.activeTexture(gl.TEXTURE0); + gl.bindTexture(gl.TEXTURE_2D, this.lightmapTexture); + gl.uniform1i(this.uLightmap, 0); + + // Bind texture atlas on unit 1 + gl.activeTexture(gl.TEXTURE1); + gl.bindTexture(gl.TEXTURE_2D, this.baseTexture); + gl.uniform1i(this.uTexture, 1); + gl.uniform2f(this.uAtlasSize, this.atlasWidth, this.atlasHeight); + gl.uniform1f(this.uDebugMode, this.debugTexMode ? 1.0 : 0.0); + + gl.bindBuffer(gl.ARRAY_BUFFER, this.mapVBO); + gl.enableVertexAttribArray(this.aPos); + gl.vertexAttribPointer(this.aPos, 3, gl.FLOAT, false, STRIDE, 0); + gl.enableVertexAttribArray(this.aNorm); + gl.vertexAttribPointer(this.aNorm, 3, gl.FLOAT, false, STRIDE, 12); + gl.enableVertexAttribArray(this.aLmUV); + gl.vertexAttribPointer(this.aLmUV, 2, gl.FLOAT, false, STRIDE, 24); + gl.enableVertexAttribArray(this.aTexUV); + gl.vertexAttribPointer(this.aTexUV, 2, gl.FLOAT, false, STRIDE, 32); + gl.enableVertexAttribArray(this.aAtlasMin); + gl.vertexAttribPointer(this.aAtlasMin, 2, gl.FLOAT, false, STRIDE, 40); + gl.enableVertexAttribArray(this.aAtlasScale); + gl.vertexAttribPointer(this.aAtlasScale, 2, gl.FLOAT, false, STRIDE, 48); + + gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, this.mapIBO); + + // PVS-based per-cluster draw calls + if (this.bspMesh && this.modelDrawRanges.length > 0) { + const camCluster = this.bspMesh.find_cluster(playerPos[0], playerPos[1], playerPos[2]); + for (let i = 0; i < this.modelDrawRanges.length; i++) { + const m = this.modelDrawRanges[i]; + if (m.indexCount === 0) continue; + // cluster -1 = unknown, always draw; otherwise PVS check + if (m.cluster < 0 || this.bspMesh.is_cluster_visible(camCluster, m.cluster)) { + gl.drawElements(gl.TRIANGLES, m.indexCount, gl.UNSIGNED_INT, m.indexStart * 4); + } + } + } else { + gl.drawElements(gl.TRIANGLES, this.indexCount, gl.UNSIGNED_INT, 0); + } + + gl.disableVertexAttribArray(this.aNorm); + gl.disableVertexAttribArray(this.aLmUV); + gl.disableVertexAttribArray(this.aTexUV); + gl.disableVertexAttribArray(this.aAtlasMin); + gl.disableVertexAttribArray(this.aAtlasScale); + + // Disable blending for subsequent draws (player cube, etc.) + gl.disable(gl.BLEND); + + // Draw player cube (only in freecam) + if (showPlayer) { + gl.useProgram(this.playerProgram); + gl.uniformMatrix4fv(this.puProjection, false, this.projMatrix); + gl.uniformMatrix4fv(this.puView, false, viewMatrix); + + mat4.identity(this.playerModelMatrix); + mat4.translate(this.playerModelMatrix, this.playerModelMatrix, [ + playerPos[0], playerPos[1], playerPos[2], + ]); + gl.uniformMatrix4fv(this.puModel, false, this.playerModelMatrix); + + gl.bindBuffer(gl.ARRAY_BUFFER, this.playerVBO); + const pPos = gl.getAttribLocation(this.playerProgram, 'aPosition'); + gl.enableVertexAttribArray(pPos); + gl.vertexAttribPointer(pPos, 3, gl.FLOAT, false, 12, 0); + + gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, this.playerIBO); + gl.drawElements(gl.TRIANGLES, this.playerIndexCount, gl.UNSIGNED_SHORT, 0); + + gl.disableVertexAttribArray(pPos); + } + } + + dispose(): void { + const gl = this.gl; + gl.deleteBuffer(this.mapVBO); + gl.deleteBuffer(this.mapIBO); + gl.deleteBuffer(this.playerVBO); + gl.deleteBuffer(this.playerIBO); + if (this.lightmapTexture) gl.deleteTexture(this.lightmapTexture); + if (this.baseTexture) gl.deleteTexture(this.baseTexture); + if (this.skyboxTexture) gl.deleteTexture(this.skyboxTexture); + if (this.skyboxVBO) gl.deleteBuffer(this.skyboxVBO); + if (this.skyboxIBO) gl.deleteBuffer(this.skyboxIBO); + if (this.skyDepthVBO) gl.deleteBuffer(this.skyDepthVBO); + if (this.skyDepthIBO) gl.deleteBuffer(this.skyDepthIBO); + gl.deleteProgram(this.mapProgram); + gl.deleteProgram(this.playerProgram); + if (this.skyboxProgram) gl.deleteProgram(this.skyboxProgram); + if (this.depthProgram) gl.deleteProgram(this.depthProgram); + const ext = gl.getExtension('WEBGL_lose_context'); + if (ext) ext.loseContext(); + } +} From ce609a7331b08808d14812990d0b4bb24c8512a4 Mon Sep 17 00:00:00 2001 From: tommy Date: Tue, 10 Mar 2026 00:41:13 -0400 Subject: [PATCH 04/18] feat: add replay viewer UI components Vue 3 components for the replay viewer interface: - ReplayViewerOverlay.vue: Main orchestration component handling BSP download, WASM parsing, WebGL initialization, and 7-step loading progress with fullscreen canvas overlay - ViewerControls.vue: Playback scrubber, speed selector, camera toggle, and keyboard shortcuts with 3-second auto-fade on inactivity - ViewerHUD.vue: Key press display in ShavitTimer-inspired layout showing speed, movement keys (WASD), duck, and jump states - LoadingModal.vue: Themed loading screen with dual progress bars for download and processing steps Co-Authored-By: Claude Opus 4.6 --- src/replay-viewer/LoadingModal.vue | 72 +++++ src/replay-viewer/ReplayViewerOverlay.vue | 303 ++++++++++++++++++++++ src/replay-viewer/ViewerControls.vue | 242 +++++++++++++++++ src/replay-viewer/ViewerHUD.vue | 120 +++++++++ 4 files changed, 737 insertions(+) create mode 100644 src/replay-viewer/LoadingModal.vue create mode 100644 src/replay-viewer/ReplayViewerOverlay.vue create mode 100644 src/replay-viewer/ViewerControls.vue create mode 100644 src/replay-viewer/ViewerHUD.vue diff --git a/src/replay-viewer/LoadingModal.vue b/src/replay-viewer/LoadingModal.vue new file mode 100644 index 0000000..b1935c1 --- /dev/null +++ b/src/replay-viewer/LoadingModal.vue @@ -0,0 +1,72 @@ + + + + + diff --git a/src/replay-viewer/ReplayViewerOverlay.vue b/src/replay-viewer/ReplayViewerOverlay.vue new file mode 100644 index 0000000..8f53e88 --- /dev/null +++ b/src/replay-viewer/ReplayViewerOverlay.vue @@ -0,0 +1,303 @@ + + + diff --git a/src/replay-viewer/ViewerControls.vue b/src/replay-viewer/ViewerControls.vue new file mode 100644 index 0000000..7d584b8 --- /dev/null +++ b/src/replay-viewer/ViewerControls.vue @@ -0,0 +1,242 @@ + + + + + diff --git a/src/replay-viewer/ViewerHUD.vue b/src/replay-viewer/ViewerHUD.vue new file mode 100644 index 0000000..4caac7b --- /dev/null +++ b/src/replay-viewer/ViewerHUD.vue @@ -0,0 +1,120 @@ + + + + + From a4baf08f3be030d04141338809e21d0dd03f3189 Mon Sep 17 00:00:00 2001 From: tommy Date: Tue, 10 Mar 2026 00:41:20 -0400 Subject: [PATCH 05/18] feat: integrate replay viewer into record view - Add "View Replay" button to IndividualRecordView when replay is available, launching the fullscreen BSP replay viewer overlay - Update API base URL to use Vite proxy in dev mode for proper cookie forwarding and CORS handling - Reformat API module for consistency Co-Authored-By: Claude Opus 4.6 --- src/api/offstylesApi.ts | 248 ++++++++++++++++++----------- src/views/IndividualRecordView.vue | 31 +++- 2 files changed, 175 insertions(+), 104 deletions(-) diff --git a/src/api/offstylesApi.ts b/src/api/offstylesApi.ts index cd72677..89a9de1 100644 --- a/src/api/offstylesApi.ts +++ b/src/api/offstylesApi.ts @@ -1,8 +1,8 @@ -import { Style } from '@/types/Style'; -import Api from './api'; -import type { Time } from '@/types/Time'; -import type { User } from '@/types/User'; -import type { RecentModAction, ModerationTargetFilter } from '@/types/moderation'; +import { Style } from "@/types/Style"; +import Api from "./api"; +import type { Time } from "@/types/Time"; +import type { User } from "@/types/User"; +import type { RecentModAction, ModerationTargetFilter } from "@/types/moderation"; // Add new interfaces based on the API spec export interface RankAwareRecord extends Time { @@ -73,54 +73,72 @@ export interface ServerKeyInfo { } class OffstylesApi extends Api { - static offstylesApiUrl = import.meta.env.DEV ? 'http://127.0.0.1:8000/api' : 'https://offstyles.tommyy.dev/api'; + static offstylesApiUrl = import.meta.env.DEV ? "/api" : "https://offstyles.tommyy.dev/api"; // Fixed method signature to require style parameter - static async getTimesByMap(mapName: string, style: number = Style.normal, steamid?: string, limit: number = 50, page: number = 1): Promise { + static async getTimesByMap( + mapName: string, + style: number = Style.normal, + steamid?: string, + limit: number = 50, + page: number = 1, + ): Promise { const params = new URLSearchParams({ map: mapName, style: style.toString(), limit: limit.toString(), - page: page.toString() + page: page.toString(), }); if (steamid) { - params.append('steamid', steamid); + params.append("steamid", steamid); } this.url = `${this.offstylesApiUrl}/map?${params.toString()}`; return await this.fetchFromUrl(); } - static async getTimesByPlayer(steamID: string, map?: string, style: number = Style.all, limit: number = 50, page: number = 1, best: boolean = false): Promise { + static async getTimesByPlayer( + steamID: string, + map?: string, + style: number = Style.all, + limit: number = 50, + page: number = 1, + best: boolean = false, + ): Promise { const params = new URLSearchParams({ steamid: steamID, limit: limit.toString(), page: page.toString(), - best: best.toString() + best: best.toString(), }); if (map) { - params.append('map', map); + params.append("map", map); } if (style !== undefined && style !== Style.all) { - params.append('style', style.toString()); + params.append("style", style.toString()); } this.url = `${this.offstylesApiUrl}/times?${params.toString()}`; return await this.fetchFromUrl(); } - static async getRecentTimes(style: number = Style.all, limit: number = 15, page: number = 1, wr: boolean = true): Promise { + static async getRecentTimes( + style: number = Style.all, + limit: number = 15, + page: number = 1, + wr: boolean = true, + ): Promise { const params = new URLSearchParams({ limit: limit.toString(), page: page.toString(), - wr: wr.toString() + wr: wr.toString(), }); if (style !== undefined && style !== Style.all) { - params.append('style', style.toString()); + params.append("style", style.toString()); } this.url = `${this.offstylesApiUrl}/recent?${params.toString()}`; @@ -130,7 +148,7 @@ class OffstylesApi extends Api { // New methods based on the API spec static async getMapsForAutoComplete(text: string): Promise { const params = new URLSearchParams({ - text: text + text: text, }); this.url = `${this.offstylesApiUrl}/autocomplete_maps?${params.toString()}`; @@ -139,7 +157,7 @@ class OffstylesApi extends Api { static async getPlayersForAutoComplete(text: string): Promise<[string, string][]> { const params = new URLSearchParams({ - text: text + text: text, }); this.url = `${this.offstylesApiUrl}/autocomplete_players?${params.toString()}`; @@ -148,7 +166,7 @@ class OffstylesApi extends Api { static async getSingleTime(id: string): Promise { const params = new URLSearchParams({ - id: id + id: id, }); this.url = `${this.offstylesApiUrl}/time?${params.toString()}`; @@ -162,11 +180,11 @@ class OffstylesApi extends Api { static async downloadReplay(id: string): Promise { const params = new URLSearchParams({ - id: id + id: id, }); const response = await fetch(`${this.offstylesApiUrl}/replay?${params.toString()}`, { - credentials: 'include' // Include cookies for session authentication + credentials: "include", // Include cookies for session authentication }); if (!response.ok) { @@ -183,19 +201,23 @@ class OffstylesApi extends Api { } // Moderation methods (require authentication) - static async moderatePlayer(steamId: string, action: 'ban' | 'unban', reason: string): Promise { + static async moderatePlayer( + steamId: string, + action: "ban" | "unban", + reason: string, + ): Promise { const params = new URLSearchParams({ id: steamId, - action: action + action: action, }); const response = await fetch(`${this.offstylesApiUrl}/moderate_player?${params.toString()}`, { - method: 'POST', + method: "POST", headers: { - 'Content-Type': 'text/plain', + "Content-Type": "text/plain", }, body: reason, - credentials: 'include' // Include cookies for session authentication + credentials: "include", // Include cookies for session authentication }); if (!response.ok) { @@ -209,24 +231,32 @@ class OffstylesApi extends Api { } } - static async moderateRecord(recordId: string, action: 'invalidate' | 'revalidate', reason: string): Promise { + static async moderateRecord( + recordId: string, + action: "invalidate" | "revalidate", + reason: string, + ): Promise { return this.moderateRecords([recordId], action, reason); } - // Bulk moderation method for multiple records - static async moderateRecords(recordIds: string[], action: 'invalidate' | 'revalidate', reason: string): Promise { + // Bulk moderation method for multiple records + static async moderateRecords( + recordIds: string[], + action: "invalidate" | "revalidate", + reason: string, + ): Promise { const params = new URLSearchParams({ action: action, - ids: recordIds.join(',') // Comma-separated values for the ids parameter + ids: recordIds.join(","), // Comma-separated values for the ids parameter }); const response = await fetch(`${this.offstylesApiUrl}/moderate_record?${params.toString()}`, { - method: 'POST', + method: "POST", headers: { - 'Content-Type': 'text/plain', + "Content-Type": "text/plain", }, body: reason, - credentials: 'include' // Include cookies for session authentication + credentials: "include", // Include cookies for session authentication }); if (!response.ok) { @@ -243,7 +273,7 @@ class OffstylesApi extends Api { // Get user profile data static async getUserProfile(steamId: string): Promise { const params = new URLSearchParams({ - steamid: steamId + steamid: steamId, }); const response = await fetch(`${this.offstylesApiUrl}/profile?${params.toString()}`); @@ -265,7 +295,7 @@ class OffstylesApi extends Api { static async getCurrentUser(): Promise { try { const response = await fetch(`${this.offstylesApiUrl}/profile`, { - credentials: 'include' // Include cookies for session authentication + credentials: "include", // Include cookies for session authentication }); if (response.ok) { @@ -274,7 +304,7 @@ class OffstylesApi extends Api { return null; // Not authenticated or user not found } } catch (error) { - console.error('Error fetching current user:', error); + console.error("Error fetching current user:", error); return null; } } @@ -290,11 +320,11 @@ class OffstylesApi extends Api { // Get moderation logs static async getModerationLogs(id: string): Promise { const params = new URLSearchParams({ - id: id + id: id, }); const response = await fetch(`${this.offstylesApiUrl}/mod_logs?${params.toString()}`, { - credentials: 'include' // Include cookies for session authentication + credentials: "include", // Include cookies for session authentication }); if (!response.ok) { @@ -322,27 +352,27 @@ class OffstylesApi extends Api { name: string, owner: string | undefined, servers: ServerInfo[], - permissions?: number + permissions?: number, ): Promise { const params = new URLSearchParams(); if (permissions !== undefined) { - params.append('permissions', permissions.toString()); + params.append("permissions", permissions.toString()); } const serverData = { name: name, owner: owner || null, - servers: servers + servers: servers, }; const response = await fetch(`${this.offstylesApiUrl}/admin/create_key?${params.toString()}`, { - method: 'POST', + method: "POST", headers: { - 'Content-Type': 'application/json', + "Content-Type": "application/json", }, body: JSON.stringify(serverData), - credentials: 'include' + credentials: "include", }); if (!response.ok) { @@ -362,16 +392,16 @@ class OffstylesApi extends Api { // Admin methods (require admin permissions) static async createApiKey(server: string, permissions?: number): Promise { const params = new URLSearchParams({ - server: server + server: server, }); if (permissions !== undefined) { - params.append('permissions', permissions.toString()); + params.append("permissions", permissions.toString()); } const response = await fetch(`${this.offstylesApiUrl}/admin/create_key?${params.toString()}`, { - method: 'POST', - credentials: 'include' // Include cookies for session authentication + method: "POST", + credentials: "include", // Include cookies for session authentication }); if (!response.ok) { @@ -390,12 +420,12 @@ class OffstylesApi extends Api { static async updateApiKey(server: string, permissions: number): Promise { const params = new URLSearchParams({ server: server, - permissions: permissions.toString() + permissions: permissions.toString(), }); const response = await fetch(`${this.offstylesApiUrl}/update_key?${params.toString()}`, { - method: 'POST', - credentials: 'include' // Include cookies for session authentication + method: "POST", + credentials: "include", // Include cookies for session authentication }); if (!response.ok) { @@ -413,11 +443,11 @@ class OffstylesApi extends Api { static async getServerKeyInfo(serverName: string): Promise { const params = new URLSearchParams({ - name: serverName + name: serverName, }); const response = await fetch(`${this.offstylesApiUrl}/server_key?${params.toString()}`, { - credentials: 'include' // Include cookies for session authentication + credentials: "include", // Include cookies for session authentication }); if (!response.ok) { @@ -435,12 +465,12 @@ class OffstylesApi extends Api { static async deleteApiKey(serverName: string): Promise { const params = new URLSearchParams({ - name: serverName + name: serverName, }); const response = await fetch(`${this.offstylesApiUrl}/delete_key?${params.toString()}`, { - method: 'DELETE', - credentials: 'include' // Include cookies for session authentication + method: "DELETE", + credentials: "include", // Include cookies for session authentication }); if (!response.ok) { @@ -458,15 +488,17 @@ class OffstylesApi extends Api { return responseText === "true"; } - static async getRecentModerationLogs(filter?: ModerationTargetFilter): Promise { + static async getRecentModerationLogs( + filter?: ModerationTargetFilter, + ): Promise { const params = new URLSearchParams(); if (filter) { - params.append('filter', filter); + params.append("filter", filter); } const response = await fetch(`${this.offstylesApiUrl}/mod_logs_recent?${params.toString()}`, { - credentials: 'include' // Include cookies for session authentication + credentials: "include", // Include cookies for session authentication }); if (!response.ok) { @@ -483,20 +515,24 @@ class OffstylesApi extends Api { } // Reverse moderator actions - static async reverseModerationActions(moderatorSteamId: string, timeframeHours: number, reason: string): Promise { + static async reverseModerationActions( + moderatorSteamId: string, + timeframeHours: number, + reason: string, + ): Promise { const data = { moderator_steam_id: moderatorSteamId, timeframe_hours: timeframeHours, - reason: reason + reason: reason, }; const response = await fetch(`${this.offstylesApiUrl}/reverse_moderator_actions`, { - method: 'POST', + method: "POST", headers: { - 'Content-Type': 'application/json', + "Content-Type": "application/json", }, body: JSON.stringify(data), - credentials: 'include' // Include cookies for session authentication + credentials: "include", // Include cookies for session authentication }); if (!response.ok) { @@ -515,17 +551,20 @@ class OffstylesApi extends Api { // New server management methods static async addServerSubserver(targetId: string, servers: ServerInfo[]): Promise { const params = new URLSearchParams({ - target: targetId + target: targetId, }); - const response = await fetch(`${this.offstylesApiUrl}/servers/subservers/add?${params.toString()}`, { - method: 'POST', - headers: { - 'Content-Type': 'application/json', + const response = await fetch( + `${this.offstylesApiUrl}/servers/subservers/add?${params.toString()}`, + { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify(servers), + credentials: "include", }, - body: JSON.stringify(servers), - credentials: 'include' - }); + ); if (!response.ok) { const errorText = await response.text(); @@ -540,19 +579,25 @@ class OffstylesApi extends Api { return await response.json(); } - static async removeServerSubserver(targetId: string, servers: ServerInfo[]): Promise { + static async removeServerSubserver( + targetId: string, + servers: ServerInfo[], + ): Promise { const params = new URLSearchParams({ - target: targetId + target: targetId, }); - const response = await fetch(`${this.offstylesApiUrl}/servers/subservers/remove?${params.toString()}`, { - method: 'POST', - headers: { - 'Content-Type': 'application/json', + const response = await fetch( + `${this.offstylesApiUrl}/servers/subservers/remove?${params.toString()}`, + { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify(servers), + credentials: "include", }, - body: JSON.stringify(servers), - credentials: 'include' - }); + ); if (!response.ok) { const errorText = await response.text(); @@ -567,19 +612,25 @@ class OffstylesApi extends Api { return await response.json(); } - static async updateServerSubservers(targetId: string, servers: ServerInfo[]): Promise { + static async updateServerSubservers( + targetId: string, + servers: ServerInfo[], + ): Promise { const params = new URLSearchParams({ - target: targetId + target: targetId, }); - const response = await fetch(`${this.offstylesApiUrl}/servers/subservers/update?${params.toString()}`, { - method: 'POST', - headers: { - 'Content-Type': 'application/json', + const response = await fetch( + `${this.offstylesApiUrl}/servers/subservers/update?${params.toString()}`, + { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify(servers), + credentials: "include", }, - body: JSON.stringify(servers), - credentials: 'include' - }); + ); if (!response.ok) { const errorText = await response.text(); @@ -597,12 +648,12 @@ class OffstylesApi extends Api { static async updateServerName(targetId: string, name: string): Promise { const params = new URLSearchParams({ target: targetId, - name: name + name: name, }); const response = await fetch(`${this.offstylesApiUrl}/servers/name?${params.toString()}`, { - method: 'POST', - credentials: 'include' + method: "POST", + credentials: "include", }); if (!response.ok) { @@ -618,15 +669,18 @@ class OffstylesApi extends Api { return await response.json(); } - static async updateServerOwner(targetId: string, ownerSteamId: string): Promise { + static async updateServerOwner( + targetId: string, + ownerSteamId: string, + ): Promise { const params = new URLSearchParams({ target: targetId, - owner: ownerSteamId + owner: ownerSteamId, }); const response = await fetch(`${this.offstylesApiUrl}/servers/owner?${params.toString()}`, { - method: 'POST', - credentials: 'include' + method: "POST", + credentials: "include", }); if (!response.ok) { diff --git a/src/views/IndividualRecordView.vue b/src/views/IndividualRecordView.vue index 9d6be04..2e22d4f 100644 --- a/src/views/IndividualRecordView.vue +++ b/src/views/IndividualRecordView.vue @@ -9,6 +9,7 @@ import styleFormat from '@/utils/styleFormat'; import { useRouter } from 'vue-router'; import { useAuth } from '@/stores/auth'; + import ReplayViewerOverlay from '@/replay-viewer/ReplayViewerOverlay.vue'; const props = defineProps<{ id: string @@ -19,6 +20,7 @@ const isLoading: Ref = ref(false); const record: Ref = ref(null); const error: Ref = ref(null); + const showReplayViewer: Ref = ref(false); const playerUrl = computed(() => { return record.value ? `/players/${record.value.steamid}` : null; @@ -214,24 +216,30 @@
-
- + -
- + No Replay Available @@ -240,5 +248,14 @@
+ + + \ No newline at end of file From 8ad612733450cfade5c6487902f1148b1f6b58df Mon Sep 17 00:00:00 2001 From: tommy Date: Tue, 10 Mar 2026 01:01:23 -0400 Subject: [PATCH 06/18] npm audit --- package-lock.json | 395 +++++++++++++++++++++++++++++----------------- 1 file changed, 247 insertions(+), 148 deletions(-) diff --git a/package-lock.json b/package-lock.json index 23d2458..3d14235 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,9 @@ "dependencies": { "@headlessui/vue": "^1.7.23", "@tailwindcss/vite": "^4.1.11", + "gl-matrix": "^3.4.4", "tailwindcss": "^4.1.11", + "vite-plugin-wasm": "^3.5.0", "vue": "^3.5.13", "vue-router": "^4.5.0" }, @@ -930,10 +932,11 @@ } }, "node_modules/@eslint/config-array/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -996,10 +999,11 @@ } }, "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -1029,12 +1033,13 @@ } }, "node_modules/@eslint/plugin-kit": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.2.tgz", - "integrity": "sha512-4SaFZCNfJqvk/kenHpI8xvN42DMaoycy4PzKc5otHxRswww1kAt82OlBuwRVLofCACCTZEcla2Ydxv8scMXaTg==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.5.tgz", + "integrity": "sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^0.15.0", + "@eslint/core": "^0.15.2", "levn": "^0.4.1" }, "engines": { @@ -1042,10 +1047,11 @@ } }, "node_modules/@eslint/plugin-kit/node_modules/@eslint/core": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.0.tgz", - "integrity": "sha512-b7ePw78tEWWkpgZCDYkbqDOP8dmM6qe+AOC6iuJqlq1R/0ahMAeH3qynpnqKFGkMltrp44ohV4ubGyvLX28tzw==", + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.2.tgz", + "integrity": "sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@types/json-schema": "^7.0.15" }, @@ -1258,240 +1264,325 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.43.0.tgz", - "integrity": "sha512-Krjy9awJl6rKbruhQDgivNbD1WuLb8xAclM4IR4cN5pHGAs2oIMMQJEiC3IC/9TZJ+QZkmZhlMO/6MBGxPidpw==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz", + "integrity": "sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==", "cpu": [ "arm" ], + "license": "MIT", "optional": true, "os": [ "android" ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.43.0.tgz", - "integrity": "sha512-ss4YJwRt5I63454Rpj+mXCXicakdFmKnUNxr1dLK+5rv5FJgAxnN7s31a5VchRYxCFWdmnDWKd0wbAdTr0J5EA==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz", + "integrity": "sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "android" ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.43.0.tgz", - "integrity": "sha512-eKoL8ykZ7zz8MjgBenEF2OoTNFAPFz1/lyJ5UmmFSz5jW+7XbH1+MAgCVHy72aG59rbuQLcJeiMrP8qP5d/N0A==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz", + "integrity": "sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.43.0.tgz", - "integrity": "sha512-SYwXJgaBYW33Wi/q4ubN+ldWC4DzQY62S4Ll2dgfr/dbPoF50dlQwEaEHSKrQdSjC6oIe1WgzosoaNoHCdNuMg==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.0.tgz", + "integrity": "sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.43.0.tgz", - "integrity": "sha512-SV+U5sSo0yujrjzBF7/YidieK2iF6E7MdF6EbYxNz94lA+R0wKl3SiixGyG/9Klab6uNBIqsN7j4Y/Fya7wAjQ==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.0.tgz", + "integrity": "sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "freebsd" ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.43.0.tgz", - "integrity": "sha512-J7uCsiV13L/VOeHJBo5SjasKiGxJ0g+nQTrBkAsmQBIdil3KhPnSE9GnRon4ejX1XDdsmK/l30IYLiAaQEO0Cg==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.0.tgz", + "integrity": "sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "freebsd" ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.43.0.tgz", - "integrity": "sha512-gTJ/JnnjCMc15uwB10TTATBEhK9meBIY+gXP4s0sHD1zHOaIh4Dmy1X9wup18IiY9tTNk5gJc4yx9ctj/fjrIw==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.0.tgz", + "integrity": "sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==", "cpu": [ "arm" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.43.0.tgz", - "integrity": "sha512-ZJ3gZynL1LDSIvRfz0qXtTNs56n5DI2Mq+WACWZ7yGHFUEirHBRt7fyIk0NsCKhmRhn7WAcjgSkSVVxKlPNFFw==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.0.tgz", + "integrity": "sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==", "cpu": [ "arm" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.43.0.tgz", - "integrity": "sha512-8FnkipasmOOSSlfucGYEu58U8cxEdhziKjPD2FIa0ONVMxvl/hmONtX/7y4vGjdUhjcTHlKlDhw3H9t98fPvyA==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.0.tgz", + "integrity": "sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.43.0.tgz", - "integrity": "sha512-KPPyAdlcIZ6S9C3S2cndXDkV0Bb1OSMsX0Eelr2Bay4EsF9yi9u9uzc9RniK3mcUGCLhWY9oLr6er80P5DE6XA==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.0.tgz", + "integrity": "sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==", "cpu": [ "arm64" ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.0.tgz", + "integrity": "sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==", + "cpu": [ + "loong64" + ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, - "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.43.0.tgz", - "integrity": "sha512-HPGDIH0/ZzAZjvtlXj6g+KDQ9ZMHfSP553za7o2Odegb/BEfwJcR0Sw0RLNpQ9nC6Gy8s+3mSS9xjZ0n3rhcYg==", + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.0.tgz", + "integrity": "sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==", "cpu": [ "loong64" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.43.0.tgz", - "integrity": "sha512-gEmwbOws4U4GLAJDhhtSPWPXUzDfMRedT3hFMyRAvM9Mrnj+dJIFIeL7otsv2WF3D7GrV0GIewW0y28dOYWkmw==", + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.0.tgz", + "integrity": "sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==", "cpu": [ "ppc64" ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.0.tgz", + "integrity": "sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.43.0.tgz", - "integrity": "sha512-XXKvo2e+wFtXZF/9xoWohHg+MuRnvO29TI5Hqe9xwN5uN8NKUYy7tXUG3EZAlfchufNCTHNGjEx7uN78KsBo0g==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.0.tgz", + "integrity": "sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==", "cpu": [ "riscv64" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.43.0.tgz", - "integrity": "sha512-ruf3hPWhjw6uDFsOAzmbNIvlXFXlBQ4nk57Sec8E8rUxs/AI4HD6xmiiasOOx/3QxS2f5eQMKTAwk7KHwpzr/Q==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.0.tgz", + "integrity": "sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==", "cpu": [ "riscv64" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.43.0.tgz", - "integrity": "sha512-QmNIAqDiEMEvFV15rsSnjoSmO0+eJLoKRD9EAa9rrYNwO/XRCtOGM3A5A0X+wmG+XRrw9Fxdsw+LnyYiZWWcVw==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.0.tgz", + "integrity": "sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==", "cpu": [ "s390x" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.43.0.tgz", - "integrity": "sha512-jAHr/S0iiBtFyzjhOkAics/2SrXE092qyqEg96e90L3t9Op8OTzS6+IX0Fy5wCt2+KqeHAkti+eitV0wvblEoQ==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz", + "integrity": "sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.43.0.tgz", - "integrity": "sha512-3yATWgdeXyuHtBhrLt98w+5fKurdqvs8B53LaoKD7P7H7FKOONLsBVMNl9ghPQZQuYcceV5CDyPfyfGpMWD9mQ==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz", + "integrity": "sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.0.tgz", + "integrity": "sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.0.tgz", + "integrity": "sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.43.0.tgz", - "integrity": "sha512-wVzXp2qDSCOpcBCT5WRWLmpJRIzv23valvcTwMHEobkjippNf+C3ys/+wf07poPkeNix0paTNemB2XrHr2TnGw==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.0.tgz", + "integrity": "sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.43.0.tgz", - "integrity": "sha512-fYCTEyzf8d+7diCw8b+asvWDCLMjsCEA8alvtAutqJOJp/wL5hs1rWSqJ1vkjgW0L2NB4bsYJrpKkiIPRR9dvw==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.0.tgz", + "integrity": "sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==", "cpu": [ "ia32" ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.0.tgz", + "integrity": "sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==", + "cpu": [ + "x64" + ], + "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.43.0.tgz", - "integrity": "sha512-SnGhLiE5rlK0ofq8kzuDkM0g7FN1s5VYY+YSMTibP7CqShxCQvqtNxTARS4xX4PFJfHjG0ZQYX9iGzI3FQh5Aw==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.0.tgz", + "integrity": "sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "win32" @@ -1795,8 +1886,7 @@ "node_modules/@types/estree": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==" }, "node_modules/@types/json-schema": { "version": "7.0.15", @@ -2388,10 +2478,11 @@ } }, "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", + "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -2955,10 +3046,11 @@ } }, "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -3249,6 +3341,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/gl-matrix": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.4.4.tgz", + "integrity": "sha512-latSnyDNt/8zYUB6VIJ6PCh2jBjJX6gnDsoCZ7LyW7GkqrD51EWwa9qCoGixj8YqBtETQK/xY7OmpTF8xz1DdQ==", + "license": "MIT" + }, "node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -3498,10 +3596,11 @@ "dev": true }, "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -3833,10 +3932,11 @@ } }, "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "dev": true, + "license": "MIT" }, "node_modules/lodash.merge": { "version": "4.6.2", @@ -3893,12 +3993,13 @@ } }, "node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", "dev": true, + "license": "ISC", "dependencies": { - "brace-expansion": "^2.0.1" + "brace-expansion": "^2.0.2" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -3916,9 +4017,10 @@ } }, "node_modules/minizlib": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz", - "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", + "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", + "license": "MIT", "dependencies": { "minipass": "^7.1.2" }, @@ -3932,20 +4034,6 @@ "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", "dev": true }, - "node_modules/mkdirp": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", - "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", - "bin": { - "mkdirp": "dist/cjs/src/bin.js" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/mrmime": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", @@ -4393,11 +4481,12 @@ "dev": true }, "node_modules/rollup": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.43.0.tgz", - "integrity": "sha512-wdN2Kd3Twh8MAEOEJZsuxuLKCsBEo4PVNLK6tQWAn10VhsVewQLzcucMgLolRlhFybGxfclbPeEYBaP6RvUFGg==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.59.0.tgz", + "integrity": "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==", + "license": "MIT", "dependencies": { - "@types/estree": "1.0.7" + "@types/estree": "1.0.8" }, "bin": { "rollup": "dist/bin/rollup" @@ -4407,34 +4496,34 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.43.0", - "@rollup/rollup-android-arm64": "4.43.0", - "@rollup/rollup-darwin-arm64": "4.43.0", - "@rollup/rollup-darwin-x64": "4.43.0", - "@rollup/rollup-freebsd-arm64": "4.43.0", - "@rollup/rollup-freebsd-x64": "4.43.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.43.0", - "@rollup/rollup-linux-arm-musleabihf": "4.43.0", - "@rollup/rollup-linux-arm64-gnu": "4.43.0", - "@rollup/rollup-linux-arm64-musl": "4.43.0", - "@rollup/rollup-linux-loongarch64-gnu": "4.43.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.43.0", - "@rollup/rollup-linux-riscv64-gnu": "4.43.0", - "@rollup/rollup-linux-riscv64-musl": "4.43.0", - "@rollup/rollup-linux-s390x-gnu": "4.43.0", - "@rollup/rollup-linux-x64-gnu": "4.43.0", - "@rollup/rollup-linux-x64-musl": "4.43.0", - "@rollup/rollup-win32-arm64-msvc": "4.43.0", - "@rollup/rollup-win32-ia32-msvc": "4.43.0", - "@rollup/rollup-win32-x64-msvc": "4.43.0", + "@rollup/rollup-android-arm-eabi": "4.59.0", + "@rollup/rollup-android-arm64": "4.59.0", + "@rollup/rollup-darwin-arm64": "4.59.0", + "@rollup/rollup-darwin-x64": "4.59.0", + "@rollup/rollup-freebsd-arm64": "4.59.0", + "@rollup/rollup-freebsd-x64": "4.59.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.59.0", + "@rollup/rollup-linux-arm-musleabihf": "4.59.0", + "@rollup/rollup-linux-arm64-gnu": "4.59.0", + "@rollup/rollup-linux-arm64-musl": "4.59.0", + "@rollup/rollup-linux-loong64-gnu": "4.59.0", + "@rollup/rollup-linux-loong64-musl": "4.59.0", + "@rollup/rollup-linux-ppc64-gnu": "4.59.0", + "@rollup/rollup-linux-ppc64-musl": "4.59.0", + "@rollup/rollup-linux-riscv64-gnu": "4.59.0", + "@rollup/rollup-linux-riscv64-musl": "4.59.0", + "@rollup/rollup-linux-s390x-gnu": "4.59.0", + "@rollup/rollup-linux-x64-gnu": "4.59.0", + "@rollup/rollup-linux-x64-musl": "4.59.0", + "@rollup/rollup-openbsd-x64": "4.59.0", + "@rollup/rollup-openharmony-arm64": "4.59.0", + "@rollup/rollup-win32-arm64-msvc": "4.59.0", + "@rollup/rollup-win32-ia32-msvc": "4.59.0", + "@rollup/rollup-win32-x64-gnu": "4.59.0", + "@rollup/rollup-win32-x64-msvc": "4.59.0", "fsevents": "~2.3.2" } }, - "node_modules/rollup/node_modules/@types/estree": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", - "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==" - }, "node_modules/run-applescript": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", @@ -4620,15 +4709,15 @@ } }, "node_modules/tar": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", - "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", + "version": "7.5.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.11.tgz", + "integrity": "sha512-ChjMH33/KetonMTAtpYdgUFr0tbz69Fp2v7zWxQfYZX4g5ZN2nOBXm1R2xyA+lMIKrLKIoKAwFj93jE/avX9cQ==", + "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/fs-minipass": "^4.0.0", "chownr": "^3.0.0", "minipass": "^7.1.2", - "minizlib": "^3.0.1", - "mkdirp": "^3.0.1", + "minizlib": "^3.1.0", "yallist": "^5.0.0" }, "engines": { @@ -4835,9 +4924,10 @@ "dev": true }, "node_modules/vite": { - "version": "6.3.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", - "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.1.tgz", + "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==", + "license": "MIT", "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", @@ -4991,6 +5081,15 @@ "vite": "^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0" } }, + "node_modules/vite-plugin-wasm": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/vite-plugin-wasm/-/vite-plugin-wasm-3.5.0.tgz", + "integrity": "sha512-X5VWgCnqiQEGb+omhlBVsvTfxikKtoOgAzQ95+BZ8gQ+VfMHIjSHr0wyvXFQCa0eKQ0fKyaL0kWcEnYqBac4lQ==", + "license": "MIT", + "peerDependencies": { + "vite": "^2 || ^3 || ^4 || ^5 || ^6 || ^7" + } + }, "node_modules/vite/node_modules/fdir": { "version": "6.4.6", "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", From fafcb4569f672fc6f9ef1af07ff45d0d11ad2f42 Mon Sep 17 00:00:00 2001 From: tommy Date: Tue, 10 Mar 2026 01:40:38 -0400 Subject: [PATCH 07/18] Show total download size in megabytes while downloading --- src/replay-viewer/ReplayViewerOverlay.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/replay-viewer/ReplayViewerOverlay.vue b/src/replay-viewer/ReplayViewerOverlay.vue index 8f53e88..f8a3dd1 100644 --- a/src/replay-viewer/ReplayViewerOverlay.vue +++ b/src/replay-viewer/ReplayViewerOverlay.vue @@ -102,7 +102,7 @@ async function initViewer() { if (total) { progress.value = received / total; const pct = Math.round((received / total) * 100); - stepLabel.value = `Downloading map... ${pct}% (${(received / 1024 / 1024).toFixed(1)}MB)`; + stepLabel.value = `Downloading map... ${pct}% (${(received / 1024 / 1024).toFixed(1)} / ${(total / 1024 / 1024).toFixed(1)}MB)`; } else { progress.value = null; // indeterminate stepLabel.value = `Downloading map... ${(received / 1024 / 1024).toFixed(1)}MB`; @@ -176,7 +176,7 @@ async function initViewer() { if (total) { progress.value = received / total; const pct = Math.round((received / total) * 100); - stepLabel.value = `Downloading replay... ${pct}% (${(received / 1024).toFixed(0)}KB)`; + stepLabel.value = `Downloading replay... ${pct}% (${(received / 1024).toFixed(0)} / ${(total / 1024).toFixed(0)}KB)`; } else { progress.value = null; stepLabel.value = `Downloading replay... ${(received / 1024).toFixed(0)}KB`; From b32bf252ddfe31b6224b397a3c0d4e6ca9dc09c0 Mon Sep 17 00:00:00 2001 From: tommy Date: Tue, 10 Mar 2026 02:06:28 -0400 Subject: [PATCH 08/18] Fix loading step labels not showing --- src/replay-viewer/ReplayViewerOverlay.vue | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/replay-viewer/ReplayViewerOverlay.vue b/src/replay-viewer/ReplayViewerOverlay.vue index f8a3dd1..ea7c737 100644 --- a/src/replay-viewer/ReplayViewerOverlay.vue +++ b/src/replay-viewer/ReplayViewerOverlay.vue @@ -8,6 +8,12 @@ import { PlaybackEngine, type PlaybackState } from "./playback"; import { Camera } from "./camera"; import { fetchWithProgress } from "./fetchWithProgress"; +async function waitForNextPaint() { + await nextTick(); + await new Promise((resolve) => requestAnimationFrame(() => resolve())); + await new Promise((resolve) => requestAnimationFrame(() => resolve())); +} + const props = defineProps<{ mapName: string; replayId: string; @@ -113,11 +119,13 @@ async function initViewer() { currentStep.value = 3; stepLabel.value = "Decompressing BSP..."; progress.value = null; + await waitForNextPaint(); const bspBytes = wasm.decompress_bz2(new Uint8Array(bz2Data)); // Step 4: Parse BSP currentStep.value = 4; stepLabel.value = "Parsing map geometry..."; + await waitForNextPaint(); const mesh = wasm.parse_bsp(bspBytes); const vertices = mesh.vertex_data(); const indices = mesh.index_data(); @@ -189,6 +197,7 @@ async function initViewer() { currentStep.value = 7; stepLabel.value = "Parsing replay..."; progress.value = null; + await waitForNextPaint(); const replay = wasm.parse_replay(new Uint8Array(replayBuf)); const positions = replay.positions(); From e16084038864a9245faeca7533e70e5582fc4bb4 Mon Sep 17 00:00:00 2001 From: tommy Date: Tue, 10 Mar 2026 05:24:57 -0400 Subject: [PATCH 09/18] feat: add water transparency, missing texture checkerboard, and updated WASM - Fragment shader: procedural black/purple checkerboard for missing textures with proper surface-aligned UVs and lightmap support - Water render pass: separate draw after opaque geometry with 60% alpha and depth writes disabled via uAlphaOverride uniform - Updated WASM module with $color tinting, water detection, and fog color Co-Authored-By: Claude Opus 4.6 --- src/replay-viewer/renderer.ts | 61 ++++++++++++++++-- .../wasm/bhop_replay_viewer_wasm.d.ts | 10 +++ .../wasm/bhop_replay_viewer_wasm.js | 18 ++++++ .../wasm/bhop_replay_viewer_wasm_bg.wasm | Bin 292221 -> 302581 bytes .../wasm/bhop_replay_viewer_wasm_bg.wasm.d.ts | 9 ++- 5 files changed, 91 insertions(+), 7 deletions(-) diff --git a/src/replay-viewer/renderer.ts b/src/replay-viewer/renderer.ts index 6cdf09b..a0997ef 100644 --- a/src/replay-viewer/renderer.ts +++ b/src/replay-viewer/renderer.ts @@ -41,6 +41,7 @@ uniform sampler2D uLightmap; uniform sampler2D uTexture; uniform vec2 uAtlasSize; uniform float uDebugMode; +uniform float uAlphaOverride; const float RGBM_SCALE = 6.0; const float MAX_SAFE_TEXELS = 8.0; // must match TEX_PAD in bsp.rs @@ -51,6 +52,27 @@ void main() { // Sample base texture with per-pixel tiling float hasTex = step(0.001, vAtlasScale.x + vAtlasScale.y); + + // Missing texture: classic Source Engine black & purple checkerboard + if (hasTex < 0.5) { + vec2 checker = floor(vTexUV * 2.0); + float c = mod(checker.x + checker.y, 2.0); + vec3 missingColor = mix(vec3(0.0), vec3(0.498, 0.0, 0.498), c); + + // Apply lightmap if available + if (uDebugMode < 0.5) { + vec4 lmSample = texture2D(uLightmap, vLightmapUV); + vec3 lightColor = lmSample.rgb * lmSample.a * RGBM_SCALE; + float hasLM = step(0.001, vLightmapUV.x + vLightmapUV.y); + vec3 light = mix(vec3(1.0), lightColor, hasLM); + vec3 lit = pow(missingColor, vec3(2.2)) * light; + missingColor = pow(lit, vec3(1.0 / 2.2)); + } + + gl_FragColor = vec4(missingColor, uAlphaOverride); + return; + } + vec2 rawDdx = dFdx(vTexUV) * vAtlasScale; vec2 rawDdy = dFdy(vTexUV) * vAtlasScale; @@ -73,14 +95,13 @@ void main() { // Debug mode 1: raw texture only (no lightmap, no gamma) if (uDebugMode > 0.5) { - vec3 c = mix(vec3(1.0, 0.0, 1.0), texColor.rgb, hasTex); - gl_FragColor = vec4(c, alpha); + gl_FragColor = vec4(texColor.rgb, alpha * uAlphaOverride); return; } // Linearize base texture (sRGB -> linear) before combining with lightmap vec3 texLinear = pow(texColor.rgb, vec3(2.2)); - vec3 albedo = mix(vec3(0.18), texLinear, hasTex); + vec3 albedo = texLinear; // Sample lightmap (RGBM encoded, already linear) vec4 lmSample = texture2D(uLightmap, vLightmapUV); @@ -92,7 +113,7 @@ void main() { vec3 color = albedo * light; color = pow(color, vec3(1.0 / 2.2)); - gl_FragColor = vec4(color, alpha); + gl_FragColor = vec4(color, alpha * uAlphaOverride); } `; @@ -284,6 +305,7 @@ export class Renderer { private uTexture: WebGLUniformLocation; private uAtlasSize: WebGLUniformLocation; private uDebugMode: WebGLUniformLocation; + private uAlphaOverride: WebGLUniformLocation; private atlasWidth = 0; private atlasHeight = 0; public debugTexMode = false; @@ -314,6 +336,7 @@ export class Renderer { // PVS private bspMesh: BspMesh | null = null; private modelDrawRanges: ModelDrawRange[] = []; + private waterDrawRanges: ModelDrawRange[] = []; // Animated textures private animTextures: { atlasX: number; atlasY: number; width: number; height: number; frameCount: number; fps: number; dataOffset: number; currentFrame: number }[] = []; @@ -356,6 +379,7 @@ export class Renderer { this.uTexture = gl.getUniformLocation(this.mapProgram, 'uTexture')!; this.uAtlasSize = gl.getUniformLocation(this.mapProgram, 'uAtlasSize')!; this.uDebugMode = gl.getUniformLocation(this.mapProgram, 'uDebugMode')!; + this.uAlphaOverride = gl.getUniformLocation(this.mapProgram, 'uAlphaOverride')!; // Cache attribute locations this.aPos = gl.getAttribLocation(this.mapProgram, 'aPosition'); @@ -406,6 +430,17 @@ export class Renderer { cluster: drawData[i * 3 + 2], }); } + // Water draw ranges (rendered separately with transparency) + const waterData = mesh.water_draw_data(); + const waterCount = mesh.water_draw_count(); + this.waterDrawRanges = []; + for (let i = 0; i < waterCount; i++) { + this.waterDrawRanges.push({ + indexStart: waterData[i * 3], + indexCount: waterData[i * 3 + 1], + cluster: waterData[i * 3 + 2], + }); + } } setupAnimatedTextures(info: Float32Array, frameData: Uint8Array): void { @@ -638,6 +673,7 @@ export class Renderer { gl.uniform1i(this.uTexture, 1); gl.uniform2f(this.uAtlasSize, this.atlasWidth, this.atlasHeight); gl.uniform1f(this.uDebugMode, this.debugTexMode ? 1.0 : 0.0); + gl.uniform1f(this.uAlphaOverride, 1.0); gl.bindBuffer(gl.ARRAY_BUFFER, this.mapVBO); gl.enableVertexAttribArray(this.aPos); @@ -655,7 +691,7 @@ export class Renderer { gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, this.mapIBO); - // PVS-based per-cluster draw calls + // PVS-based per-cluster draw calls (opaque geometry) if (this.bspMesh && this.modelDrawRanges.length > 0) { const camCluster = this.bspMesh.find_cluster(playerPos[0], playerPos[1], playerPos[2]); for (let i = 0; i < this.modelDrawRanges.length; i++) { @@ -666,6 +702,21 @@ export class Renderer { gl.drawElements(gl.TRIANGLES, m.indexCount, gl.UNSIGNED_INT, m.indexStart * 4); } } + + // Water pass: render with transparency, no depth write + if (this.waterDrawRanges.length > 0) { + gl.depthMask(false); + gl.uniform1f(this.uAlphaOverride, 0.6); + for (let i = 0; i < this.waterDrawRanges.length; i++) { + const m = this.waterDrawRanges[i]; + if (m.indexCount === 0) continue; + if (m.cluster < 0 || this.bspMesh.is_cluster_visible(camCluster, m.cluster)) { + gl.drawElements(gl.TRIANGLES, m.indexCount, gl.UNSIGNED_INT, m.indexStart * 4); + } + } + gl.depthMask(true); + gl.uniform1f(this.uAlphaOverride, 1.0); + } } else { gl.drawElements(gl.TRIANGLES, this.indexCount, gl.UNSIGNED_INT, 0); } diff --git a/src/replay-viewer/wasm/bhop_replay_viewer_wasm.d.ts b/src/replay-viewer/wasm/bhop_replay_viewer_wasm.d.ts index ed3da50..df58ba1 100644 --- a/src/replay-viewer/wasm/bhop_replay_viewer_wasm.d.ts +++ b/src/replay-viewer/wasm/bhop_replay_viewer_wasm.d.ts @@ -51,6 +51,14 @@ export class BspMesh { * Move vertex data out (avoids clone). Field becomes empty after call. */ vertex_data(): Float32Array; + /** + * Number of water draw ranges (call before water_draw_data) + */ + water_draw_count(): number; + /** + * Water draw ranges: same format as model_draw_data but for water faces + */ + water_draw_data(): Int32Array; } export class ReplayData { @@ -103,6 +111,8 @@ export interface InitOutput { readonly bspmesh_texture_atlas_width: (a: number) => number; readonly bspmesh_vertex_count: (a: number) => number; readonly bspmesh_vertex_data: (a: number) => [number, number]; + readonly bspmesh_water_draw_count: (a: number) => number; + readonly bspmesh_water_draw_data: (a: number) => [number, number]; readonly parse_bsp: (a: number, b: number) => [number, number, number]; readonly __wbg_replaydata_free: (a: number, b: number) => void; readonly parse_replay: (a: number, b: number) => [number, number, number]; diff --git a/src/replay-viewer/wasm/bhop_replay_viewer_wasm.js b/src/replay-viewer/wasm/bhop_replay_viewer_wasm.js index e1a016a..2a78cfc 100644 --- a/src/replay-viewer/wasm/bhop_replay_viewer_wasm.js +++ b/src/replay-viewer/wasm/bhop_replay_viewer_wasm.js @@ -205,6 +205,24 @@ export class BspMesh { wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); return v1; } + /** + * Number of water draw ranges (call before water_draw_data) + * @returns {number} + */ + water_draw_count() { + const ret = wasm.bspmesh_water_draw_count(this.__wbg_ptr); + return ret >>> 0; + } + /** + * Water draw ranges: same format as model_draw_data but for water faces + * @returns {Int32Array} + */ + water_draw_data() { + const ret = wasm.bspmesh_water_draw_data(this.__wbg_ptr); + var v1 = getArrayI32FromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); + return v1; + } } if (Symbol.dispose) BspMesh.prototype[Symbol.dispose] = BspMesh.prototype.free; diff --git a/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm b/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm index 6cb676d7328df89323317a60a5bc0af5415ff4ce..c61ba46d8974ed8c313e0ddd510d9e2a80ef5654 100644 GIT binary patch delta 113331 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

( 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≠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 $v%tM#FHe8-Pqt& zRs#s82<7qww-7tOLyX-Sh)0@GGWNk5N9I(~iM@K->-OnspLE$My6$RFumjAZD15-R@J64Y}4r&A?gaOs!KEAZXyf+;KvRN23tZF8udbIG|3#{iNS%!-BwAhX*Qn>6>Zf&9-I0iX1stN&kYv_BPs zyQTCKqJ>2gz}CBmE&>FRBn2}pBLh@Ayudoam)mafia@rFX@yKvUooxvba!V?4! z*aq`pK=MY(;-lTss@|x{C^Q*-Ch``cDKxdn=HT1>klI9(zqn1@Uf$n+f|lQR-C@2D zq0EN=dTsR_ce$voJ}HstAUao51D~mYah-_y1oy0GQ$|?OPJH=(?%Of2#<~YgbRbjQ#B8-&(xJW} z_4Ex>6%mYNAxr?UDSed%%HnsFnCXhzSArH+yJCOd z3>kzi)FHFdh{=L*rF+0we)Qnw-ZJe3VOr$n6J5v)u0FH5qi3grXO8R+1OVrW!T7d} zrUzPd{b}|n(=f;_^B0dZ$padDS!NXV7FVM0noi+(F$+ru5|clD%7Bty2B1`@&Gyc| zGuwL+tx_JWbCJC(4*fFMprJ^&`JfSnK`Rn?JfB# zEh#bag5>wOJW%;-=8_#Dj|h#zSxc^cw%GZ-;=6tN`zV=GAhRn|1>&#z(VJ8`%Yc95 z1o(N7fgCLqi!gKT?@D*1qmV!HPQaT~r1M0kNk;d^>mwLx=9Y9NSL7~EoJok7wJDNf zF<0W8M@jGhx>aU9VO7@a2CcDGtq5i*7nPJy$p)~-Nz_HM;~b)^R8Ip^3-b;1Pcw3* z)~O>^P#|>~aB4qx>LQQDcu=URjsld_2Z*n7Vjl#F)kAo^>C!@IgA{4O$qd^kdVHw| z$pRtOAOuE7X6qJD5rw{(E!gtz8GaSUH8_6>4EHxr&J}D>(G0gd2bkaPg+aPF-!nhWn`}CfPKX z<|Br1D>6^Ga7A@cYnF~6n+r)3e!hM4xCtnd#FCmw0#UReJ6<6ZJTaLXIR*>Jr{Kx2 zx(&hAZ9w7^@g!E-M}2WkD2M$yFLv(s5Ie{3SHkbg_Ne!54bkOVsz=_lr8KTWi}*(1 ziZ(fi3jZNGBS(8(poAPjbaW#iMTvE1yl z%&1%_{}fDER9?V{z?;7JFf}>@Q|z0afjL#w4QF7oGIj(ej`&^niM2`WAjC#H z{b?|x4HQ=xL>VKTxpOMMmRr2sB$KY~7~IJ09BvLVtm_EG?62=-fa|OEj&c1jgTW2` ziGKshD9*Y879f432Ydyx8+o+XsdL09h@;_j zIZ4@3O8Lo2ECzOsEg7)d-aNOqYp9pm%G#1JW#Szoncc2@=C`ljVjk!l0RWAp?&Y@) zZY81x$P7a@n-B=YEJI)O{Wxx(s}NY5@c++@oQ-~&b4cfO4bXxS~+Bb~zHsxwdiGgA1-M@Jlr5R>=O z5h5j3oO~TtYg2RNWJyLGwJ`un97&$U)3n%R>8%Z>8PvqQjO2&(fou7o+aZkGaehdj zDTO$r&-Oyv1M%{|=%(xIPD${{%p4>JyT{>RUe7%;*P-3g<_#X1YrTI&6-uJLq(SVa z>-?|0L-_{Ds24rVr%W3p!$)DKvqg-Ut(>`hxpd3V4A`VKXpgb`J+fMR#D>I@=jjOj z?(3<0>G4_J9jiNCvhJQGx4Lb~N$|0xlgSco&?ob14S7SsI^+aqLUA&|uEFU--m7&D zb_NDTzJP2{gBny%mSf>>J61^OyW>2KzC&!Ij;_8#Tn%@Yw#5Mgcd#HXaF3#u^q2!Q zSPjxh46+V`%<5 zbjsu(D}{9T8`2E4y_}3JIjZ@!InP+_7Gb!zWU(NV zp3HxD7YgFMe*^t~C3!Y`Q6JL5L7D@f_lf@{u|Ebooz<~TjS)m(gEdbG@{-7q(8B9n z6X259G;~@_tm}5NhN(GQI+I%MMzoJW$+D6rSmm zWzmI`g?Kqmn?fT`1W<*w(JcTX)X&{9xeLJx0g{UWQog_=9uRdf4GbjQxe5i3BLVoO zyPgM+JkN(m+>01~J6#Bp%(PhKD}2N z^m~7Y$OmD5?|9b_z?h;I&mKz>NUqB3;1;(SH-cNNojZb-@@AVdO;NAvq9hElI!D9a zN!2TTjVYobJp5ocX7+zDu+(dfrPlVf{;yGLDdo5>vLZr4iESVQ9{6Iw(2W_S*lLP- zfx^o%(F?G?*l4F(N~E>*^4;ha5IHijLN_u2Q4UE~6~Z^y7lV^EVS1Tdeu)6%8wrW{ zq5|8Oee%Bxgj4E#uD(ohjbgSZxDj4LGh$h3fm_6)wTf-GCG$~@^I(sqGB@hBUn;RN zZwN~jc*<2euCD3UAb_(jqf(S1Lulo~QAaj5#w#^c9(y=n4fVax&H?Fynj5R3Qn4}A zchQ1@RN=);g_LL8V}S68e|?iRiX;*`n1H8@wZHKh7$5Gw_&R4`D1kzIzq{StmW4;x z~5Rc_np#mQabMv@D$=*vPj!O7E+Tx>HI+! z^>C1d)EN=~%Ity|wUx#%$2%QJ5GNM`_NCg2GIvQ8q=Pkh2K@$wP*s{Uss;ti|49t8 zj!dOP$z^?Sk^oMC)a`Nl^I5GWsT*GFssnvMr3#OtW5^X?Q$g`C-CIb0)^f~w-SIHf zurt|VNre!dA}BJ8oL-J_o8abjDPFDXnNr-*b+&|~57%c)7(}^Fm*Ta$9xugfbUj=2 z2HrEpc)gxa;=8TusbaiU*DJ+%ovv4l_!ew=-0O%5bC|d?bzLc zW2$mq`VL%v_tCu#rCq4U=ZgCo5E&=;1MkvByah0HkKr@5khIILqslaz@a7xLQfn8)ia^$>|JenY`p|=%yTW_2aYIkDJ_m zhHIlus0yD%54;J@A#v`TATFs-C$cSs2C!Gy6E&6{4>9i09W+^FoUMQgGKpbKkdDlz zsqD5Py|T{)Xs8)@FV+lkWa#p}ruWtU74(rTmaWQn7I7Th9gdN>(#XVd^cZ6JVCHa< zDS%ah6LVQ$Z;|yh|1j>MgMUWZacIn^daEyUOK zHfta*3?cw?Rl^@TK3+58?tTnN34WAvuSf8dyBRZ4cUy@bZ@N1n-j-N~^WosP)+Y1D0Iddy9Yt&O92%N510!$2y>o+WaH38fSeeN7+>BVFS7-~^u> z0N1}uB0%#wwtb)Az=QZfl5*VKe90O^1m?oNlA4B-4TcCpK><(Z4Q!wm+k0U0F77bS zphd7-tTNjE`dv~gczrfQ;fQ-D>imi(oL>jr*j7BYNvg`hq(xp$Plyn;zrsDJTB}e- zE5r{{yw>&hQ1@-ZfIv%{>FyT-c>74TaUPNXXn4U#B@YxdmN&&N0QS;*3Stm|1pnd4 zf)4{s_z!JsJ&V!po&r16GWJ{4w8srE=M!JrpT|c-OFzNJZk2 zUxxHbyTCj`Ja<2wvI?XjGgerBnxL{f5f8M{nxHm!=;^10-be+jZ8ufqF(sb|Pi6KJ zPw3c0y1?9Fze@gtRSbKX^@5hLe>uj50IrAJ+J_F%Bvn?Q>m2%0oHEG6j+?`@!Q~LW z7K&R1tEdygj1bC$Gnj$s?P};%C+lpFR zR-uobdpTQLPwxs0M)gZ-0C=NqHt_*;!}Zn~_HP&#zemUC@b9^Q*{u94KkR#_Gfn_*n;$hJ0A=*$+e zVSd)11I@QH?z!TMl;dQXyl5A#k1<=>A=@1M+w>>chW>%Y=|<=_-GSH^lA@Az(Tn0C z{{IX$znzgYd9*Z3=~JKSHM;T}$OhyNB7kl*_jBBNA#DONg{Ei`c;U60SG>O>p=Wgg z^J*trQ?OQ<8}gEL?A&=`nndvxhQcAOx^R*WTz)w@Uuf^ONdkK)U>!bzoigGBBS+-p zq#z94lYQD zZ{jj>cWE1!zPn3XxR5n>gNq&@sKD{`)#3y0Da@lswi7N&pyJ(R(o#T=Wo?)VNO3v&_ka4iK{jK;79Y;Z30CK;M8f%L|x56)#WxsPhUS9r9&Oq)cda0*!w$g0rhR4FtN@PQh$HMUWx zD>>%S(y9vY;UEuc+W}mUIT=ymNV~D!S&ExY!<9>VDX03ib#vQCkJ^hBQMMQSoM$eQzj z@Su$ew28YTm!D{3A80N2Vj93p!#@xl(a0X8TGN)|5HGfrTdu800u4Op`?FUR)YHr! zR42Qa%_#Y)o)v4lTq{f%4c}fY-&;te{1$XnZH};7I*UVMcliU!xCV!nUQI%hKK0a` zn3mU7P4LbX9oNACCiPBDm9|?Xk9el%RmzCZX1~tyFbkfhOBl4#G{VFagHx0|$%$*M z*I2SfzBDPKx#4PZjSJi)IKp!Ih488wBqW1TuM?56$oH46SZkYa5!P4|!|Jp0Ug5kK zh4UblHX*`~TC7Nm1&VndNYVA2(ovQou*A%hZ-`c;c<4g5!8?o-U5TQedQJ*$KQ;kB z%P!>GxclAD0C#&FrgqovY|-6%)ZRKKJ6qk z3=fE5SU;rsFQlPUNR2ni+G{XfOMTpd@AB1j4pSqHlusp4zJL~J3?g~IzM9PFI^^xlc2eNb(C^XhcxIu_t$`N0Ev?J&$_R_XO# zt@~Hg8@%b0sWHVS}5>U<=YHq!eLQB{&V?>AxcemCUSPj*&8%joaa&iIgDCs>_| zaySx@^@GAsupmRpr_;CfM|!Enlny0dIV{$1DEU5EVhGBsk*D^{-*Ya;2lUeqKyE{z zJ^fUGqx~bkqxg>wap2wsIy3|wRE2z&{9Va@`@7O(6UpBf`HmCXMB(e|DCe?C#A?tc55sR)@>e(xYX_A`V{mJ=1$hcjaNM6jJXe7Cs zKcV`TeBMM;LuZzIgNqaqAV-|}Z=KMuZdfN?l!Us@W#XPt)|vXu+yA~aHuJ>?qGi|@ z7o}5STWHfoATc|X7zR@qj#zLiQ!Y95Y?ez7{aW%0&(7_7F8-aO`|;=E-z~ar&&9uu z!vDGWY4ofzc?kt1uks#xyyP0!EnKf~MfH}(Ymq!;EbC|&YL(p>gq=xMAdT*~IE_Z4 z<}M=Riu(~vMSxR@jAbkl35iVjf0qCCGh7j=R1|lbr9*n!#vFh$=ZYY2f#XgDJrA;}UBs>N`}5Mv zNFFQ)RTtMXLLe6ybZXjKNQ6M+og{5w8gDD!hYT&8ONg9how+~_9K>pgrC(5O(&{zi zWqv7GB;jW|WV{_$fa8&Pr)`m)@v)-cnY_FViG+5-4_}dEwI210;8M$B#=zsn$0Ty9 z^Dn1{@=4NmO?-UxD*sD$3uZ8dp%=GUOgV$9fnfhAeC~y+-wQ$&JM;I7pZr!5eH^2x8`z)h+t)D-%PrEcS%3jymN>s#IEdS$a(L#@`k0R~4R~nr3t*FwPbgYhv^&(pA)wF2U%_S~ zMQzI$r7AmSxDUMeg#c{76|T728wsCQ9tSav%4PVq6oefFwcUZ`rjF zf3XN8c#zrw9WOsDP`qED_%>4*KUqwV35PD9Foni3^bOoX{EmStxjW1ZwSc6;BW@>C zreU8f;%vwjlYs53E9A`A^Hrr(Ya2TN6&EFks*|Y#I!@G^Ru3rNLDP2PX_h}CNeQ-= zS`(eFoT+5FkG!kobfYt*&n$m#P^gmO24X;KCmKv2v9|Dyz%+OP?1K7`%x!&2J|%3! zcJFsf*5E7fCljT}V$$gPdNK_t^`MjT`Z47&^MQ&dh+zYn@db<`=nK@M#v?UO1$-28 z=2)K5VDP7JFjPut)fV;DITTF9n}9XwEVh32R6&8cVh2+Z&T~MXG%^Fpk?&@!&8Y?5 zmHy4J(w`42eMBhX5PlX0iGWf_p^Hk)3-Vo_pH;cJWKJu2;5%uU+=_ zn*8ex;p^0YzTAKA`26YOmxMz3d}a8&oqax|0c!M zc#|JxW|~Su0?M2GMhEHmhGbw`V&d?1g?-AP&(A`Zp1zWZBrfsM65lAby>Ccq#8^{A zb0orWf&|C)fv0rvJTrHVTjMmALl{$}#`OsJsCl;d%O-yr^%oz$R}K%l;Cdkh>e-sB z#ZJF8*;ET*3Iqw(r6s5q)i&PdRFMOlzyY9Eu(cV?JZp1zY34s}jr!7y=v0wD4Ux+* z6vcLK0*W>xO}-}K>y6zSLgJT=A_hV63qA1lu=AoD*0X6|JwyT(+@^&UafF|&S{k2N zhJ&5Wn$kOkbGzn|%zOcn?H#rH>Qv#P0T&#?bm)6&Q|UEXYS{!NAP+9&uh!$kvMk;y z$^Se5?mPdkKxIjRs5WzHG{+tYEF@cB5f8B(rnmFi;xkZ=L(?j|VrAvdQ=#l>6<)Q% zdgn7)VFx5fIm`LkwCCd&>l~Bd>$2}I)j2*PJa-N~_=6v$lFfB_&jhmed$hvxd*@Jv zZV!m!m{-ZQ-b$bZG!0shLIo2kd{6%Q;hs-njq=7tLF^;i#bZ)ha54YKsYfi=KeTHh z29turpWp?&0Q@UpWqSpp$h9D<0aD+K4_bIDHKq-!Bl$t3NI1Xyv$X@cvP$T>RYF(9 zpX&oe3>>FYROBs^9!Vf5$9E7j!nT&``3_22F&P$=x~WP+Juz|;LFc%-JJ7L_SOGSM zZQBqn+vzqx*LemqIAi;2s^l5IBPAHUJ4~xRM1xWa57A(3dVrmdmtkq2o9;{(pNYSO z2E^W&)&%-W^#VVCnPoaroSt_4#Ke4Aw<-Kp>TkJYM)kteGNgH6&q!*p1+pq=U16bt z?$#v2p`g8=p~(bRg(K*&R9x%R;%fbUc^aOAvI5W3a1OEzqx&$X{#+VTKH&jP5WbL! zVy~rpg+>jir_6TNX;#lVO;1^=?3QH@ou&aZYAfgrl|wLbn-3`!v3yxYfJ69N(3jmi z04b~KP_T{*m)dfHyu?f1=~0zG5LV;B+o$gCRIrYj71^jxn)?{TUfjuqk zSAkTN;x*|8+mE=-B=!StRJHl)a3BrlAm!3wA_#0Fno_9}c)&q!D^;%M-!RLs$b^_Y zI`n9Dtl+W1(yrdWyi)hpUbLuC5;r8#sqQv|)}+Hh0j1c4mMlA+yYwIgjb{T`SJGG= zoweXwAg@dsTD};V!CYtMEUsJ&RmvjQF&OBUrK%^RcB_O*tl&Dnu-^nC`oXZ(VP123 za@EvtBtuxAD^By8eIF1(9ghLMCJb@3IQyEduUO98)B|krvR+%BX1|viJ+RCPtjcS>j==$;G^de==8$fxYN4kH=Z7kF z<|PA~!;nGIW|(=EtfP-?N}7|B}>CCt<~!dj_+WCTieD1PRRxT~ZHsB}w^H)5n>lV$ zF8yYnXtT{rSd6gtLt5CX{F8!8XuOpomYW!g$RothiVnsRzxHW6^TrTjHE>iDq9v`D zwz2KVVc|GA)@ADcOv?OpvE-4p+lf)(7DMA=+gfIL={}RFkl)i=1Vpvxcx~#BpPmka zq&`AAlsE}|^;y?kz4s-=#qg2|jfN+LvFR0yZQl17bD2Y^v;O~0(roGad3tA>GwW9j z|KV?fOuSGe79llp6x7W1dgAC|FOB+_t|yHiGGX+PNucZqBufO)R1)ZCdL>XVjs^+T zi=#mT1^N$5l2xb7Mqy%T7|5b=U;<%I@0)Il5()#L+|jPbwWOwtIf$JjPBjRZUg0ud zv?PuU36WvtBB`NsrIpA;(%^VK|2wbX?G;HaB5jH9(xpCRv2u~LE>?Jn510Bb$d`D? z-ux#)R;(vL&rLQHBwu_hZ~7A*4<;F@P71<#&7?P&zf9^gUyz&ZTP9xCN$fMPq3g7h zYJoEuyDsn7n`|f(FY6LXZ}OW=x)kXS-zc#%ijC{^PMyod%eq9;n`|f(%DkeC95mJTJam+*<7Xtkfc{)nsvxf zt4x?(U8WgD7U(ijCbq?el2{M)YnuthCL9rn+Upig`9p9HxM&8{eRHJ6P z;GhNb8t{5e%SOO)v!Z+4Qw=QEBE4pcVv~=&VlzZZ+aC9yusYMyw|b40jx+13V`c0z zb*y^Lie??}`TRN``tPi>@E?;9@+?4m;kRX*8*{6a;!cWLr1IpI z97bdplWJp;QLJA^F}!c3h_LnVm#IpRQa(qRvCw{y9YIQ9LAAZAlOR3H4Yo1c7Cm38 zg0kjKc@Z+)l=BTfV;& zq*_h~4Xzc=8||e++yH=5Z%XE1WIWObLVzJ&HP{BQ9}lB(V2TJ8@!G>+7b29z5E&sR zwwALc24C@<2NwkdaH(VF7ZYk#OqYxcyoCh;GGWre_@=vq-SjT5QqZtrmhy2m&tDY% z(u(xDxH6q`N>IYTu8XUzQWRpI>hW;Z)A?^^Tz~jLDt{z}n)h%`>FEOru^;xSvZH0?sF#6J4mO^hdlEJk zz*vTrLPvn}5s@8i7~LVE>*EfYWzMl`3irvyd~E{x99W7k-rZtH7I3oxpE=*A;)iN{ zCiY*D09A$J%xQx)015_=(uk?^p0~A>a%I%DRgr?J82`VuoeOwX#kI%xIdk$($N>SP zKs*WIA#V^x(IOkDT15e$Tty)vK_KCkgomJ>DAQE7$Gwo<*nHT%rToQ)9uZVTUJ=0CG$&Fq;quQiWTAQMngFBSYSk9VE8 zizR1&tRLhc^~CNQP2Jqbqh+I}l+%2A$4&NQjf-8l0=jZx8;(6?dJp-1xgGL$gu8{K zQNed|f@w$z@(_UjAzo6E?d|Xu|Cp+z#2aw>8?>I5LneB7(7KVtdMQgrF#nwz&54`W zImH}BMM12KNfcf*7`g9=^qb-lk=1UCv&b`)GI}SXBk_59 zH=7+dG|O_mpz_7@qmUU;k7WzfGS>?&y2#HKQX~j%eSyq2bccwjvxgk5 zk=j5`RdlY1Hiw!M=Lz%^(41`6_p#+1yFP-gPh`s<1W6Bs0UpnzXk8*I`{&V|c1n+Ts(k*bvBVvB>CEVFow> z6MerPsZSh%MkAW(yUot96)&-5J3&emoz_b|$XywK&1*$HX&wd{1@wyfto zfapmd4Dg9Jn|Ia|Fp`>tk<=ZGbS-_)46(|94;nh+C+gs#P<{NNK!%#lPXTH-`ft;0 zzDx19|F$SvgLRuf_c~!!GbNR_8%RywpO+S(yMU8ad&##&POY}oePfnyUB4}_sc}-a zjfv9Z`$y?xqR8(I`3t^g3%*tZWWj41!NH5;%JMi;`oWD|HK87OQP{L;+(<>(ihl>!;Z3iP9R4C8ux za5-b8T|}gyCHctjT5l4%GQ2~vuP`3^=hrg6Ytr_S*Nd(7uXVWwbYoxVP%$o zCe563P3PG?zsG=^Ugw+mG9PY=ztTUK=0{6Bq2Gp0EX6M$@YK3q&1blAS@FYwgm_%g ze~JpFM}G8Hv$m6ow|od0)vp9wOZMF||CPnQOoV0Ukj=S!S8Sqx(X-vO#PU65;SMY2 zJ^u0?y7($$aqy7`flx7|=oEypPC=9gq>$;ZS^#g0tDdZAb%4)RURIUdx_8T5FNG<( zBK)}LPH(F}Bf&i$jwRV|kgPY$UgpVi7SVmNX};|4*E8tl$>*U9WsR|x*L3>C3gt3Q z*j*ozmMayf!xnLyqRzU@qga=*aEUC-;(9JVOr zhbo25y3|Okh;%i9{0tU>ds72<6Id0C7rJ#Je#XSkTLVnz5N#0wWIXUu1hS=~KjKJa z0B<@#xlB_Y)3a$Uo1FX%qs1z8SL%@6$q*fH2l2RzS?I3gF;0@$pBlV};8ha5k;qbw z$x^Fh)wW(j-XO%UOjDkOY@+hzR67j~t(#RloRs(1J1Z$VBFH$Hh#d!UdqiH!mE$&r zqHv_BxOZkesM$0FC~_oG6UHv#`A@PUHzW6mJ(wk<*q5>n6r0xsc8JX-ERJ;-#;!Xj zJQ3@vbHe358i!THuSfR4?j={W3S&IFR-zl5?qbaA^nc6n&%PeZ;Qk+yek7wvaS@NZ zopM2uF;A9$a`~@_BN(!rNZb#U)ee28Tt}*sQyw@eNmgT&skt4PnR(ppz;A#2ID?Ym zCMn7DdJcd0WcZ61|FPoT8NP<}fX?`#bU$prMh6m)?AL3wEIlgf3o1%>Rb=qfKk_G8 zD$X4sA3}w56_u=WE`@?W{sCjO6I_&y494cQ8J;Ol_bzMDH*ts5-ErrF6TeBkoU%zL zt{f<@bvI?qsHDTXpi&Z)*IMLpF)|`?tJM7nE`76)Pt9~o z2xajjLPbGv(jZBrZ<%Qteb=vvBsalWuN9+nt!uz?PnlC^mHK5xQPHN?BED&p-8Z>X zVoFO?augFc%_RGZXY0HT`*{FgeiG5tV45qBKZ$gtb8S;Ug0ElOMm4Vo{^e4cOPxI?-5vt+nTqZJ^zL>Q@%%sZXZZ$9da)DazgyG87^B^3KURu-Q;~C9WS%$k; z|2m)4E%~CJ)2(WgJJ1#!C6{MXeD0!jM1_&KXYJNjQ6_9?OCBPT__-99E>YH&ToaaS zva<2Z!@#r;_VWD(&?39-{Pu?YPhpq@?F^Oqa7)M+ zcV3D5e&Wt$DH-NO-owFR?t6*5WamYlsf{7OKpQk#nLvv|et)?*6s;Co6gB;o0j}JA`KbLe#gQ?o_3VbY#Xw9=kC~Q zLP<_P;^)9S+w$jyfTTZ9@h0gZ%W8tWUEB9-}sg<~ME| zqxy&9dntPnjghW?JzX!bE^#|toTpvG+z$zNJIEs-S#DRJC*3dmUM2h`O5+d}-woN097};{em?pvdxA~D7LpqD>ZT@gC!-85ERkM--ZY9?0i zacXO5nfKK=)fcO0sX7~Le5tw_Yip@G2P<5r%CT-Pqx_b6%gfZIEk*j6u}LPV!#$iAi29xk;2MbWX^so{I98 zo=Hta5;;e9$Vj>O%i0t3DJtniZzgSU@lJZAe$geq?8)&<+PlbLv}L~6FjKY3s{edw z%wdH3+*>kJ#X7I`VFMOaELU<{I!;c<06Xv9nW}xJVeWkc8flQ7lujt)`1r@sbUmKN ztDI%0@zYuA^rjS_o23fFdk%T;%u)s2f+_1%si#)tn%%27AE>Px+bx}~I>e-LNAKm& z8H6(;xNG0u>(hDXpCP6ZM!H2IjF+H~5fMj^R z9lj_Dbf)Re;-OkM#M~jejSndxqcZ&PhZielG?KcBo|)4&6q+V|O4KO|N5>b_=XIv( zHF;;Ic(;L4csRxKN3)C;=A`)gY2cfEnoh)Vm+$dv=BW3>i$3zMx<$!Z5bY zyML~FEOfuucb<9}v~`~95--e&nj{SOQ>2W$ia@~nb2?~R)%b~}lcv^;si`e3tE%WZ=iGC~p3}eQ^zl7sPnudjZFWu1DK)dk zkExne)?4C;T~j??yT>%Hxl_IRZ{qDedY39~Tz8jxS^b+b|JXv+B|YvqXJtm6Yzp`> z3=fwiu@mA@cmNk!_#p1q7T%7#*uwe5Z)@S_l;fOh;a`A@Nk5t3D)F%J3UFr&KMo!q zz&8Ee0s4gjd`|+Oa&^U=+L_fAHL>anZ^>dcJj)cpQSal$s(akPNW^ivSqc6Se4d4W z62Nx{@Lk}(7X5ti4=j8~AiU1U@nng_0|d7Q@Vo$?8^BkBrR|sx8Xmv{!5ysdemdNe ziN1K84MDFd3n&X_&mZm1%RZZ`v`fN|c(=579VEfB*!BTyu>T;L&yh;$aiKjX;)I3GDDT)T?>P z7TbehyAS&lO}?u|{zvfX7TyUSY~eJp%|0U#KNH-=qR#_UK20t5K-h6QS_Fr|b_xFz z+|CN$3$`26`(V4vcrSo|4Yo75L1XW%rD|ZZ7kkN@wN&j(mdVqQ*mW=+EYfzxwAhqs zBTVT6QGFeR-RJMSndQ6+$1h$L(1+Uk`s{1u2cnwY3&VMBh#!jv(fTtwzAhK6W zGLjvsVU4}pA66G-Ec*=;sdw|dtq-elMeEa|x--6qa+7S8ru+C&;$0}%8~!uZF|Jxf zosq!y7*cRn6HO)+!!Ru^d_HcW(Q~uviV4-F<7*A=<@ihEH26x~Qj`W);BI5#n{dZ` z>|lG^IhsWnwI$5%|PEtxRwW*tNvQ~uJ!N}g<7WZ~U}+jt^9oOA#$ zX8TD>JxGf+cwUI!NCd!m><$q8F@XOR!0!g|^I+-G48PC8Z7qB_fJ5xrIj33#VI;@K zDu5#aoEE_80nD;9<%>CmlY+bRTc9Z(Jp%YNax8e5i%zV6C?jaWbB7pxIz@LCeS@e5x|Ios}$1Rg>!+$I8K{5q2 z9$WCRzxcOca_Ef8jp_m6I^0E=Zxa6|mY{~Hdy^q#b1Oq5GoGjwN3irMcDR&&5|h3o z!-4UTDS^#EaHl}HWYVU;3jCM+s3XI~s7!xCZNgprq$&*_jQb)BcatI)PeafTx74e_ zGDnjZFe=wO+Muo|`a(tZ&>@+Y@y_583H%qYe1)os8}B>tmRW8Hj}dS%mNr_4w%h+_DSNFK; z-f}9#=0u=0ASvLf-p0pO$082OIc2~{F*5v)i$tCA*dhRohR(PbR;n*T;jVe!(I?c@ zR$cS_;6{RC82o2Gsjd&l^1XMSRQ<$GdrDm!zPg2X<5S?>-Mt5%QUk-Sdw6d>rG6&i zlUAw8SB}q$I;F%H*~`NiT!~w64t7pqmQ=bL+I8<{dH@-IwVc@G@I@uYTyP*X5nd3gAow1Go<+#7q&aRc8IqqB9`So>anz#gX`}2Ya9QWR*ai`TCiGB1d$Njkm4SiRS-G>HLgUCy7 zw!7bPf1|;xy*57foa6pZK>FZW11odhcicZ|bYNkmAInOxm-vwpV z%{{fT^RC^FyKt?*#cKQ(R7q*?a+HqH}ZS;1ix>n&8ExgnAsa|6L zXdfHsD_S((u}{^7^Ox?D+zwv8{hJ8t^IeV6kJJO<;t+x^z18Q)MrUk;_a(9S$^q4F zi1FV;tw@6~_%_^9dj_9HJn0<_t^$jsh9X|?gJcVP>_IN`Vc&aD4N9i}EHpOXY|`=h zc%K|p7iAfK&v>zY>NGFsW0mifeavgSCP0RNVW4PIW3h7*88tXJfb#;l8eC$jQX6 z0N3yhU4`De=Tmh<(H7)Mihqpqzithq#Yk`iMsmNVG5s@@b9Sq7^w!saWx>`RGcMQb z*fFv`y#5c3f9x3PJUH~}((*|6@S;4gXL)2u=~u9+hAf5=HU@XYEuGDLb|xlaSCTvF zIBhJwzri;VF1a^K&ubHvdb&K7Y@v^yzm&pUltY0s1SF^nSStw)u?!+xZjh zhd0KnA|I=8Wwuv2Jt7AOUYj1d5G#E~5p||x z?!>eO%VI*p9t5w#Z0_NGFe9=izWlFIXD#Npn71(>U_Qr$zlb`mF-4f(m|>Wam>V$D zF?V6=F^^$>g?Sfq%8{tk12Yse0y7#@hN;FZ#CVt|F#m~p4YU17w2N~P$CsFlqfw^= grXS`9n5!`3FqN2DM;m+BM8<@|dyjbc)kY5gA9fI0oB#j- delta 104632 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

Z@)K=eH#2jQ&=iHT0RxrV$pZ{`Pv#Iu=w8 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 CMG0g8 diff --git a/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm.d.ts b/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm.d.ts index e10aa83..2cde822 100644 --- a/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm.d.ts +++ b/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm.d.ts @@ -5,6 +5,7 @@ export const __wbg_bspmesh_free: (a: number, b: number) => void; export const bspmesh_animated_frame_data: (a: number) => [number, number]; export const bspmesh_animated_texture_info: (a: number) => [number, number]; export const bspmesh_find_cluster: (a: number, b: number, c: number, d: number) => number; +export const bspmesh_has_sky_faces: (a: number) => number; export const bspmesh_has_skybox: (a: number) => number; export const bspmesh_index_count: (a: number) => number; export const bspmesh_index_data: (a: number) => [number, number]; @@ -14,6 +15,8 @@ export const bspmesh_lightmap_height: (a: number) => number; export const bspmesh_lightmap_width: (a: number) => number; export const bspmesh_model_draw_count: (a: number) => number; export const bspmesh_model_draw_data: (a: number) => [number, number]; +export const bspmesh_sky_index_data: (a: number) => [number, number]; +export const bspmesh_sky_vertex_data: (a: number) => [number, number]; export const bspmesh_skybox_data: (a: number) => [number, number]; export const bspmesh_skybox_face_size: (a: number) => number; export const bspmesh_texture_atlas_data: (a: number) => [number, number]; @@ -21,9 +24,9 @@ export const bspmesh_texture_atlas_height: (a: number) => number; export const bspmesh_texture_atlas_width: (a: number) => number; export const bspmesh_vertex_count: (a: number) => number; export const bspmesh_vertex_data: (a: number) => [number, number]; +export const bspmesh_water_draw_count: (a: number) => number; +export const bspmesh_water_draw_data: (a: number) => [number, number]; export const parse_bsp: (a: number, b: number) => [number, number, number]; -export const decompress_bz2: (a: number, b: number) => [number, number, number, number]; -export const init: () => void; export const __wbg_replaydata_free: (a: number, b: number) => void; export const parse_replay: (a: number, b: number) => [number, number, number]; export const replaydata_angles: (a: number) => [number, number]; @@ -35,6 +38,8 @@ export const replaydata_preframes: (a: number) => number; export const replaydata_tick_count: (a: number) => number; export const replaydata_tick_rate: (a: number) => number; export const replaydata_time: (a: number) => number; +export const decompress_bz2: (a: number, b: number) => [number, number, number, number]; +export const init: () => void; export const __wbindgen_free: (a: number, b: number, c: number) => void; export const __wbindgen_malloc: (a: number, b: number) => number; export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; From 2d244040d344dbc36fce1f18fc2aacb451969801 Mon Sep 17 00:00:00 2001 From: tommy Date: Tue, 10 Mar 2026 05:41:34 -0400 Subject: [PATCH 10/18] feat: external texture loading from CS:S VPK via API After GPU upload, fetches unresolved textures from the CS:S VPK asset API, decodes them via WASM, and patches the texture atlas in-place using texSubImage2D. Textures load in batches of 10 concurrently with a progress indicator. Co-Authored-By: Claude Opus 4.6 --- src/replay-viewer/ReplayViewerOverlay.vue | 95 ++++++++++++++++-- src/replay-viewer/renderer.ts | 8 ++ .../wasm/bhop_replay_viewer_wasm.d.ts | 22 +++- .../wasm/bhop_replay_viewer_wasm.js | 56 +++++++++++ .../wasm/bhop_replay_viewer_wasm_bg.wasm | Bin 302581 -> 311245 bytes .../wasm/bhop_replay_viewer_wasm_bg.wasm.d.ts | 7 +- 6 files changed, 178 insertions(+), 10 deletions(-) diff --git a/src/replay-viewer/ReplayViewerOverlay.vue b/src/replay-viewer/ReplayViewerOverlay.vue index ea7c737..5a2db24 100644 --- a/src/replay-viewer/ReplayViewerOverlay.vue +++ b/src/replay-viewer/ReplayViewerOverlay.vue @@ -31,7 +31,7 @@ const stepLabel = ref("Initializing..."); const progress = ref(null); const errorMessage = ref(null); const currentStep = ref(0); -const totalSteps = 7; +const totalSteps = 8; const canvas = ref(null); const controlsRef = ref | null>(null); @@ -103,7 +103,7 @@ async function initViewer() { currentStep.value = 2; stepLabel.value = "Downloading map..."; progress.value = 0; - const bspUrl = `${apiBaseUrl}/bsp?map=${encodeURIComponent(props.mapName)}`; + const bspUrl = `http://localhost:8000/api/bsp?map=${encodeURIComponent(props.mapName)}`; const bz2Data = await fetchWithProgress(bspUrl, (received, total) => { if (total) { progress.value = received / total; @@ -173,8 +173,91 @@ async function initViewer() { renderer.setupAnimatedTextures(animInfo, animData); } - // Step 6: Download replay - currentStep.value = 6; + // Step 6: Load external textures from CS:S VPK (via API) + const unresolvedJson = mesh.unresolved_textures(); + const unresolved: Array<{ + name: string; + atlas_x: number; + atlas_y: number; + width: number; + height: number; + pad: number; + }> = JSON.parse(unresolvedJson); + + if (unresolved.length > 0) { + currentStep.value = 6; + stepLabel.value = `Loading external textures (0/${unresolved.length})...`; + progress.value = 0; + await waitForNextPaint(); + + const texApiBase = `http://localhost:8000/api/csspak`; + let loaded = 0; + const BATCH_SIZE = 10; + + for (let i = 0; i < unresolved.length; i += BATCH_SIZE) { + const batch = unresolved.slice(i, i + BATCH_SIZE); + await Promise.allSettled( + batch.map(async (tex) => { + try { + let basetexture = tex.name; + let color = [1.0, 1.0, 1.0]; + + // Try fetching VMT first for proper basetexture path + color + try { + const vmtResp = await fetch(`${texApiBase}/materials/${tex.name}.vmt`); + if (vmtResp.ok) { + const vmtBytes = new Uint8Array(await vmtResp.arrayBuffer()); + const vmtJson = wasm.parse_vmt_data(vmtBytes); + if (vmtJson) { + const vmtInfo = JSON.parse(vmtJson); + if (vmtInfo.basetexture) { + basetexture = vmtInfo.basetexture; + color = vmtInfo.color || [1.0, 1.0, 1.0]; + } + } + } + } catch { + // VMT fetch failed — try VTF with texdata name directly + } + + // Fetch VTF + const vtfResp = await fetch(`${texApiBase}/materials/${basetexture}.vtf`); + if (!vtfResp.ok) return; + const vtfBytes = new Uint8Array(await vtfResp.arrayBuffer()); + + // Decode, downscale, tint, and create tiled version via WASM + const tiledData = wasm.decode_and_tile_vtf( + vtfBytes, + tex.width, + tex.height, + color[0], + color[1], + color[2], + ); + if (!tiledData) return; + + // Patch atlas — position is the padded region origin + renderer!.patchTextureAtlas( + tex.atlas_x - tex.pad, + tex.atlas_y - tex.pad, + tex.width + 2 * tex.pad, + tex.height + 2 * tex.pad, + tiledData, + ); + } catch { + // Texture failed to load — keep checkerboard placeholder + } + loaded++; + progress.value = loaded / unresolved.length; + stepLabel.value = `Loading external textures (${loaded}/${unresolved.length})...`; + }), + ); + await waitForNextPaint(); + } + } + + // Step 7: Download replay + currentStep.value = 7; stepLabel.value = "Downloading replay..."; progress.value = 0; const replayUrl = `${apiBaseUrl}/replay?id=${encodeURIComponent(props.replayId)}`; @@ -193,8 +276,8 @@ async function initViewer() { "include", ); - // Step 7: Parse replay - currentStep.value = 7; + // Step 8: Parse replay + currentStep.value = 8; stepLabel.value = "Parsing replay..."; progress.value = null; await waitForNextPaint(); diff --git a/src/replay-viewer/renderer.ts b/src/replay-viewer/renderer.ts index a0997ef..e85317c 100644 --- a/src/replay-viewer/renderer.ts +++ b/src/replay-viewer/renderer.ts @@ -517,6 +517,14 @@ export class Renderer { } } + /** Patch a region of the texture atlas (for external texture loading). Caller must include tiling padding. */ + patchTextureAtlas(x: number, y: number, width: number, height: number, data: Uint8Array): void { + const gl = this.gl; + gl.bindTexture(gl.TEXTURE_2D, this.baseTexture); + gl.texSubImage2D(gl.TEXTURE_2D, 0, x, y, width, height, gl.RGBA, gl.UNSIGNED_BYTE, data); + gl.generateMipmap(gl.TEXTURE_2D); + } + uploadSkybox(data: Uint8Array, faceSize: number): void { const gl = this.gl; diff --git a/src/replay-viewer/wasm/bhop_replay_viewer_wasm.d.ts b/src/replay-viewer/wasm/bhop_replay_viewer_wasm.d.ts index df58ba1..e98aa0d 100644 --- a/src/replay-viewer/wasm/bhop_replay_viewer_wasm.d.ts +++ b/src/replay-viewer/wasm/bhop_replay_viewer_wasm.d.ts @@ -46,6 +46,10 @@ export class BspMesh { texture_atlas_data(): Uint8Array; texture_atlas_height(): number; texture_atlas_width(): number; + /** + * JSON array of unresolved texture info: [{name, atlas_x, atlas_y, width, height, pad}, ...] + */ + unresolved_textures(): string; vertex_count(): number; /** * Move vertex data out (avoids clone). Field becomes empty after call. @@ -76,6 +80,12 @@ export class ReplayData { time(): number; } +/** + * Decode a VTF file, downscale to target dimensions, apply color tint, create tiled version with padding. + * Returns RGBA data of size (target_w + 2*pad) × (target_h + 2*pad) × 4, ready for texSubImage2D. + */ +export function decode_and_tile_vtf(vtf_data: Uint8Array, target_w: number, target_h: number, color_r: number, color_g: number, color_b: number): Uint8Array | undefined; + export function decompress_bz2(data: Uint8Array): Uint8Array; export function init(): void; @@ -84,6 +94,11 @@ export function parse_bsp(data: Uint8Array): BspMesh; export function parse_replay(data: Uint8Array): ReplayData; +/** + * Parse a VMT file and return JSON: {"basetexture":"...", "color":[r,g,b], "fps":0, "is_water":false} + */ +export function parse_vmt_data(data: Uint8Array): string | undefined; + export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; export interface InitOutput { @@ -109,11 +124,16 @@ export interface InitOutput { readonly bspmesh_texture_atlas_data: (a: number) => [number, number]; readonly bspmesh_texture_atlas_height: (a: number) => number; readonly bspmesh_texture_atlas_width: (a: number) => number; + readonly bspmesh_unresolved_textures: (a: number) => [number, number]; readonly bspmesh_vertex_count: (a: number) => number; readonly bspmesh_vertex_data: (a: number) => [number, number]; readonly bspmesh_water_draw_count: (a: number) => number; readonly bspmesh_water_draw_data: (a: number) => [number, number]; readonly parse_bsp: (a: number, b: number) => [number, number, number]; + readonly decode_and_tile_vtf: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number]; + readonly init: () => void; + readonly parse_vmt_data: (a: number, b: number) => [number, number]; + readonly decompress_bz2: (a: number, b: number) => [number, number, number, number]; readonly __wbg_replaydata_free: (a: number, b: number) => void; readonly parse_replay: (a: number, b: number) => [number, number, number]; readonly replaydata_angles: (a: number) => [number, number]; @@ -125,8 +145,6 @@ export interface InitOutput { readonly replaydata_tick_count: (a: number) => number; readonly replaydata_tick_rate: (a: number) => number; readonly replaydata_time: (a: number) => number; - readonly decompress_bz2: (a: number, b: number) => [number, number, number, number]; - readonly init: () => void; readonly __wbindgen_free: (a: number, b: number, c: number) => void; readonly __wbindgen_malloc: (a: number, b: number) => number; readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; diff --git a/src/replay-viewer/wasm/bhop_replay_viewer_wasm.js b/src/replay-viewer/wasm/bhop_replay_viewer_wasm.js index 2a78cfc..ca13e7b 100644 --- a/src/replay-viewer/wasm/bhop_replay_viewer_wasm.js +++ b/src/replay-viewer/wasm/bhop_replay_viewer_wasm.js @@ -188,6 +188,22 @@ export class BspMesh { const ret = wasm.bspmesh_texture_atlas_width(this.__wbg_ptr); return ret >>> 0; } + /** + * JSON array of unresolved texture info: [{name, atlas_x, atlas_y, width, height, pad}, ...] + * @returns {string} + */ + unresolved_textures() { + let deferred1_0; + let deferred1_1; + try { + const ret = wasm.bspmesh_unresolved_textures(this.__wbg_ptr); + deferred1_0 = ret[0]; + deferred1_1 = ret[1]; + return getStringFromWasm0(ret[0], ret[1]); + } finally { + wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); + } + } /** * @returns {number} */ @@ -326,6 +342,29 @@ export class ReplayData { } if (Symbol.dispose) ReplayData.prototype[Symbol.dispose] = ReplayData.prototype.free; +/** + * Decode a VTF file, downscale to target dimensions, apply color tint, create tiled version with padding. + * Returns RGBA data of size (target_w + 2*pad) × (target_h + 2*pad) × 4, ready for texSubImage2D. + * @param {Uint8Array} vtf_data + * @param {number} target_w + * @param {number} target_h + * @param {number} color_r + * @param {number} color_g + * @param {number} color_b + * @returns {Uint8Array | undefined} + */ +export function decode_and_tile_vtf(vtf_data, target_w, target_h, color_r, color_g, color_b) { + const ptr0 = passArray8ToWasm0(vtf_data, wasm.__wbindgen_malloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.decode_and_tile_vtf(ptr0, len0, target_w, target_h, color_r, color_g, color_b); + let v2; + if (ret[0] !== 0) { + v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 1, 1); + } + return v2; +} + /** * @param {Uint8Array} data * @returns {Uint8Array} @@ -374,6 +413,23 @@ export function parse_replay(data) { return ReplayData.__wrap(ret[0]); } +/** + * Parse a VMT file and return JSON: {"basetexture":"...", "color":[r,g,b], "fps":0, "is_water":false} + * @param {Uint8Array} data + * @returns {string | undefined} + */ +export function parse_vmt_data(data) { + const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.parse_vmt_data(ptr0, len0); + let v2; + if (ret[0] !== 0) { + v2 = getStringFromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 1, 1); + } + return v2; +} + function __wbg_get_imports() { const import0 = { __proto__: null, diff --git a/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm b/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm index c61ba46d8974ed8c313e0ddd510d9e2a80ef5654..1c2a2286c55edc5e393a3d7e769a55e0d515529b 100644 GIT binary patch delta 110644 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 CRBsRf diff --git a/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm.d.ts b/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm.d.ts index 2cde822..ff6f7dc 100644 --- a/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm.d.ts +++ b/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm.d.ts @@ -22,11 +22,16 @@ export const bspmesh_skybox_face_size: (a: number) => number; export const bspmesh_texture_atlas_data: (a: number) => [number, number]; export const bspmesh_texture_atlas_height: (a: number) => number; export const bspmesh_texture_atlas_width: (a: number) => number; +export const bspmesh_unresolved_textures: (a: number) => [number, number]; export const bspmesh_vertex_count: (a: number) => number; export const bspmesh_vertex_data: (a: number) => [number, number]; export const bspmesh_water_draw_count: (a: number) => number; export const bspmesh_water_draw_data: (a: number) => [number, number]; export const parse_bsp: (a: number, b: number) => [number, number, number]; +export const decode_and_tile_vtf: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number]; +export const init: () => void; +export const parse_vmt_data: (a: number, b: number) => [number, number]; +export const decompress_bz2: (a: number, b: number) => [number, number, number, number]; export const __wbg_replaydata_free: (a: number, b: number) => void; export const parse_replay: (a: number, b: number) => [number, number, number]; export const replaydata_angles: (a: number) => [number, number]; @@ -38,8 +43,6 @@ export const replaydata_preframes: (a: number) => number; export const replaydata_tick_count: (a: number) => number; export const replaydata_tick_rate: (a: number) => number; export const replaydata_time: (a: number) => number; -export const decompress_bz2: (a: number, b: number) => [number, number, number, number]; -export const init: () => void; export const __wbindgen_free: (a: number, b: number, c: number) => void; export const __wbindgen_malloc: (a: number, b: number) => number; export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; From bfe6836254fdb2ddf8f05fd82a21a97a1d661ebe Mon Sep 17 00:00:00 2001 From: tommy Date: Tue, 10 Mar 2026 15:42:09 -0400 Subject: [PATCH 11/18] fix: force opaque alpha for external textures + updated WASM Pass force_opaque=true to decode_and_tile_vtf for non-translucent materials to prevent semi-transparent rendering of wall/floor textures. Uses VMT $translucent flag to determine when alpha should be preserved. Co-Authored-By: Claude Opus 4.6 --- src/replay-viewer/ReplayViewerOverlay.vue | 4 ++++ .../wasm/bhop_replay_viewer_wasm.d.ts | 6 ++++-- .../wasm/bhop_replay_viewer_wasm.js | 7 +++++-- .../wasm/bhop_replay_viewer_wasm_bg.wasm | Bin 311245 -> 311326 bytes .../wasm/bhop_replay_viewer_wasm_bg.wasm.d.ts | 2 +- 5 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/replay-viewer/ReplayViewerOverlay.vue b/src/replay-viewer/ReplayViewerOverlay.vue index 5a2db24..c3371aa 100644 --- a/src/replay-viewer/ReplayViewerOverlay.vue +++ b/src/replay-viewer/ReplayViewerOverlay.vue @@ -201,6 +201,7 @@ async function initViewer() { try { let basetexture = tex.name; let color = [1.0, 1.0, 1.0]; + let isTranslucent = false; // Try fetching VMT first for proper basetexture path + color try { @@ -214,6 +215,7 @@ async function initViewer() { basetexture = vmtInfo.basetexture; color = vmtInfo.color || [1.0, 1.0, 1.0]; } + isTranslucent = vmtInfo.translucent === true; } } } catch { @@ -226,6 +228,7 @@ async function initViewer() { const vtfBytes = new Uint8Array(await vtfResp.arrayBuffer()); // Decode, downscale, tint, and create tiled version via WASM + // Force opaque unless VMT explicitly marks material as translucent const tiledData = wasm.decode_and_tile_vtf( vtfBytes, tex.width, @@ -233,6 +236,7 @@ async function initViewer() { color[0], color[1], color[2], + !isTranslucent, ); if (!tiledData) return; diff --git a/src/replay-viewer/wasm/bhop_replay_viewer_wasm.d.ts b/src/replay-viewer/wasm/bhop_replay_viewer_wasm.d.ts index e98aa0d..09c92b3 100644 --- a/src/replay-viewer/wasm/bhop_replay_viewer_wasm.d.ts +++ b/src/replay-viewer/wasm/bhop_replay_viewer_wasm.d.ts @@ -83,8 +83,10 @@ export class ReplayData { /** * Decode a VTF file, downscale to target dimensions, apply color tint, create tiled version with padding. * Returns RGBA data of size (target_w + 2*pad) × (target_h + 2*pad) × 4, ready for texSubImage2D. + * When force_opaque is true, all alpha values are set to 255 (most Source textures use alpha + * for specular masks etc., not actual transparency). */ -export function decode_and_tile_vtf(vtf_data: Uint8Array, target_w: number, target_h: number, color_r: number, color_g: number, color_b: number): Uint8Array | undefined; +export function decode_and_tile_vtf(vtf_data: Uint8Array, target_w: number, target_h: number, color_r: number, color_g: number, color_b: number, force_opaque: boolean): Uint8Array | undefined; export function decompress_bz2(data: Uint8Array): Uint8Array; @@ -130,7 +132,7 @@ export interface InitOutput { readonly bspmesh_water_draw_count: (a: number) => number; readonly bspmesh_water_draw_data: (a: number) => [number, number]; readonly parse_bsp: (a: number, b: number) => [number, number, number]; - readonly decode_and_tile_vtf: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number]; + readonly decode_and_tile_vtf: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number]; readonly init: () => void; readonly parse_vmt_data: (a: number, b: number) => [number, number]; readonly decompress_bz2: (a: number, b: number) => [number, number, number, number]; diff --git a/src/replay-viewer/wasm/bhop_replay_viewer_wasm.js b/src/replay-viewer/wasm/bhop_replay_viewer_wasm.js index ca13e7b..f1000a0 100644 --- a/src/replay-viewer/wasm/bhop_replay_viewer_wasm.js +++ b/src/replay-viewer/wasm/bhop_replay_viewer_wasm.js @@ -345,18 +345,21 @@ if (Symbol.dispose) ReplayData.prototype[Symbol.dispose] = ReplayData.prototype. /** * Decode a VTF file, downscale to target dimensions, apply color tint, create tiled version with padding. * Returns RGBA data of size (target_w + 2*pad) × (target_h + 2*pad) × 4, ready for texSubImage2D. + * When force_opaque is true, all alpha values are set to 255 (most Source textures use alpha + * for specular masks etc., not actual transparency). * @param {Uint8Array} vtf_data * @param {number} target_w * @param {number} target_h * @param {number} color_r * @param {number} color_g * @param {number} color_b + * @param {boolean} force_opaque * @returns {Uint8Array | undefined} */ -export function decode_and_tile_vtf(vtf_data, target_w, target_h, color_r, color_g, color_b) { +export function decode_and_tile_vtf(vtf_data, target_w, target_h, color_r, color_g, color_b, force_opaque) { const ptr0 = passArray8ToWasm0(vtf_data, wasm.__wbindgen_malloc); const len0 = WASM_VECTOR_LEN; - const ret = wasm.decode_and_tile_vtf(ptr0, len0, target_w, target_h, color_r, color_g, color_b); + const ret = wasm.decode_and_tile_vtf(ptr0, len0, target_w, target_h, color_r, color_g, color_b, force_opaque); let v2; if (ret[0] !== 0) { v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice(); diff --git a/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm b/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm index 1c2a2286c55edc5e393a3d7e769a55e0d515529b..fa42ffce1ebef1ad20977e001cff7b7af37c239a 100644 GIT binary patch delta 14224 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 GoBsu8zTEf# diff --git a/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm.d.ts b/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm.d.ts index ff6f7dc..7afb6cd 100644 --- a/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm.d.ts +++ b/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm.d.ts @@ -28,7 +28,7 @@ export const bspmesh_vertex_data: (a: number) => [number, number]; export const bspmesh_water_draw_count: (a: number) => number; export const bspmesh_water_draw_data: (a: number) => [number, number]; export const parse_bsp: (a: number, b: number) => [number, number, number]; -export const decode_and_tile_vtf: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number]; +export const decode_and_tile_vtf: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number]; export const init: () => void; export const parse_vmt_data: (a: number, b: number) => [number, number]; export const decompress_bz2: (a: number, b: number) => [number, number, number, number]; From 52c6baca4dbc8946012595a4d6b5946df84046ef Mon Sep 17 00:00:00 2001 From: tommy Date: Tue, 10 Mar 2026 16:21:10 -0400 Subject: [PATCH 12/18] chore: update WASM with lightmap atlas fix Updated WASM binary with 4096x4096 lightmap atlas and graceful overflow handling for large maps. Co-Authored-By: Claude Opus 4.6 --- .../wasm/bhop_replay_viewer_wasm_bg.wasm | Bin 311326 -> 311572 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm b/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm index fa42ffce1ebef1ad20977e001cff7b7af37c239a..b595e88ce748d0cfc803fc76ff17dd42874bb4fd 100644 GIT binary patch delta 80328 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 G`2PU?Hx4KO delta 79694 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 Date: Tue, 10 Mar 2026 20:05:50 -0400 Subject: [PATCH 13/18] feat: external prop loading from VPK + cubemap path fix - Use fetch_name (cubemap-stripped base name) for external texture URLs - Add prop fetching step: scan missing props, fetch MDL+VVD+VTX from API - Re-parse BSP with extras when external props are available - Updated WASM with parse_bsp_with_extras, missing_props export, and pre-allocated atlas slots for unresolved prop textures Co-Authored-By: Claude Opus 4.6 --- src/replay-viewer/ReplayViewerOverlay.vue | 100 +++++++++++++++++- .../wasm/bhop_replay_viewer_wasm.d.ts | 21 +++- .../wasm/bhop_replay_viewer_wasm.js | 39 +++++++ .../wasm/bhop_replay_viewer_wasm_bg.wasm | Bin 311572 -> 330391 bytes 4 files changed, 153 insertions(+), 7 deletions(-) diff --git a/src/replay-viewer/ReplayViewerOverlay.vue b/src/replay-viewer/ReplayViewerOverlay.vue index c3371aa..ec08ef1 100644 --- a/src/replay-viewer/ReplayViewerOverlay.vue +++ b/src/replay-viewer/ReplayViewerOverlay.vue @@ -126,7 +126,100 @@ async function initViewer() { currentStep.value = 4; stepLabel.value = "Parsing map geometry..."; await waitForNextPaint(); - const mesh = wasm.parse_bsp(bspBytes); + let mesh = wasm.parse_bsp(bspBytes); + + // Step 4b: Fetch missing props from VPK and re-parse if needed + const missingPropsJson = mesh.missing_props(); + const missingProps: string[] = JSON.parse(missingPropsJson); + + if (missingProps.length > 0) { + stepLabel.value = `Loading external props (0/${missingProps.length})...`; + await waitForNextPaint(); + + const propApiBase = `http://localhost:8000/api/csspak`; + const extrasManifest: Array<{ path: string; offset: number; length: number }> = []; + const extrasChunks: Uint8Array[] = []; + let totalBytes = 0; + let propsLoaded = 0; + + // Fetch MDL + VVD + VTX for each missing prop + const VTX_EXTENSIONS = ['.dx90.vtx', '.dx80.vtx', '.vtx', '.sw.vtx']; + const PROP_BATCH = 5; + + for (let i = 0; i < missingProps.length; i += PROP_BATCH) { + const batch = missingProps.slice(i, i + PROP_BATCH); + await Promise.allSettled( + batch.map(async (mdlPath) => { + const basePath = mdlPath.replace(/\.mdl$/i, ''); + const filesToFetch = [ + mdlPath, + `${basePath}.vvd`, + ]; + // Try VTX extensions in order — only need one + let vtxData: Uint8Array | null = null; + let vtxPath = ''; + for (const ext of VTX_EXTENSIONS) { + try { + const resp = await fetch(`${propApiBase}/${basePath}${ext}`); + if (resp.ok) { + vtxData = new Uint8Array(await resp.arrayBuffer()); + vtxPath = `${basePath}${ext}`; + break; + } + } catch { /* try next extension */ } + } + + // Fetch MDL and VVD + const results = await Promise.allSettled( + filesToFetch.map(async (p) => { + const resp = await fetch(`${propApiBase}/${p}`); + if (!resp.ok) throw new Error(`${resp.status}`); + return { path: p, data: new Uint8Array(await resp.arrayBuffer()) }; + }), + ); + + // Only add if we got all three files + const mdlResult = results[0].status === 'fulfilled' ? results[0].value : null; + const vvdResult = results[1].status === 'fulfilled' ? results[1].value : null; + + if (mdlResult && vvdResult && vtxData) { + for (const file of [mdlResult, vvdResult, { path: vtxPath, data: vtxData }]) { + extrasManifest.push({ + path: file.path, + offset: totalBytes, + length: file.data.length, + }); + extrasChunks.push(file.data); + totalBytes += file.data.length; + } + } + + propsLoaded++; + stepLabel.value = `Loading external props (${propsLoaded}/${missingProps.length})...`; + }), + ); + await waitForNextPaint(); + } + + // If we fetched any props, re-parse BSP with extras + if (extrasChunks.length > 0) { + stepLabel.value = "Re-parsing with external props..."; + await waitForNextPaint(); + + // Concatenate all extras into one buffer + const extrasData = new Uint8Array(totalBytes); + let writeOffset = 0; + for (const chunk of extrasChunks) { + extrasData.set(chunk, writeOffset); + writeOffset += chunk.length; + } + + const extrasJson = JSON.stringify(extrasManifest); + mesh.free(); + mesh = wasm.parse_bsp_with_extras(bspBytes, extrasJson, extrasData); + } + } + const vertices = mesh.vertex_data(); const indices = mesh.index_data(); @@ -177,6 +270,7 @@ async function initViewer() { const unresolvedJson = mesh.unresolved_textures(); const unresolved: Array<{ name: string; + fetch_name: string; atlas_x: number; atlas_y: number; width: number; @@ -199,13 +293,13 @@ async function initViewer() { await Promise.allSettled( batch.map(async (tex) => { try { - let basetexture = tex.name; + let basetexture = tex.fetch_name; let color = [1.0, 1.0, 1.0]; let isTranslucent = false; // Try fetching VMT first for proper basetexture path + color try { - const vmtResp = await fetch(`${texApiBase}/materials/${tex.name}.vmt`); + const vmtResp = await fetch(`${texApiBase}/materials/${tex.fetch_name}.vmt`); if (vmtResp.ok) { const vmtBytes = new Uint8Array(await vmtResp.arrayBuffer()); const vmtJson = wasm.parse_vmt_data(vmtBytes); diff --git a/src/replay-viewer/wasm/bhop_replay_viewer_wasm.d.ts b/src/replay-viewer/wasm/bhop_replay_viewer_wasm.d.ts index 09c92b3..7669da0 100644 --- a/src/replay-viewer/wasm/bhop_replay_viewer_wasm.d.ts +++ b/src/replay-viewer/wasm/bhop_replay_viewer_wasm.d.ts @@ -28,6 +28,10 @@ export class BspMesh { lightmap_atlas_data(): Uint8Array; lightmap_height(): number; lightmap_width(): number; + /** + * JSON array of missing prop model paths: ["models/props/foo.mdl", ...] + */ + missing_props(): string; /** * Number of drawable models (call before model_draw_data) */ @@ -94,6 +98,13 @@ export function init(): void; export function parse_bsp(data: Uint8Array): BspMesh; +/** + * Parse a BSP with extra files injected (e.g. prop models from VPK). + * `extras_json` is a JSON array of `{"path":"models/foo.mdl","offset":0,"length":1234}`. + * `extras_data` is all the file contents concatenated. + */ +export function parse_bsp_with_extras(data: Uint8Array, extras_json: string, extras_data: Uint8Array): BspMesh; + export function parse_replay(data: Uint8Array): ReplayData; /** @@ -117,6 +128,7 @@ export interface InitOutput { readonly bspmesh_lightmap_atlas_data: (a: number) => [number, number]; readonly bspmesh_lightmap_height: (a: number) => number; readonly bspmesh_lightmap_width: (a: number) => number; + readonly bspmesh_missing_props: (a: number) => [number, number]; readonly bspmesh_model_draw_count: (a: number) => number; readonly bspmesh_model_draw_data: (a: number) => [number, number]; readonly bspmesh_sky_index_data: (a: number) => [number, number]; @@ -132,10 +144,7 @@ export interface InitOutput { readonly bspmesh_water_draw_count: (a: number) => number; readonly bspmesh_water_draw_data: (a: number) => [number, number]; readonly parse_bsp: (a: number, b: number) => [number, number, number]; - readonly decode_and_tile_vtf: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number]; - readonly init: () => void; - readonly parse_vmt_data: (a: number, b: number) => [number, number]; - readonly decompress_bz2: (a: number, b: number) => [number, number, number, number]; + readonly parse_bsp_with_extras: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number]; readonly __wbg_replaydata_free: (a: number, b: number) => void; readonly parse_replay: (a: number, b: number) => [number, number, number]; readonly replaydata_angles: (a: number) => [number, number]; @@ -147,6 +156,10 @@ export interface InitOutput { readonly replaydata_tick_count: (a: number) => number; readonly replaydata_tick_rate: (a: number) => number; readonly replaydata_time: (a: number) => number; + readonly decompress_bz2: (a: number, b: number) => [number, number, number, number]; + readonly decode_and_tile_vtf: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number]; + readonly init: () => void; + readonly parse_vmt_data: (a: number, b: number) => [number, number]; readonly __wbindgen_free: (a: number, b: number, c: number) => void; readonly __wbindgen_malloc: (a: number, b: number) => number; readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; diff --git a/src/replay-viewer/wasm/bhop_replay_viewer_wasm.js b/src/replay-viewer/wasm/bhop_replay_viewer_wasm.js index f1000a0..1f2fcde 100644 --- a/src/replay-viewer/wasm/bhop_replay_viewer_wasm.js +++ b/src/replay-viewer/wasm/bhop_replay_viewer_wasm.js @@ -112,6 +112,22 @@ export class BspMesh { const ret = wasm.bspmesh_lightmap_width(this.__wbg_ptr); return ret >>> 0; } + /** + * JSON array of missing prop model paths: ["models/props/foo.mdl", ...] + * @returns {string} + */ + missing_props() { + let deferred1_0; + let deferred1_1; + try { + const ret = wasm.bspmesh_missing_props(this.__wbg_ptr); + deferred1_0 = ret[0]; + deferred1_1 = ret[1]; + return getStringFromWasm0(ret[0], ret[1]); + } finally { + wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); + } + } /** * Number of drawable models (call before model_draw_data) * @returns {number} @@ -402,6 +418,29 @@ export function parse_bsp(data) { return BspMesh.__wrap(ret[0]); } +/** + * Parse a BSP with extra files injected (e.g. prop models from VPK). + * `extras_json` is a JSON array of `{"path":"models/foo.mdl","offset":0,"length":1234}`. + * `extras_data` is all the file contents concatenated. + * @param {Uint8Array} data + * @param {string} extras_json + * @param {Uint8Array} extras_data + * @returns {BspMesh} + */ +export function parse_bsp_with_extras(data, extras_json, extras_data) { + const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc); + const len0 = WASM_VECTOR_LEN; + const ptr1 = passStringToWasm0(extras_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + const ptr2 = passArray8ToWasm0(extras_data, wasm.__wbindgen_malloc); + const len2 = WASM_VECTOR_LEN; + const ret = wasm.parse_bsp_with_extras(ptr0, len0, ptr1, len1, ptr2, len2); + if (ret[2]) { + throw takeFromExternrefTable0(ret[1]); + } + return BspMesh.__wrap(ret[0]); +} + /** * @param {Uint8Array} data * @returns {ReplayData} diff --git a/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm b/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm index b595e88ce748d0cfc803fc76ff17dd42874bb4fd..47fb83b41b301a9802c8f72406103bfff9f06c9b 100644 GIT binary patch delta 129086 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

=kga+(gWQk?Q5R^buiV{Mls9u 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 RVn% delta 112293 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�Q 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 From 572c45becf14b27d65af5d4fc7567183ba0c86ad Mon Sep 17 00:00:00 2001 From: tommy Date: Tue, 10 Mar 2026 20:15:00 -0400 Subject: [PATCH 14/18] fix: update WASM with texture tiling + atlas re-trim fixes Co-Authored-By: Claude Opus 4.6 --- .../wasm/bhop_replay_viewer_wasm_bg.wasm | Bin 330391 -> 330439 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm b/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm index 47fb83b41b301a9802c8f72406103bfff9f06c9b..869898bd733554c382e59ddc3414135150ff509b 100644 GIT binary patch delta 66310 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
hsweU06(3o#v1l&>TG`OtY`_ZZ^g^%oM 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

-M4okphI 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 From 7d6dd9bf6dde8fc6c0266e55a3abc4884b18b46d Mon Sep 17 00:00:00 2001 From: tommy Date: Tue, 10 Mar 2026 22:07:09 -0400 Subject: [PATCH 15/18] fix: preserve alpha for alphatest textures + updated WASM - Don't force alpha=255 on $alphatest materials (tree leaves, fences) so the shader's alpha discard works correctly for cutout rendering - Updated WASM with prop ambient lighting, bodypart model fix Co-Authored-By: Claude Opus 4.6 --- src/replay-viewer/ReplayViewerOverlay.vue | 8 ++++++-- .../wasm/bhop_replay_viewer_wasm.d.ts | 2 +- .../wasm/bhop_replay_viewer_wasm_bg.wasm | Bin 330439 -> 329321 bytes 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/replay-viewer/ReplayViewerOverlay.vue b/src/replay-viewer/ReplayViewerOverlay.vue index ec08ef1..9d6c9d7 100644 --- a/src/replay-viewer/ReplayViewerOverlay.vue +++ b/src/replay-viewer/ReplayViewerOverlay.vue @@ -296,6 +296,7 @@ async function initViewer() { let basetexture = tex.fetch_name; let color = [1.0, 1.0, 1.0]; let isTranslucent = false; + let isAlphaTest = false; // Try fetching VMT first for proper basetexture path + color try { @@ -310,6 +311,7 @@ async function initViewer() { color = vmtInfo.color || [1.0, 1.0, 1.0]; } isTranslucent = vmtInfo.translucent === true; + isAlphaTest = vmtInfo.alphatest === true; } } } catch { @@ -322,7 +324,9 @@ async function initViewer() { const vtfBytes = new Uint8Array(await vtfResp.arrayBuffer()); // Decode, downscale, tint, and create tiled version via WASM - // Force opaque unless VMT explicitly marks material as translucent + // Force opaque unless VMT has $translucent or $alphatest + // ($alphatest needs real alpha for cutout rendering: tree leaves, fences) + const forceOpaque = !isTranslucent && !isAlphaTest; const tiledData = wasm.decode_and_tile_vtf( vtfBytes, tex.width, @@ -330,7 +334,7 @@ async function initViewer() { color[0], color[1], color[2], - !isTranslucent, + forceOpaque, ); if (!tiledData) return; diff --git a/src/replay-viewer/wasm/bhop_replay_viewer_wasm.d.ts b/src/replay-viewer/wasm/bhop_replay_viewer_wasm.d.ts index 7669da0..e5dc791 100644 --- a/src/replay-viewer/wasm/bhop_replay_viewer_wasm.d.ts +++ b/src/replay-viewer/wasm/bhop_replay_viewer_wasm.d.ts @@ -156,10 +156,10 @@ export interface InitOutput { readonly replaydata_tick_count: (a: number) => number; readonly replaydata_tick_rate: (a: number) => number; readonly replaydata_time: (a: number) => number; - readonly decompress_bz2: (a: number, b: number) => [number, number, number, number]; readonly decode_and_tile_vtf: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number]; readonly init: () => void; readonly parse_vmt_data: (a: number, b: number) => [number, number]; + readonly decompress_bz2: (a: number, b: number) => [number, number, number, number]; readonly __wbindgen_free: (a: number, b: number, c: number) => void; readonly __wbindgen_malloc: (a: number, b: number) => number; readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; diff --git a/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm b/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm index 869898bd733554c382e59ddc3414135150ff509b..8571ae92c6c01afa4f1d7b8fbbbffb1f011c011e 100644 GIT binary patch delta 89567 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 j0l&NPdl nu export const bspmesh_lightmap_atlas_data: (a: number) => [number, number]; export const bspmesh_lightmap_height: (a: number) => number; export const bspmesh_lightmap_width: (a: number) => number; +export const bspmesh_missing_props: (a: number) => [number, number]; export const bspmesh_model_draw_count: (a: number) => number; export const bspmesh_model_draw_data: (a: number) => [number, number]; export const bspmesh_sky_index_data: (a: number) => [number, number]; @@ -28,10 +29,7 @@ export const bspmesh_vertex_data: (a: number) => [number, number]; export const bspmesh_water_draw_count: (a: number) => number; export const bspmesh_water_draw_data: (a: number) => [number, number]; export const parse_bsp: (a: number, b: number) => [number, number, number]; -export const decode_and_tile_vtf: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number]; -export const init: () => void; -export const parse_vmt_data: (a: number, b: number) => [number, number]; -export const decompress_bz2: (a: number, b: number) => [number, number, number, number]; +export const parse_bsp_with_extras: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number]; export const __wbg_replaydata_free: (a: number, b: number) => void; export const parse_replay: (a: number, b: number) => [number, number, number]; export const replaydata_angles: (a: number) => [number, number]; @@ -43,6 +41,10 @@ export const replaydata_preframes: (a: number) => number; export const replaydata_tick_count: (a: number) => number; export const replaydata_tick_rate: (a: number) => number; export const replaydata_time: (a: number) => number; +export const decode_and_tile_vtf: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number]; +export const init: () => void; +export const parse_vmt_data: (a: number, b: number) => [number, number]; +export const decompress_bz2: (a: number, b: number) => [number, number, number, number]; export const __wbindgen_free: (a: number, b: number, c: number) => void; export const __wbindgen_malloc: (a: number, b: number) => number; export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; From 9a1aa7a7e065a7ecc1fd01015c7f4ce79661b8aa Mon Sep 17 00:00:00 2001 From: tommy Date: Wed, 11 Mar 2026 02:42:52 -0400 Subject: [PATCH 17/18] Update WASM --- .../wasm/bhop_replay_viewer_wasm_bg.wasm | Bin 331036 -> 330038 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm b/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm index 49d8e67c4be8b3a7f616c44b1490fe92bd1bf995..5e5f9569356a75cc911fe76be22a61c20f3965de 100644 GIT binary patch delta 85201 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

$|yeNg(d#hN=}Ege)mm(AtzlMZWFnajxsW9!pYl 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 QIbl5G6~D+`DG3Mv4=#RFk^lez delta 90905 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 From c5ee9a703765da42d2cd55bf3a27cb1f6efbede3 Mon Sep 17 00:00:00 2001 From: tommy Date: Wed, 11 Mar 2026 01:53:03 -0400 Subject: [PATCH 16/18] Fix prop vertices, lighting fallback, water missing textures/scrolling --- src/replay-viewer/renderer.ts | 60 ++++++++++++++++-- .../wasm/bhop_replay_viewer_wasm_bg.wasm | Bin 329321 -> 331036 bytes .../wasm/bhop_replay_viewer_wasm_bg.wasm.d.ts | 10 +-- 3 files changed, 60 insertions(+), 10 deletions(-) diff --git a/src/replay-viewer/renderer.ts b/src/replay-viewer/renderer.ts index e85317c..5a15dde 100644 --- a/src/replay-viewer/renderer.ts +++ b/src/replay-viewer/renderer.ts @@ -13,17 +13,20 @@ attribute vec2 aAtlasMin; attribute vec2 aAtlasScale; uniform mat4 uProjection; uniform mat4 uView; +uniform vec3 uCameraPos; varying vec3 vNormal; varying vec2 vLightmapUV; varying vec2 vTexUV; varying vec2 vAtlasMin; varying vec2 vAtlasScale; +varying float vDist; void main() { vNormal = aNormal; vLightmapUV = aLightmapUV; vTexUV = aTexUV; vAtlasMin = aAtlasMin; vAtlasScale = aAtlasScale; + vDist = length(aPosition - uCameraPos); gl_Position = uProjection * uView * vec4(aPosition, 1.0); } `; @@ -37,11 +40,14 @@ varying vec2 vLightmapUV; varying vec2 vTexUV; varying vec2 vAtlasMin; varying vec2 vAtlasScale; +varying float vDist; uniform sampler2D uLightmap; uniform sampler2D uTexture; uniform vec2 uAtlasSize; uniform float uDebugMode; uniform float uAlphaOverride; +uniform float uTime; +uniform float uIsWater; const float RGBM_SCALE = 6.0; const float MAX_SAFE_TEXELS = 8.0; // must match TEX_PAD in bsp.rs @@ -53,9 +59,14 @@ void main() { // Sample base texture with per-pixel tiling float hasTex = step(0.001, vAtlasScale.x + vAtlasScale.y); + vec2 baseTexUV = vTexUV; + if (uIsWater > 0.5) { + baseTexUV += vec2(uTime * 0.05, uTime * 0.05); + } + // Missing texture: classic Source Engine black & purple checkerboard if (hasTex < 0.5) { - vec2 checker = floor(vTexUV * 2.0); + vec2 checker = floor(baseTexUV * 2.0); float c = mod(checker.x + checker.y, 2.0); vec3 missingColor = mix(vec3(0.0), vec3(0.498, 0.0, 0.498), c); @@ -65,6 +76,15 @@ void main() { vec3 lightColor = lmSample.rgb * lmSample.a * RGBM_SCALE; float hasLM = step(0.001, vLightmapUV.x + vLightmapUV.y); vec3 light = mix(vec3(1.0), lightColor, hasLM); + + // Unlit fallback + if (hasLM < 0.5) { + vec3 lightDir = normalize(vec3(0.5, 0.8, 1.0)); + float ndotl = max(dot(n, lightDir), 0.0); + float ambient = 0.5; + light = vec3(1.0) * (ambient + (1.0 - ambient) * ndotl); + } + vec3 lit = pow(missingColor, vec3(2.2)) * light; missingColor = pow(lit, vec3(1.0 / 2.2)); } @@ -73,8 +93,8 @@ void main() { return; } - vec2 rawDdx = dFdx(vTexUV) * vAtlasScale; - vec2 rawDdy = dFdy(vTexUV) * vAtlasScale; + vec2 rawDdx = dFdx(baseTexUV) * vAtlasScale; + vec2 rawDdy = dFdy(baseTexUV) * vAtlasScale; // Clamp gradients so mip level never exceeds padding coverage float maxGrad = MAX_SAFE_TEXELS / max(uAtlasSize.x, uAtlasSize.y); @@ -85,7 +105,7 @@ void main() { rawDdy *= s; } - vec2 tiledUV = fract(vTexUV); + vec2 tiledUV = fract(baseTexUV); vec2 atlasUV = vAtlasMin + tiledUV * vAtlasScale; vec4 texColor = texture2DGradEXT(uTexture, atlasUV, rawDdx, rawDdy); @@ -103,13 +123,26 @@ void main() { vec3 texLinear = pow(texColor.rgb, vec3(2.2)); vec3 albedo = texLinear; + // Extract flag (negative U = prop) and absolute UV + float isProp = step(vLightmapUV.x, -0.00005); + vec2 realLmUV = vec2(abs(vLightmapUV.x), vLightmapUV.y); + // Sample lightmap (RGBM encoded, already linear) - vec4 lmSample = texture2D(uLightmap, vLightmapUV); + vec4 lmSample = texture2D(uLightmap, realLmUV); vec3 lightColor = lmSample.rgb * lmSample.a * RGBM_SCALE; - float hasLM = step(0.001, vLightmapUV.x + vLightmapUV.y); + float hasLM = step(0.001, realLmUV.x + realLmUV.y); vec3 light = mix(vec3(1.0), lightColor, hasLM); + // Apply fake directional lighting for props or unlit geometry + if (isProp > 0.5 || hasLM < 0.5) { + vec3 lightDir = normalize(vec3(0.5, 0.8, 1.0)); + float ndotl = max(dot(n, lightDir), 0.0); + float ambient = 0.5; + vec3 baseLight = isProp > 0.5 ? lightColor : vec3(1.0); + light = baseLight * (ambient + (1.0 - ambient) * ndotl); + } + vec3 color = albedo * light; color = pow(color, vec3(1.0 / 2.2)); @@ -306,6 +339,11 @@ export class Renderer { private uAtlasSize: WebGLUniformLocation; private uDebugMode: WebGLUniformLocation; private uAlphaOverride: WebGLUniformLocation; + private uCameraPos: WebGLUniformLocation; + + private uTime: WebGLUniformLocation; + private uIsWater: WebGLUniformLocation; + private atlasWidth = 0; private atlasHeight = 0; public debugTexMode = false; @@ -380,6 +418,10 @@ export class Renderer { this.uAtlasSize = gl.getUniformLocation(this.mapProgram, 'uAtlasSize')!; this.uDebugMode = gl.getUniformLocation(this.mapProgram, 'uDebugMode')!; this.uAlphaOverride = gl.getUniformLocation(this.mapProgram, 'uAlphaOverride')!; + this.uCameraPos = gl.getUniformLocation(this.mapProgram, 'uCameraPos')!; + + this.uTime = gl.getUniformLocation(this.mapProgram, 'uTime')!; + this.uIsWater = gl.getUniformLocation(this.mapProgram, 'uIsWater')!; // Cache attribute locations this.aPos = gl.getAttribLocation(this.mapProgram, 'aPosition'); @@ -669,6 +711,8 @@ export class Renderer { gl.useProgram(this.mapProgram); gl.uniformMatrix4fv(this.uProjection, false, this.projMatrix); gl.uniformMatrix4fv(this.uView, false, viewMatrix); + gl.uniform3f(this.uCameraPos, playerPos[0], playerPos[1], playerPos[2]); + gl.uniform1f(this.uTime, performance.now() / 1000.0); // Bind lightmap on unit 0 gl.activeTexture(gl.TEXTURE0); @@ -701,6 +745,7 @@ export class Renderer { // PVS-based per-cluster draw calls (opaque geometry) if (this.bspMesh && this.modelDrawRanges.length > 0) { + gl.uniform1f(this.uIsWater, 0.0); const camCluster = this.bspMesh.find_cluster(playerPos[0], playerPos[1], playerPos[2]); for (let i = 0; i < this.modelDrawRanges.length; i++) { const m = this.modelDrawRanges[i]; @@ -715,6 +760,7 @@ export class Renderer { if (this.waterDrawRanges.length > 0) { gl.depthMask(false); gl.uniform1f(this.uAlphaOverride, 0.6); + gl.uniform1f(this.uIsWater, 1.0); for (let i = 0; i < this.waterDrawRanges.length; i++) { const m = this.waterDrawRanges[i]; if (m.indexCount === 0) continue; @@ -724,8 +770,10 @@ export class Renderer { } gl.depthMask(true); gl.uniform1f(this.uAlphaOverride, 1.0); + gl.uniform1f(this.uIsWater, 0.0); } } else { + gl.uniform1f(this.uIsWater, 0.0); gl.drawElements(gl.TRIANGLES, this.indexCount, gl.UNSIGNED_INT, 0); } diff --git a/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm b/src/replay-viewer/wasm/bhop_replay_viewer_wasm_bg.wasm index 8571ae92c6c01afa4f1d7b8fbbbffb1f011c011e..49d8e67c4be8b3a7f616c44b1490fe92bd1bf995 100644 GIT binary patch delta 71082 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 W9>3m`blk@%lWB&)w+GF?t delta 68508 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