new rendering infrastructure beginnings
155 files changed, 5924 insertions(+), 267 deletions(-) M Cargo.lock M Cargo.toml A client/.gitignore A client/.npmrc A client/.prettierignore A client/.prettierrc A client/README.md A client/components.json A client/eslint.config.js A client/package.json A client/pnpm-lock.yaml A client/postcss.config.js A client/src/app.d.ts A client/src/app.html A client/src/lib/components/ui/button/Button.svelte A client/src/lib/components/ui/button/button.svelte A client/src/lib/components/ui/button/index.ts A client/src/lib/components/ui/card/card-content.svelte A client/src/lib/components/ui/card/card-description.svelte A client/src/lib/components/ui/card/card-footer.svelte A client/src/lib/components/ui/card/card-header.svelte A client/src/lib/components/ui/card/card-title.svelte A client/src/lib/components/ui/card/card.svelte A client/src/lib/components/ui/card/index.ts A client/src/lib/index.ts A client/src/routes/(menu)/+page.svelte A client/src/routes/(menu)/login/+page.svelte R {starkingdoms-client/public => client/static}/favicon.ico A client/static/favicon.png A client/svelte.config.js A client/tailwind.config.js A client/tsconfig.json A client/vite.config.ts M kabel/Cargo.toml M server/src/crafting/components.rs M server/src/main.rs M server/src/player/mod.rs M server/src/player/packet.rs R {starkingdoms-client => starkingdoms-client-js}/.gitignore R {starkingdoms-client => starkingdoms-client-js}/.prettierignore R {starkingdoms-client => starkingdoms-client-js}/.prettierrc R {starkingdoms-client => starkingdoms-client-js}/Dockerfile A starkingdoms-client-js/index.html R {starkingdoms-client => starkingdoms-client-js}/login/index.html R {starkingdoms-client => starkingdoms-client-js}/package.json R {starkingdoms-client => starkingdoms-client-js}/play/index.html A starkingdoms-client-js/public/favicon.ico R {starkingdoms-client => starkingdoms-client-js}/shipeditor/index.html R {starkingdoms-client => starkingdoms-client-js}/signup/index.html R {starkingdoms-client => starkingdoms-client-js}/src/assets/autoplr_cfg.svg R {starkingdoms-client => starkingdoms-client-js}/src/assets/autoplr_error.svg R {starkingdoms-client => starkingdoms-client-js}/src/assets/autoplr_on.svg R {starkingdoms-client => starkingdoms-client-js}/src/assets/cargo_off.svg R {starkingdoms-client => starkingdoms-client-js}/src/assets/cargo_on.svg R {starkingdoms-client => starkingdoms-client-js}/src/assets/earth.svg R {starkingdoms-client => starkingdoms-client-js}/src/assets/earth_icon.svg R {starkingdoms-client => starkingdoms-client-js}/src/assets/ecothruster_on.svg R {starkingdoms-client => starkingdoms-client-js}/src/assets/editor_direction.svg R {starkingdoms-client => starkingdoms-client-js}/src/assets/hearty.svg R {starkingdoms-client => starkingdoms-client-js}/src/assets/hearty_ferris.svg R {starkingdoms-client => starkingdoms-client-js}/src/assets/hearty_party.svg R {starkingdoms-client => starkingdoms-client-js}/src/assets/hub_off.svg R {starkingdoms-client => starkingdoms-client-js}/src/assets/hub_on.svg R {starkingdoms-client => starkingdoms-client-js}/src/assets/landingleg.svg R {starkingdoms-client => starkingdoms-client-js}/src/assets/landingthruster_off.svg R {starkingdoms-client => starkingdoms-client-js}/src/assets/landingthruster_on.svg R {starkingdoms-client => starkingdoms-client-js}/src/assets/mars.svg R {starkingdoms-client => starkingdoms-client-js}/src/assets/mars_icon.svg R {starkingdoms-client => starkingdoms-client-js}/src/assets/missing.svg R {starkingdoms-client => starkingdoms-client-js}/src/assets/moon.svg R {starkingdoms-client => starkingdoms-client-js}/src/assets/moon_icon.svg R {starkingdoms-client => starkingdoms-client-js}/src/assets/powerhub_off.svg R {starkingdoms-client => starkingdoms-client-js}/src/assets/powerhub_on.svg R {starkingdoms-client => starkingdoms-client-js}/src/assets/starfield.svg R {starkingdoms-client => starkingdoms-client-js}/src/assets/starfield_dim.svg R {starkingdoms-client => starkingdoms-client-js}/src/assets/starfield_transp.svg R {starkingdoms-client => starkingdoms-client-js}/src/assets/sun.svg R {starkingdoms-client => starkingdoms-client-js}/src/assets/sun_rings.svg R {starkingdoms-client => starkingdoms-client-js}/src/assets/superthruster_off.svg R {starkingdoms-client => starkingdoms-client-js}/src/assets/superthruster_on.svg R {starkingdoms-client => starkingdoms-client-js}/src/assets/thruster_off.svg R {starkingdoms-client => starkingdoms-client-js}/src/assets/thruster_on.svg R {starkingdoms-client => starkingdoms-client-js}/src/assets/trackindicator.svg R {starkingdoms-client => starkingdoms-client-js}/src/components/Chatbox.svelte R {starkingdoms-client => starkingdoms-client-js}/src/components/ui/Button.svelte R {starkingdoms-client => starkingdoms-client-js}/src/components/ui/Checkbox.svelte R {starkingdoms-client => starkingdoms-client-js}/src/components/ui/Column.svelte R {starkingdoms-client => starkingdoms-client-js}/src/components/ui/ColumnTable.svelte R {starkingdoms-client => starkingdoms-client-js}/src/components/ui/HorizontalGap.svelte R {starkingdoms-client => starkingdoms-client-js}/src/components/ui/PasswordInput.svelte R {starkingdoms-client => starkingdoms-client-js}/src/components/ui/Popup.svelte R {starkingdoms-client => starkingdoms-client-js}/src/components/ui/TextInput.svelte R {starkingdoms-client => starkingdoms-client-js}/src/components/ui/VerticalRule.svelte R {starkingdoms-client => starkingdoms-client-js}/src/config.json R {starkingdoms-client => starkingdoms-client-js}/src/config.ts R {starkingdoms-client => starkingdoms-client-js}/src/css/chat.scss R {starkingdoms-client => starkingdoms-client-js}/src/css/font.scss R {starkingdoms-client => starkingdoms-client-js}/src/css/footer.scss R {starkingdoms-client => starkingdoms-client-js}/src/css/form.scss R {starkingdoms-client => starkingdoms-client-js}/src/css/game.scss R {starkingdoms-client => starkingdoms-client-js}/src/css/globals.scss R {starkingdoms-client => starkingdoms-client-js}/src/css/grid.scss R {starkingdoms-client => starkingdoms-client-js}/src/css/hud.scss R {starkingdoms-client => starkingdoms-client-js}/src/css/json.scss R {starkingdoms-client => starkingdoms-client-js}/src/css/log.scss R {starkingdoms-client => starkingdoms-client-js}/src/css/style.scss R {starkingdoms-client => starkingdoms-client-js}/src/css/themes/catppuccin-mocha.scss R {starkingdoms-client => starkingdoms-client-js}/src/css/utils.scss R {starkingdoms-client => starkingdoms-client-js}/src/env.d.ts R {starkingdoms-client => starkingdoms-client-js}/src/globals.ts R {starkingdoms-client => starkingdoms-client-js}/src/hub.ts R {starkingdoms-client => starkingdoms-client-js}/src/icons/ChevronDown.svelte R {starkingdoms-client => starkingdoms-client-js}/src/icons/ChevronUp.svelte R {starkingdoms-client => starkingdoms-client-js}/src/icons/HeartIcon.svelte R {starkingdoms-client => starkingdoms-client-js}/src/icons/MovableIcon.svelte R {starkingdoms-client => starkingdoms-client-js}/src/icons/WarningIcon.svelte R {starkingdoms-client => starkingdoms-client-js}/src/jwt.ts R {starkingdoms-client => starkingdoms-client-js}/src/packet_ui.ts R {starkingdoms-client => starkingdoms-client-js}/src/page_loaders/home.ts R {starkingdoms-client => starkingdoms-client-js}/src/page_loaders/login.ts R {starkingdoms-client => starkingdoms-client-js}/src/page_loaders/play.ts R {starkingdoms-client => starkingdoms-client-js}/src/page_loaders/shipeditor.ts R {starkingdoms-client => starkingdoms-client-js}/src/page_loaders/signup.ts R {starkingdoms-client => starkingdoms-client-js}/src/page_loaders/uikit.ts R {starkingdoms-client => starkingdoms-client-js}/src/pages/Home.svelte R {starkingdoms-client => starkingdoms-client-js}/src/pages/Login.svelte R {starkingdoms-client => starkingdoms-client-js}/src/pages/Play.svelte R {starkingdoms-client => starkingdoms-client-js}/src/pages/ShipEditor.svelte R {starkingdoms-client => starkingdoms-client-js}/src/pages/Signup.svelte R {starkingdoms-client => starkingdoms-client-js}/src/pages/UiKit.svelte R {starkingdoms-client => starkingdoms-client-js}/src/planet_colors.ts R {starkingdoms-client => starkingdoms-client-js}/src/protocol.ts R {starkingdoms-client => starkingdoms-client-js}/src/rendering.ts R {starkingdoms-client => starkingdoms-client-js}/src/save.ts R {starkingdoms-client => starkingdoms-client-js}/src/textures.ts R {starkingdoms-client => starkingdoms-client-js}/src/vite-env.d.ts R {starkingdoms-client => starkingdoms-client-js}/svelte.config.js R {starkingdoms-client => starkingdoms-client-js}/tsconfig.json R {starkingdoms-client => starkingdoms-client-js}/uikit/index.html R {starkingdoms-client => starkingdoms-client-js}/vite.config.ts R {starkingdoms-client => starkingdoms-client-js}/vite.config.ts.timestamp-1722468930578-9a55b81119f46.mjs R {starkingdoms-client => starkingdoms-client-js}/yarn.lock A starkingdoms-client/Cargo.toml M starkingdoms-client/index.html A starkingdoms-client/src/ecs.rs A starkingdoms-client/src/input.rs A starkingdoms-client/src/lib.rs A starkingdoms-client/src/main.rs A starkingdoms-client/src/native/mod.rs A starkingdoms-client/src/shaders/sprite.wgsl A starkingdoms-client/src/shaders/text_quad_mips.wgsl A starkingdoms-client/src/textures/f.png A starkingdoms-client/src/textures/happy-tree.png A starkingdoms-client/src/textures/uv.png A starkingdoms-client/src/wasm/mod.rs
M Cargo.lock => Cargo.lock +1985 -234
@@ 1,6 1,22 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. version = 3 version = 4 [[package]] name = "ab_glyph" version = "0.2.29" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec3672c180e71eeaaac3a541fbbc5f5ad4def8b747c595ad30d674e43049f7b0" dependencies = [ "ab_glyph_rasterizer", "owned_ttf_parser", ] [[package]] name = "ab_glyph_rasterizer" version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046" [[package]] name = "accesskit" @@ 53,7 69,7 @@ dependencies = [ "accesskit_macos", "accesskit_windows", "raw-window-handle", "winit", "winit 0.29.15", ] [[package]] @@ 81,7 97,7 @@ checksum = "0346d8c1f762b41b458ed3145eea914966bb9ad20b9be0d6d463b20d45586370" dependencies = [ "actix-utils", "actix-web", "derive_more", "derive_more 0.99.18", "futures-util", "log", "once_cell", @@ 104,7 120,7 @@ dependencies = [ "brotli", "bytes", "bytestring", "derive_more", "derive_more 0.99.18", "encoding_rs", "flate2", "futures-core", @@ 134,7 150,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb" dependencies = [ "quote", "syn 2.0.72", "syn 2.0.94", ] [[package]] @@ 220,7 236,7 @@ dependencies = [ "bytestring", "cfg-if", "cookie", "derive_more", "derive_more 0.99.18", "encoding_rs", "futures-core", "futures-util", @@ 250,7 266,7 @@ dependencies = [ "actix-router", "proc-macro2", "quote", "syn 2.0.72", "syn 2.0.94", ] [[package]] @@ 269,12 285,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "adler2" version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" [[package]] name = "ahash" version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", "const-random", "getrandom", "once_cell", "version_check", @@ 291,6 314,12 @@ dependencies = [ ] [[package]] name = "aligned-vec" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4aa90d7ce82d4be67b64039a3d588d38dbcc6736577de4a847025ce5b0c468d1" [[package]] name = "alloc-no-stdlib" version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 325,11 354,32 @@ dependencies = [ "jni-sys", "libc", "log", "ndk", "ndk 0.8.0", "ndk-context", "ndk-sys 0.5.0+25.2.9519653", "num_enum", "thiserror 1.0.69", ] [[package]] name = "android-activity" version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef6978589202a00cd7e118380c448a08b6ed394c3a8df3a430d0898e3a42d046" dependencies = [ "android-properties", "bitflags 2.6.0", "cc", "cesu8", "jni", "jni-sys", "libc", "log", "ndk 0.9.0", "ndk-context", "ndk-sys", "ndk-sys 0.6.0+11769913", "num_enum", "thiserror", "thiserror 1.0.69", ] [[package]] @@ 366,6 416,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" [[package]] name = "anyhow" version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" [[package]] name = "approx" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 375,6 431,23 @@ dependencies = [ ] [[package]] name = "arbitrary" version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223" [[package]] name = "arg_enum_proc_macro" version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea" dependencies = [ "proc-macro2", "quote", "syn 2.0.94", ] [[package]] name = "argon2" version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 394,14 467,20 @@ checksum = "9d151e35f61089500b617991b791fc8bfd237ae50cd5950803758a179b41e67a" [[package]] name = "arrayvec" version = "0.7.4" version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" dependencies = [ "serde", ] [[package]] name = "as-raw-xcb-connection" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b" [[package]] name = "ash" version = "0.37.3+1.3.251" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 411,6 490,26 @@ dependencies = [ ] [[package]] name = "ash" version = "0.38.0+1.3.281" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0bb44936d800fea8f016d7f2311c6a4f97aebd5dc86f09906139ec848cf3a46f" dependencies = [ "libloading 0.8.5", ] [[package]] name = "assert_type_match" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f548ad2c4031f2902e3edc1f29c29e835829437de49562d8eb5dc5584d3a1043" dependencies = [ "proc-macro2", "quote", "syn 2.0.94", ] [[package]] name = "async-broadcast" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 481,7 580,7 @@ checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", "syn 2.0.72", "syn 2.0.94", ] [[package]] @@ 497,6 596,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "av1-grain" version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6678909d8c5d46a42abcf571271e15fdbc0a225e3646cf23762cd415046c78bf" dependencies = [ "anyhow", "arrayvec", "log", "nom", "num-rational", "v_frame", ] [[package]] name = "avif-serialize" version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e335041290c43101ca215eed6f43ec437eb5a42125573f600fc3fa42b9bddd62" dependencies = [ "arrayvec", ] [[package]] name = "backtrace" version = "0.3.73" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 506,7 628,7 @@ dependencies = [ "cc", "cfg-if", "libc", "miniz_oxide", "miniz_oxide 0.7.4", "object", "rustc-demangle", ] @@ 565,7 687,7 @@ dependencies = [ "accesskit", "bevy_app", "bevy_derive", "bevy_ecs", "bevy_ecs 0.13.2", ] [[package]] @@ 575,10 697,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab348a32e46d21c5d61794294a92d415a770d26c7ba8951830b127b40b53ccc4" dependencies = [ "bevy_derive", "bevy_ecs", "bevy_reflect", "bevy_tasks", "bevy_utils", "bevy_ecs 0.13.2", "bevy_reflect 0.13.2", "bevy_tasks 0.13.2", "bevy_utils 0.13.2", "downcast-rs", "wasm-bindgen", "web-sys", @@ 595,11 717,11 @@ dependencies = [ "async-lock", "bevy_app", "bevy_asset_macros", "bevy_ecs", "bevy_ecs 0.13.2", "bevy_log", "bevy_reflect", "bevy_tasks", "bevy_utils", "bevy_reflect 0.13.2", "bevy_tasks 0.13.2", "bevy_utils 0.13.2", "bevy_winit", "blake3", "crossbeam-channel", @@ 610,7 732,7 @@ dependencies = [ "parking_lot", "ron", "serde", "thiserror", "thiserror 1.0.69", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ 622,10 744,10 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6617475908368418d815360148fdbb82f879dc255a70d2d7baa3766f0cd4bfd7" dependencies = [ "bevy_macro_utils", "bevy_macro_utils 0.13.2", "proc-macro2", "quote", "syn 2.0.72", "syn 2.0.94", ] [[package]] @@ 635,11 757,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "12b0042f241ba7cd61487aadd8addfb56f7eeb662d713ac1577026704508fc6c" dependencies = [ "bevy_app", "bevy_ecs", "bevy_ecs 0.13.2", "bevy_math", "bevy_reflect", "bevy_tasks", "bevy_utils", "bevy_reflect 0.13.2", "bevy_tasks 0.13.2", "bevy_utils 0.13.2", "bytemuck", "serde", ] @@ 654,13 776,13 @@ dependencies = [ "bevy_asset", "bevy_core", "bevy_derive", "bevy_ecs", "bevy_ecs 0.13.2", "bevy_log", "bevy_math", "bevy_reflect", "bevy_reflect 0.13.2", "bevy_render", "bevy_transform", "bevy_utils", "bevy_utils 0.13.2", "bitflags 2.6.0", "radsort", "serde", @@ 672,9 794,9 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0e01f8343f391e2d6a63b368b82fb5b252ed43c8713fc87f9a8f2d59407dd00" dependencies = [ "bevy_macro_utils", "bevy_macro_utils 0.13.2", "quote", "syn 2.0.72", "syn 2.0.94", ] [[package]] @@ 685,10 807,10 @@ checksum = "e1401cdccec7e49378d013dfb0ff62c251f85b3be19dcdf04cfd827f793d1ee9" dependencies = [ "bevy_app", "bevy_core", "bevy_ecs", "bevy_ecs 0.13.2", "bevy_log", "bevy_time", "bevy_utils", "bevy_utils 0.13.2", "const-fnv1a-hash", "sysinfo", ] @@ 700,29 822,62 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98e612a8e7962ead849e370f3a7e972b88df879ced05cd9dad6a0286d14650cf" dependencies = [ "async-channel", "bevy_ecs_macros", "bevy_ptr", "bevy_reflect", "bevy_tasks", "bevy_utils", "bevy_ecs_macros 0.13.2", "bevy_ptr 0.13.2", "bevy_reflect 0.13.2", "bevy_tasks 0.13.2", "bevy_utils 0.13.2", "downcast-rs", "fixedbitset", "fixedbitset 0.4.2", "rustc-hash", "serde", "thiserror", "thiserror 1.0.69", "thread_local", ] [[package]] name = "bevy_ecs" version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b747210d7db09dfacc237707d4fd31c8b43d7744cd5e5829e2c4ca86b9e47baf" dependencies = [ "bevy_ecs_macros 0.15.1", "bevy_ptr 0.15.1", "bevy_reflect 0.15.1", "bevy_tasks 0.15.1", "bevy_utils 0.15.1", "bitflags 2.6.0", "concurrent-queue", "derive_more 1.0.0", "disqualified", "fixedbitset 0.5.7", "nonmax", "petgraph", "smallvec", ] [[package]] name = "bevy_ecs_macros" version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "807b5106c3410e58f4f523b55ea3c071e2a09e31e9510f3c22021c6a04732b5b" dependencies = [ "bevy_macro_utils", "bevy_macro_utils 0.13.2", "proc-macro2", "quote", "syn 2.0.94", ] [[package]] name = "bevy_ecs_macros" version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d36ba5874ee278d20f17b8934d2969f8fbab90f3ea3fcf8d3583814b3661ada" dependencies = [ "bevy_macro_utils 0.15.1", "proc-macro2", "quote", "syn 2.0.72", "syn 2.0.94", ] [[package]] @@ 731,7 886,7 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "887087a5e522d9f20733a84dd7e6e9ca04cd8fdfac659220ed87d675eebc83a7" dependencies = [ "bevy_macro_utils", "bevy_macro_utils 0.13.2", "encase_derive_impl", ] @@ 745,15 900,15 @@ dependencies = [ "bevy_asset", "bevy_core", "bevy_core_pipeline", "bevy_ecs", "bevy_ecs 0.13.2", "bevy_gizmos_macros", "bevy_log", "bevy_math", "bevy_reflect", "bevy_reflect 0.13.2", "bevy_render", "bevy_sprite", "bevy_transform", "bevy_utils", "bevy_utils 0.13.2", ] [[package]] @@ 762,10 917,10 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "abdcaf74d8cd34aa5c3293527e7a012826840886ad3496c1b963ed8b66b1619f" dependencies = [ "bevy_macro_utils", "bevy_macro_utils 0.13.2", "proc-macro2", "quote", "syn 2.0.72", "syn 2.0.94", ] [[package]] @@ 776,10 931,10 @@ checksum = "bbb3dfad24866a6713dafa3065a91c5cf5e355f6e1b191c25d704ae54185246c" dependencies = [ "bevy_app", "bevy_core", "bevy_ecs", "bevy_ecs 0.13.2", "bevy_log", "bevy_reflect", "bevy_utils", "bevy_reflect 0.13.2", "bevy_utils 0.13.2", ] [[package]] @@ 789,13 944,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "47f2b2b3df168c6ef661d25e09abf5bd4fecaacd400f27e5db650df1c3fa3a3b" dependencies = [ "bevy_app", "bevy_ecs", "bevy_ecs 0.13.2", "bevy_math", "bevy_reflect", "bevy_utils", "bevy_reflect 0.13.2", "bevy_utils 0.13.2", "serde", "smol_str", "thiserror", "thiserror 1.0.69", ] [[package]] @@ 811,22 966,22 @@ dependencies = [ "bevy_core_pipeline", "bevy_derive", "bevy_diagnostic", "bevy_ecs", "bevy_ecs 0.13.2", "bevy_gizmos", "bevy_hierarchy", "bevy_input", "bevy_log", "bevy_math", "bevy_ptr", "bevy_reflect", "bevy_ptr 0.13.2", "bevy_reflect 0.13.2", "bevy_render", "bevy_scene", "bevy_sprite", "bevy_tasks", "bevy_tasks 0.13.2", "bevy_time", "bevy_transform", "bevy_ui", "bevy_utils", "bevy_utils 0.13.2", "bevy_window", "bevy_winit", ] @@ 839,8 994,8 @@ checksum = "a5eea6c527fd828b7fef8d0f518167f27f405b904a16f227b644687d3f46a809" dependencies = [ "android_log-sys", "bevy_app", "bevy_ecs", "bevy_utils", "bevy_ecs 0.13.2", "bevy_utils 0.13.2", "console_error_panic_hook", "tracing-error", "tracing-log 0.1.4", @@ 858,11 1013,23 @@ dependencies = [ "proc-macro2", "quote", "rustc-hash", "syn 2.0.72", "syn 2.0.94", "toml_edit 0.21.1", ] [[package]] name = "bevy_macro_utils" version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9bdb3a681c24abace65bf18ed467ad8befbedb42468b32e459811bfdb01e506c" dependencies = [ "proc-macro2", "quote", "syn 2.0.94", "toml_edit 0.22.20", ] [[package]] name = "bevy_math" version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 888,6 1055,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8050e2869fe341db6874203b5a01ff12673807a2c7c80cb829f6c7bea6997268" [[package]] name = "bevy_ptr" version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa65df6a190b7dfc84d79f09cf02d47ae046fa86a613e202c31559e06d8d3710" [[package]] name = "bevy_rapier2d" version = "0.25.0" source = "git+https://github.com/ghostlyzsh/bevy_rapier.git#348c11dc7463a2c4b29c28cd118b4730c3d15035" @@ 907,15 1080,33 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ccbd7de21d586457a340a0962ad0747dc5098ff925eb6b27a918c4bdd8252f7b" dependencies = [ "bevy_math", "bevy_ptr", "bevy_reflect_derive", "bevy_utils", "bevy_ptr 0.13.2", "bevy_reflect_derive 0.13.2", "bevy_utils 0.13.2", "downcast-rs", "erased-serde", "glam", "serde", "smol_str", "thiserror", "thiserror 1.0.69", ] [[package]] name = "bevy_reflect" version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bab3264acc3b6f48bc23fbd09fdfea6e5d9b7bfec142e4f3333f532acf195bca" dependencies = [ "assert_type_match", "bevy_ptr 0.15.1", "bevy_reflect_derive 0.15.1", "bevy_utils 0.15.1", "derive_more 1.0.0", "disqualified", "downcast-rs", "erased-serde", "serde", "smallvec", ] [[package]] @@ 924,10 1115,23 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3ce33051bd49036d4a5a62aa3f2068672ec55f3ebe92aa0d003a341f15cc37ac" dependencies = [ "bevy_macro_utils", "bevy_macro_utils 0.13.2", "proc-macro2", "quote", "syn 2.0.94", "uuid", ] [[package]] name = "bevy_reflect_derive" version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42f83876a322130ab38a47d5dcf75258944bf76b3387d1acdb3750920fda63e2" dependencies = [ "bevy_macro_utils 0.15.1", "proc-macro2", "quote", "syn 2.0.72", "syn 2.0.94", "uuid", ] @@ 942,18 1146,18 @@ dependencies = [ "bevy_asset", "bevy_core", "bevy_derive", "bevy_ecs", "bevy_ecs 0.13.2", "bevy_encase_derive", "bevy_hierarchy", "bevy_log", "bevy_math", "bevy_mikktspace", "bevy_reflect", "bevy_reflect 0.13.2", "bevy_render_macros", "bevy_tasks", "bevy_tasks 0.13.2", "bevy_time", "bevy_transform", "bevy_utils", "bevy_utils 0.13.2", "bevy_window", "bitflags 2.6.0", "bytemuck", @@ 962,17 1166,17 @@ dependencies = [ "encase", "futures-lite", "hexasphere", "image", "image 0.24.9", "js-sys", "naga", "naga 0.19.2", "naga_oil", "profiling", "serde", "thiserror", "thiserror 1.0.69", "thread_local", "wasm-bindgen", "web-sys", "wgpu", "wgpu 0.19.4", ] [[package]] @@ 981,10 1185,10 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "720b88406e786e378829b7d43c1ffb5300186912b99904d0d4d8ec6698a4f210" dependencies = [ "bevy_macro_utils", "bevy_macro_utils 0.13.2", "proc-macro2", "quote", "syn 2.0.72", "syn 2.0.94", ] [[package]] @@ 996,14 1200,14 @@ dependencies = [ "bevy_app", "bevy_asset", "bevy_derive", "bevy_ecs", "bevy_ecs 0.13.2", "bevy_hierarchy", "bevy_reflect", "bevy_reflect 0.13.2", "bevy_render", "bevy_transform", "bevy_utils", "bevy_utils 0.13.2", "serde", "thiserror", "thiserror 1.0.69", "uuid", ] @@ 1017,20 1221,20 @@ dependencies = [ "bevy_asset", "bevy_core_pipeline", "bevy_derive", "bevy_ecs", "bevy_ecs 0.13.2", "bevy_log", "bevy_math", "bevy_reflect", "bevy_reflect 0.13.2", "bevy_render", "bevy_transform", "bevy_utils", "bevy_utils 0.13.2", "bitflags 2.6.0", "bytemuck", "fixedbitset", "fixedbitset 0.4.2", "guillotiere", "radsort", "rectangle-pack", "thiserror", "thiserror 1.0.69", ] [[package]] @@ 1048,18 1252,31 @@ dependencies = [ ] [[package]] name = "bevy_tasks" version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c28f2db2619203aa82342dbbe77e49aeea4f933212c0b7a1f285e94c4008e5b" dependencies = [ "async-executor", "futures-channel", "futures-lite", "pin-project", "wasm-bindgen-futures", ] [[package]] name = "bevy_time" version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38ea5ae9fe7f56f555dbb05a88d34931907873e3f0c7dc426591839eef72fe3e" dependencies = [ "bevy_app", "bevy_ecs", "bevy_reflect", "bevy_utils", "bevy_ecs 0.13.2", "bevy_reflect 0.13.2", "bevy_utils 0.13.2", "crossbeam-channel", "serde", "thiserror", "thiserror 1.0.69", ] [[package]] @@ 1069,12 1286,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a0d51a1f332cc00939d2f19ed6b909e5ed7037e39c7e25cc86930d79d432163e" dependencies = [ "bevy_app", "bevy_ecs", "bevy_ecs 0.13.2", "bevy_hierarchy", "bevy_math", "bevy_reflect", "bevy_reflect 0.13.2", "serde", "thiserror", "thiserror 1.0.69", ] [[package]] @@ 1088,21 1305,21 @@ dependencies = [ "bevy_asset", "bevy_core_pipeline", "bevy_derive", "bevy_ecs", "bevy_ecs 0.13.2", "bevy_hierarchy", "bevy_input", "bevy_log", "bevy_math", "bevy_reflect", "bevy_reflect 0.13.2", "bevy_render", "bevy_sprite", "bevy_transform", "bevy_utils", "bevy_utils 0.13.2", "bevy_window", "bytemuck", "serde", "taffy", "thiserror", "thiserror 1.0.69", ] [[package]] @@ 1112,16 1329,31 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a9f845a985c00e0ee8dc2d8af3f417be925fb52aad4bda5b96e2e58a2b4d2eb" dependencies = [ "ahash", "bevy_utils_proc_macros", "bevy_utils_proc_macros 0.13.2", "getrandom", "hashbrown", "hashbrown 0.14.5", "nonmax", "petgraph", "smallvec", "thiserror", "thiserror 1.0.69", "tracing", "uuid", "web-time", "web-time 0.2.4", ] [[package]] name = "bevy_utils" version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4f01088c048960ea50ee847c3f668942ecf49ed26be12a1585a5e59b6a941d9a" dependencies = [ "ahash", "bevy_utils_proc_macros 0.15.1", "getrandom", "hashbrown 0.14.5", "thread_local", "tracing", "web-time 1.1.0", ] [[package]] @@ 1132,7 1364,18 @@ checksum = "bef158627f30503d5c18c20c60b444829f698d343516eeaf6eeee078c9a45163" dependencies = [ "proc-macro2", "quote", "syn 2.0.72", "syn 2.0.94", ] [[package]] name = "bevy_utils_proc_macros" version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a0c3244d543cc964545b7aa074f6fb18a915a7121cf3de5d7ed37a4aae8662d" dependencies = [ "proc-macro2", "quote", "syn 2.0.94", ] [[package]] @@ 1143,11 1386,11 @@ checksum = "976202d2ed838176595b550ac654b15ae236e0178a6f19a94ca6d58f2a96ca60" dependencies = [ "bevy_a11y", "bevy_app", "bevy_ecs", "bevy_ecs 0.13.2", "bevy_input", "bevy_math", "bevy_reflect", "bevy_utils", "bevy_reflect 0.13.2", "bevy_utils 0.13.2", "raw-window-handle", "serde", "smol_str", @@ 1164,18 1407,18 @@ dependencies = [ "bevy_a11y", "bevy_app", "bevy_derive", "bevy_ecs", "bevy_ecs 0.13.2", "bevy_hierarchy", "bevy_input", "bevy_math", "bevy_tasks", "bevy_utils", "bevy_tasks 0.13.2", "bevy_utils 0.13.2", "bevy_window", "crossbeam-channel", "raw-window-handle", "wasm-bindgen", "web-sys", "winit", "winit 0.29.15", ] [[package]] @@ 1184,7 1427,16 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" dependencies = [ "bit-vec", "bit-vec 0.6.3", ] [[package]] name = "bit-set" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" dependencies = [ "bit-vec 0.8.0", ] [[package]] @@ 1197,6 1449,18 @@ dependencies = [ ] [[package]] name = "bit-vec" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" [[package]] name = "bit_field" version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61" [[package]] name = "bitflags" version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 1212,6 1476,12 @@ dependencies = [ ] [[package]] name = "bitstream-io" version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6099cdc01846bc367c4e7dd630dc5966dccf36b652fae7a74e17b640411a91b2" [[package]] name = "blake2" version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 1287,6 1557,15 @@ dependencies = [ ] [[package]] name = "block2" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f" dependencies = [ "objc2 0.5.2", ] [[package]] name = "blocking" version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 1321,6 1600,12 @@ dependencies = [ ] [[package]] name = "built" version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c360505aed52b7ec96a3636c3f039d99103c37d1d9b4f7a8c743d3ea9ffcd03b" [[package]] name = "bumpalo" version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 1328,9 1613,9 @@ checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "bytemuck" version = "1.16.3" version = "1.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "102087e286b4677862ea56cf8fc58bb2cdfa8725c40ffb80fe3a008eb7f2fc83" checksum = "ef657dfab802224e671f5818e9a4935f9b1957ed18e58292690cc39e7a4092a3" dependencies = [ "bytemuck_derive", ] @@ 1343,7 1628,7 @@ checksum = "1ee891b04274a59bd38b412188e24b849617b2e45a0fd8d057deb63e7403761b" dependencies = [ "proc-macro2", "quote", "syn 2.0.72", "syn 2.0.94", ] [[package]] @@ 1353,6 1638,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "byteorder-lite" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" [[package]] name = "bytes" version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 1378,7 1669,33 @@ dependencies = [ "polling", "rustix", "slab", "thiserror", "thiserror 1.0.69", ] [[package]] name = "calloop" version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" dependencies = [ "bitflags 2.6.0", "log", "polling", "rustix", "slab", "thiserror 1.0.69", ] [[package]] name = "calloop-wayland-source" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95a66a987056935f7efce4ab5668920b5d0dac4a7c99991a67395f13702ddd20" dependencies = [ "calloop 0.13.0", "rustix", "wayland-backend", "wayland-client", ] [[package]] @@ 1404,6 1721,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" [[package]] name = "cfg-expr" version = "0.15.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" dependencies = [ "smallvec", "target-lexicon", ] [[package]] name = "cfg-if" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 1416,6 1743,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" [[package]] name = "cfg_aliases" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "ciborium" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 1550,6 1883,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32b13ea120a812beba79e34316b3942a857c86ec1593cb34f27bb28272ce2cca" [[package]] name = "const-random" version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" dependencies = [ "const-random-macro", ] [[package]] name = "const-random-macro" version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" dependencies = [ "getrandom", "once_cell", "tiny-keccak", ] [[package]] name = "const_panic" version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 1663,7 2016,7 @@ dependencies = [ "clap", "criterion-plot", "is-terminal", "itertools", "itertools 0.10.5", "num-traits", "once_cell", "oorandom", @@ 1684,7 2037,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1" dependencies = [ "cast", "itertools", "itertools 0.10.5", ] [[package]] @@ 1801,19 2154,40 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", "syn 2.0.72", "syn 2.0.94", ] [[package]] name = "diesel" version = "2.1.6" name = "derive_more" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff236accb9a5069572099f0b350a92e9560e8e63a9b8d546162f4a5e03026bb2" checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" dependencies = [ "bitflags 2.6.0", "byteorder", "diesel_derives", "itoa", "derive_more-impl", ] [[package]] name = "derive_more-impl" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", "syn 2.0.94", "unicode-xid", ] [[package]] name = "diesel" version = "2.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff236accb9a5069572099f0b350a92e9560e8e63a9b8d546162f4a5e03026bb2" dependencies = [ "bitflags 2.6.0", "byteorder", "diesel_derives", "itoa", "serde_json", ] @@ 1841,7 2215,7 @@ dependencies = [ "diesel_table_macro_syntax", "proc-macro2", "quote", "syn 2.0.72", "syn 2.0.94", ] [[package]] @@ 1861,7 2235,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc5557efc453706fed5e4fa85006fe9817c224c3f480a34c7e5959fd700921c5" dependencies = [ "syn 2.0.72", "syn 2.0.94", ] [[package]] @@ 1882,6 2256,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" [[package]] name = "disqualified" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c9c272297e804878a2a4b707cfcfc6d2328b5bb936944613b4fdf2b9269afdfd" [[package]] name = "dlib" version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 1891,18 2271,101 @@ dependencies = [ ] [[package]] name = "document-features" version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb6969eaabd2421f8a2775cfd2471a2b634372b4a25d41e3bd647b79912850a0" dependencies = [ "litrs", ] [[package]] name = "downcast-rs" version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" [[package]] name = "dpi" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f25c0e292a7ca6d6498557ff1df68f32c99850012b6ea401cf8daf771f22ff53" [[package]] name = "ecolor" version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d72e9c39f6e11a2e922d04a34ec5e7ef522ea3f5a1acfca7a19d16ad5fe50f5" dependencies = [ "bytemuck", "emath", ] [[package]] name = "egui" version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "252d52224d35be1535d7fd1d6139ce071fb42c9097773e79f7665604f5596b5e" dependencies = [ "ahash", "emath", "epaint", "log", "nohash-hasher", "profiling", ] [[package]] name = "egui-wgpu" version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26c1e821d2d8921ef6ce98b258c7e24d9d6aab2ca1f9cdf374eca997e7f67f59" dependencies = [ "ahash", "bytemuck", "document-features", "egui", "epaint", "log", "profiling", "thiserror 1.0.69", "type-map", "web-time 1.1.0", "wgpu 23.0.1", ] [[package]] name = "egui-winit" version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e84c2919cd9f3a38a91e8f84ac6a245c19251fd95226ed9fae61d5ea564fce3" dependencies = [ "ahash", "egui", "log", "profiling", "raw-window-handle", "web-time 1.1.0", "webbrowser", "winit 0.30.8", ] [[package]] name = "either" version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "emath" version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4fe73c1207b864ee40aa0b0c038d6092af1030744678c60188a05c28553515d" dependencies = [ "bytemuck", ] [[package]] name = "encase" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 1911,7 2374,7 @@ dependencies = [ "const_panic", "encase_derive", "glam", "thiserror", "thiserror 1.0.69", ] [[package]] @@ 1931,7 2394,7 @@ checksum = "92959a9e8d13eaa13b8ae8c7b583c3bf1669ca7a8e7708a088d12587ba86effc" dependencies = [ "proc-macro2", "quote", "syn 2.0.72", "syn 2.0.94", ] [[package]] @@ 1957,6 2420,30 @@ dependencies = [ ] [[package]] name = "epaint" version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5666f8d25236293c966fbb3635eac18b04ad1914e3bab55bc7d44b9980cafcac" dependencies = [ "ab_glyph", "ahash", "bytemuck", "ecolor", "emath", "epaint_default_fonts", "log", "nohash-hasher", "parking_lot", "profiling", ] [[package]] name = "epaint_default_fonts" version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "66f6ddac3e6ac6fd4c3d48bb8b1943472f8da0f43a4303bcd8a18aa594401c80" [[package]] name = "equivalent" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 2019,6 2506,21 @@ dependencies = [ ] [[package]] name = "exr" version = "1.73.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f83197f59927b46c04a183a619b7c29df34e63e63c7869320862268c0ef687e0" dependencies = [ "bit_field", "half", "lebe", "miniz_oxide 0.8.2", "rayon-core", "smallvec", "zune-inflate", ] [[package]] name = "fallible-iterator" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 2031,19 2533,34 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" [[package]] name = "fdeflate" version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" dependencies = [ "simd-adler32", ] [[package]] name = "fixedbitset" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "fixedbitset" version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" [[package]] name = "flate2" version = "1.0.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f211bbe8e69bbd0cfdea405084f128ae8b4aaa6b0b522fc8f2b009084797920" dependencies = [ "crc32fast", "miniz_oxide", "miniz_oxide 0.7.4", ] [[package]] @@ 2053,6 2570,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "foldhash" version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f" [[package]] name = "foreign-types" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 2070,7 2593,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", "syn 2.0.72", "syn 2.0.94", ] [[package]] @@ 2131,7 2654,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", "syn 2.0.72", "syn 2.0.94", ] [[package]] @@ 2185,6 2708,16 @@ dependencies = [ ] [[package]] name = "gethostname" version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818" dependencies = [ "libc", "windows-targets 0.48.5", ] [[package]] name = "getrandom" version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 2198,6 2731,16 @@ dependencies = [ ] [[package]] name = "gif" version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3fb2d69b19215e18bb912fa30f7ce15846e301408695e44e0ef719f1da9e19f2" dependencies = [ "color_quant", "weezl", ] [[package]] name = "gimli" version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 2237,6 2780,18 @@ dependencies = [ ] [[package]] name = "glow" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d51fa363f025f5c111e03f13eda21162faeacb6911fe8caa0c0349f9cf0c4483" dependencies = [ "js-sys", "slotmap", "wasm-bindgen", "web-sys", ] [[package]] name = "glutin_wgl_sys" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 2246,6 2801,15 @@ dependencies = [ ] [[package]] name = "glutin_wgl_sys" version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0a4e1951bbd9434a81aa496fe59ccc2235af3820d27b85f9314e279609211e2c" dependencies = [ "gl_generator", ] [[package]] name = "gpu-alloc" version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 2272,20 2836,43 @@ checksum = "6f56f6318968d03c18e1bcf4857ff88c61157e9da8e47c5f29055d60e1228884" dependencies = [ "log", "presser", "thiserror", "thiserror 1.0.69", "winapi", "windows 0.52.0", ] [[package]] name = "gpu-allocator" version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c151a2a5ef800297b4e79efa4f4bec035c5f51d5ae587287c9b952bdf734cacd" dependencies = [ "log", "presser", "thiserror 1.0.69", "windows 0.58.0", ] [[package]] name = "gpu-descriptor" version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc11df1ace8e7e564511f53af41f3e42ddc95b56fd07b3f4445d2a6048bc682c" dependencies = [ "bitflags 2.6.0", "gpu-descriptor-types", "hashbrown", "gpu-descriptor-types 0.1.2", "hashbrown 0.14.5", ] [[package]] name = "gpu-descriptor" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dcf29e94d6d243368b7a56caa16bc213e4f9f8ed38c4d9557069527b5d5281ca" dependencies = [ "bitflags 2.6.0", "gpu-descriptor-types 0.2.0", "hashbrown 0.15.2", ] [[package]] @@ 2298,6 2885,15 @@ dependencies = [ ] [[package]] name = "gpu-descriptor-types" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" dependencies = [ "bitflags 2.6.0", ] [[package]] name = "grid" version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 2354,6 2950,15 @@ dependencies = [ ] [[package]] name = "hashbrown" version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" dependencies = [ "foldhash", ] [[package]] name = "hassle-rs" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 2363,12 2968,18 @@ dependencies = [ "com", "libc", "libloading 0.8.5", "thiserror", "thiserror 1.0.69", "widestring", "winapi", ] [[package]] name = "heck" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] name = "hermit-abi" version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 2412,6 3023,15 @@ dependencies = [ ] [[package]] name = "home" version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" dependencies = [ "windows-sys 0.59.0", ] [[package]] name = "http" version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 2485,13 3105,63 @@ dependencies = [ ] [[package]] name = "image" version = "0.25.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd6f44aed642f18953a158afeb30206f4d50da59fbc66ecb53c66488de73563b" dependencies = [ "bytemuck", "byteorder-lite", "color_quant", "exr", "gif", "image-webp", "num-traits", "png", "qoi", "ravif", "rayon", "rgb", "tiff", "zune-core", "zune-jpeg", ] [[package]] name = "image-webp" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e031e8e3d94711a9ccb5d6ea357439ef3dcbed361798bd4071dc4d9793fbe22f" dependencies = [ "byteorder-lite", "quick-error", ] [[package]] name = "imgref" version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d0263a3d970d5c054ed9312c0057b4f3bde9c0b33836d3637361d4a9e6e7a408" [[package]] name = "indexmap" version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de3fc2e30ba82dd1b3911c8de1ffc143c74a914a14e99514d7637e3099df5ea0" dependencies = [ "equivalent", "hashbrown", "hashbrown 0.14.5", ] [[package]] name = "interpolate_name" version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60" dependencies = [ "proc-macro2", "quote", "syn 2.0.94", ] [[package]] @@ 2515,6 3185,15 @@ dependencies = [ ] [[package]] name = "itertools" version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" dependencies = [ "either", ] [[package]] name = "itoa" version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 2531,7 3210,7 @@ dependencies = [ "combine", "jni-sys", "log", "thiserror", "thiserror 1.0.69", "walkdir", "windows-sys 0.45.0", ] @@ 2552,11 3231,18 @@ dependencies = [ ] [[package]] name = "jpeg-decoder" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0" [[package]] name = "js-sys" version = "0.3.69" version = "0.3.76" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" checksum = "6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7" dependencies = [ "once_cell", "wasm-bindgen", ] @@ 2613,12 3299,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "lebe" version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8" [[package]] name = "libc" version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] name = "libfuzzer-sys" version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b9569d2f74e257076d8c6bfa73fb505b46b851e51ddaecc825944aa3bed17fa" dependencies = [ "arbitrary", "cc", ] [[package]] name = "libloading" version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 2662,6 3364,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" [[package]] name = "litrs" version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5" [[package]] name = "local-channel" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 2708,6 3416,15 @@ dependencies = [ ] [[package]] name = "loop9" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fae87c125b03c1d2c0150c90365d7d6bcc53fb73a9acaef207d2d065860f062" dependencies = [ "imgref", ] [[package]] name = "malloc_buf" version = "0.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 2736,6 3453,16 @@ dependencies = [ ] [[package]] name = "maybe-rayon" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ea1f30cedd69f0a2954655f7188c6a834246d2bcf1e315e2ac40c4b24dc9519" dependencies = [ "cfg-if", "rayon", ] [[package]] name = "md-5" version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 2752,12 3479,36 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "metal" version = "0.27.0" name = "memmap2" version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25" checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" dependencies = [ "bitflags 2.6.0", "libc", ] [[package]] name = "metal" version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25" dependencies = [ "bitflags 2.6.0", "block", "core-graphics-types", "foreign-types", "log", "objc", "paste", ] [[package]] name = "metal" version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ecfd3296f8c56b7c1f6fbac3c71cefa9d78ce009850c45000015f206dc7fa21" dependencies = [ "bitflags 2.6.0", "block", "core-graphics-types", "foreign-types", @@ 2794,6 3545,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "minimal-lexical" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 2803,6 3560,16 @@ dependencies = [ ] [[package]] name = "miniz_oxide" version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ffbe83022cedc1d264172192511ae958937694cd57ce297164951b8b3568394" dependencies = [ "adler2", "simd-adler32", ] [[package]] name = "mio" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 2821,7 3588,7 @@ version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "50e3524642f53d9af419ab5e8dd29d3ba155708267667c2f3f06c88c9e130843" dependencies = [ "bit-set", "bit-set 0.5.3", "bitflags 2.6.0", "codespan-reporting", "hexf-parse", @@ 2832,7 3599,28 @@ dependencies = [ "rustc-hash", "spirv", "termcolor", "thiserror", "thiserror 1.0.69", "unicode-xid", ] [[package]] name = "naga" version = "23.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "364f94bc34f61332abebe8cad6f6cd82a5b65cff22c828d05d0968911462ca4f" dependencies = [ "arrayvec", "bit-set 0.8.0", "bitflags 2.6.0", "cfg_aliases 0.1.1", "codespan-reporting", "hexf-parse", "indexmap", "log", "rustc-hash", "spirv", "termcolor", "thiserror 1.0.69", "unicode-xid", ] @@ 2842,16 3630,16 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ea62ae0f2787456afca7209ca180522b41f00cbe159ee369eba1e07d365cd1" dependencies = [ "bit-set", "bit-set 0.5.3", "codespan-reporting", "data-encoding", "indexmap", "naga", "naga 0.19.2", "once_cell", "regex", "regex-syntax 0.8.4", "rustc-hash", "thiserror", "thiserror 1.0.69", "tracing", "unicode-ident", ] @@ 2882,7 3670,7 @@ checksum = "254a5372af8fc138e36684761d3c0cdb758a4410e938babcff1c860ce14ddbfc" dependencies = [ "proc-macro2", "quote", "syn 2.0.72", "syn 2.0.94", ] [[package]] @@ 2894,10 3682,25 @@ dependencies = [ "bitflags 2.6.0", "jni-sys", "log", "ndk-sys", "ndk-sys 0.5.0+25.2.9519653", "num_enum", "raw-window-handle", "thiserror 1.0.69", ] [[package]] name = "ndk" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" dependencies = [ "bitflags 2.6.0", "jni-sys", "log", "ndk-sys 0.6.0+11769913", "num_enum", "raw-window-handle", "thiserror", "thiserror 1.0.69", ] [[package]] @@ 2916,12 3719,49 @@ dependencies = [ ] [[package]] name = "ndk-sys" version = "0.6.0+11769913" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" dependencies = [ "jni-sys", ] [[package]] name = "new_debug_unreachable" version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" [[package]] name = "nohash-hasher" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" [[package]] name = "nom" version = "7.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" dependencies = [ "memchr", "minimal-lexical", ] [[package]] name = "nonmax" version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "610a5acd306ec67f907abe5567859a3c693fb9886eb1f012ab8f2a47bef3db51" [[package]] name = "noop_proc_macro" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8" [[package]] name = "ntapi" version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 2941,6 3781,16 @@ dependencies = [ ] [[package]] name = "num-bigint" version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ "num-integer", "num-traits", ] [[package]] name = "num-complex" version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 2964,7 3814,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", "syn 2.0.72", "syn 2.0.94", ] [[package]] @@ 2982,6 3832,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" dependencies = [ "num-bigint", "num-integer", "num-traits", ] @@ 3014,7 3865,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", "syn 2.0.72", "syn 2.0.94", ] [[package]] @@ 3061,6 3912,92 @@ dependencies = [ ] [[package]] name = "objc2" version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804" dependencies = [ "objc-sys 0.3.5", "objc2-encode 4.0.3", ] [[package]] name = "objc2-app-kit" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" dependencies = [ "bitflags 2.6.0", "block2 0.5.1", "libc", "objc2 0.5.2", "objc2-core-data", "objc2-core-image", "objc2-foundation", "objc2-quartz-core", ] [[package]] name = "objc2-cloud-kit" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" dependencies = [ "bitflags 2.6.0", "block2 0.5.1", "objc2 0.5.2", "objc2-core-location", "objc2-foundation", ] [[package]] name = "objc2-contacts" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a5ff520e9c33812fd374d8deecef01d4a840e7b41862d849513de77e44aa4889" dependencies = [ "block2 0.5.1", "objc2 0.5.2", "objc2-foundation", ] [[package]] name = "objc2-core-data" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" dependencies = [ "bitflags 2.6.0", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation", ] [[package]] name = "objc2-core-image" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80" dependencies = [ "block2 0.5.1", "objc2 0.5.2", "objc2-foundation", "objc2-metal", ] [[package]] name = "objc2-core-location" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "000cfee34e683244f284252ee206a27953279d370e309649dc3ee317b37e5781" dependencies = [ "block2 0.5.1", "objc2 0.5.2", "objc2-contacts", "objc2-foundation", ] [[package]] name = "objc2-encode" version = "2.0.0-pre.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 3076,6 4013,117 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d079845b37af429bfe5dfa76e6d087d788031045b25cfc6fd898486fd9847666" [[package]] name = "objc2-encode" version = "4.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7891e71393cd1f227313c9379a26a584ff3d7e6e7159e988851f0934c993f0f8" [[package]] name = "objc2-foundation" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" dependencies = [ "bitflags 2.6.0", "block2 0.5.1", "dispatch", "libc", "objc2 0.5.2", ] [[package]] name = "objc2-link-presentation" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1a1ae721c5e35be65f01a03b6d2ac13a54cb4fa70d8a5da293d7b0020261398" dependencies = [ "block2 0.5.1", "objc2 0.5.2", "objc2-app-kit", "objc2-foundation", ] [[package]] name = "objc2-metal" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" dependencies = [ "bitflags 2.6.0", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation", ] [[package]] name = "objc2-quartz-core" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" dependencies = [ "bitflags 2.6.0", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation", "objc2-metal", ] [[package]] name = "objc2-symbols" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0a684efe3dec1b305badae1a28f6555f6ddd3bb2c2267896782858d5a78404dc" dependencies = [ "objc2 0.5.2", "objc2-foundation", ] [[package]] name = "objc2-ui-kit" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" dependencies = [ "bitflags 2.6.0", "block2 0.5.1", "objc2 0.5.2", "objc2-cloud-kit", "objc2-core-data", "objc2-core-image", "objc2-core-location", "objc2-foundation", "objc2-link-presentation", "objc2-quartz-core", "objc2-symbols", "objc2-uniform-type-identifiers", "objc2-user-notifications", ] [[package]] name = "objc2-uniform-type-identifiers" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44fa5f9748dbfe1ca6c0b79ad20725a11eca7c2218bceb4b005cb1be26273bfe" dependencies = [ "block2 0.5.1", "objc2 0.5.2", "objc2-foundation", ] [[package]] name = "objc2-user-notifications" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" dependencies = [ "bitflags 2.6.0", "block2 0.5.1", "objc2 0.5.2", "objc2-core-location", "objc2-foundation", ] [[package]] name = "objc_exception" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 3095,9 4143,9 @@ dependencies = [ [[package]] name = "once_cell" version = "1.19.0" version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" [[package]] name = "oorandom" @@ 3121,6 4169,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "owned_ttf_parser" version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22ec719bbf3b2a81c109a4e20b1f129b5566b7dce654bc3872f6a05abf82b2c4" dependencies = [ "ttf-parser", ] [[package]] name = "parking" version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 3200,7 4257,7 @@ version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", "fixedbitset 0.4.2", "indexmap", ] @@ 3223,6 4280,26 @@ dependencies = [ ] [[package]] name = "pin-project" version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be57f64e946e500c8ee36ef6331845d40a93055567ec57e8fae13efd33759b95" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" dependencies = [ "proc-macro2", "quote", "syn 2.0.94", ] [[package]] name = "pin-project-lite" version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 3280,6 4357,19 @@ dependencies = [ ] [[package]] name = "png" version = "0.17.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526" dependencies = [ "bitflags 1.3.2", "crc32fast", "fdeflate", "flate2", "miniz_oxide 0.8.2", ] [[package]] name = "polling" version = "3.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 3295,6 4385,12 @@ dependencies = [ ] [[package]] name = "pollster" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2f3a9f18d041e6d0e102a0a46750538147e5e8992d3b4873aaafee2520b00ce3" [[package]] name = "postgres-protocol" version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 3364,18 4460,18 @@ dependencies = [ [[package]] name = "proc-macro2" version = "1.0.86" version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" dependencies = [ "unicode-ident", ] [[package]] name = "profiling" version = "1.0.15" version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43d84d1d7a6ac92673717f9f6d1518374ef257669c24ebc5ac25d5033828be58" checksum = "afbdc74edc00b6f6a218ca6a5364d6226a259d4b8ea1af4a0ea063f27e179f4d" dependencies = [ "profiling-procmacros", "tracing", @@ 3383,12 4479,36 @@ dependencies = [ [[package]] name = "profiling-procmacros" version = "1.0.15" version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8021cf59c8ec9c432cfc2526ac6b8aa508ecaf29cd415f271b8406c1b851c3fd" checksum = "a65f2e60fbf1063868558d69c6beacf412dc755f9fc020f514b7955fc914fe30" dependencies = [ "quote", "syn 2.0.72", "syn 2.0.94", ] [[package]] name = "qoi" version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001" dependencies = [ "bytemuck", ] [[package]] name = "quick-error" version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" [[package]] name = "quick-xml" version = "0.36.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7649a7b4df05aed9ea7ec6f628c67c9953a43869b8bc50929569b2999d443fe" dependencies = [ "memchr", ] [[package]] @@ 3449,7 4569,7 @@ source = "git+https://github.com/ghostlyzsh/rapier.git#0ac5a2906d4ffbfba346bf327 dependencies = [ "approx", "arrayvec", "bit-vec", "bit-vec 0.6.3", "bitflags 1.3.2", "crossbeam", "downcast-rs", @@ 3463,6 4583,56 @@ dependencies = [ ] [[package]] name = "rav1e" version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd87ce80a7665b1cce111f8a16c1f3929f6547ce91ade6addf4ec86a8dda5ce9" dependencies = [ "arbitrary", "arg_enum_proc_macro", "arrayvec", "av1-grain", "bitstream-io", "built", "cfg-if", "interpolate_name", "itertools 0.12.1", "libc", "libfuzzer-sys", "log", "maybe-rayon", "new_debug_unreachable", "noop_proc_macro", "num-derive", "num-traits", "once_cell", "paste", "profiling", "rand", "rand_chacha", "simd_helpers", "system-deps", "thiserror 1.0.69", "v_frame", "wasm-bindgen", ] [[package]] name = "ravif" version = "0.11.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2413fd96bd0ea5cdeeb37eaf446a22e6ed7b981d792828721e74ded1980a45c6" dependencies = [ "avif-serialize", "imgref", "loop9", "quick-error", "rav1e", "rayon", "rgb", ] [[package]] name = "raw-window-handle" version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 3584,6 4754,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" [[package]] name = "rgb" version = "0.8.50" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57397d16646700483b67d2dd6511d79318f9d057fdbd21a4066aeac8b41d310a" [[package]] name = "rmp" version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 3723,6 4899,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "sctk-adwaita" version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6277f0217056f77f1d8f49f2950ac6c278c0d607c45f5ee99328d792ede24ec" dependencies = [ "ab_glyph", "log", "memmap2", "smithay-client-toolkit", "tiny-skia", ] [[package]] name = "semver" version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 3745,7 4934,7 @@ checksum = "692d6f5ac90220161d6774db30c662202721e64aed9058d2c394f451261420c1" dependencies = [ "proc-macro2", "quote", "syn 2.0.72", "syn 2.0.94", ] [[package]] @@ 3835,6 5024,21 @@ dependencies = [ ] [[package]] name = "simd-adler32" version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" [[package]] name = "simd_helpers" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95890f873bec569a0362c235787f3aca6e1e887302ba4840839bcc6459c42da6" dependencies = [ "quote", ] [[package]] name = "siphasher" version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 3868,6 5072,31 @@ dependencies = [ ] [[package]] name = "smithay-client-toolkit" version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" dependencies = [ "bitflags 2.6.0", "calloop 0.13.0", "calloop-wayland-source", "cursor-icon", "libc", "log", "memmap2", "rustix", "thiserror 1.0.69", "wayland-backend", "wayland-client", "wayland-csd-frame", "wayland-cursor", "wayland-protocols", "wayland-protocols-wlr", "wayland-scanner", "xkeysym", ] [[package]] name = "smol_str" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 3892,7 5121,7 @@ version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "766195f983f4098dc3bf37fb66bd609f6e6258c4b8db684d05252b2c694cdbcd" dependencies = [ "hashbrown", "hashbrown 0.14.5", "num-traits", "robust", "smallvec", @@ 3959,6 5188,29 @@ dependencies = [ ] [[package]] name = "starkingdoms-client" version = "0.1.0" dependencies = [ "bevy_ecs 0.15.1", "console_error_panic_hook", "egui", "egui-wgpu", "egui-winit", "image 0.25.5", "pollster", "thiserror 2.0.9", "tracing", "tracing-subscriber", "tracing-web", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", "web-time 1.1.0", "wgpu 23.0.1", "winit 0.30.8", ] [[package]] name = "starkingdoms-common" version = "0.1.0" dependencies = [ @@ 3997,6 5249,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "strict-num" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731" [[package]] name = "stringprep" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 4032,9 5290,9 @@ dependencies = [ [[package]] name = "syn" version = "2.0.72" version = "2.0.94" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" checksum = "987bc0be1cdea8b10216bd06e2ca407d40b9543468fafd3ddfb02f36e77f71f3" dependencies = [ "proc-macro2", "quote", @@ 4056,6 5314,19 @@ dependencies = [ ] [[package]] name = "system-deps" version = "6.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349" dependencies = [ "cfg-expr", "heck", "pkg-config", "toml 0.8.19", "version-compare", ] [[package]] name = "taffy" version = "0.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 4068,6 5339,12 @@ dependencies = [ ] [[package]] name = "target-lexicon" version = "0.12.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" [[package]] name = "termcolor" version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 4084,28 5361,48 @@ checksum = "f9576037ae2a919664866c736156fd646d1c0e4e217244b1da05f56204dd6c61" dependencies = [ "proc-macro2", "quote", "syn 2.0.72", "syn 2.0.94", "unicode-ident", ] [[package]] name = "thiserror" version = "1.0.63" version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ "thiserror-impl 1.0.69", ] [[package]] name = "thiserror" version = "2.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f072643fd0190df67a8bab670c20ef5d8737177d6ac6b2e9a236cb096206b2cc" dependencies = [ "thiserror-impl 2.0.9", ] [[package]] name = "thiserror-impl" version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "thiserror-impl", "proc-macro2", "quote", "syn 2.0.94", ] [[package]] name = "thiserror-impl" version = "1.0.63" version = "2.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" checksum = "7b50fa271071aae2e6ee85f842e2e28ba8cd2c5fb67f11fcb1fd70b276f9e7d4" dependencies = [ "proc-macro2", "quote", "syn 2.0.72", "syn 2.0.94", ] [[package]] @@ 4119,6 5416,17 @@ dependencies = [ ] [[package]] name = "tiff" version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e" dependencies = [ "flate2", "jpeg-decoder", "weezl", ] [[package]] name = "time" version = "0.3.36" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 4150,6 5458,40 @@ dependencies = [ ] [[package]] name = "tiny-keccak" version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" dependencies = [ "crunchy", ] [[package]] name = "tiny-skia" version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab" dependencies = [ "arrayref", "arrayvec", "bytemuck", "cfg-if", "log", "tiny-skia-path", ] [[package]] name = "tiny-skia-path" version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93" dependencies = [ "arrayref", "bytemuck", "strict-num", ] [[package]] name = "tinytemplate" version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 4320,7 5662,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", "syn 2.0.72", "syn 2.0.94", ] [[package]] @@ 4406,6 5748,19 @@ dependencies = [ ] [[package]] name = "tracing-web" version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9e6a141feebd51f8d91ebfd785af50fca223c570b86852166caa3b141defe7c" dependencies = [ "js-sys", "tracing-core", "tracing-subscriber", "wasm-bindgen", "web-sys", ] [[package]] name = "tracy-client" version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 4426,6 5781,12 @@ dependencies = [ ] [[package]] name = "ttf-parser" version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2df906b07856748fa3f6e0ad0cbaa047052d4a7dd609e231c4f72cee8c36f31" [[package]] name = "tungstenite" version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 4439,12 5800,21 @@ dependencies = [ "log", "rand", "sha1", "thiserror", "thiserror 1.0.69", "url", "utf-8", ] [[package]] name = "type-map" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "deb68604048ff8fa93347f02441e4487594adc20bb8a084f9e564d2b827a0a9f" dependencies = [ "rustc-hash", ] [[package]] name = "typeid" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 4497,9 5867,9 @@ checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" [[package]] name = "unicode-xid" version = "0.2.4" version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "url" @@ 4529,12 5899,29 @@ dependencies = [ ] [[package]] name = "v_frame" version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6f32aaa24bacd11e488aa9ba66369c7cd514885742c9fe08cfe85884db3e92b" dependencies = [ "aligned-vec", "num-traits", "wasm-bindgen", ] [[package]] name = "valuable" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" [[package]] name = "version-compare" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b" [[package]] name = "version_check" version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 4564,46 5951,47 @@ checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" [[package]] name = "wasm-bindgen" version = "0.2.92" version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" checksum = "a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396" dependencies = [ "cfg-if", "once_cell", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" version = "0.2.92" version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", "syn 2.0.72", "syn 2.0.94", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" version = "0.4.42" version = "0.4.49" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" checksum = "38176d9b44ea84e9184eff0bc34cc167ed044f816accfe5922e54d84cf48eca2" dependencies = [ "cfg-if", "js-sys", "once_cell", "wasm-bindgen", "web-sys", ] [[package]] name = "wasm-bindgen-macro" version = "0.2.92" version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" checksum = "2cc6181fd9a7492eef6fef1f33961e3695e4579b9872a6f7c83aee556666d4fe" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ 4611,28 5999,137 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" version = "0.2.92" version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2" dependencies = [ "proc-macro2", "quote", "syn 2.0.72", "syn 2.0.94", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" version = "0.2.92" version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6" [[package]] name = "wayland-backend" version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "056535ced7a150d45159d3a8dc30f91a2e2d588ca0b23f70e56033622b8016f6" dependencies = [ "cc", "downcast-rs", "rustix", "scoped-tls", "smallvec", "wayland-sys", ] [[package]] name = "wayland-client" version = "0.31.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b66249d3fc69f76fd74c82cc319300faa554e9d865dab1f7cd66cc20db10b280" dependencies = [ "bitflags 2.6.0", "rustix", "wayland-backend", "wayland-scanner", ] [[package]] name = "wayland-csd-frame" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" dependencies = [ "bitflags 2.6.0", "cursor-icon", "wayland-backend", ] [[package]] name = "wayland-cursor" version = "0.31.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32b08bc3aafdb0035e7fe0fdf17ba0c09c268732707dca4ae098f60cb28c9e4c" dependencies = [ "rustix", "wayland-client", "xcursor", ] [[package]] name = "wayland-protocols" version = "0.32.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7cd0ade57c4e6e9a8952741325c30bf82f4246885dca8bf561898b86d0c1f58e" dependencies = [ "bitflags 2.6.0", "wayland-backend", "wayland-client", "wayland-scanner", ] [[package]] name = "wayland-protocols-plasma" version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b31cab548ee68c7eb155517f2212049dc151f7cd7910c2b66abfd31c3ee12bd" dependencies = [ "bitflags 2.6.0", "wayland-backend", "wayland-client", "wayland-protocols", "wayland-scanner", ] [[package]] name = "wayland-protocols-wlr" version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "782e12f6cd923c3c316130d56205ebab53f55d6666b7faddfad36cecaeeb4022" dependencies = [ "bitflags 2.6.0", "wayland-backend", "wayland-client", "wayland-protocols", "wayland-scanner", ] [[package]] name = "wayland-scanner" version = "0.31.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "597f2001b2e5fc1121e3d5b9791d3e78f05ba6bfa4641053846248e3a13661c3" dependencies = [ "proc-macro2", "quick-xml", "quote", ] [[package]] name = "wayland-sys" version = "0.31.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" checksum = "efa8ac0d8e8ed3e3b5c9fc92c7881406a268e11555abe36493efabe649a29e09" dependencies = [ "dlib", "log", "once_cell", "pkg-config", ] [[package]] name = "web-sys" version = "0.3.69" version = "0.3.76" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" checksum = "04dd7223427d52553d3702c004d3b2fe07c148165faa56313cb00211e31c12bc" dependencies = [ "js-sys", "wasm-bindgen", @@ 4649,6 6146,40 @@ dependencies = [ ] [[package]] name = "web-time" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" dependencies = [ "js-sys", "wasm-bindgen", ] [[package]] name = "webbrowser" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "425ba64c1e13b1c6e8c5d2541c8fac10022ca584f33da781db01b5756aef1f4e" dependencies = [ "block2 0.5.1", "core-foundation", "home", "jni", "log", "ndk-context", "objc2 0.5.2", "objc2-foundation", "url", "web-sys", ] [[package]] name = "weezl" version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082" [[package]] name = "wgpu" version = "0.19.4" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 4656,10 6187,35 @@ checksum = "cbd7311dbd2abcfebaabf1841a2824ed7c8be443a0f29166e5d3c6a53a762c01" dependencies = [ "arrayvec", "cfg-if", "cfg_aliases", "cfg_aliases 0.1.1", "js-sys", "log", "naga 0.19.2", "parking_lot", "profiling", "raw-window-handle", "smallvec", "static_assertions", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", "wgpu-core 0.19.4", "wgpu-hal 0.19.5", "wgpu-types 0.19.2", ] [[package]] name = "wgpu" version = "23.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "80f70000db37c469ea9d67defdc13024ddf9a5f1b89cb2941b812ad7cde1735a" dependencies = [ "arrayvec", "cfg_aliases 0.1.1", "document-features", "js-sys", "log", "naga", "naga 23.1.0", "parking_lot", "profiling", "raw-window-handle", @@ 4668,9 6224,9 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", "wgpu-core", "wgpu-hal", "wgpu-types", "wgpu-core 23.0.1", "wgpu-hal 23.0.1", "wgpu-types 23.0.0", ] [[package]] @@ 4680,23 6236,48 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28b94525fc99ba9e5c9a9e24764f2bc29bad0911a7446c12f446a8277369bf3a" dependencies = [ "arrayvec", "bit-vec", "bit-vec 0.6.3", "bitflags 2.6.0", "cfg_aliases", "cfg_aliases 0.1.1", "codespan-reporting", "indexmap", "log", "naga", "naga 0.19.2", "once_cell", "parking_lot", "profiling", "raw-window-handle", "rustc-hash", "smallvec", "thiserror", "thiserror 1.0.69", "web-sys", "wgpu-hal", "wgpu-types", "wgpu-hal 0.19.5", "wgpu-types 0.19.2", ] [[package]] name = "wgpu-core" version = "23.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d63c3c478de8e7e01786479919c8769f62a22eec16788d8c2ac77ce2c132778a" dependencies = [ "arrayvec", "bit-vec 0.8.0", "bitflags 2.6.0", "cfg_aliases 0.1.1", "document-features", "indexmap", "log", "naga 23.1.0", "once_cell", "parking_lot", "profiling", "raw-window-handle", "rustc-hash", "smallvec", "thiserror 1.0.69", "wgpu-hal 23.0.1", "wgpu-types 23.0.0", ] [[package]] @@ 4707,27 6288,27 @@ checksum = "bfabcfc55fd86611a855816326b2d54c3b2fd7972c27ce414291562650552703" dependencies = [ "android_system_properties", "arrayvec", "ash", "bit-set", "ash 0.37.3+1.3.251", "bit-set 0.5.3", "bitflags 2.6.0", "block", "cfg_aliases", "cfg_aliases 0.1.1", "core-graphics-types", "d3d12", "glow", "glutin_wgl_sys", "glow 0.13.1", "glutin_wgl_sys 0.5.0", "gpu-alloc", "gpu-allocator", "gpu-descriptor", "gpu-allocator 0.25.0", "gpu-descriptor 0.2.4", "hassle-rs", "js-sys", "khronos-egl", "libc", "libloading 0.8.5", "log", "metal", "naga", "ndk-sys", "metal 0.27.0", "naga 0.19.2", "ndk-sys 0.5.0+25.2.9519653", "objc", "once_cell", "parking_lot", @@ 4737,14 6318,59 @@ dependencies = [ "renderdoc-sys", "rustc-hash", "smallvec", "thiserror", "thiserror 1.0.69", "wasm-bindgen", "web-sys", "wgpu-types", "wgpu-types 0.19.2", "winapi", ] [[package]] name = "wgpu-hal" version = "23.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89364b8a0b211adc7b16aeaf1bd5ad4a919c1154b44c9ce27838213ba05fd821" dependencies = [ "android_system_properties", "arrayvec", "ash 0.38.0+1.3.281", "bit-set 0.8.0", "bitflags 2.6.0", "block", "bytemuck", "cfg_aliases 0.1.1", "core-graphics-types", "glow 0.14.2", "glutin_wgl_sys 0.6.0", "gpu-alloc", "gpu-allocator 0.27.0", "gpu-descriptor 0.3.1", "js-sys", "khronos-egl", "libc", "libloading 0.8.5", "log", "metal 0.29.0", "naga 23.1.0", "ndk-sys 0.5.0+25.2.9519653", "objc", "once_cell", "parking_lot", "profiling", "range-alloc", "raw-window-handle", "renderdoc-sys", "rustc-hash", "smallvec", "thiserror 1.0.69", "wasm-bindgen", "web-sys", "wgpu-types 23.0.0", "windows 0.58.0", "windows-core 0.58.0", ] [[package]] name = "wgpu-types" version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 4756,6 6382,17 @@ dependencies = [ ] [[package]] name = "wgpu-types" version = "23.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "610f6ff27778148c31093f3b03abc4840f9636d58d597ca2f5977433acfe0068" dependencies = [ "bitflags 2.6.0", "js-sys", "web-sys", ] [[package]] name = "whoami" version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 4885,7 6522,7 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", "syn 2.0.72", "syn 2.0.94", ] [[package]] @@ 4907,7 6544,7 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", "syn 2.0.72", "syn 2.0.94", ] [[package]] @@ 5149,11 6786,11 @@ version = "0.29.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d59ad965a635657faf09c8f062badd885748428933dad8e8bdd64064d92e5ca" dependencies = [ "android-activity", "android-activity 0.5.2", "atomic-waker", "bitflags 2.6.0", "calloop", "cfg_aliases", "calloop 0.12.4", "cfg_aliases 0.1.1", "core-foundation", "core-graphics", "cursor-icon", @@ 5161,8 6798,8 @@ dependencies = [ "js-sys", "libc", "log", "ndk", "ndk-sys", "ndk 0.8.0", "ndk-sys 0.5.0+25.2.9519653", "objc2 0.4.1", "once_cell", "orbclient", @@ 5174,12 6811,64 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", "web-time", "web-time 0.2.4", "windows-sys 0.48.0", "xkbcommon-dl", ] [[package]] name = "winit" version = "0.30.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f5d74280aabb958072864bff6cfbcf9025cf8bfacdde5e32b5e12920ef703b0f" dependencies = [ "ahash", "android-activity 0.6.0", "atomic-waker", "bitflags 2.6.0", "block2 0.5.1", "bytemuck", "calloop 0.13.0", "cfg_aliases 0.2.1", "concurrent-queue", "core-foundation", "core-graphics", "cursor-icon", "dpi", "js-sys", "libc", "memmap2", "ndk 0.9.0", "objc2 0.5.2", "objc2-app-kit", "objc2-foundation", "objc2-ui-kit", "orbclient", "percent-encoding", "pin-project", "raw-window-handle", "redox_syscall 0.4.1", "rustix", "sctk-adwaita", "smithay-client-toolkit", "smol_str", "tracing", "unicode-segmentation", "wasm-bindgen", "wasm-bindgen-futures", "wayland-backend", "wayland-client", "wayland-protocols", "wayland-protocols-plasma", "web-sys", "web-time 1.1.0", "windows-sys 0.52.0", "x11-dl", "x11rb", "xkbcommon-dl", ] [[package]] name = "winnow" version = "0.5.40" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 5198,6 6887,44 @@ dependencies = [ ] [[package]] name = "x11-dl" version = "2.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" dependencies = [ "libc", "once_cell", "pkg-config", ] [[package]] name = "x11rb" version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d91ffca73ee7f68ce055750bf9f6eca0780b8c85eff9bc046a3b0da41755e12" dependencies = [ "as-raw-xcb-connection", "gethostname", "libc", "libloading 0.8.5", "once_cell", "rustix", "x11rb-protocol", ] [[package]] name = "x11rb-protocol" version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec107c4503ea0b4a98ef47356329af139c0a4f7750e621cf2973cd3385ebcb3d" [[package]] name = "xcursor" version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ef33da6b1660b4ddbfb3aef0ade110c8b8a781a3b6382fa5f2b5b040fd55f61" [[package]] name = "xkbcommon-dl" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ 5240,7 6967,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", "syn 2.0.72", "syn 2.0.94", ] [[package]] @@ 5270,3 6997,27 @@ dependencies = [ "cc", "pkg-config", ] [[package]] name = "zune-core" version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a" [[package]] name = "zune-inflate" version = "0.2.54" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02" dependencies = [ "simd-adler32", ] [[package]] name = "zune-jpeg" version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "99a5bab8d7dedf81405c4bb1f2b83ea057643d9cb28778cea9eecddeedd2e028" dependencies = [ "zune-core", ]
M Cargo.toml => Cargo.toml +5 -2
@@ 4,13 4,16 @@ members = [ "starkingdoms-backplane", "starkingdoms-common", "savefile_decoder" , "starkingdoms-api", "kabel"] , "starkingdoms-api", "kabel", "starkingdoms-client"] resolver = "2" [profile.dev.package."*"] opt-level = 3 [profile.release] debug = "full" [profile.release-ci] inherits = "release" codegen-units = 1 lto = "fat" lto = "fat" \ No newline at end of file
A client/.gitignore => client/.gitignore +21 -0
@@ 0,0 1,21 @@ node_modules # Output .output .vercel /.svelte-kit /build # OS .DS_Store Thumbs.db # Env .env .env.* !.env.example !.env.test # Vite vite.config.js.timestamp-* vite.config.ts.timestamp-*
A client/.npmrc => client/.npmrc +1 -0
A client/.prettierignore => client/.prettierignore +4 -0
A client/.prettierrc => client/.prettierrc +8 -0
@@ 0,0 1,8 @@ { "useTabs": true, "singleQuote": true, "trailingComma": "none", "printWidth": 100, "plugins": ["prettier-plugin-svelte"], "overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }] }
A client/README.md => client/README.md +38 -0
@@ 0,0 1,38 @@ # create-svelte Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/main/packages/create-svelte). ## Creating a project If you're seeing this, you've probably already done this step. Congrats! ```bash # create a new project in the current directory npm create svelte@latest # create a new project in my-app npm create svelte@latest my-app ``` ## Developing Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server: ```bash npm run dev # or start the server and open the app in a new browser tab npm run dev -- --open ``` ## Building To create a production version of your app: ```bash npm run build ``` You can preview the production build with `npm run preview`. > To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment.
A client/components.json => client/components.json +14 -0
@@ 0,0 1,14 @@ { "$schema": "https://shadcn-svelte.com/schema.json", "style": "new-york", "tailwind": { "config": "tailwind.config.js", "css": "src/app.pcss", "baseColor": "slate" }, "aliases": { "components": "$lib/components", "utils": "$lib/utils" }, "typescript": true } \ No newline at end of file
A client/eslint.config.js => client/eslint.config.js +33 -0
@@ 0,0 1,33 @@ import js from '@eslint/js'; import ts from 'typescript-eslint'; import svelte from 'eslint-plugin-svelte'; import prettier from 'eslint-config-prettier'; import globals from 'globals'; /** @type {import('eslint').Linter.Config[]} */ export default [ js.configs.recommended, ...ts.configs.recommended, ...svelte.configs['flat/recommended'], prettier, ...svelte.configs['flat/prettier'], { languageOptions: { globals: { ...globals.browser, ...globals.node } } }, { files: ['**/*.svelte'], languageOptions: { parserOptions: { parser: ts.parser } } }, { ignores: ['build/', '.svelte-kit/', 'dist/'] } ];
A client/package.json => client/package.json +46 -0
@@ 0,0 1,46 @@ { "name": "starkingdoms-client", "version": "0.0.1", "private": true, "scripts": { "dev": "vite dev", "build": "vite build", "preview": "vite preview", "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", "lint": "prettier --check . && eslint .", "format": "prettier --write ." }, "devDependencies": { "@sveltejs/adapter-auto": "^3.2.2", "@sveltejs/kit": "^2.5.18", "@sveltejs/vite-plugin-svelte": "^3.1.1", "@tailwindcss/forms": "^0.5.7", "@types/eslint": "^9.6.0", "autoprefixer": "^10.4.19", "eslint": "^9.8.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-svelte": "^2.43.0", "globals": "^15.8.0", "postcss": "^8.4.40", "prettier": "^3.3.3", "prettier-plugin-svelte": "^3.2.6", "svelte": "^4.2.18", "svelte-check": "^3.8.5", "tailwind-merge": "^2.4.0", "tailwind-variants": "^0.2.1", "tailwindcss": "^3.4.7", "typescript": "^5.5.4", "typescript-eslint": "^8.0.0", "vite": "^5.3.5" }, "type": "module", "packageManager": "pnpm@9.6.0", "dependencies": { "bits-ui": "^0.21.13", "clsx": "^2.1.1", "debug": "^4.3.6", "lucide-svelte": "^0.418.0", "svelte-radix": "^1.1.0" } }
A client/pnpm-lock.yaml => client/pnpm-lock.yaml +3003 -0
@@ 0,0 1,3003 @@ lockfileVersion: '9.0' settings: autoInstallPeers: true excludeLinksFromLockfile: false importers: .: dependencies: bits-ui: specifier: ^0.21.13 version: 0.21.13(svelte@4.2.18) clsx: specifier: ^2.1.1 version: 2.1.1 debug: specifier: ^4.3.6 version: 4.3.6 lucide-svelte: specifier: ^0.418.0 version: 0.418.0(svelte@4.2.18) svelte-radix: specifier: ^1.1.0 version: 1.1.0(svelte@4.2.18) devDependencies: '@sveltejs/adapter-auto': specifier: ^3.2.2 version: 3.2.2(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.5))(svelte@4.2.18)(vite@5.3.5)) '@sveltejs/kit': specifier: ^2.5.18 version: 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.5))(svelte@4.2.18)(vite@5.3.5) '@sveltejs/vite-plugin-svelte': specifier: ^3.1.1 version: 3.1.1(svelte@4.2.18)(vite@5.3.5) '@tailwindcss/forms': specifier: ^0.5.7 version: 0.5.7(tailwindcss@3.4.7) '@types/eslint': specifier: ^9.6.0 version: 9.6.0 autoprefixer: specifier: ^10.4.19 version: 10.4.19(postcss@8.4.40) eslint: specifier: ^9.8.0 version: 9.8.0 eslint-config-prettier: specifier: ^9.1.0 version: 9.1.0(eslint@9.8.0) eslint-plugin-svelte: specifier: ^2.43.0 version: 2.43.0(eslint@9.8.0)(svelte@4.2.18) globals: specifier: ^15.8.0 version: 15.8.0 postcss: specifier: ^8.4.40 version: 8.4.40 prettier: specifier: ^3.3.3 version: 3.3.3 prettier-plugin-svelte: specifier: ^3.2.6 version: 3.2.6(prettier@3.3.3)(svelte@4.2.18) svelte: specifier: ^4.2.18 version: 4.2.18 svelte-check: specifier: ^3.8.5 version: 3.8.5(postcss-load-config@4.0.2(postcss@8.4.40))(postcss@8.4.40)(svelte@4.2.18) tailwind-merge: specifier: ^2.4.0 version: 2.4.0 tailwind-variants: specifier: ^0.2.1 version: 0.2.1(tailwindcss@3.4.7) tailwindcss: specifier: ^3.4.7 version: 3.4.7 typescript: specifier: ^5.5.4 version: 5.5.4 typescript-eslint: specifier: ^8.0.0 version: 8.0.0(eslint@9.8.0)(typescript@5.5.4) vite: specifier: ^5.3.5 version: 5.3.5 packages: '@alloc/quick-lru@5.2.0': resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} '@esbuild/aix-ppc64@0.21.5': resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} engines: {node: '>=12'} cpu: [ppc64] os: [aix] '@esbuild/android-arm64@0.21.5': resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} engines: {node: '>=12'} cpu: [arm64] os: [android] '@esbuild/android-arm@0.21.5': resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} engines: {node: '>=12'} cpu: [arm] os: [android] '@esbuild/android-x64@0.21.5': resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} engines: {node: '>=12'} cpu: [x64] os: [android] '@esbuild/darwin-arm64@0.21.5': resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] '@esbuild/darwin-x64@0.21.5': resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} engines: {node: '>=12'} cpu: [x64] os: [darwin] '@esbuild/freebsd-arm64@0.21.5': resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] '@esbuild/freebsd-x64@0.21.5': resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] '@esbuild/linux-arm64@0.21.5': resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} engines: {node: '>=12'} cpu: [arm64] os: [linux] '@esbuild/linux-arm@0.21.5': resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} engines: {node: '>=12'} cpu: [arm] os: [linux] '@esbuild/linux-ia32@0.21.5': resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} engines: {node: '>=12'} cpu: [ia32] os: [linux] '@esbuild/linux-loong64@0.21.5': resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] '@esbuild/linux-mips64el@0.21.5': resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] '@esbuild/linux-ppc64@0.21.5': resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] '@esbuild/linux-riscv64@0.21.5': resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] '@esbuild/linux-s390x@0.21.5': resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} engines: {node: '>=12'} cpu: [s390x] os: [linux] '@esbuild/linux-x64@0.21.5': resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} engines: {node: '>=12'} cpu: [x64] os: [linux] '@esbuild/netbsd-x64@0.21.5': resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] '@esbuild/openbsd-x64@0.21.5': resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] '@esbuild/sunos-x64@0.21.5': resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] '@esbuild/win32-arm64@0.21.5': resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} engines: {node: '>=12'} cpu: [arm64] os: [win32] '@esbuild/win32-ia32@0.21.5': resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} engines: {node: '>=12'} cpu: [ia32] os: [win32] '@esbuild/win32-x64@0.21.5': resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} engines: {node: '>=12'} cpu: [x64] os: [win32] '@eslint-community/eslint-utils@4.4.0': resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 '@eslint-community/regexpp@4.11.0': resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} '@eslint/config-array@0.17.1': resolution: {integrity: sha512-BlYOpej8AQ8Ev9xVqroV7a02JK3SkBAaN9GfMMH9W6Ch8FlQlkjGw4Ir7+FgYwfirivAf4t+GtzuAxqfukmISA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/eslintrc@3.1.0': resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/js@9.8.0': resolution: {integrity: sha512-MfluB7EUfxXtv3i/++oh89uzAr4PDI4nn201hsp+qaXqsjAWzinlZEHEfPgAX4doIlKvPG/i0A9dpKxOLII8yA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.4': resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@floating-ui/core@1.6.5': resolution: {integrity: sha512-8GrTWmoFhm5BsMZOTHeGD2/0FLKLQQHvO/ZmQga4tKempYRLz8aqJGqXVuQgisnMObq2YZ2SgkwctN1LOOxcqA==} '@floating-ui/dom@1.6.8': resolution: {integrity: sha512-kx62rP19VZ767Q653wsP1XZCGIirkE09E0QUGNYTM/ttbbQHqcGPdSfWFxUyyNLc/W6aoJRBajOSXhP6GXjC0Q==} '@floating-ui/utils@0.2.5': resolution: {integrity: sha512-sTcG+QZ6fdEUObICavU+aB3Mp8HY4n14wYHdxK4fXjPmv3PXZZeY5RaguJmGyeH/CJQhX3fqKUtS4qc1LoHwhQ==} '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} '@humanwhocodes/retry@0.3.0': resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==} engines: {node: '>=18.18'} '@internationalized/date@3.5.5': resolution: {integrity: sha512-H+CfYvOZ0LTJeeLOqm19E3uj/4YjrmOFtBufDHPfvtI80hFAMqtrp7oCACpe4Cil5l8S0Qu/9dYfZc/5lY8WQQ==} '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} '@jridgewell/gen-mapping@0.3.5': resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} '@jridgewell/set-array@1.2.1': resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} engines: {node: '>=6.0.0'} '@jridgewell/sourcemap-codec@1.5.0': resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} '@melt-ui/svelte@0.76.2': resolution: {integrity: sha512-7SbOa11tXUS95T3fReL+dwDs5FyJtCEqrqG3inRziDws346SYLsxOQ6HmX+4BkIsQh1R8U3XNa+EMmdMt38lMA==} peerDependencies: svelte: '>=3 <5' '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} '@nodelib/fs.stat@2.0.5': resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} '@nodelib/fs.walk@1.2.8': resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} '@polka/url@1.0.0-next.25': resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} '@rollup/rollup-android-arm-eabi@4.19.1': resolution: {integrity: sha512-XzqSg714++M+FXhHfXpS1tDnNZNpgxxuGZWlRG/jSj+VEPmZ0yg6jV4E0AL3uyBKxO8mO3xtOsP5mQ+XLfrlww==} cpu: [arm] os: [android] '@rollup/rollup-android-arm64@4.19.1': resolution: {integrity: sha512-thFUbkHteM20BGShD6P08aungq4irbIZKUNbG70LN8RkO7YztcGPiKTTGZS7Kw+x5h8hOXs0i4OaHwFxlpQN6A==} cpu: [arm64] os: [android] '@rollup/rollup-darwin-arm64@4.19.1': resolution: {integrity: sha512-8o6eqeFZzVLia2hKPUZk4jdE3zW7LCcZr+MD18tXkgBBid3lssGVAYuox8x6YHoEPDdDa9ixTaStcmx88lio5Q==} cpu: [arm64] os: [darwin] '@rollup/rollup-darwin-x64@4.19.1': resolution: {integrity: sha512-4T42heKsnbjkn7ovYiAdDVRRWZLU9Kmhdt6HafZxFcUdpjlBlxj4wDrt1yFWLk7G4+E+8p2C9tcmSu0KA6auGA==} cpu: [x64] os: [darwin] '@rollup/rollup-linux-arm-gnueabihf@4.19.1': resolution: {integrity: sha512-MXg1xp+e5GhZ3Vit1gGEyoC+dyQUBy2JgVQ+3hUrD9wZMkUw/ywgkpK7oZgnB6kPpGrxJ41clkPPnsknuD6M2Q==} cpu: [arm] os: [linux] '@rollup/rollup-linux-arm-musleabihf@4.19.1': resolution: {integrity: sha512-DZNLwIY4ftPSRVkJEaxYkq7u2zel7aah57HESuNkUnz+3bZHxwkCUkrfS2IWC1sxK6F2QNIR0Qr/YXw7nkF3Pw==} cpu: [arm] os: [linux] '@rollup/rollup-linux-arm64-gnu@4.19.1': resolution: {integrity: sha512-C7evongnjyxdngSDRRSQv5GvyfISizgtk9RM+z2biV5kY6S/NF/wta7K+DanmktC5DkuaJQgoKGf7KUDmA7RUw==} cpu: [arm64] os: [linux] '@rollup/rollup-linux-arm64-musl@4.19.1': resolution: {integrity: sha512-89tFWqxfxLLHkAthAcrTs9etAoBFRduNfWdl2xUs/yLV+7XDrJ5yuXMHptNqf1Zw0UCA3cAutkAiAokYCkaPtw==} cpu: [arm64] os: [linux] '@rollup/rollup-linux-powerpc64le-gnu@4.19.1': resolution: {integrity: sha512-PromGeV50sq+YfaisG8W3fd+Cl6mnOOiNv2qKKqKCpiiEke2KiKVyDqG/Mb9GWKbYMHj5a01fq/qlUR28PFhCQ==} cpu: [ppc64] os: [linux] '@rollup/rollup-linux-riscv64-gnu@4.19.1': resolution: {integrity: sha512-/1BmHYh+iz0cNCP0oHCuF8CSiNj0JOGf0jRlSo3L/FAyZyG2rGBuKpkZVH9YF+x58r1jgWxvm1aRg3DHrLDt6A==} cpu: [riscv64] os: [linux] '@rollup/rollup-linux-s390x-gnu@4.19.1': resolution: {integrity: sha512-0cYP5rGkQWRZKy9/HtsWVStLXzCF3cCBTRI+qRL8Z+wkYlqN7zrSYm6FuY5Kd5ysS5aH0q5lVgb/WbG4jqXN1Q==} cpu: [s390x] os: [linux] '@rollup/rollup-linux-x64-gnu@4.19.1': resolution: {integrity: sha512-XUXeI9eM8rMP8aGvii/aOOiMvTs7xlCosq9xCjcqI9+5hBxtjDpD+7Abm1ZhVIFE1J2h2VIg0t2DX/gjespC2Q==} cpu: [x64] os: [linux] '@rollup/rollup-linux-x64-musl@4.19.1': resolution: {integrity: sha512-V7cBw/cKXMfEVhpSvVZhC+iGifD6U1zJ4tbibjjN+Xi3blSXaj/rJynAkCFFQfoG6VZrAiP7uGVzL440Q6Me2Q==} cpu: [x64] os: [linux] '@rollup/rollup-win32-arm64-msvc@4.19.1': resolution: {integrity: sha512-88brja2vldW/76jWATlBqHEoGjJLRnP0WOEKAUbMcXaAZnemNhlAHSyj4jIwMoP2T750LE9lblvD4e2jXleZsA==} cpu: [arm64] os: [win32] '@rollup/rollup-win32-ia32-msvc@4.19.1': resolution: {integrity: sha512-LdxxcqRVSXi6k6JUrTah1rHuaupoeuiv38du8Mt4r4IPer3kwlTo+RuvfE8KzZ/tL6BhaPlzJ3835i6CxrFIRQ==} cpu: [ia32] os: [win32] '@rollup/rollup-win32-x64-msvc@4.19.1': resolution: {integrity: sha512-2bIrL28PcK3YCqD9anGxDxamxdiJAxA+l7fWIwM5o8UqNy1t3d1NdAweO2XhA0KTDJ5aH1FsuiT5+7VhtHliXg==} cpu: [x64] os: [win32] '@sveltejs/adapter-auto@3.2.2': resolution: {integrity: sha512-Mso5xPCA8zgcKrv+QioVlqMZkyUQ5MjDJiEPuG/Z7cV/5tmwV7LmcVWk5tZ+H0NCOV1x12AsoSpt/CwFwuVXMA==} peerDependencies: '@sveltejs/kit': ^2.0.0 '@sveltejs/kit@2.5.18': resolution: {integrity: sha512-+g06hvpVAnH7b4CDjhnTDgFWBKBiQJpuSmQeGYOuzbO3SC3tdYjRNlDCrafvDtKbGiT2uxY5Dn9qdEUGVZdWOQ==} engines: {node: '>=18.13'} hasBin: true peerDependencies: '@sveltejs/vite-plugin-svelte': ^3.0.0 svelte: ^4.0.0 || ^5.0.0-next.0 vite: ^5.0.3 '@sveltejs/vite-plugin-svelte-inspector@2.1.0': resolution: {integrity: sha512-9QX28IymvBlSCqsCll5t0kQVxipsfhFFL+L2t3nTWfXnddYwxBuAEtTtlaVQpRz9c37BhJjltSeY4AJSC03SSg==} engines: {node: ^18.0.0 || >=20} peerDependencies: '@sveltejs/vite-plugin-svelte': ^3.0.0 svelte: ^4.0.0 || ^5.0.0-next.0 vite: ^5.0.0 '@sveltejs/vite-plugin-svelte@3.1.1': resolution: {integrity: sha512-rimpFEAboBBHIlzISibg94iP09k/KYdHgVhJlcsTfn7KMBhc70jFX/GRWkRdFCc2fdnk+4+Bdfej23cMDnJS6A==} engines: {node: ^18.0.0 || >=20} peerDependencies: svelte: ^4.0.0 || ^5.0.0-next.0 vite: ^5.0.0 '@swc/helpers@0.5.12': resolution: {integrity: sha512-KMZNXiGibsW9kvZAO1Pam2JPTDBm+KSHMMHWdsyI/1DbIZjT2A6Gy3hblVXUMEDvUAKq+e0vL0X0o54owWji7g==} '@tailwindcss/forms@0.5.7': resolution: {integrity: sha512-QE7X69iQI+ZXwldE+rzasvbJiyV/ju1FGHH0Qn2W3FKbuYtqp8LKcy6iSw79fVUT5/Vvf+0XgLCeYVG+UV6hOw==} peerDependencies: tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1' '@types/cookie@0.6.0': resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} '@types/eslint@9.6.0': resolution: {integrity: sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg==} '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} '@types/pug@2.0.10': resolution: {integrity: sha512-Sk/uYFOBAB7mb74XcpizmH0KOR2Pv3D2Hmrh1Dmy5BmK3MpdSa5kqZcg6EKBdklU0bFXX9gCfzvpnyUehrPIuA==} '@typescript-eslint/eslint-plugin@8.0.0': resolution: {integrity: sha512-STIZdwEQRXAHvNUS6ILDf5z3u95Gc8jzywunxSNqX00OooIemaaNIA0vEgynJlycL5AjabYLLrIyHd4iazyvtg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true '@typescript-eslint/parser@8.0.0': resolution: {integrity: sha512-pS1hdZ+vnrpDIxuFXYQpLTILglTjSYJ9MbetZctrUawogUsPdz31DIIRZ9+rab0LhYNTsk88w4fIzVheiTbWOQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true '@typescript-eslint/scope-manager@8.0.0': resolution: {integrity: sha512-V0aa9Csx/ZWWv2IPgTfY7T4agYwJyILESu/PVqFtTFz9RIS823mAze+NbnBI8xiwdX3iqeQbcTYlvB04G9wyQw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/type-utils@8.0.0': resolution: {integrity: sha512-mJAFP2mZLTBwAn5WI4PMakpywfWFH5nQZezUQdSKV23Pqo6o9iShQg1hP2+0hJJXP2LnZkWPphdIq4juYYwCeg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true '@typescript-eslint/types@8.0.0': resolution: {integrity: sha512-wgdSGs9BTMWQ7ooeHtu5quddKKs5Z5dS+fHLbrQI+ID0XWJLODGMHRfhwImiHoeO2S5Wir2yXuadJN6/l4JRxw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/typescript-estree@8.0.0': resolution: {integrity: sha512-5b97WpKMX+Y43YKi4zVcCVLtK5F98dFls3Oxui8LbnmRsseKenbbDinmvxrWegKDMmlkIq/XHuyy0UGLtpCDKg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true '@typescript-eslint/utils@8.0.0': resolution: {integrity: sha512-k/oS/A/3QeGLRvOWCg6/9rATJL5rec7/5s1YmdS0ZU6LHveJyGFwBvLhSRBv6i9xaj7etmosp+l+ViN1I9Aj/Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 '@typescript-eslint/visitor-keys@8.0.0': resolution: {integrity: sha512-oN0K4nkHuOyF3PVMyETbpP5zp6wfyOvm7tWhTMfoqxSSsPmJIh6JNASuZDlODE8eE+0EB9uar+6+vxr9DBTYOA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 acorn@8.12.1: resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} engines: {node: '>=0.4.0'} hasBin: true ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} ansi-regex@6.0.1: resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} engines: {node: '>=12'} ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} ansi-styles@6.2.1: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} arg@5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} aria-query@5.3.0: resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} autoprefixer@10.4.19: resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 axobject-query@4.1.0: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} engines: {node: '>= 0.4'} balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} binary-extensions@2.3.0: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} bits-ui@0.21.13: resolution: {integrity: sha512-7nmOh6Ig7ND4DXZHv1FhNsY9yUGrad0+mf3tc4YN//3MgnJT1LnHtk4HZAKgmxCOe7txSX7/39LtYHbkrXokAQ==} peerDependencies: svelte: ^4.0.0 || ^5.0.0-next.118 brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} brace-expansion@2.0.1: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} browserslist@4.23.2: resolution: {integrity: sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true buffer-crc32@1.0.0: resolution: {integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==} engines: {node: '>=8.0.0'} callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} camelcase-css@2.0.1: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} engines: {node: '>= 6'} caniuse-lite@1.0.30001645: resolution: {integrity: sha512-GFtY2+qt91kzyMk6j48dJcwJVq5uTkk71XxE3RtScx7XWRLsO7bU44LOFkOZYR8w9YMS0UhPSYpN/6rAMImmLw==} chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} clsx@2.1.1: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} code-red@1.0.4: resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==} color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} commander@4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} cookie@0.6.0: resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} engines: {node: '>= 0.6'} cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} css-tree@2.3.1: resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} hasBin: true debug@4.3.6: resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' peerDependenciesMeta: supports-color: optional: true deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} deepmerge@4.3.1: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} detect-indent@6.1.0: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} engines: {node: '>=8'} devalue@5.0.0: resolution: {integrity: sha512-gO+/OMXF7488D+u3ue+G7Y4AA3ZmUnB3eHJXmBTgNHvr4ZNzl36A0ZtG+XCRNYCkYx/bFmw4qtkoFLa+wSrwAA==} didyoumean@1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} dlv@1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} electron-to-chromium@1.5.4: resolution: {integrity: sha512-orzA81VqLyIGUEA77YkVA1D+N+nNfl2isJVjjmOyrlxuooZ19ynb+dOlaDTqd/idKRS9lDCSBmtzM+kyCsMnkA==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} es6-promise@3.3.1: resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} esbuild@0.21.5: resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} engines: {node: '>=12'} hasBin: true escalade@3.1.2: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} eslint-compat-utils@0.5.1: resolution: {integrity: sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==} engines: {node: '>=12'} peerDependencies: eslint: '>=6.0.0' eslint-config-prettier@9.1.0: resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} hasBin: true peerDependencies: eslint: '>=7.0.0' eslint-plugin-svelte@2.43.0: resolution: {integrity: sha512-REkxQWvg2pp7QVLxQNa+dJ97xUqRe7Y2JJbSWkHSuszu0VcblZtXkPBPckkivk99y5CdLw4slqfPylL2d/X4jQ==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0-0 || ^9.0.0-0 svelte: ^3.37.0 || ^4.0.0 || ^5.0.0-next.191 peerDependenciesMeta: svelte: optional: true eslint-scope@7.2.2: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} eslint-scope@8.0.2: resolution: {integrity: sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} eslint-visitor-keys@4.0.0: resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint@9.8.0: resolution: {integrity: sha512-K8qnZ/QJzT2dLKdZJVX6W4XOwBzutMYmt0lqUS+JdXgd+HTYFlonFgkJ8s44d/zMPPCnOOk0kMWCApCPhiOy9A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true esm-env@1.0.0: resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==} espree@10.1.0: resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} esquery@1.6.0: resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} engines: {node: '>=0.10'} esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} fast-glob@3.3.2: resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} file-entry-cache@8.0.0: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} flat-cache@4.0.1: resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} engines: {node: '>=16'} flatted@3.3.1: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} focus-trap@7.5.4: resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} foreground-child@3.2.1: resolution: {integrity: sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==} engines: {node: '>=14'} fraction.js@4.3.7: resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} glob-parent@6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} glob@10.4.5: resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported globals@14.0.0: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} globals@15.8.0: resolution: {integrity: sha512-VZAJ4cewHTExBWDHR6yptdIBlx9YSSZuwojj9Nt5mBRXQzrKakDsVKQ1J63sklLvzAJm0X5+RpO4i3Y2hcOnFw==} engines: {node: '>=18'} globalyzer@0.1.0: resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} globrex@0.1.2: resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} ignore@5.3.1: resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} import-meta-resolve@4.1.0: resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} is-core-module@2.15.0: resolution: {integrity: sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==} engines: {node: '>= 0.4'} is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} is-path-inside@3.0.3: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} is-reference@3.0.2: resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} jiti@1.21.6: resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} hasBin: true js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} kleur@4.1.5: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} known-css-properties@0.34.0: resolution: {integrity: sha512-tBECoUqNFbyAY4RrbqsBQqDFpGXAEbdD5QKr8kACx3+rnArmuuR22nKQWKazvp07N9yjTyDZaw/20UIH8tL9DQ==} levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} lilconfig@2.1.0: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} lilconfig@3.1.2: resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} engines: {node: '>=14'} lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} locate-character@3.0.0: resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} lucide-svelte@0.418.0: resolution: {integrity: sha512-kQBuv2PFVmRqd2GSTmRwG8lZBi3w9iYIDeEm789VtnmgXS0gzZaTazdrCRfRIcLT1XEdJUi2lD1G1C8ACMy5DQ==} peerDependencies: svelte: ^3 || ^4 || ^5.0.0-next.42 magic-string@0.30.11: resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} mdn-data@2.0.30: resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} micromatch@4.0.7: resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} engines: {node: '>=8.6'} min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} mini-svg-data-uri@1.4.4: resolution: {integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==} hasBin: true minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} minimatch@9.0.5: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} minipass@7.1.2: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} mkdirp@0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} mrmime@2.0.0: resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} engines: {node: '>=10'} ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true nanoid@5.0.7: resolution: {integrity: sha512-oLxFY2gd2IqnjcYyOXD8XGCftpGtZP2AbHbOkthDkvRywH5ayNtPVy9YlOPcHckXzbLTCHpkb7FB+yuxKV13pQ==} engines: {node: ^18 || >=20} hasBin: true natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} node-releases@2.0.18: resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} normalize-range@0.1.2: resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} engines: {node: '>=0.10.0'} object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} object-hash@3.0.0: resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} engines: {node: '>= 6'} once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} p-locate@5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} package-json-from-dist@1.0.0: resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} path-scurry@1.11.1: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} periscopic@3.1.0: resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} picocolors@1.0.1: resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} pify@2.3.0: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} pirates@4.0.6: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} postcss-import@15.1.0: resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} peerDependencies: postcss: ^8.0.0 postcss-js@4.0.1: resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: postcss: ^8.4.21 postcss-load-config@3.1.4: resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} engines: {node: '>= 10'} peerDependencies: postcss: '>=8.0.9' ts-node: '>=9.0.0' peerDependenciesMeta: postcss: optional: true ts-node: optional: true postcss-load-config@4.0.2: resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} engines: {node: '>= 14'} peerDependencies: postcss: '>=8.0.9' ts-node: '>=9.0.0' peerDependenciesMeta: postcss: optional: true ts-node: optional: true postcss-nested@6.2.0: resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 postcss-safe-parser@6.0.0: resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.3.3 postcss-scss@4.0.9: resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.4.29 postcss-selector-parser@6.1.1: resolution: {integrity: sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==} engines: {node: '>=4'} postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} postcss@8.4.40: resolution: {integrity: sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==} engines: {node: ^10 || ^12 || >=14} prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} prettier-plugin-svelte@3.2.6: resolution: {integrity: sha512-Y1XWLw7vXUQQZmgv1JAEiLcErqUniAF2wO7QJsw8BVMvpLET2dI5WpEIEJx1r11iHVdSMzQxivyfrH9On9t2IQ==} peerDependencies: prettier: ^3.0.0 svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0 prettier@3.3.3: resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} engines: {node: '>=14'} hasBin: true punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} read-cache@1.0.0: resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} rimraf@2.7.1: resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true rollup@4.19.1: resolution: {integrity: sha512-K5vziVlg7hTpYfFBI+91zHBEMo6jafYXpkMlqZjg7/zhIG9iHqazBf4xz9AVdjS9BruRn280ROqLI7G3OFRIlw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} sade@1.8.1: resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} engines: {node: '>=6'} sander@0.5.1: resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==} semver@7.6.3: resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} engines: {node: '>=10'} hasBin: true set-cookie-parser@2.6.0: resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} sirv@2.0.4: resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} engines: {node: '>= 10'} slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} sorcery@0.11.1: resolution: {integrity: sha512-o7npfeJE6wi6J9l0/5LKshFzZ2rMatRiCDwYeDQaOzqdzRJwALhX7mk/A/ecg6wjMu7wdZbmXfD2S/vpOg0bdQ==} hasBin: true source-map-js@1.2.0: resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} string-width@5.1.2: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} strip-ansi@7.1.0: resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} engines: {node: '>=12'} strip-indent@3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} engines: {node: '>=8'} strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} sucrase@3.35.0: resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} engines: {node: '>=16 || 14 >=14.17'} hasBin: true supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} svelte-check@3.8.5: resolution: {integrity: sha512-3OGGgr9+bJ/+1nbPgsvulkLC48xBsqsgtc8Wam281H4G9F5v3mYGa2bHRsPuwHC5brKl4AxJH95QF73kmfihGQ==} hasBin: true peerDependencies: svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0 svelte-eslint-parser@0.41.0: resolution: {integrity: sha512-L6f4hOL+AbgfBIB52Z310pg1d2QjRqm7wy3kI1W6hhdhX5bvu7+f0R6w4ykp5HoDdzq+vGhIJmsisaiJDGmVfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: svelte: ^3.37.0 || ^4.0.0 || ^5.0.0-next.191 peerDependenciesMeta: svelte: optional: true svelte-hmr@0.16.0: resolution: {integrity: sha512-Gyc7cOS3VJzLlfj7wKS0ZnzDVdv3Pn2IuVeJPk9m2skfhcu5bq3wtIZyQGggr7/Iim5rH5cncyQft/kRLupcnA==} engines: {node: ^12.20 || ^14.13.1 || >= 16} peerDependencies: svelte: ^3.19.0 || ^4.0.0 svelte-preprocess@5.1.4: resolution: {integrity: sha512-IvnbQ6D6Ao3Gg6ftiM5tdbR6aAETwjhHV+UKGf5bHGYR69RQvF1ho0JKPcbUON4vy4R7zom13jPjgdOWCQ5hDA==} engines: {node: '>= 16.0.0'} peerDependencies: '@babel/core': ^7.10.2 coffeescript: ^2.5.1 less: ^3.11.3 || ^4.0.0 postcss: ^7 || ^8 postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 pug: ^3.0.0 sass: ^1.26.8 stylus: ^0.55.0 sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0 svelte: ^3.23.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0 typescript: '>=3.9.5 || ^4.0.0 || ^5.0.0' peerDependenciesMeta: '@babel/core': optional: true coffeescript: optional: true less: optional: true postcss: optional: true postcss-load-config: optional: true pug: optional: true sass: optional: true stylus: optional: true sugarss: optional: true typescript: optional: true svelte-radix@1.1.0: resolution: {integrity: sha512-kyE9wZiJV937INGb+wiBkAjmGtQUUYRPkVL2Q+/gj+9Vog1Ewd2wNvNmpNMUd+c+euxoc5u5YZMuCUgky9EUPw==} peerDependencies: svelte: ^3.54.0 || ^4.0.0 || ^5.0.0 svelte@4.2.18: resolution: {integrity: sha512-d0FdzYIiAePqRJEb90WlJDkjUEx42xhivxN8muUBmfZnP+tzUgz12DJ2hRJi8sIHCME7jeK1PTMgKPSfTd8JrA==} engines: {node: '>=16'} tabbable@6.2.0: resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} tailwind-merge@2.4.0: resolution: {integrity: sha512-49AwoOQNKdqKPd9CViyH5wJoSKsCDjUlzL8DxuGp3P1FsGY36NJDAa18jLZcaHAUUuTj+JB8IAo8zWgBNvBF7A==} tailwind-variants@0.2.1: resolution: {integrity: sha512-2xmhAf4UIc3PijOUcJPA1LP4AbxhpcHuHM2C26xM0k81r0maAO6uoUSHl3APmvHZcY5cZCY/bYuJdfFa4eGoaw==} engines: {node: '>=16.x', pnpm: '>=7.x'} peerDependencies: tailwindcss: '*' tailwindcss@3.4.7: resolution: {integrity: sha512-rxWZbe87YJb4OcSopb7up2Ba4U82BoiSGUdoDr3Ydrg9ckxFS/YWsvhN323GMcddgU65QRy7JndC7ahhInhvlQ==} engines: {node: '>=14.0.0'} hasBin: true text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} thenify-all@1.6.0: resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} engines: {node: '>=0.8'} thenify@3.3.1: resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} tiny-glob@0.2.9: resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} totalist@3.0.1: resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} engines: {node: '>=6'} ts-api-utils@1.3.0: resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} tslib@2.6.3: resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} typescript-eslint@8.0.0: resolution: {integrity: sha512-yQWBJutWL1PmpmDddIOl9/Mi6vZjqNCjqSGBMQ4vsc2Aiodk0SnbQQWPXbSy0HNuKCuGkw1+u4aQ2mO40TdhDQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true typescript@5.5.4: resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} engines: {node: '>=14.17'} hasBin: true update-browserslist-db@1.1.0: resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} vite@5.3.5: resolution: {integrity: sha512-MdjglKR6AQXQb9JGiS7Rc2wC6uMjcm7Go/NHNO63EwiJXfuk9PgqiP/n5IDJCziMkfw9n4Ubp7lttNwz+8ZVKA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@types/node': ^18.0.0 || >=20.0.0 less: '*' lightningcss: ^1.21.0 sass: '*' stylus: '*' sugarss: '*' terser: ^5.4.0 peerDependenciesMeta: '@types/node': optional: true less: optional: true lightningcss: optional: true sass: optional: true stylus: optional: true sugarss: optional: true terser: optional: true vitefu@0.2.5: resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} peerDependencies: vite: ^3.0.0 || ^4.0.0 || ^5.0.0 peerDependenciesMeta: vite: optional: true which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} hasBin: true word-wrap@1.2.5: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} wrap-ansi@8.1.0: resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} engines: {node: '>=12'} wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} yaml@1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} yaml@2.5.0: resolution: {integrity: sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==} engines: {node: '>= 14'} hasBin: true yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} snapshots: '@alloc/quick-lru@5.2.0': {} '@ampproject/remapping@2.3.0': dependencies: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 '@esbuild/aix-ppc64@0.21.5': optional: true '@esbuild/android-arm64@0.21.5': optional: true '@esbuild/android-arm@0.21.5': optional: true '@esbuild/android-x64@0.21.5': optional: true '@esbuild/darwin-arm64@0.21.5': optional: true '@esbuild/darwin-x64@0.21.5': optional: true '@esbuild/freebsd-arm64@0.21.5': optional: true '@esbuild/freebsd-x64@0.21.5': optional: true '@esbuild/linux-arm64@0.21.5': optional: true '@esbuild/linux-arm@0.21.5': optional: true '@esbuild/linux-ia32@0.21.5': optional: true '@esbuild/linux-loong64@0.21.5': optional: true '@esbuild/linux-mips64el@0.21.5': optional: true '@esbuild/linux-ppc64@0.21.5': optional: true '@esbuild/linux-riscv64@0.21.5': optional: true '@esbuild/linux-s390x@0.21.5': optional: true '@esbuild/linux-x64@0.21.5': optional: true '@esbuild/netbsd-x64@0.21.5': optional: true '@esbuild/openbsd-x64@0.21.5': optional: true '@esbuild/sunos-x64@0.21.5': optional: true '@esbuild/win32-arm64@0.21.5': optional: true '@esbuild/win32-ia32@0.21.5': optional: true '@esbuild/win32-x64@0.21.5': optional: true '@eslint-community/eslint-utils@4.4.0(eslint@9.8.0)': dependencies: eslint: 9.8.0 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.11.0': {} '@eslint/config-array@0.17.1': dependencies: '@eslint/object-schema': 2.1.4 debug: 4.3.6 minimatch: 3.1.2 transitivePeerDependencies: - supports-color '@eslint/eslintrc@3.1.0': dependencies: ajv: 6.12.6 debug: 4.3.6 espree: 10.1.0 globals: 14.0.0 ignore: 5.3.1 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color '@eslint/js@9.8.0': {} '@eslint/object-schema@2.1.4': {} '@floating-ui/core@1.6.5': dependencies: '@floating-ui/utils': 0.2.5 '@floating-ui/dom@1.6.8': dependencies: '@floating-ui/core': 1.6.5 '@floating-ui/utils': 0.2.5 '@floating-ui/utils@0.2.5': {} '@humanwhocodes/module-importer@1.0.1': {} '@humanwhocodes/retry@0.3.0': {} '@internationalized/date@3.5.5': dependencies: '@swc/helpers': 0.5.12 '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 string-width-cjs: string-width@4.2.3 strip-ansi: 7.1.0 strip-ansi-cjs: strip-ansi@6.0.1 wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 '@jridgewell/gen-mapping@0.3.5': dependencies: '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping': 0.3.25 '@jridgewell/resolve-uri@3.1.2': {} '@jridgewell/set-array@1.2.1': {} '@jridgewell/sourcemap-codec@1.5.0': {} '@jridgewell/trace-mapping@0.3.25': dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 '@melt-ui/svelte@0.76.2(svelte@4.2.18)': dependencies: '@floating-ui/core': 1.6.5 '@floating-ui/dom': 1.6.8 '@internationalized/date': 3.5.5 dequal: 2.0.3 focus-trap: 7.5.4 nanoid: 5.0.7 svelte: 4.2.18 '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 '@nodelib/fs.stat@2.0.5': {} '@nodelib/fs.walk@1.2.8': dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 '@pkgjs/parseargs@0.11.0': optional: true '@polka/url@1.0.0-next.25': {} '@rollup/rollup-android-arm-eabi@4.19.1': optional: true '@rollup/rollup-android-arm64@4.19.1': optional: true '@rollup/rollup-darwin-arm64@4.19.1': optional: true '@rollup/rollup-darwin-x64@4.19.1': optional: true '@rollup/rollup-linux-arm-gnueabihf@4.19.1': optional: true '@rollup/rollup-linux-arm-musleabihf@4.19.1': optional: true '@rollup/rollup-linux-arm64-gnu@4.19.1': optional: true '@rollup/rollup-linux-arm64-musl@4.19.1': optional: true '@rollup/rollup-linux-powerpc64le-gnu@4.19.1': optional: true '@rollup/rollup-linux-riscv64-gnu@4.19.1': optional: true '@rollup/rollup-linux-s390x-gnu@4.19.1': optional: true '@rollup/rollup-linux-x64-gnu@4.19.1': optional: true '@rollup/rollup-linux-x64-musl@4.19.1': optional: true '@rollup/rollup-win32-arm64-msvc@4.19.1': optional: true '@rollup/rollup-win32-ia32-msvc@4.19.1': optional: true '@rollup/rollup-win32-x64-msvc@4.19.1': optional: true '@sveltejs/adapter-auto@3.2.2(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.5))(svelte@4.2.18)(vite@5.3.5))': dependencies: '@sveltejs/kit': 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.5))(svelte@4.2.18)(vite@5.3.5) import-meta-resolve: 4.1.0 '@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.5))(svelte@4.2.18)(vite@5.3.5)': dependencies: '@sveltejs/vite-plugin-svelte': 3.1.1(svelte@4.2.18)(vite@5.3.5) '@types/cookie': 0.6.0 cookie: 0.6.0 devalue: 5.0.0 esm-env: 1.0.0 import-meta-resolve: 4.1.0 kleur: 4.1.5 magic-string: 0.30.11 mrmime: 2.0.0 sade: 1.8.1 set-cookie-parser: 2.6.0 sirv: 2.0.4 svelte: 4.2.18 tiny-glob: 0.2.9 vite: 5.3.5 '@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.5))(svelte@4.2.18)(vite@5.3.5)': dependencies: '@sveltejs/vite-plugin-svelte': 3.1.1(svelte@4.2.18)(vite@5.3.5) debug: 4.3.6 svelte: 4.2.18 vite: 5.3.5 transitivePeerDependencies: - supports-color '@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.5)': dependencies: '@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.5))(svelte@4.2.18)(vite@5.3.5) debug: 4.3.6 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.11 svelte: 4.2.18 svelte-hmr: 0.16.0(svelte@4.2.18) vite: 5.3.5 vitefu: 0.2.5(vite@5.3.5) transitivePeerDependencies: - supports-color '@swc/helpers@0.5.12': dependencies: tslib: 2.6.3 '@tailwindcss/forms@0.5.7(tailwindcss@3.4.7)': dependencies: mini-svg-data-uri: 1.4.4 tailwindcss: 3.4.7 '@types/cookie@0.6.0': {} '@types/eslint@9.6.0': dependencies: '@types/estree': 1.0.5 '@types/json-schema': 7.0.15 '@types/estree@1.0.5': {} '@types/json-schema@7.0.15': {} '@types/pug@2.0.10': {} '@typescript-eslint/eslint-plugin@8.0.0(@typescript-eslint/parser@8.0.0(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4)': dependencies: '@eslint-community/regexpp': 4.11.0 '@typescript-eslint/parser': 8.0.0(eslint@9.8.0)(typescript@5.5.4) '@typescript-eslint/scope-manager': 8.0.0 '@typescript-eslint/type-utils': 8.0.0(eslint@9.8.0)(typescript@5.5.4) '@typescript-eslint/utils': 8.0.0(eslint@9.8.0)(typescript@5.5.4) '@typescript-eslint/visitor-keys': 8.0.0 eslint: 9.8.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: - supports-color '@typescript-eslint/parser@8.0.0(eslint@9.8.0)(typescript@5.5.4)': dependencies: '@typescript-eslint/scope-manager': 8.0.0 '@typescript-eslint/types': 8.0.0 '@typescript-eslint/typescript-estree': 8.0.0(typescript@5.5.4) '@typescript-eslint/visitor-keys': 8.0.0 debug: 4.3.6 eslint: 9.8.0 optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: - supports-color '@typescript-eslint/scope-manager@8.0.0': dependencies: '@typescript-eslint/types': 8.0.0 '@typescript-eslint/visitor-keys': 8.0.0 '@typescript-eslint/type-utils@8.0.0(eslint@9.8.0)(typescript@5.5.4)': dependencies: '@typescript-eslint/typescript-estree': 8.0.0(typescript@5.5.4) '@typescript-eslint/utils': 8.0.0(eslint@9.8.0)(typescript@5.5.4) debug: 4.3.6 ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: - eslint - supports-color '@typescript-eslint/types@8.0.0': {} '@typescript-eslint/typescript-estree@8.0.0(typescript@5.5.4)': dependencies: '@typescript-eslint/types': 8.0.0 '@typescript-eslint/visitor-keys': 8.0.0 debug: 4.3.6 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: - supports-color '@typescript-eslint/utils@8.0.0(eslint@9.8.0)(typescript@5.5.4)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) '@typescript-eslint/scope-manager': 8.0.0 '@typescript-eslint/types': 8.0.0 '@typescript-eslint/typescript-estree': 8.0.0(typescript@5.5.4) eslint: 9.8.0 transitivePeerDependencies: - supports-color - typescript '@typescript-eslint/visitor-keys@8.0.0': dependencies: '@typescript-eslint/types': 8.0.0 eslint-visitor-keys: 3.4.3 acorn-jsx@5.3.2(acorn@8.12.1): dependencies: acorn: 8.12.1 acorn@8.12.1: {} ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 json-schema-traverse: 0.4.1 uri-js: 4.4.1 ansi-regex@5.0.1: {} ansi-regex@6.0.1: {} ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 ansi-styles@6.2.1: {} any-promise@1.3.0: {} anymatch@3.1.3: dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 arg@5.0.2: {} argparse@2.0.1: {} aria-query@5.3.0: dependencies: dequal: 2.0.3 array-union@2.1.0: {} autoprefixer@10.4.19(postcss@8.4.40): dependencies: browserslist: 4.23.2 caniuse-lite: 1.0.30001645 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.1 postcss: 8.4.40 postcss-value-parser: 4.2.0 axobject-query@4.1.0: {} balanced-match@1.0.2: {} binary-extensions@2.3.0: {} bits-ui@0.21.13(svelte@4.2.18): dependencies: '@internationalized/date': 3.5.5 '@melt-ui/svelte': 0.76.2(svelte@4.2.18) nanoid: 5.0.7 svelte: 4.2.18 brace-expansion@1.1.11: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 brace-expansion@2.0.1: dependencies: balanced-match: 1.0.2 braces@3.0.3: dependencies: fill-range: 7.1.1 browserslist@4.23.2: dependencies: caniuse-lite: 1.0.30001645 electron-to-chromium: 1.5.4 node-releases: 2.0.18 update-browserslist-db: 1.1.0(browserslist@4.23.2) buffer-crc32@1.0.0: {} callsites@3.1.0: {} camelcase-css@2.0.1: {} caniuse-lite@1.0.30001645: {} chalk@4.1.2: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 chokidar@3.6.0: dependencies: anymatch: 3.1.3 braces: 3.0.3 glob-parent: 5.1.2 is-binary-path: 2.1.0 is-glob: 4.0.3 normalize-path: 3.0.0 readdirp: 3.6.0 optionalDependencies: fsevents: 2.3.3 clsx@2.1.1: {} code-red@1.0.4: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 '@types/estree': 1.0.5 acorn: 8.12.1 estree-walker: 3.0.3 periscopic: 3.1.0 color-convert@2.0.1: dependencies: color-name: 1.1.4 color-name@1.1.4: {} commander@4.1.1: {} concat-map@0.0.1: {} cookie@0.6.0: {} cross-spawn@7.0.3: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 css-tree@2.3.1: dependencies: mdn-data: 2.0.30 source-map-js: 1.2.0 cssesc@3.0.0: {} debug@4.3.6: dependencies: ms: 2.1.2 deep-is@0.1.4: {} deepmerge@4.3.1: {} dequal@2.0.3: {} detect-indent@6.1.0: {} devalue@5.0.0: {} didyoumean@1.2.2: {} dir-glob@3.0.1: dependencies: path-type: 4.0.0 dlv@1.1.3: {} eastasianwidth@0.2.0: {} electron-to-chromium@1.5.4: {} emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} es6-promise@3.3.1: {} esbuild@0.21.5: optionalDependencies: '@esbuild/aix-ppc64': 0.21.5 '@esbuild/android-arm': 0.21.5 '@esbuild/android-arm64': 0.21.5 '@esbuild/android-x64': 0.21.5 '@esbuild/darwin-arm64': 0.21.5 '@esbuild/darwin-x64': 0.21.5 '@esbuild/freebsd-arm64': 0.21.5 '@esbuild/freebsd-x64': 0.21.5 '@esbuild/linux-arm': 0.21.5 '@esbuild/linux-arm64': 0.21.5 '@esbuild/linux-ia32': 0.21.5 '@esbuild/linux-loong64': 0.21.5 '@esbuild/linux-mips64el': 0.21.5 '@esbuild/linux-ppc64': 0.21.5 '@esbuild/linux-riscv64': 0.21.5 '@esbuild/linux-s390x': 0.21.5 '@esbuild/linux-x64': 0.21.5 '@esbuild/netbsd-x64': 0.21.5 '@esbuild/openbsd-x64': 0.21.5 '@esbuild/sunos-x64': 0.21.5 '@esbuild/win32-arm64': 0.21.5 '@esbuild/win32-ia32': 0.21.5 '@esbuild/win32-x64': 0.21.5 escalade@3.1.2: {} escape-string-regexp@4.0.0: {} eslint-compat-utils@0.5.1(eslint@9.8.0): dependencies: eslint: 9.8.0 semver: 7.6.3 eslint-config-prettier@9.1.0(eslint@9.8.0): dependencies: eslint: 9.8.0 eslint-plugin-svelte@2.43.0(eslint@9.8.0)(svelte@4.2.18): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) '@jridgewell/sourcemap-codec': 1.5.0 eslint: 9.8.0 eslint-compat-utils: 0.5.1(eslint@9.8.0) esutils: 2.0.3 known-css-properties: 0.34.0 postcss: 8.4.40 postcss-load-config: 3.1.4(postcss@8.4.40) postcss-safe-parser: 6.0.0(postcss@8.4.40) postcss-selector-parser: 6.1.1 semver: 7.6.3 svelte-eslint-parser: 0.41.0(svelte@4.2.18) optionalDependencies: svelte: 4.2.18 transitivePeerDependencies: - ts-node eslint-scope@7.2.2: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 eslint-scope@8.0.2: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 eslint-visitor-keys@3.4.3: {} eslint-visitor-keys@4.0.0: {} eslint@9.8.0: dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) '@eslint-community/regexpp': 4.11.0 '@eslint/config-array': 0.17.1 '@eslint/eslintrc': 3.1.0 '@eslint/js': 9.8.0 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.3.0 '@nodelib/fs.walk': 1.2.8 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 debug: 4.3.6 escape-string-regexp: 4.0.0 eslint-scope: 8.0.2 eslint-visitor-keys: 4.0.0 espree: 10.1.0 esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 ignore: 5.3.1 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.4 strip-ansi: 6.0.1 text-table: 0.2.0 transitivePeerDependencies: - supports-color esm-env@1.0.0: {} espree@10.1.0: dependencies: acorn: 8.12.1 acorn-jsx: 5.3.2(acorn@8.12.1) eslint-visitor-keys: 4.0.0 espree@9.6.1: dependencies: acorn: 8.12.1 acorn-jsx: 5.3.2(acorn@8.12.1) eslint-visitor-keys: 3.4.3 esquery@1.6.0: dependencies: estraverse: 5.3.0 esrecurse@4.3.0: dependencies: estraverse: 5.3.0 estraverse@5.3.0: {} estree-walker@3.0.3: dependencies: '@types/estree': 1.0.5 esutils@2.0.3: {} fast-deep-equal@3.1.3: {} fast-glob@3.3.2: dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.7 fast-json-stable-stringify@2.1.0: {} fast-levenshtein@2.0.6: {} fastq@1.17.1: dependencies: reusify: 1.0.4 file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 find-up@5.0.0: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 flat-cache@4.0.1: dependencies: flatted: 3.3.1 keyv: 4.5.4 flatted@3.3.1: {} focus-trap@7.5.4: dependencies: tabbable: 6.2.0 foreground-child@3.2.1: dependencies: cross-spawn: 7.0.3 signal-exit: 4.1.0 fraction.js@4.3.7: {} fs.realpath@1.0.0: {} fsevents@2.3.3: optional: true function-bind@1.1.2: {} glob-parent@5.1.2: dependencies: is-glob: 4.0.3 glob-parent@6.0.2: dependencies: is-glob: 4.0.3 glob@10.4.5: dependencies: foreground-child: 3.2.1 jackspeak: 3.4.3 minimatch: 9.0.5 minipass: 7.1.2 package-json-from-dist: 1.0.0 path-scurry: 1.11.1 glob@7.2.3: dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 globals@14.0.0: {} globals@15.8.0: {} globalyzer@0.1.0: {} globby@11.1.0: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.3.2 ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 globrex@0.1.2: {} graceful-fs@4.2.11: {} graphemer@1.4.0: {} has-flag@4.0.0: {} hasown@2.0.2: dependencies: function-bind: 1.1.2 ignore@5.3.1: {} import-fresh@3.3.0: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 import-meta-resolve@4.1.0: {} imurmurhash@0.1.4: {} inflight@1.0.6: dependencies: once: 1.4.0 wrappy: 1.0.2 inherits@2.0.4: {} is-binary-path@2.1.0: dependencies: binary-extensions: 2.3.0 is-core-module@2.15.0: dependencies: hasown: 2.0.2 is-extglob@2.1.1: {} is-fullwidth-code-point@3.0.0: {} is-glob@4.0.3: dependencies: is-extglob: 2.1.1 is-number@7.0.0: {} is-path-inside@3.0.3: {} is-reference@3.0.2: dependencies: '@types/estree': 1.0.5 isexe@2.0.0: {} jackspeak@3.4.3: dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: '@pkgjs/parseargs': 0.11.0 jiti@1.21.6: {} js-yaml@4.1.0: dependencies: argparse: 2.0.1 json-buffer@3.0.1: {} json-schema-traverse@0.4.1: {} json-stable-stringify-without-jsonify@1.0.1: {} keyv@4.5.4: dependencies: json-buffer: 3.0.1 kleur@4.1.5: {} known-css-properties@0.34.0: {} levn@0.4.1: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 lilconfig@2.1.0: {} lilconfig@3.1.2: {} lines-and-columns@1.2.4: {} locate-character@3.0.0: {} locate-path@6.0.0: dependencies: p-locate: 5.0.0 lodash.merge@4.6.2: {} lru-cache@10.4.3: {} lucide-svelte@0.418.0(svelte@4.2.18): dependencies: svelte: 4.2.18 magic-string@0.30.11: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 mdn-data@2.0.30: {} merge2@1.4.1: {} micromatch@4.0.7: dependencies: braces: 3.0.3 picomatch: 2.3.1 min-indent@1.0.1: {} mini-svg-data-uri@1.4.4: {} minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 minimatch@9.0.5: dependencies: brace-expansion: 2.0.1 minimist@1.2.8: {} minipass@7.1.2: {} mkdirp@0.5.6: dependencies: minimist: 1.2.8 mri@1.2.0: {} mrmime@2.0.0: {} ms@2.1.2: {} mz@2.7.0: dependencies: any-promise: 1.3.0 object-assign: 4.1.1 thenify-all: 1.6.0 nanoid@3.3.7: {} nanoid@5.0.7: {} natural-compare@1.4.0: {} node-releases@2.0.18: {} normalize-path@3.0.0: {} normalize-range@0.1.2: {} object-assign@4.1.1: {} object-hash@3.0.0: {} once@1.4.0: dependencies: wrappy: 1.0.2 optionator@0.9.4: dependencies: deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 word-wrap: 1.2.5 p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 p-locate@5.0.0: dependencies: p-limit: 3.1.0 package-json-from-dist@1.0.0: {} parent-module@1.0.1: dependencies: callsites: 3.1.0 path-exists@4.0.0: {} path-is-absolute@1.0.1: {} path-key@3.1.1: {} path-parse@1.0.7: {} path-scurry@1.11.1: dependencies: lru-cache: 10.4.3 minipass: 7.1.2 path-type@4.0.0: {} periscopic@3.1.0: dependencies: '@types/estree': 1.0.5 estree-walker: 3.0.3 is-reference: 3.0.2 picocolors@1.0.1: {} picomatch@2.3.1: {} pify@2.3.0: {} pirates@4.0.6: {} postcss-import@15.1.0(postcss@8.4.40): dependencies: postcss: 8.4.40 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.8 postcss-js@4.0.1(postcss@8.4.40): dependencies: camelcase-css: 2.0.1 postcss: 8.4.40 postcss-load-config@3.1.4(postcss@8.4.40): dependencies: lilconfig: 2.1.0 yaml: 1.10.2 optionalDependencies: postcss: 8.4.40 postcss-load-config@4.0.2(postcss@8.4.40): dependencies: lilconfig: 3.1.2 yaml: 2.5.0 optionalDependencies: postcss: 8.4.40 postcss-nested@6.2.0(postcss@8.4.40): dependencies: postcss: 8.4.40 postcss-selector-parser: 6.1.1 postcss-safe-parser@6.0.0(postcss@8.4.40): dependencies: postcss: 8.4.40 postcss-scss@4.0.9(postcss@8.4.40): dependencies: postcss: 8.4.40 postcss-selector-parser@6.1.1: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 postcss-value-parser@4.2.0: {} postcss@8.4.40: dependencies: nanoid: 3.3.7 picocolors: 1.0.1 source-map-js: 1.2.0 prelude-ls@1.2.1: {} prettier-plugin-svelte@3.2.6(prettier@3.3.3)(svelte@4.2.18): dependencies: prettier: 3.3.3 svelte: 4.2.18 prettier@3.3.3: {} punycode@2.3.1: {} queue-microtask@1.2.3: {} read-cache@1.0.0: dependencies: pify: 2.3.0 readdirp@3.6.0: dependencies: picomatch: 2.3.1 resolve-from@4.0.0: {} resolve@1.22.8: dependencies: is-core-module: 2.15.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 reusify@1.0.4: {} rimraf@2.7.1: dependencies: glob: 7.2.3 rollup@4.19.1: dependencies: '@types/estree': 1.0.5 optionalDependencies: '@rollup/rollup-android-arm-eabi': 4.19.1 '@rollup/rollup-android-arm64': 4.19.1 '@rollup/rollup-darwin-arm64': 4.19.1 '@rollup/rollup-darwin-x64': 4.19.1 '@rollup/rollup-linux-arm-gnueabihf': 4.19.1 '@rollup/rollup-linux-arm-musleabihf': 4.19.1 '@rollup/rollup-linux-arm64-gnu': 4.19.1 '@rollup/rollup-linux-arm64-musl': 4.19.1 '@rollup/rollup-linux-powerpc64le-gnu': 4.19.1 '@rollup/rollup-linux-riscv64-gnu': 4.19.1 '@rollup/rollup-linux-s390x-gnu': 4.19.1 '@rollup/rollup-linux-x64-gnu': 4.19.1 '@rollup/rollup-linux-x64-musl': 4.19.1 '@rollup/rollup-win32-arm64-msvc': 4.19.1 '@rollup/rollup-win32-ia32-msvc': 4.19.1 '@rollup/rollup-win32-x64-msvc': 4.19.1 fsevents: 2.3.3 run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 sade@1.8.1: dependencies: mri: 1.2.0 sander@0.5.1: dependencies: es6-promise: 3.3.1 graceful-fs: 4.2.11 mkdirp: 0.5.6 rimraf: 2.7.1 semver@7.6.3: {} set-cookie-parser@2.6.0: {} shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 shebang-regex@3.0.0: {} signal-exit@4.1.0: {} sirv@2.0.4: dependencies: '@polka/url': 1.0.0-next.25 mrmime: 2.0.0 totalist: 3.0.1 slash@3.0.0: {} sorcery@0.11.1: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 buffer-crc32: 1.0.0 minimist: 1.2.8 sander: 0.5.1 source-map-js@1.2.0: {} string-width@4.2.3: dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 string-width@5.1.2: dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 strip-ansi: 7.1.0 strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 strip-ansi@7.1.0: dependencies: ansi-regex: 6.0.1 strip-indent@3.0.0: dependencies: min-indent: 1.0.1 strip-json-comments@3.1.1: {} sucrase@3.35.0: dependencies: '@jridgewell/gen-mapping': 0.3.5 commander: 4.1.1 glob: 10.4.5 lines-and-columns: 1.2.4 mz: 2.7.0 pirates: 4.0.6 ts-interface-checker: 0.1.13 supports-color@7.2.0: dependencies: has-flag: 4.0.0 supports-preserve-symlinks-flag@1.0.0: {} svelte-check@3.8.5(postcss-load-config@4.0.2(postcss@8.4.40))(postcss@8.4.40)(svelte@4.2.18): dependencies: '@jridgewell/trace-mapping': 0.3.25 chokidar: 3.6.0 picocolors: 1.0.1 sade: 1.8.1 svelte: 4.2.18 svelte-preprocess: 5.1.4(postcss-load-config@4.0.2(postcss@8.4.40))(postcss@8.4.40)(svelte@4.2.18)(typescript@5.5.4) typescript: 5.5.4 transitivePeerDependencies: - '@babel/core' - coffeescript - less - postcss - postcss-load-config - pug - sass - stylus - sugarss svelte-eslint-parser@0.41.0(svelte@4.2.18): dependencies: eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 postcss: 8.4.40 postcss-scss: 4.0.9(postcss@8.4.40) optionalDependencies: svelte: 4.2.18 svelte-hmr@0.16.0(svelte@4.2.18): dependencies: svelte: 4.2.18 svelte-preprocess@5.1.4(postcss-load-config@4.0.2(postcss@8.4.40))(postcss@8.4.40)(svelte@4.2.18)(typescript@5.5.4): dependencies: '@types/pug': 2.0.10 detect-indent: 6.1.0 magic-string: 0.30.11 sorcery: 0.11.1 strip-indent: 3.0.0 svelte: 4.2.18 optionalDependencies: postcss: 8.4.40 postcss-load-config: 4.0.2(postcss@8.4.40) typescript: 5.5.4 svelte-radix@1.1.0(svelte@4.2.18): dependencies: svelte: 4.2.18 svelte@4.2.18: dependencies: '@ampproject/remapping': 2.3.0 '@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping': 0.3.25 '@types/estree': 1.0.5 acorn: 8.12.1 aria-query: 5.3.0 axobject-query: 4.1.0 code-red: 1.0.4 css-tree: 2.3.1 estree-walker: 3.0.3 is-reference: 3.0.2 locate-character: 3.0.0 magic-string: 0.30.11 periscopic: 3.1.0 tabbable@6.2.0: {} tailwind-merge@2.4.0: {} tailwind-variants@0.2.1(tailwindcss@3.4.7): dependencies: tailwind-merge: 2.4.0 tailwindcss: 3.4.7 tailwindcss@3.4.7: dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 chokidar: 3.6.0 didyoumean: 1.2.2 dlv: 1.1.3 fast-glob: 3.3.2 glob-parent: 6.0.2 is-glob: 4.0.3 jiti: 1.21.6 lilconfig: 2.1.0 micromatch: 4.0.7 normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.0.1 postcss: 8.4.40 postcss-import: 15.1.0(postcss@8.4.40) postcss-js: 4.0.1(postcss@8.4.40) postcss-load-config: 4.0.2(postcss@8.4.40) postcss-nested: 6.2.0(postcss@8.4.40) postcss-selector-parser: 6.1.1 resolve: 1.22.8 sucrase: 3.35.0 transitivePeerDependencies: - ts-node text-table@0.2.0: {} thenify-all@1.6.0: dependencies: thenify: 3.3.1 thenify@3.3.1: dependencies: any-promise: 1.3.0 tiny-glob@0.2.9: dependencies: globalyzer: 0.1.0 globrex: 0.1.2 to-regex-range@5.0.1: dependencies: is-number: 7.0.0 totalist@3.0.1: {} ts-api-utils@1.3.0(typescript@5.5.4): dependencies: typescript: 5.5.4 ts-interface-checker@0.1.13: {} tslib@2.6.3: {} type-check@0.4.0: dependencies: prelude-ls: 1.2.1 typescript-eslint@8.0.0(eslint@9.8.0)(typescript@5.5.4): dependencies: '@typescript-eslint/eslint-plugin': 8.0.0(@typescript-eslint/parser@8.0.0(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4) '@typescript-eslint/parser': 8.0.0(eslint@9.8.0)(typescript@5.5.4) '@typescript-eslint/utils': 8.0.0(eslint@9.8.0)(typescript@5.5.4) optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: - eslint - supports-color typescript@5.5.4: {} update-browserslist-db@1.1.0(browserslist@4.23.2): dependencies: browserslist: 4.23.2 escalade: 3.1.2 picocolors: 1.0.1 uri-js@4.4.1: dependencies: punycode: 2.3.1 util-deprecate@1.0.2: {} vite@5.3.5: dependencies: esbuild: 0.21.5 postcss: 8.4.40 rollup: 4.19.1 optionalDependencies: fsevents: 2.3.3 vitefu@0.2.5(vite@5.3.5): optionalDependencies: vite: 5.3.5 which@2.0.2: dependencies: isexe: 2.0.0 word-wrap@1.2.5: {} wrap-ansi@7.0.0: dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi@8.1.0: dependencies: ansi-styles: 6.2.1 string-width: 5.1.2 strip-ansi: 7.1.0 wrappy@1.0.2: {} yaml@1.10.2: {} yaml@2.5.0: {} yocto-queue@0.1.0: {}
A client/postcss.config.js => client/postcss.config.js +6 -0
A client/src/app.d.ts => client/src/app.d.ts +13 -0
@@ 0,0 1,13 @@ // See https://kit.svelte.dev/docs/types#app // for information about these interfaces declare global { namespace App { // interface Error {} // interface Locals {} // interface PageData {} // interface PageState {} // interface Platform {} } } export {};
A client/src/app.html => client/src/app.html +12 -0
@@ 0,0 1,12 @@ <!doctype html> <html lang="en"> <head> <meta charset="utf-8" /> <link rel="icon" href="%sveltekit.assets%/favicon.png" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> %sveltekit.head% </head> <body data-sveltekit-preload-data="hover"> <div style="display: contents">%sveltekit.body%</div> </body> </html>
A client/src/lib/components/ui/button/Button.svelte => client/src/lib/components/ui/button/Button.svelte +25 -0
@@ 0,0 1,25 @@ <script lang="ts"> import { Button as ButtonPrimitive } from "bits-ui"; import { type Events, type Props, buttonVariants } from "./index.js"; import { cn } from "$lib/utils.js"; type $$Props = Props; type $$Events = Events; let className: $$Props["class"] = undefined; export let variant: $$Props["variant"] = "default"; export let size: $$Props["size"] = "default"; export let builders: $$Props["builders"] = []; export { className as class }; </script> <ButtonPrimitive.Root {builders} class={cn(buttonVariants({ variant, size, className }))} type="button" {...$$restProps} on:click on:keydown > <slot /> </ButtonPrimitive.Root> \ No newline at end of file
A client/src/lib/components/ui/button/button.svelte => client/src/lib/components/ui/button/button.svelte +25 -0
@@ 0,0 1,25 @@ <script lang="ts"> import { Button as ButtonPrimitive } from "bits-ui"; import { type Events, type Props, buttonVariants } from "./index.js"; import { cn } from "$lib/utils.js"; type $$Props = Props; type $$Events = Events; let className: $$Props["class"] = undefined; export let variant: $$Props["variant"] = "default"; export let size: $$Props["size"] = "default"; export let builders: $$Props["builders"] = []; export { className as class }; </script> <ButtonPrimitive.Root {builders} class={cn(buttonVariants({ variant, size, className }))} type="button" {...$$restProps} on:click on:keydown > <slot /> </ButtonPrimitive.Root>
A client/src/lib/components/ui/button/index.ts => client/src/lib/components/ui/button/index.ts +50 -0
@@ 0,0 1,50 @@ import type { Button as ButtonPrimitive } from "bits-ui"; import { type VariantProps, tv } from "tailwind-variants"; import Root from "./button.svelte"; const buttonVariants = tv({ base: "focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 disabled:pointer-events-none disabled:opacity-50", variants: { variant: { default: "bg-primary text-primary-foreground hover:bg-primary/90 shadow", destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90 shadow-sm", outline: "border-input bg-background hover:bg-accent hover:text-accent-foreground border shadow-sm", secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80 shadow-sm", ghost: "hover:bg-accent hover:text-accent-foreground", link: "text-primary underline-offset-4 hover:underline", }, size: { default: "h-9 px-4 py-2", sm: "h-8 rounded-md px-3 text-xs", lg: "h-10 rounded-md px-8", icon: "h-9 w-9", }, }, defaultVariants: { variant: "default", size: "default", }, }); type Variant = VariantProps<typeof buttonVariants>["variant"]; type Size = VariantProps<typeof buttonVariants>["size"]; type Props = ButtonPrimitive.Props & { variant?: Variant; size?: Size; }; type Events = ButtonPrimitive.Events; export { Root, type Props, type Events, // Root as Button, type Props as ButtonProps, type Events as ButtonEvents, buttonVariants, };
A client/src/lib/components/ui/card/card-content.svelte => client/src/lib/components/ui/card/card-content.svelte +13 -0
@@ 0,0 1,13 @@ <script lang="ts"> import type { HTMLAttributes } from "svelte/elements"; import { cn } from "$lib/utils.js"; type $$Props = HTMLAttributes<HTMLDivElement>; let className: $$Props["class"] = undefined; export { className as class }; </script> <div class={cn("p-6 pt-0", className)} {...$$restProps}> <slot /> </div>
A client/src/lib/components/ui/card/card-description.svelte => client/src/lib/components/ui/card/card-description.svelte +13 -0
@@ 0,0 1,13 @@ <script lang="ts"> import type { HTMLAttributes } from "svelte/elements"; import { cn } from "$lib/utils.js"; type $$Props = HTMLAttributes<HTMLParagraphElement>; let className: $$Props["class"] = undefined; export { className as class }; </script> <p class={cn("text-muted-foreground text-sm", className)} {...$$restProps}> <slot /> </p>
A client/src/lib/components/ui/card/card-footer.svelte => client/src/lib/components/ui/card/card-footer.svelte +13 -0
@@ 0,0 1,13 @@ <script lang="ts"> import type { HTMLAttributes } from "svelte/elements"; import { cn } from "$lib/utils.js"; type $$Props = HTMLAttributes<HTMLDivElement>; let className: $$Props["class"] = undefined; export { className as class }; </script> <div class={cn("flex items-center p-6 pt-0", className)} {...$$restProps}> <slot /> </div>
A client/src/lib/components/ui/card/card-header.svelte => client/src/lib/components/ui/card/card-header.svelte +13 -0
@@ 0,0 1,13 @@ <script lang="ts"> import type { HTMLAttributes } from "svelte/elements"; import { cn } from "$lib/utils.js"; type $$Props = HTMLAttributes<HTMLDivElement>; let className: $$Props["class"] = undefined; export { className as class }; </script> <div class={cn("flex flex-col space-y-1.5 p-6", className)} {...$$restProps}> <slot /> </div>
A client/src/lib/components/ui/card/card-title.svelte => client/src/lib/components/ui/card/card-title.svelte +21 -0
@@ 0,0 1,21 @@ <script lang="ts"> import type { HTMLAttributes } from "svelte/elements"; import type { HeadingLevel } from "./index.js"; import { cn } from "$lib/utils.js"; type $$Props = HTMLAttributes<HTMLHeadingElement> & { tag?: HeadingLevel; }; let className: $$Props["class"] = undefined; export let tag: $$Props["tag"] = "h3"; export { className as class }; </script> <svelte:element this={tag} class={cn("font-semibold leading-none tracking-tight", className)} {...$$restProps} > <slot /> </svelte:element>
A client/src/lib/components/ui/card/card.svelte => client/src/lib/components/ui/card/card.svelte +22 -0
@@ 0,0 1,22 @@ <script lang="ts"> import type { HTMLAttributes } from "svelte/elements"; import { cn } from "$lib/utils.js"; type $$Props = HTMLAttributes<HTMLDivElement>; let className: $$Props["class"] = undefined; export { className as class }; </script> <!-- svelte-ignore a11y-no-static-element-interactions --> <div class={cn("bg-card text-card-foreground rounded-xl border shadow", className)} {...$$restProps} on:click on:focusin on:focusout on:mouseenter on:mouseleave > <slot /> </div>
A client/src/lib/components/ui/card/index.ts => client/src/lib/components/ui/card/index.ts +24 -0
@@ 0,0 1,24 @@ import Root from "./card.svelte"; import Content from "./card-content.svelte"; import Description from "./card-description.svelte"; import Footer from "./card-footer.svelte"; import Header from "./card-header.svelte"; import Title from "./card-title.svelte"; export { Root, Content, Description, Footer, Header, Title, // Root as Card, Content as CardContent, Description as CardDescription, Footer as CardFooter, Header as CardHeader, Title as CardTitle, }; export type HeadingLevel = "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
A client/src/lib/index.ts => client/src/lib/index.ts +1 -0
A client/src/routes/(menu)/+page.svelte => client/src/routes/(menu)/+page.svelte +74 -0
@@ 0,0 1,74 @@ <script lang="ts"> import * as Card from "$lib/components/ui/card"; import Column from './Column.svelte'; import { Input } from "$lib/components/ui/input"; import { Label } from "$lib/components/ui/label"; import { Button } from "$lib/components/ui/button"; import * as Select from "$lib/components/ui/select"; import { TriangleAlertIcon } from "lucide-svelte"; import type { PageData } from "./$types"; export let data: PageData; let serverId: number; $: console.log(serverId); $: selectedServer = serverId ? { label: data.config.environments[serverId].name, value: serverId } : undefined; let username: string; $: allowJoin = !username || !serverId; </script> <Card.Root class="space-y-2 p-4"> <h1 class="font-semibold text-xl text-center">StarKingdoms</h1> <div class="flex flex-row gap-4"> <Column title="About"> <p>StarKingdoms is a browser game about floating through space.</p> <h2 class="text-center font-semibold">Profile</h2> <Button href="/login" class="w-full" variant="outline">Log in</Button> <p class="text-sm">Log in to save your progress on the server and sync it across devices.</p> </Column> <Column title="Join Game"> <div class="flex w-full max-w-sm flex-col gap-1.5"> <Label for="username">Username</Label> <Input bind:value={username} type="text" id="username" placeholder="StarKingdomsPlayer1214" /> </div> <div class="flex w-full max-w-sm flex-col gap-1.5"> <Label for="server">Server</Label> <Select.Root selected={selectedServer} onSelectedChange={(v) => {console.log(v); v && (serverId = v.value)}}> <Select.Trigger> <Select.Value placeholder="Select a server" /> </Select.Trigger> <Select.Content> {#each data.config.environments as v, k} <Select.Item value={k} label={v.name} /> {/each} </Select.Content> </Select.Root> {#if serverId && data.config.environments[serverId] && !data.config.environments[serverId].isProduction} <div class="bg-popover p-2 rounded text-destructive"> <div class="flex flex-row font-semibold"> <TriangleAlertIcon class="h-6 w-6 mr-2" /> Here be dragons! </div> <p class="text-sm mt-2">You have selected a pre-release server! Expect bugs, and save data may be wiped at any time.</p> </div> {/if} </div> {#if allowJoin} <Button disabled class="w-full">Launch!</Button> {:else} <Button href="/play/{serverId}/{username}" class="w-full">Launch!</Button> {/if} </Column> <Column title="Tools & Options"> <Button class="w-full" variant="secondary" disabled>Options (soon!)</Button> </Column> </div> </Card.Root> \ No newline at end of file
A client/src/routes/(menu)/login/+page.svelte => client/src/routes/(menu)/login/+page.svelte +25 -0
@@ 0,0 1,25 @@ <script lang="ts"> import * as Card from "$lib/components/ui/card"; import { Input } from "$lib/components/ui/input"; import { Label } from "$lib/components/ui/label"; import { Button } from "$lib/components/ui/button"; import * as Select from "$lib/components/ui/select"; import { TriangleAlertIcon } from "lucide-svelte"; </script> <Card.Root class="space-y-2 p-4"> <h1 class="font-semibold text-xl text-center">Login</h1> <div class="flex w-full max-w-sm flex-col gap-1.5"> <Label for="username">Username</Label> <Input type="text" id="username" placeholder="starkingdoms_player_2122" /> </div> <div class="flex w-full max-w-sm flex-col gap-1.5"> <Label for="password">Password</Label> <Input type="password" id="password" /> </div> <Button class="w-full">Login</Button> <p class="text-sm">Don't have an account? <a href="/register" class="text-accent underline underline-offset-4">Register</a></p> <p class="text-sm">Just want to play? <a href="/" class="text-accent underline underline-offset-4">Go back</a></p> </Card.Root> \ No newline at end of file
R starkingdoms-client/public/favicon.ico => client/static/favicon.ico +0 -0
A client/static/favicon.png => client/static/favicon.png +0 -0
A client/svelte.config.js => client/svelte.config.js +18 -0
@@ 0,0 1,18 @@ import adapter from '@sveltejs/adapter-auto'; import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'; /** @type {import('@sveltejs/kit').Config} */ const config = { // Consult https://kit.svelte.dev/docs/integrations#preprocessors // for more information about preprocessors preprocess: vitePreprocess(), kit: { // adapter-auto only supports some environments, see https://kit.svelte.dev/docs/adapter-auto for a list. // If your environment is not supported, or you settled on a specific environment, switch out the adapter. // See https://kit.svelte.dev/docs/adapters for more information about adapters. adapter: adapter() } }; export default config;
A client/tailwind.config.js => client/tailwind.config.js +64 -0
@@ 0,0 1,64 @@ import { fontFamily } from "tailwindcss/defaultTheme"; /** @type {import('tailwindcss').Config} */ const config = { darkMode: ["class"], content: ["./src/**/*.{html,js,svelte,ts}"], safelist: ["dark"], theme: { container: { center: true, padding: "2rem", screens: { "2xl": "1400px" } }, extend: { colors: { border: "hsl(var(--border) / <alpha-value>)", input: "hsl(var(--input) / <alpha-value>)", ring: "hsl(var(--ring) / <alpha-value>)", background: "hsl(var(--background) / <alpha-value>)", foreground: "hsl(var(--foreground) / <alpha-value>)", primary: { DEFAULT: "hsl(var(--primary) / <alpha-value>)", foreground: "hsl(var(--primary-foreground) / <alpha-value>)" }, secondary: { DEFAULT: "hsl(var(--secondary) / <alpha-value>)", foreground: "hsl(var(--secondary-foreground) / <alpha-value>)" }, destructive: { DEFAULT: "hsl(var(--destructive) / <alpha-value>)", foreground: "hsl(var(--destructive-foreground) / <alpha-value>)" }, muted: { DEFAULT: "hsl(var(--muted) / <alpha-value>)", foreground: "hsl(var(--muted-foreground) / <alpha-value>)" }, accent: { DEFAULT: "hsl(var(--accent) / <alpha-value>)", foreground: "hsl(var(--accent-foreground) / <alpha-value>)" }, popover: { DEFAULT: "hsl(var(--popover) / <alpha-value>)", foreground: "hsl(var(--popover-foreground) / <alpha-value>)" }, card: { DEFAULT: "hsl(var(--card) / <alpha-value>)", foreground: "hsl(var(--card-foreground) / <alpha-value>)" } }, borderRadius: { lg: "var(--radius)", md: "calc(var(--radius) - 2px)", sm: "calc(var(--radius) - 4px)" }, fontFamily: { sans: [...fontFamily.sans] } } }, }; export default config;
A client/tsconfig.json => client/tsconfig.json +19 -0
@@ 0,0 1,19 @@ { "extends": "./.svelte-kit/tsconfig.json", "compilerOptions": { "allowJs": true, "checkJs": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "resolveJsonModule": true, "skipLibCheck": true, "sourceMap": true, "strict": true, "moduleResolution": "bundler" } // Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias // except $lib which is handled by https://kit.svelte.dev/docs/configuration#files // // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes // from the referenced tsconfig.json - TypeScript does not merge them in }
A client/vite.config.ts => client/vite.config.ts +6 -0
@@ 0,0 1,6 @@ import { sveltekit } from '@sveltejs/kit/vite'; import { defineConfig } from 'vite'; export default defineConfig({ plugins: [sveltekit()] });
M kabel/Cargo.toml => kabel/Cargo.toml +1 -4
@@ 11,7 11,4 @@ test_each_file = "0.3.3" timer = [] debug = ["debug_lexer", "debug_parser"] debug_lexer = [] debug_parser = [] [profile.release] debug = true debug_parser = [] \ No newline at end of file
M server/src/crafting/components.rs => server/src/crafting/components.rs +7 -7
@@ 4,14 4,14 @@ use bevy::prelude::Component; #[derive(Debug, Clone, Copy, PartialEq)] pub enum MaterialType { Silicon, // Mercury Sulfur, // Venus Iron, // Mars Hydrogen, // Jupiter Helium, // Saturn Rubber, // Uranus Silicon, // Mercury Sulfur, // Venus Iron, // Mars Hydrogen, // Jupiter Helium, // Saturn Rubber, // Uranus Composite, // Neptune Ice, // Pluto Ice, // Pluto } #[derive(Component, Debug, Clone)]
M server/src/main.rs => server/src/main.rs +7 -4
@@ 37,13 37,13 @@ use std::time::Duration; #[macro_use] pub mod config; pub mod crafting; pub mod macros; pub mod mathutil; pub mod module; pub mod packet; pub mod planet; pub mod player; pub mod crafting; pub mod ws; struct StkPluginGroup; @@ 146,9 146,12 @@ fn main() { ..Default::default() }) .init_resource::<ModuleTimer>() .add_plugins(RapierPhysicsPlugin::<NoUserData>::pixels_per_meter( server_config.world.pixels_per_meter, ).in_fixed_schedule()) .add_plugins( RapierPhysicsPlugin::<NoUserData>::pixels_per_meter( server_config.world.pixels_per_meter, ) .in_fixed_schedule(), ) .add_plugins(StkTungsteniteServerPlugin) .add_systems( Startup,
M server/src/player/mod.rs => server/src/player/mod.rs +4 -2
@@ 87,8 87,10 @@ pub fn on_message( app_keys.clone(), from, &mut event_queue, server_config.clone() ) { continue } server_config.clone(), ) { continue; } // create player in world let (id, transform, mut player_comp) =
M server/src/player/packet.rs => server/src/player/packet.rs +1 -1
@@ 66,7 66,7 @@ pub fn on_position_change( transform: proto_transform!(Transform::from_translation( transform.translation * CLIENT_SCALE )), radius: planet!(*planet_type).size * CLIENT_SCALE radius: planet!(*planet_type).size * CLIENT_SCALE, }, )); }
R starkingdoms-client/.gitignore => starkingdoms-client-js/.gitignore +0 -0
R starkingdoms-client/.prettierignore => starkingdoms-client-js/.prettierignore +0 -0
R starkingdoms-client/.prettierrc => starkingdoms-client-js/.prettierrc +0 -0
R starkingdoms-client/Dockerfile => starkingdoms-client-js/Dockerfile +0 -0
A starkingdoms-client-js/index.html => starkingdoms-client-js/index.html +16 -0
@@ 0,0 1,16 @@ <!-- DO NOT CHANGE THIS FILE! --> <!-- UI is rendered by Svelte. The root of the component tree is src/pages/Home.svelte. --> <!doctype html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>StarKingdoms.IO</title> </head> <body class="bg-grid"> <div id="mount"> <!-- Rendered by Svelte --> </div> <script type="module" src="src/page_loaders/home.ts"></script> </body> </html>
R starkingdoms-client/login/index.html => starkingdoms-client-js/login/index.html +0 -0
R starkingdoms-client/package.json => starkingdoms-client-js/package.json +0 -0
R starkingdoms-client/play/index.html => starkingdoms-client-js/play/index.html +0 -0
A starkingdoms-client-js/public/favicon.ico => starkingdoms-client-js/public/favicon.ico +0 -0
R starkingdoms-client/shipeditor/index.html => starkingdoms-client-js/shipeditor/index.html +0 -0
R starkingdoms-client/signup/index.html => starkingdoms-client-js/signup/index.html +0 -0
R starkingdoms-client/src/assets/autoplr_cfg.svg => starkingdoms-client-js/src/assets/autoplr_cfg.svg +0 -0
R starkingdoms-client/src/assets/autoplr_error.svg => starkingdoms-client-js/src/assets/autoplr_error.svg +0 -0
R starkingdoms-client/src/assets/autoplr_on.svg => starkingdoms-client-js/src/assets/autoplr_on.svg +0 -0
R starkingdoms-client/src/assets/cargo_off.svg => starkingdoms-client-js/src/assets/cargo_off.svg +0 -0
R starkingdoms-client/src/assets/cargo_on.svg => starkingdoms-client-js/src/assets/cargo_on.svg +0 -0
R starkingdoms-client/src/assets/earth.svg => starkingdoms-client-js/src/assets/earth.svg +0 -0
R starkingdoms-client/src/assets/earth_icon.svg => starkingdoms-client-js/src/assets/earth_icon.svg +0 -0
R starkingdoms-client/src/assets/ecothruster_on.svg => starkingdoms-client-js/src/assets/ecothruster_on.svg +0 -0
R starkingdoms-client/src/assets/editor_direction.svg => starkingdoms-client-js/src/assets/editor_direction.svg +0 -0
R starkingdoms-client/src/assets/hearty.svg => starkingdoms-client-js/src/assets/hearty.svg +0 -0
R starkingdoms-client/src/assets/hearty_ferris.svg => starkingdoms-client-js/src/assets/hearty_ferris.svg +0 -0
R starkingdoms-client/src/assets/hearty_party.svg => starkingdoms-client-js/src/assets/hearty_party.svg +0 -0
R starkingdoms-client/src/assets/hub_off.svg => starkingdoms-client-js/src/assets/hub_off.svg +0 -0
R starkingdoms-client/src/assets/hub_on.svg => starkingdoms-client-js/src/assets/hub_on.svg +0 -0
R starkingdoms-client/src/assets/landingleg.svg => starkingdoms-client-js/src/assets/landingleg.svg +0 -0
R starkingdoms-client/src/assets/landingthruster_off.svg => starkingdoms-client-js/src/assets/landingthruster_off.svg +0 -0
R starkingdoms-client/src/assets/landingthruster_on.svg => starkingdoms-client-js/src/assets/landingthruster_on.svg +0 -0
R starkingdoms-client/src/assets/mars.svg => starkingdoms-client-js/src/assets/mars.svg +0 -0
R starkingdoms-client/src/assets/mars_icon.svg => starkingdoms-client-js/src/assets/mars_icon.svg +0 -0
R starkingdoms-client/src/assets/missing.svg => starkingdoms-client-js/src/assets/missing.svg +0 -0
R starkingdoms-client/src/assets/moon.svg => starkingdoms-client-js/src/assets/moon.svg +0 -0
R starkingdoms-client/src/assets/moon_icon.svg => starkingdoms-client-js/src/assets/moon_icon.svg +0 -0
R starkingdoms-client/src/assets/powerhub_off.svg => starkingdoms-client-js/src/assets/powerhub_off.svg +0 -0
R starkingdoms-client/src/assets/powerhub_on.svg => starkingdoms-client-js/src/assets/powerhub_on.svg +0 -0
R starkingdoms-client/src/assets/starfield.svg => starkingdoms-client-js/src/assets/starfield.svg +0 -0
R starkingdoms-client/src/assets/starfield_dim.svg => starkingdoms-client-js/src/assets/starfield_dim.svg +0 -0
R starkingdoms-client/src/assets/starfield_transp.svg => starkingdoms-client-js/src/assets/starfield_transp.svg +0 -0
R starkingdoms-client/src/assets/sun.svg => starkingdoms-client-js/src/assets/sun.svg +0 -0
R starkingdoms-client/src/assets/sun_rings.svg => starkingdoms-client-js/src/assets/sun_rings.svg +0 -0
R starkingdoms-client/src/assets/superthruster_off.svg => starkingdoms-client-js/src/assets/superthruster_off.svg +0 -0
R starkingdoms-client/src/assets/superthruster_on.svg => starkingdoms-client-js/src/assets/superthruster_on.svg +0 -0
R starkingdoms-client/src/assets/thruster_off.svg => starkingdoms-client-js/src/assets/thruster_off.svg +0 -0
R starkingdoms-client/src/assets/thruster_on.svg => starkingdoms-client-js/src/assets/thruster_on.svg +0 -0
R starkingdoms-client/src/assets/trackindicator.svg => starkingdoms-client-js/src/assets/trackindicator.svg +0 -0
R starkingdoms-client/src/components/Chatbox.svelte => starkingdoms-client-js/src/components/Chatbox.svelte +0 -0
R starkingdoms-client/src/components/ui/Button.svelte => starkingdoms-client-js/src/components/ui/Button.svelte +0 -0
R starkingdoms-client/src/components/ui/Checkbox.svelte => starkingdoms-client-js/src/components/ui/Checkbox.svelte +0 -0
R starkingdoms-client/src/components/ui/Column.svelte => starkingdoms-client-js/src/components/ui/Column.svelte +0 -0
R starkingdoms-client/src/components/ui/ColumnTable.svelte => starkingdoms-client-js/src/components/ui/ColumnTable.svelte +0 -0
R starkingdoms-client/src/components/ui/HorizontalGap.svelte => starkingdoms-client-js/src/components/ui/HorizontalGap.svelte +0 -0
R starkingdoms-client/src/components/ui/PasswordInput.svelte => starkingdoms-client-js/src/components/ui/PasswordInput.svelte +0 -0
R starkingdoms-client/src/components/ui/Popup.svelte => starkingdoms-client-js/src/components/ui/Popup.svelte +0 -0
R starkingdoms-client/src/components/ui/TextInput.svelte => starkingdoms-client-js/src/components/ui/TextInput.svelte +0 -0
R starkingdoms-client/src/components/ui/VerticalRule.svelte => starkingdoms-client-js/src/components/ui/VerticalRule.svelte +0 -0
R starkingdoms-client/src/config.json => starkingdoms-client-js/src/config.json +0 -0
R starkingdoms-client/src/config.ts => starkingdoms-client-js/src/config.ts +0 -0
R starkingdoms-client/src/css/chat.scss => starkingdoms-client-js/src/css/chat.scss +0 -0
R starkingdoms-client/src/css/font.scss => starkingdoms-client-js/src/css/font.scss +0 -0
R starkingdoms-client/src/css/footer.scss => starkingdoms-client-js/src/css/footer.scss +0 -0
R starkingdoms-client/src/css/form.scss => starkingdoms-client-js/src/css/form.scss +0 -0
R starkingdoms-client/src/css/game.scss => starkingdoms-client-js/src/css/game.scss +0 -0
R starkingdoms-client/src/css/globals.scss => starkingdoms-client-js/src/css/globals.scss +0 -0
R starkingdoms-client/src/css/grid.scss => starkingdoms-client-js/src/css/grid.scss +0 -0
R starkingdoms-client/src/css/hud.scss => starkingdoms-client-js/src/css/hud.scss +0 -0
R starkingdoms-client/src/css/json.scss => starkingdoms-client-js/src/css/json.scss +0 -0
R starkingdoms-client/src/css/log.scss => starkingdoms-client-js/src/css/log.scss +0 -0
R starkingdoms-client/src/css/style.scss => starkingdoms-client-js/src/css/style.scss +0 -0
R starkingdoms-client/src/css/themes/catppuccin-mocha.scss => starkingdoms-client-js/src/css/themes/catppuccin-mocha.scss +0 -0
R starkingdoms-client/src/css/utils.scss => starkingdoms-client-js/src/css/utils.scss +0 -0
R starkingdoms-client/src/env.d.ts => starkingdoms-client-js/src/env.d.ts +0 -0
R starkingdoms-client/src/globals.ts => starkingdoms-client-js/src/globals.ts +0 -0
R starkingdoms-client/src/hub.ts => starkingdoms-client-js/src/hub.ts +0 -0
R starkingdoms-client/src/icons/ChevronDown.svelte => starkingdoms-client-js/src/icons/ChevronDown.svelte +0 -0
R starkingdoms-client/src/icons/ChevronUp.svelte => starkingdoms-client-js/src/icons/ChevronUp.svelte +0 -0
R starkingdoms-client/src/icons/HeartIcon.svelte => starkingdoms-client-js/src/icons/HeartIcon.svelte +0 -0
R starkingdoms-client/src/icons/MovableIcon.svelte => starkingdoms-client-js/src/icons/MovableIcon.svelte +0 -0
R starkingdoms-client/src/icons/WarningIcon.svelte => starkingdoms-client-js/src/icons/WarningIcon.svelte +0 -0
R starkingdoms-client/src/jwt.ts => starkingdoms-client-js/src/jwt.ts +0 -0
R starkingdoms-client/src/packet_ui.ts => starkingdoms-client-js/src/packet_ui.ts +0 -0
R starkingdoms-client/src/page_loaders/home.ts => starkingdoms-client-js/src/page_loaders/home.ts +0 -0
R starkingdoms-client/src/page_loaders/login.ts => starkingdoms-client-js/src/page_loaders/login.ts +0 -0
R starkingdoms-client/src/page_loaders/play.ts => starkingdoms-client-js/src/page_loaders/play.ts +0 -0
R starkingdoms-client/src/page_loaders/shipeditor.ts => starkingdoms-client-js/src/page_loaders/shipeditor.ts +0 -0
R starkingdoms-client/src/page_loaders/signup.ts => starkingdoms-client-js/src/page_loaders/signup.ts +0 -0
R starkingdoms-client/src/page_loaders/uikit.ts => starkingdoms-client-js/src/page_loaders/uikit.ts +0 -0
R starkingdoms-client/src/pages/Home.svelte => starkingdoms-client-js/src/pages/Home.svelte +0 -0
R starkingdoms-client/src/pages/Login.svelte => starkingdoms-client-js/src/pages/Login.svelte +0 -0
R starkingdoms-client/src/pages/Play.svelte => starkingdoms-client-js/src/pages/Play.svelte +0 -0
R starkingdoms-client/src/pages/ShipEditor.svelte => starkingdoms-client-js/src/pages/ShipEditor.svelte +0 -0
R starkingdoms-client/src/pages/Signup.svelte => starkingdoms-client-js/src/pages/Signup.svelte +0 -0
R starkingdoms-client/src/pages/UiKit.svelte => starkingdoms-client-js/src/pages/UiKit.svelte +0 -0
R starkingdoms-client/src/planet_colors.ts => starkingdoms-client-js/src/planet_colors.ts +0 -0
R starkingdoms-client/src/protocol.ts => starkingdoms-client-js/src/protocol.ts +0 -0
R starkingdoms-client/src/rendering.ts => starkingdoms-client-js/src/rendering.ts +0 -0
R starkingdoms-client/src/save.ts => starkingdoms-client-js/src/save.ts +0 -0
R starkingdoms-client/src/textures.ts => starkingdoms-client-js/src/textures.ts +0 -0
R starkingdoms-client/src/vite-env.d.ts => starkingdoms-client-js/src/vite-env.d.ts +0 -0
R starkingdoms-client/svelte.config.js => starkingdoms-client-js/svelte.config.js +0 -0
R starkingdoms-client/tsconfig.json => starkingdoms-client-js/tsconfig.json +0 -0
R starkingdoms-client/uikit/index.html => starkingdoms-client-js/uikit/index.html +0 -0
R starkingdoms-client/vite.config.ts => starkingdoms-client-js/vite.config.ts +0 -0
R starkingdoms-client/vite.config.ts.timestamp-1722468930578-9a55b81119f46.mjs => starkingdoms-client-js/vite.config.ts.timestamp-1722468930578-9a55b81119f46.mjs +0 -0
R starkingdoms-client/yarn.lock => starkingdoms-client-js/yarn.lock +0 -0
A starkingdoms-client/Cargo.toml => starkingdoms-client/Cargo.toml +33 -0
@@ 0,0 1,33 @@ [package] name = "starkingdoms-client" version = "0.1.0" edition = "2021" [lib] crate-type = ["cdylib", "rlib"] # Everywhere dependencies [dependencies] tracing = "0.1" # Log system tracing-subscriber = "0.3" # Log layers bevy_ecs = "0.15" egui = "0.30" wgpu = { version = "23", features = ["webgl"] } winit = "0.30" thiserror = "2" image = "0.25" egui-winit = { version = "0.30", default-features = false, features = ["links", "wayland", "x11"] } egui-wgpu = "0.30" web-time = "1" # WASM dependencies [target.'cfg(target_arch = "wasm32")'.dependencies] tracing-web = "0.1" # Log output console_error_panic_hook = "0.1" # Give useful information in the panic response, other than the useless "entered unreachable code" wasm-bindgen = "0.2" web-sys = "0.3" wasm-bindgen-futures = "0.4" # Native dependencies [target.'cfg(not(target_arch = "wasm32"))'.dependencies] pollster = "0.4" \ No newline at end of file
M starkingdoms-client/index.html => starkingdoms-client/index.html +36 -13
@@ 1,16 1,39 @@ <!-- DO NOT CHANGE THIS FILE! --> <!-- UI is rendered by Svelte. The root of the component tree is src/pages/Home.svelte. --> <!doctype html> <html lang="en"> <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>StarKingdoms.IO</title> </head> <body class="bg-grid"> <div id="mount"> <!-- Rendered by Svelte --> </div> <title>StarKingdoms.TK</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> <script type="module" src="src/page_loaders/home.ts"></script> <style> html, body { overflow: hidden; margin: 0; padding: 0; height: 100%; width: 100%; } canvas { margin-right: auto; margin-left: auto; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; } </style> </head> <body> <script type="module"> import init from './pkg/starkingdoms_client.js'; async function run() { await init(); } window.addEventListener('load', run); </script> </body> </html> </html> \ No newline at end of file
A starkingdoms-client/src/ecs.rs => starkingdoms-client/src/ecs.rs +33 -0
@@ 0,0 1,33 @@ use bevy_ecs::bundle::Bundle; use bevy_ecs::component::Component; use bevy_ecs::system::Resource; #[derive(Component, Debug, Clone, Copy)] pub struct Position { pub x: f64, pub y: f64 } #[derive(Component, Debug, Clone, Copy)] pub struct Scale { pub width: f64, pub height: f64, } #[derive(Component, Debug, Clone)] pub struct SpriteTexture { pub texture: String, } #[derive(Bundle)] pub struct SpriteBundle { pub position: Position, pub scale: Scale, pub texture: SpriteTexture } #[derive(Resource, Debug)] pub struct Camera { pub x: f64, pub y: f64, pub zoom: f64 } \ No newline at end of file
A starkingdoms-client/src/input.rs => starkingdoms-client/src/input.rs +13 -0
@@ 0,0 1,13 @@ use bevy_ecs::event::Event; #[derive(Event, Debug, Copy, Clone)] pub enum MouseWheelEvent { Line { x: f64, y: f64, }, Pixel { x: f64, y: f64, } } \ No newline at end of file
A starkingdoms-client/src/lib.rs => starkingdoms-client/src/lib.rs +46 -0
@@ 0,0 1,46 @@ use bevy_ecs::event::Events; use bevy_ecs::schedule::Schedule; use bevy_ecs::world::World; use egui::Context; use tracing::info; use crate::ecs::Camera; use crate::input::MouseWheelEvent; use crate::rendering::Renderer; use crate::rendering::ui::UiRenderable; #[cfg(target_arch = "wasm32")] #[path = "wasm/mod.rs"] pub mod platform; #[cfg(not(target_arch = "wasm32"))] #[path = "native/mod.rs"] pub mod platform; pub mod ecs; pub mod input; pub mod rendering; // Hi, you've found the real main function! This is called AFTER platform-specific initialization code. pub fn start() { info!("Hello, world! StarKingdoms.TK v{} says hello, running on {}", env!("CARGO_PKG_VERSION"), if cfg!(target_arch = "wasm32") { "wasm" } else { "native" }); info!("Creating the ECS world..."); let mut world = World::new(); world.insert_resource::<Events<MouseWheelEvent>>(Events::default()); world.insert_resource(Camera { x: 0.0, y: 0.0, zoom: 1.0, }); let mut start_schedule = Schedule::default(); // Add startup things here // Caution: This will run before there are things on-screen start_schedule.run(&mut world); let mut update_schedule = Schedule::default(); // Add things to run every frame here // Caution: This will run once before there are things on screen }
A starkingdoms-client/src/main.rs => starkingdoms-client/src/main.rs +5 -0
@@ 0,0 1,5 @@ /// --- IMPORTANT: DO NOT EDIT - EDIT THE APPROPRIATE PLATFORM SPECIFIC ENTRYPOINT --- /// `platform::start` IS WHAT YOU WANT fn main() { starkingdoms_client::platform::entrypoint(); }
A starkingdoms-client/src/native/mod.rs => starkingdoms-client/src/native/mod.rs +11 -0
@@ 0,0 1,11 @@ /// --- IMPORTANT: THIS IS A DUAL TARGET CRATE --- /// THIS WILL ONLY EXECUTE ON NATIVE /// DO ONLY PLATFORM SPECIFIC INITIALIZATION HERE /// FOR ACTUAL PROGRAM LOGIC, EDIT `crate::start` /// DO NOT RENAME pub fn entrypoint() { tracing_subscriber::fmt::init(); // All done with platform-specific initialization, call back into the common code path crate::start(); } \ No newline at end of file
A starkingdoms-client/src/shaders/sprite.wgsl => starkingdoms-client/src/shaders/sprite.wgsl +36 -0
@@ 0,0 1,36 @@ struct VertexShaderOut { @builtin(position) position: vec4<f32>, @location(0) texcoord: vec2<f32> } struct Uniforms { scale: vec2f, offset: vec2f } @group(0) @binding(2) var<uniform> uni: Uniforms; @vertex fn vs( @builtin(vertex_index) vertexIndex : u32 ) -> VertexShaderOut { let pos = array( vec2<f32>(0.0, 0.0), vec2<f32>(1.0, 0.0), vec2<f32>(0.0, 1.0), vec2<f32>(0.0, 1.0), vec2<f32>(1.0, 0.0), vec2<f32>(1.0, 1.0) ); var vsOutput: VertexShaderOut; let xy = pos[vertexIndex]; vsOutput.position = vec4f(xy * uni.scale + uni.offset, 0.0, 1.0); vsOutput.texcoord = vec2f(xy.x, 1.0 - xy.y); return vsOutput; } @group(0) @binding(0) var tex_sampler: sampler; @group(0) @binding(1) var tex: texture_2d<f32>; @fragment fn fs(fsInput: VertexShaderOut) -> @location(0) vec4<f32> { return textureSample(tex, tex_sampler, fsInput.texcoord); } \ No newline at end of file
A starkingdoms-client/src/shaders/text_quad_mips.wgsl => starkingdoms-client/src/shaders/text_quad_mips.wgsl +26 -0
@@ 0,0 1,26 @@ struct VertexOutput { @builtin(position) position: vec4<f32>, @location(0) texcoord: vec2<f32> } @vertex fn vs(@builtin(vertex_index) vertexIndex: u32) -> VertexOutput { let pos = array( vec2<f32>(0.0, 0.0), vec2<f32>(1.0, 0.0), vec2<f32>(0.0, 1.0), vec2<f32>(0.0, 1.0), vec2<f32>(1.0, 0.0), vec2<f32>(1.0, 1.0) ); var out: VertexOutput; let xy = pos[vertexIndex]; out.position = vec4<f32>(xy * 2.0 - 1.0, 0.0, 1.0); out.texcoord = vec2<f32>(xy.x, 1.0 - xy.y); return out; } @group(0) @binding(0) var texSampler: sampler; @group(0) @binding(1) var tex: texture_2d<f32>; @fragment fn fs(inp: VertexOutput) -> @location(0) vec4<f32> { return textureSample(tex, texSampler, inp.texcoord); } \ No newline at end of file
A starkingdoms-client/src/textures/f.png => starkingdoms-client/src/textures/f.png +0 -0
A starkingdoms-client/src/textures/happy-tree.png => starkingdoms-client/src/textures/happy-tree.png +0 -0
A starkingdoms-client/src/textures/uv.png => starkingdoms-client/src/textures/uv.png +0 -0
A starkingdoms-client/src/wasm/mod.rs => starkingdoms-client/src/wasm/mod.rs +34 -0
@@ 0,0 1,34 @@ use tracing::Level; use tracing_subscriber::fmt::format::Pretty; use tracing_subscriber::prelude::*; use wasm_bindgen::prelude::wasm_bindgen; use tracing_web::{MakeWebConsoleWriter, performance_layer}; /// --- IMPORTANT: THIS IS A DUAL TARGET CRATE --- /// THIS WILL ONLY EXECUTE ON WEBASSEMBLY /// DO ONLY PLATFORM SPECIFIC INITIALIZATION HERE /// FOR ACTUAL PROGRAM LOGIC, EDIT `crate::start` /// DO NOT RENAME #[wasm_bindgen(start)] pub fn entrypoint() { // Panic handler console_error_panic_hook::set_once(); /* ----- Logging setup ----- */ let fmt_layer = tracing_subscriber::fmt::layer() .with_ansi(false) // not supported in browsers .without_time() // std::time doesn't exist in wasm .with_writer(MakeWebConsoleWriter::new().with_max_level(Level::DEBUG)); // wgpu spams the console, and this is slow as hell let perf_layer = performance_layer() // enable performance tracing .with_details_from_fields(Pretty::default()); // ... with pretty fields tracing_subscriber::registry() .with(fmt_layer) .with(perf_layer) .init(); // register the logger // All done with platform-specific initialization, call back into the common code path crate::start(); } \ No newline at end of file