diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 78bc369..3131a29 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -10,13 +10,13 @@ jobs: name: Check runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: actions-rs/toolchain@v1 with: profile: minimal - toolchain: nightly + toolchain: nightly-2025-12-28 override: true - uses: actions-rs/cargo@v1 with: command: check - toolchain: nightly + toolchain: nightly-2025-12-28 diff --git a/.github/workflows/clippy.yml b/.github/workflows/clippy.yml deleted file mode 100644 index 4349927..0000000 --- a/.github/workflows/clippy.yml +++ /dev/null @@ -1,26 +0,0 @@ -name: Clippy check - -on: - push: - branches: [ "master" ] - pull_request: - branches: [ "master" ] - -jobs: - clippy: - name: Clippy - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: nightly - override: true - - run: rustup component add clippy - - uses: actions-rs/cargo@v1 - with: - command: clippy - toolchain: nightly - # For now I will allow unused here - args: -- -D warnings -A unused diff --git a/.github/workflows/rustfmt.yml b/.github/workflows/rustfmt.yml index cae854c..eb3345a 100644 --- a/.github/workflows/rustfmt.yml +++ b/.github/workflows/rustfmt.yml @@ -10,7 +10,7 @@ jobs: name: Rustfmt runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: actions-rs/toolchain@v1 with: profile: minimal diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 34a80e5..614a6f1 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -14,7 +14,7 @@ jobs: name: Test Suite runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: actions-rs/toolchain@v1 with: profile: minimal diff --git a/.gitignore b/.gitignore index 8c907ba..e03cb19 100644 --- a/.gitignore +++ b/.gitignore @@ -10,4 +10,5 @@ dhat-heap.json samply.json vtune-results profile.json.gz -dist \ No newline at end of file +dist +result \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json deleted file mode 100644 index abac346..0000000 --- a/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "gruntfuggly.todo-tree", - "eamodio.gitlens", - "spencerwmiles.vscode-task-buttons" - ] -} diff --git a/Cargo.lock b/Cargo.lock index cbbc526..85580c8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -150,6 +150,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "aligned" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee4508988c62edf04abd8d92897fca0c2995d907ce1dfeaf369dac3716a40685" +dependencies = [ + "as-slice", +] + [[package]] name = "aligned-vec" version = "0.6.4" @@ -159,12 +168,6 @@ dependencies = [ "equator", ] -[[package]] -name = "allocator-api2" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" - [[package]] name = "android-activity" version = "0.6.0" @@ -172,7 +175,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef6978589202a00cd7e118380c448a08b6ed394c3a8df3a430d0898e3a42d046" dependencies = [ "android-properties", - "bitflags 2.10.0", + "bitflags 2.11.0", "cc", "cesu8", "jni", @@ -203,9 +206,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.100" +version = "1.0.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" +checksum = "5f0e0fee31ef5ed1ba1316088939cea399010ed7731dba877ed44aeb407a75ea" [[package]] name = "arbitrary" @@ -233,12 +236,6 @@ dependencies = [ "x11rb", ] -[[package]] -name = "arc-swap" -version = "1.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" - [[package]] name = "arg_enum_proc_macro" version = "0.3.4" @@ -247,7 +244,17 @@ checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn", +] + +[[package]] +name = "args" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4b7432c65177b8d5c032d56e020dd8d407e939468479fc8c300e2d93e6d970b" +dependencies = [ + "getopts", + "log", ] [[package]] @@ -269,34 +276,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b" [[package]] -name = "ash" -version = "0.38.0+1.3.281" +name = "as-slice" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bb44936d800fea8f016d7f2311c6a4f97aebd5dc86f09906139ec848cf3a46f" +checksum = "516b6b4f0e40d50dcda9365d53964ec74560ad4284da2e7fc97122cd83174516" dependencies = [ - "libloading", + "stable_deref_trait", ] [[package]] -name = "ashpd" -version = "0.11.0" +name = "ash" +version = "0.38.0+1.3.281" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cbdf310d77fd3aaee6ea2093db7011dc2d35d2eb3481e5607f1f8d942ed99df" +checksum = "0bb44936d800fea8f016d7f2311c6a4f97aebd5dc86f09906139ec848cf3a46f" dependencies = [ - "async-fs", - "async-net", - "enumflags2", - "futures-channel", - "futures-util", - "rand 0.9.2", - "raw-window-handle", - "serde", - "serde_repr", - "url", - "wayland-backend", - "wayland-client", - "wayland-protocols", - "zbus", + "libloading", ] [[package]] @@ -325,9 +319,9 @@ dependencies = [ [[package]] name = "async-executor" -version = "1.13.3" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497c00e0fd83a72a79a39fcbd8e3e2f055d6f6c7e025f3b3d91f4f8e76527fb8" +checksum = "c96bf972d85afc50bf5ab8fe2d54d1586b4e0b46c97c50a0c9e71e2f7bcd812a" dependencies = [ "async-task", "concurrent-queue", @@ -337,17 +331,6 @@ dependencies = [ "slab", ] -[[package]] -name = "async-fs" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8034a681df4aed8b8edbd7fbe472401ecf009251c8b40556b304567052e294c5" -dependencies = [ - "async-lock", - "blocking", - "futures-lite", -] - [[package]] name = "async-io" version = "2.6.0" @@ -361,33 +344,22 @@ dependencies = [ "futures-lite", "parking", "polling", - "rustix 1.1.2", + "rustix 1.1.3", "slab", "windows-sys 0.61.2", ] [[package]] name = "async-lock" -version = "3.4.1" +version = "3.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fd03604047cee9b6ce9de9f70c6cd540a0520c813cbd49bae61f33ab80ed1dc" +checksum = "290f7f2596bd5b78a9fec8088ccd89180d7f9f55b94b0576823bbbdc72ee8311" dependencies = [ "event-listener", "event-listener-strategy", "pin-project-lite", ] -[[package]] -name = "async-net" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7" -dependencies = [ - "async-io", - "blocking", - "futures-lite", -] - [[package]] name = "async-process" version = "2.5.0" @@ -403,7 +375,7 @@ dependencies = [ "cfg-if", "event-listener", "futures-lite", - "rustix 1.1.2", + "rustix 1.1.3", ] [[package]] @@ -414,7 +386,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn", ] [[package]] @@ -429,7 +401,7 @@ dependencies = [ "cfg-if", "futures-core", "futures-io", - "rustix 1.1.2", + "rustix 1.1.3", "signal-hook-registry", "slab", "windows-sys 0.61.2", @@ -449,7 +421,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn", ] [[package]] @@ -528,7 +500,7 @@ dependencies = [ "manyhow", "proc-macro2", "quote", - "syn 2.0.108", + "syn", ] [[package]] @@ -544,7 +516,7 @@ dependencies = [ "proc-macro2", "quote", "quote-use", - "syn 2.0.108", + "syn", ] [[package]] @@ -553,6 +525,26 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" +[[package]] +name = "av-scenechange" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f321d77c20e19b92c39e7471cf986812cbb46659d2af674adc4331ef3f18394" +dependencies = [ + "aligned", + "anyhow", + "arg_enum_proc_macro", + "arrayvec", + "log", + "num-rational", + "num-traits", + "pastey", + "rayon", + "thiserror 2.0.18", + "v_frame", + "y4m", +] + [[package]] name = "av1-grain" version = "0.2.5" @@ -569,9 +561,9 @@ dependencies = [ [[package]] name = "avif-serialize" -version = "0.8.6" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47c8fbc0f831f4519fe8b810b6a7a91410ec83031b8233f730a0480029f6a23f" +checksum = "375082f007bd67184fb9c0374614b29f9aaa604ec301635f72338bb65386a53d" dependencies = [ "arrayvec", ] @@ -664,9 +656,9 @@ checksum = "1e4b40c7323adcfc0a41c4b88143ed58346ff65a288fc144329c5c45e05d70c6" [[package]] name = "bitcode" -version = "0.6.7" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "648bd963d2e5d465377acecfb4b827f9f553b6bc97a8f61715779e9ed9e52b74" +checksum = "0a6ed1b54d8dc333e7be604d00fa9262f4635485ffea923647b6521a5fff045d" dependencies = [ "arrayvec", "bitcode_derive", @@ -677,13 +669,13 @@ dependencies = [ [[package]] name = "bitcode_derive" -version = "0.6.7" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffebfc2d28a12b262c303cb3860ee77b91bd83b1f20f0bd2a9693008e2f55a9e" +checksum = "238b90427dfad9da4a9abd60f3ec1cdee6b80454bde49ed37f1781dd8e9dc7f9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn", ] [[package]] @@ -694,18 +686,21 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.10.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" +checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" dependencies = [ "serde_core", ] [[package]] name = "bitstream-io" -version = "2.6.0" +version = "4.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6099cdc01846bc367c4e7dd630dc5966dccf36b652fae7a74e17b640411a91b2" +checksum = "60d4bd9d1db2c6bdf285e223a7fa369d5ce98ec767dec949c6ca62863ce61757" +dependencies = [ + "core2", +] [[package]] name = "bitvec" @@ -766,12 +761,6 @@ dependencies = [ "piper", ] -[[package]] -name = "built" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ed6191a7e78c36abdb16ab65341eefd73d64d303fffccdbb00d51e4205967b" - [[package]] name = "built" version = "0.8.0" @@ -784,15 +773,15 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.19.0" +version = "3.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" +checksum = "5c6f81257d10a0f602a294ae4182251151ff97dbb504ef9afcdda4a64b24d9b4" [[package]] name = "bytemuck" -version = "1.24.0" +version = "1.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4" +checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec" dependencies = [ "bytemuck_derive", ] @@ -805,7 +794,7 @@ checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn", ] [[package]] @@ -822,9 +811,9 @@ checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" [[package]] name = "bytes" -version = "1.10.1" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" +checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" [[package]] name = "calloop" @@ -832,7 +821,7 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "log", "polling", "rustix 0.38.44", @@ -842,13 +831,13 @@ dependencies = [ [[package]] name = "calloop" -version = "0.14.3" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb9f6e1368bd4621d2c86baa7e37de77a938adf5221e5dd3d6133340101b309e" +checksum = "4dbf9978365bac10f54d1d4b04f7ce4427e51f71d61f2fe15e3fed5166474df7" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "polling", - "rustix 1.1.2", + "rustix 1.1.3", "slab", "tracing", ] @@ -871,17 +860,17 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "138efcf0940a02ebf0cc8d1eff41a1682a46b431630f4c52450d6265876021fa" dependencies = [ - "calloop 0.14.3", - "rustix 1.1.2", + "calloop 0.14.4", + "rustix 1.1.3", "wayland-backend", "wayland-client", ] [[package]] name = "cc" -version = "1.2.44" +version = "1.2.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37521ac7aabe3d13122dc382493e20c9416f299d2ccd5b3a5340a2570cdeb0f3" +checksum = "aebf35691d1bfb0ac386a69bac2fde4dd276fb618cf8bf4f5318fe285e821bb2" dependencies = [ "find-msvc-tools", "jobserver", @@ -895,16 +884,6 @@ version = "1.1.0" 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.4" @@ -926,43 +905,17 @@ dependencies = [ "libc", ] -[[package]] -name = "charts-rs" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64caa6454be69fcf2555a9692729d118d26ee8c3b281c355e600707c19b39109" -dependencies = [ - "ahash", - "arc-swap", - "charts-rs-derive", - "fontdue", - "once_cell", - "regex", - "resvg", - "serde", - "serde_json", - "snafu", - "substring", -] - -[[package]] -name = "charts-rs-derive" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41a22d9bb806d0d341a234556bee1481d8877a78c1a718d9a92aa4e9f542766c" -dependencies = [ - "quote", - "syn 2.0.108", -] - [[package]] name = "chrono" -version = "0.4.42" +version = "0.4.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2" +checksum = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118" dependencies = [ "iana-time-zone", + "js-sys", "num-traits", + "serde", + "wasm-bindgen", "windows-link 0.2.1", ] @@ -981,7 +934,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1" dependencies = [ - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -1015,11 +968,11 @@ checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" [[package]] name = "colored" -version = "3.0.0" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fde0e0ec90c9dfb3b4b1a0891a7dcd0e2bffde2f7efed5fe7c9bb00e5bfb915e" +checksum = "faf9468729b8cbcea668e36183cb69d317348c2e08e994829fb56ebfdfbaac34" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -1041,6 +994,25 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "console_error_panic_hook" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" +dependencies = [ + "cfg-if", + "wasm-bindgen", +] + +[[package]] +name = "convert_case" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "affbf0190ed2caf063e3def54ff444b449371d55c58e513a95ab98eca50adb49" +dependencies = [ + "unicode-segmentation", +] + [[package]] name = "core-foundation" version = "0.9.4" @@ -1092,12 +1064,12 @@ dependencies = [ ] [[package]] -name = "core_maths" -version = "0.1.1" +name = "core2" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77745e017f5edba1a9c1d854f6f3a52dac8a12dd5af5d2f54aecf61e43d80d30" +checksum = "b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505" dependencies = [ - "libm", + "memchr", ] [[package]] @@ -1157,9 +1129,9 @@ checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" [[package]] name = "crypto-common" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" dependencies = [ "generic-array", "typenum", @@ -1171,17 +1143,11 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f27ae1dd37df86211c42e150270f82743308803d90a6f6e6651cd730d5e1732f" -[[package]] -name = "data-url" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be1e0bca6c3637f992fc1cc7cbc52a78c1ef6db076dbf1059c4323d6a2048376" - [[package]] name = "deranged" -version = "0.5.5" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" +checksum = "cc3dc5ad92c2e2d1c193bbbbdf2ea477cb81331de4f3103f267ca18368b988c4" dependencies = [ "powerfmt", ] @@ -1194,7 +1160,7 @@ checksum = "ef941ded77d15ca19b40374869ac6000af1c9f2a4c0f3d4c70926287e6364a8f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn", ] [[package]] @@ -1256,7 +1222,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "block2 0.6.2", "libc", "objc2 0.6.3", @@ -1270,7 +1236,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn", ] [[package]] @@ -1311,19 +1277,21 @@ checksum = "d8b14ccef22fc6f5a8f4d7d768562a182c04ce9a3b3157b91390b52ddfdf1a76" [[package]] name = "ecolor" -version = "0.31.1" -source = "git+https://github.com/BloodStainedCrow/egui?rev=4e11a02#4e11a02615078f509d9acc474ae13a66b411eaf7" +version = "0.32.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94bdf37f8d5bd9aa7f753573fdda9cf7343afa73dd28d7bfe9593bd9798fc07e" dependencies = [ "bytemuck", "color-hex", - "emath 0.31.1 (git+https://github.com/BloodStainedCrow/egui?rev=4e11a02)", + "emath", "serde", ] [[package]] name = "eframe" -version = "0.31.1" -source = "git+https://github.com/BloodStainedCrow/egui?rev=4e11a02#4e11a02615078f509d9acc474ae13a66b411eaf7" +version = "0.32.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14d1c15e7bd136b309bd3487e6ffe5f668b354cd9768636a836dd738ac90eb0b" dependencies = [ "ahash", "bytemuck", @@ -1349,7 +1317,7 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "web-time 1.1.0", + "web-time", "wgpu", "winapi", "windows-sys 0.59.0", @@ -1358,48 +1326,51 @@ dependencies = [ [[package]] name = "egui" -version = "0.31.1" -source = "git+https://github.com/BloodStainedCrow/egui?rev=4e11a02#4e11a02615078f509d9acc474ae13a66b411eaf7" +version = "0.32.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d5d0306cd61ca75e29682926d71f2390160247f135965242e904a636f51c0dc" dependencies = [ "accesskit", "ahash", - "bitflags 2.10.0", - "emath 0.31.1 (git+https://github.com/BloodStainedCrow/egui?rev=4e11a02)", + "bitflags 2.11.0", + "emath", "epaint", "log", "nohash-hasher", "profiling", "ron 0.10.1", "serde", + "smallvec", "unicode-segmentation", ] [[package]] name = "egui-show-info" version = "0.1.0" -source = "git+https://github.com/BloodStainedCrow/egui-show-info#0b1a1a7e6b2b75935b7bb7710de4fc4900a35fa9" +source = "git+https://github.com/BloodStainedCrow/egui-show-info#2f1c3f454e4577ff72e0c7eb21cafe4850c60ac2" dependencies = [ "bimap", "egui", "enum-map", "parking_lot 0.12.5", - "petgraph 0.8.2", + "petgraph", ] [[package]] name = "egui-show-info-derive" version = "0.1.0" -source = "git+https://github.com/BloodStainedCrow/egui-show-info#0b1a1a7e6b2b75935b7bb7710de4fc4900a35fa9" +source = "git+https://github.com/BloodStainedCrow/egui-show-info#2f1c3f454e4577ff72e0c7eb21cafe4850c60ac2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn", ] [[package]] name = "egui-wgpu" -version = "0.31.1" -source = "git+https://github.com/BloodStainedCrow/egui?rev=4e11a02#4e11a02615078f509d9acc474ae13a66b411eaf7" +version = "0.32.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c12eca13293f8eba27a32aaaa1c765bfbf31acd43e8d30d5881dcbe5e99ca0c7" dependencies = [ "ahash", "bytemuck", @@ -1410,15 +1381,16 @@ dependencies = [ "profiling", "thiserror 1.0.69", "type-map", - "web-time 1.1.0", + "web-time", "wgpu", "winit", ] [[package]] name = "egui-winit" -version = "0.31.1" -source = "git+https://github.com/BloodStainedCrow/egui?rev=4e11a02#4e11a02615078f509d9acc474ae13a66b411eaf7" +version = "0.32.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f95d0a91f9cb0dc2e732d49c2d521ac8948e1f0b758f306fb7b14d6f5db3927f" dependencies = [ "accesskit_winit", "ahash", @@ -1429,16 +1401,16 @@ dependencies = [ "profiling", "raw-window-handle", "smithay-clipboard", - "web-time 1.1.0", + "web-time", "webbrowser", "winit", ] [[package]] name = "egui_extras" -version = "0.31.1" +version = "0.32.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624659a2e972a46f4d5f646557906c55f1cd5a0836eddbe610fdf1afba1b4226" +checksum = "dddbceddf39805fc6c62b1f7f9c05e23590b40844dc9ed89c6dc6dbc886e3e3b" dependencies = [ "ahash", "egui", @@ -1451,8 +1423,9 @@ dependencies = [ [[package]] name = "egui_glow" -version = "0.31.1" -source = "git+https://github.com/BloodStainedCrow/egui?rev=4e11a02#4e11a02615078f509d9acc474ae13a66b411eaf7" +version = "0.32.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc7037813341727937f9e22f78d912f3e29bc3c46e2f40a9e82bb51cbf5e4cfb" dependencies = [ "ahash", "bytemuck", @@ -1468,24 +1441,26 @@ dependencies = [ [[package]] name = "egui_graphs" -version = "0.25.1" -source = "git+https://github.com/BloodStainedCrow/egui_graphs?branch=tree_layout#32aeb647d0ebd65ff0105274397ce4c4258d9e87" +version = "0.28.0" +source = "git+https://github.com/BloodStainedCrow/egui_graphs?branch=tree_layout#5e4e3191d6d17e264660d78b6f47363d16bd325b" dependencies = [ "egui", - "petgraph 0.8.2", + "getrandom 0.2.17", + "instant", + "petgraph", "rand 0.9.2", "serde", ] [[package]] name = "egui_plot" -version = "0.32.1" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14ae092b46ea532f6c69d3e71036fb3b688fd00fd09c2a1e43d17051a8ae43e6" +checksum = "524318041a8ea90c81c738e8985f8ad9e3f9bed636b03c2ff37b218113ed5121" dependencies = [ "ahash", "egui", - "emath 0.31.1 (registry+https://github.com/rust-lang/crates.io-index)", + "emath", ] [[package]] @@ -1496,14 +1471,9 @@ checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" [[package]] name = "emath" -version = "0.31.1" +version = "0.32.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e4cadcff7a5353ba72b7fea76bf2122b5ebdbc68e8155aa56dfdea90083fe1b" - -[[package]] -name = "emath" -version = "0.31.1" -source = "git+https://github.com/BloodStainedCrow/egui?rev=4e11a02#4e11a02615078f509d9acc474ae13a66b411eaf7" +checksum = "45fd7bc25f769a3c198fe1cf183124bf4de3bd62ef7b4f1eaf6b08711a3af8db" dependencies = [ "bytemuck", "serde", @@ -1523,9 +1493,9 @@ checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d" [[package]] name = "endi" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3d8a32ae18130a3c84dd492d4215c3d913c3b07c6b63c2eb3eb7ff1101ab7bf" +checksum = "66b7e2430c6dff6a955451e2cfc438f09cea1965a9d6f87f7e3b90decc014099" [[package]] name = "enum-map" @@ -1545,7 +1515,7 @@ checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn", ] [[package]] @@ -1566,7 +1536,7 @@ checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn", ] [[package]] @@ -1577,19 +1547,20 @@ checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn", ] [[package]] name = "epaint" -version = "0.31.1" -source = "git+https://github.com/BloodStainedCrow/egui?rev=4e11a02#4e11a02615078f509d9acc474ae13a66b411eaf7" +version = "0.32.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63adcea970b7a13094fe97a36ab9307c35a750f9e24bf00bb7ef3de573e0fddb" dependencies = [ "ab_glyph", "ahash", "bytemuck", "ecolor", - "emath 0.31.1 (git+https://github.com/BloodStainedCrow/egui?rev=4e11a02)", + "emath", "epaint_default_fonts", "log", "nohash-hasher", @@ -1600,8 +1571,9 @@ dependencies = [ [[package]] name = "epaint_default_fonts" -version = "0.31.1" -source = "git+https://github.com/BloodStainedCrow/egui?rev=4e11a02#4e11a02615078f509d9acc474ae13a66b411eaf7" +version = "0.32.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1537accc50c9cab5a272c39300bdd0dd5dca210f6e5e8d70be048df9596e7ca2" [[package]] name = "equator" @@ -1620,7 +1592,7 @@ checksum = "44f23cf4b44bfce11a86ace86f8a73ffdec849c9fd00a386a53d278bd9e81fb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn", ] [[package]] @@ -1645,15 +1617,6 @@ version = "3.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dea2df4cf52843e0452895c455a1a2cfbb842a1e7329671acf418fdc53ed4c59" -[[package]] -name = "euclid" -version = "0.22.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad9cdb4b747e485a12abb0e6566612956c7a1bafa3bdb8d682c5b6d403589e48" -dependencies = [ - "num-traits", -] - [[package]] name = "event-listener" version = "5.4.1" @@ -1677,9 +1640,9 @@ dependencies = [ [[package]] name = "exr" -version = "1.73.0" +version = "1.74.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83197f59927b46c04a183a619b7c29df34e63e63c7869320862268c0ef687e0" +checksum = "4300e043a56aa2cb633c01af81ca8f699a321879a7854d3896a0ba89056363be" dependencies = [ "bit_field", "half", @@ -1692,16 +1655,19 @@ dependencies = [ [[package]] name = "factory" -version = "0.2.0" +version = "0.3.0" dependencies = [ + "args", "base64 0.22.1", "bimap", "bincode 2.0.1", "bitcode", "bitvec", - "built 0.8.0", + "built", "bytemuck", - "charts-rs", + "chrono", + "console_error_panic_hook", + "convert_case", "dhat", "directories", "ecolor", @@ -1713,30 +1679,30 @@ dependencies = [ "egui_graphs", "egui_plot", "enum-map", - "fixed-buffer", + "fixedbitset", "flate2", "fork", - "genawaiter", "get-size2", - "getrandom 0.2.16", "getrandom 0.3.4", "hex", "image", "interprocess", - "itertools 0.14.0", + "itertools", "libc", "log", "memoffset", "mimalloc", "noise", + "open", "parking_lot 0.12.5", - "petgraph 0.8.2", + "petgraph", "postcard", "profiling", "proptest", "puffin", "puffin_egui", - "rand 0.8.5", + "rand 0.9.2", + "rand_xoshiro", "rayon", "recycle_vec", "rfd", @@ -1747,14 +1713,13 @@ dependencies = [ "serde_path_to_error", "sha2", "simple_logger", - "smallvec", "spin_sleep_util", - "stable-vec", "static_assertions", "strum 0.27.2", "take_mut", "thin-dst", "tilelib", + "url", "wasm-bindgen", "wasm-bindgen-futures", "wasm-timer", @@ -1785,7 +1750,7 @@ checksum = "a0aca10fb742cb43f9e7bb8467c91aa9bcb8e3ffbc6a6f7389bb93ffc920577d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn", ] [[package]] @@ -1799,21 +1764,9 @@ dependencies = [ [[package]] name = "find-msvc-tools" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52051878f80a721bb68ebfbc930e07b65ba72f2da88968ea5c06fd6ca3d3a127" - -[[package]] -name = "fixed-buffer" -version = "1.0.2" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80e394ec858f7f07a580a2e63c6da5c4632cd7503da034d6a545c75516a2df91" - -[[package]] -name = "fixedbitset" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" +checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" [[package]] name = "fixedbitset" @@ -1823,21 +1776,15 @@ checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" [[package]] name = "flate2" -version = "1.1.5" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb" +checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" dependencies = [ "crc32fast", - "libz-rs-sys", "miniz_oxide", + "zlib-rs", ] -[[package]] -name = "float-cmp" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" - [[package]] name = "fnv" version = "1.0.7" @@ -1850,38 +1797,6 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" -[[package]] -name = "fontconfig-parser" -version = "0.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbc773e24e02d4ddd8395fd30dc147524273a83e54e0f312d986ea30de5f5646" -dependencies = [ - "roxmltree", -] - -[[package]] -name = "fontdb" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "457e789b3d1202543297a350643cf459f836cade38934e7a4cf6a39e7cde2905" -dependencies = [ - "fontconfig-parser", - "log", - "slotmap", - "tinyvec", - "ttf-parser 0.25.1", -] - -[[package]] -name = "fontdue" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e57e16b3fe8ff4364c0661fdaac543fb38b29ea9bc9c2f45612d90adf931d2b" -dependencies = [ - "hashbrown 0.15.5", - "ttf-parser 0.21.1", -] - [[package]] name = "foreign-types" version = "0.5.0" @@ -1900,7 +1815,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn", ] [[package]] @@ -1935,9 +1850,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" +checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d" dependencies = [ "futures-channel", "futures-core", @@ -1950,9 +1865,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" dependencies = [ "futures-core", "futures-sink", @@ -1960,15 +1875,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" +checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" [[package]] name = "futures-executor" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" +checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" dependencies = [ "futures-core", "futures-task", @@ -1977,9 +1892,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" +checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" [[package]] name = "futures-lite" @@ -1996,26 +1911,26 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn", ] [[package]] name = "futures-sink" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" +checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" [[package]] name = "futures-task" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" +checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" [[package]] name = "futures-timer" @@ -2025,9 +1940,9 @@ checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" [[package]] name = "futures-util" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" dependencies = [ "futures-channel", "futures-core", @@ -2037,45 +1952,14 @@ dependencies = [ "futures-task", "memchr", "pin-project-lite", - "pin-utils", "slab", ] -[[package]] -name = "genawaiter" -version = "0.99.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c86bd0361bcbde39b13475e6e36cb24c329964aa2611be285289d1e4b751c1a0" -dependencies = [ - "genawaiter-macro", - "genawaiter-proc-macro", - "proc-macro-hack", -] - -[[package]] -name = "genawaiter-macro" -version = "0.99.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b32dfe1fdfc0bbde1f22a5da25355514b5e450c33a6af6770884c8750aedfbc" - -[[package]] -name = "genawaiter-proc-macro" -version = "0.99.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784f84eebc366e15251c4a8c3acee82a6a6f427949776ecb88377362a9621738" -dependencies = [ - "proc-macro-error", - "proc-macro-hack", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "generic-array" -version = "0.14.9" +version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bb6743198531e02858aeaea5398fcc883e71851fcbcb5a2f773e2fb6cb1edf2" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", @@ -2083,20 +1967,20 @@ dependencies = [ [[package]] name = "get-size-derive2" -version = "0.7.1" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46b134aa084df7c3a513a1035c52f623e4b3065dfaf3d905a4f28a2e79b5bb3f" +checksum = "f2b6d1e2f75c16bfbcd0f95d84f99858a6e2f885c2287d1f5c3a96e8444a34b4" dependencies = [ "attribute-derive", "quote", - "syn 2.0.108", + "syn", ] [[package]] name = "get-size2" -version = "0.7.1" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0d51c9f2e956a517619ad9e7eaebc7a573f9c49b38152e12eade750f89156f9" +checksum = "49cf31a6d70300cf81461098f7797571362387ef4bf85d32ac47eaa59b3a5a1a" dependencies = [ "get-size-derive2", ] @@ -2107,15 +1991,24 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bd49230192a3797a9a4d6abe9b3eed6f7fa4c8a8a4947977c6f80025f92cbd8" dependencies = [ - "rustix 1.1.2", + "rustix 1.1.3", "windows-link 0.2.1", ] +[[package]] +name = "getopts" +version = "0.2.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfe4fbac503b8d1f88e6676011885f34b7174f46e59956bba534ba83abded4df" +dependencies = [ + "unicode-width", +] + [[package]] name = "getrandom" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" dependencies = [ "cfg-if", "js-sys", @@ -2139,16 +2032,29 @@ dependencies = [ ] [[package]] -name = "gif" -version = "0.13.3" +name = "getrandom" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ae047235e33e2829703574b54fdec96bfbad892062d97fed2f76022287de61b" +checksum = "139ef39800118c7683f2fd3c98c1b23c09ae076556b435f8e9064ae108aaeeec" dependencies = [ - "color_quant", - "weezl", -] - -[[package]] + "cfg-if", + "libc", + "r-efi", + "wasip2", + "wasip3", +] + +[[package]] +name = "gif" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5df2ba84018d80c213569363bdcd0c64e6933c67fe4c1d60ecf822971a3c35e" +dependencies = [ + "color_quant", + "weezl", +] + +[[package]] name = "gimli" version = "0.32.3" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2156,11 +2062,11 @@ checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" [[package]] name = "git2" -version = "0.20.2" +version = "0.20.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2deb07a133b1520dc1a5690e9bd08950108873d7ed5de38dcc74d3b5ebffa110" +checksum = "7b88256088d75a56f8ecfa070513a775dd9107f6530ef14919dac831af9cfe2b" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "libc", "libgit2-sys", "log", @@ -2180,9 +2086,9 @@ dependencies = [ [[package]] name = "glam" -version = "0.30.9" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd47b05dddf0005d850e5644cae7f2b14ac3df487979dbfff3b56f20b1a6ae46" +checksum = "34627c5158214743a374170fed714833fdf4e4b0cbcc1ea98417866a4c5d4441" [[package]] name = "glob" @@ -2208,7 +2114,7 @@ version = "0.32.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "12124de845cacfebedff80e877bb37b5b75c34c5a4c89e47e1cdd67fb6041325" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "cfg_aliases", "cgl", "dispatch2", @@ -2274,7 +2180,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "gpu-alloc-types", ] @@ -2284,7 +2190,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", ] [[package]] @@ -2305,7 +2211,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b89c83349105e3732062a895becfc71a8f921bb71ecbbdd8ff99263e3b53a0ca" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "gpu-descriptor-types", "hashbrown 0.15.5", ] @@ -2316,7 +2222,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", ] [[package]] @@ -2346,17 +2252,15 @@ version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" dependencies = [ - "allocator-api2", - "equivalent", "foldhash", "rayon", ] [[package]] name = "hashbrown" -version = "0.16.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d" +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" [[package]] name = "heapless" @@ -2398,9 +2302,9 @@ checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" [[package]] name = "iana-time-zone" -version = "0.1.64" +version = "0.1.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb" +checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -2468,9 +2372,9 @@ checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" [[package]] name = "icu_properties" -version = "2.1.1" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e93fcd3157766c0c8da2f8cff6ce651a31f0810eaa1c51ec363ef790bbb5fb99" +checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" dependencies = [ "icu_collections", "icu_locale_core", @@ -2482,9 +2386,9 @@ dependencies = [ [[package]] name = "icu_properties_data" -version = "2.1.1" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02845b3647bb045f1100ecd6480ff52f34c35f82d9880e029d329c21d1054899" +checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" [[package]] name = "icu_provider" @@ -2501,6 +2405,12 @@ dependencies = [ "zerovec", ] +[[package]] +name = "id-arena" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" + [[package]] name = "idna" version = "1.1.0" @@ -2524,9 +2434,9 @@ dependencies = [ [[package]] name = "image" -version = "0.25.8" +version = "0.25.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "529feb3e6769d234375c4cf1ee2ce713682b8e76538cb13f9fc23e1400a591e7" +checksum = "e6506c6c10786659413faa717ceebcb8f70731c0a60cbae39795fdf114519c1a" dependencies = [ "bytemuck", "byteorder-lite", @@ -2536,14 +2446,14 @@ dependencies = [ "image-webp", "moxcms", "num-traits", - "png 0.18.0", + "png", "qoi", "ravif", "rayon", "rgb", "tiff", - "zune-core", - "zune-jpeg", + "zune-core 0.5.1", + "zune-jpeg 0.5.12", ] [[package]] @@ -2556,12 +2466,6 @@ dependencies = [ "quick-error 2.0.1", ] -[[package]] -name = "imagesize" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edcd27d72f2f071c64249075f42e205ff93c9a4c5f6c6da53e79ed9f9832c285" - [[package]] name = "imgref" version = "1.12.0" @@ -2570,12 +2474,12 @@ checksum = "e7c5cedc30da3a610cac6b4ba17597bdf7152cf974e8aab3afb3d54455e371c8" [[package]] name = "indexmap" -version = "2.12.0" +version = "2.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6717a8d2a5a929a1a2eb43a12812498ed141a0bcfb7e8f7844fbdbe4303bba9f" +checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" dependencies = [ "equivalent", - "hashbrown 0.16.0", + "hashbrown 0.16.1", "rayon", "serde", "serde_core", @@ -2588,6 +2492,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" dependencies = [ "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", ] [[package]] @@ -2598,7 +2505,7 @@ checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn", ] [[package]] @@ -2609,9 +2516,9 @@ checksum = "71dd52191aae121e8611f1e8dc3e324dd0dd1dee1e6dd91d10ee07a3cfb4d9d8" [[package]] name = "interprocess" -version = "2.2.3" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d941b405bd2322993887859a8ee6ac9134945a24ec5ec763a8a962fc64dfec2d" +checksum = "53bf2b0e0785c5394a7392f66d7c4fb9c653633c29b27a932280da3cb344c66a" dependencies = [ "doctest-file", "libc", @@ -2621,21 +2528,22 @@ dependencies = [ ] [[package]] -name = "itertools" -version = "0.10.5" +name = "is-docker" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +checksum = "928bae27f42bc99b60d9ac7334e3a21d10ad8f1835a4e12ec3ec0464765ed1b3" dependencies = [ - "either", + "once_cell", ] [[package]] -name = "itertools" -version = "0.12.1" +name = "is-wsl" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +checksum = "173609498df190136aa7dea1a91db051746d339e18476eed5ca40521f02d7aa5" dependencies = [ - "either", + "is-docker", + "once_cell", ] [[package]] @@ -2649,9 +2557,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.15" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" +checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" [[package]] name = "jni" @@ -2687,9 +2595,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.82" +version = "0.3.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65" +checksum = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3" dependencies = [ "once_cell", "wasm-bindgen", @@ -2712,23 +2620,18 @@ version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" -[[package]] -name = "kurbo" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c62026ae44756f8a599ba21140f350303d4f08dcdcc71b5ad9c9bb8128c13c62" -dependencies = [ - "arrayvec", - "euclid", - "smallvec", -] - [[package]] name = "lazy_static" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +[[package]] +name = "leb128fmt" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" + [[package]] name = "lebe" version = "0.5.3" @@ -2737,15 +2640,15 @@ checksum = "7a79a3332a6609480d7d0c9eab957bca6b455b91bb84e66d19f5ff66294b85b8" [[package]] name = "libc" -version = "0.2.177" +version = "0.2.182" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" +checksum = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112" [[package]] name = "libfuzzer-sys" -version = "0.4.10" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5037190e1f70cbeef565bd267599242926f724d3b8a9f510fd7e0b540cfa4404" +checksum = "f12a681b7dd8ce12bff52488013ba614b869148d54dd79836ab85aafdd53f08d" dependencies = [ "arbitrary", "cc", @@ -2753,9 +2656,9 @@ dependencies = [ [[package]] name = "libgit2-sys" -version = "0.18.2+1.9.1" +version = "0.18.3+1.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c42fe03df2bd3c53a3a9c7317ad91d80c81cd1fb0caec8d7cc4cd2bfa10c222" +checksum = "c9b3acc4b91781bb0b3386669d325163746af5f6e4f73e6d2d630e09a35f3487" dependencies = [ "cc", "libc", @@ -2775,9 +2678,9 @@ dependencies = [ [[package]] name = "libm" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" +checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" [[package]] name = "libmimalloc-sys" @@ -2791,29 +2694,20 @@ dependencies = [ [[package]] name = "libredox" -version = "0.1.10" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb" +checksum = "3d0b95e02c851351f877147b7deea7b1afb1df71b63aa5f8270716e0c5720616" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "libc", - "redox_syscall 0.5.18", -] - -[[package]] -name = "libz-rs-sys" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "840db8cf39d9ec4dd794376f38acc40d0fc65eec2a8f484f7fd375b84602becd" -dependencies = [ - "zlib-rs", + "redox_syscall 0.7.1", ] [[package]] name = "libz-sys" -version = "1.1.22" +version = "1.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b70e7a7df205e92a1a4cd9aaae7898dac0aa555503cc0a649494d0d60e7651d" +checksum = "15d118bbf3771060e7311cc7bb0545b01d08a8b4a7de949198dec1fa0ca1c0f7" dependencies = [ "cc", "libc", @@ -2857,9 +2751,18 @@ dependencies = [ [[package]] name = "log" -version = "0.4.28" +version = "0.4.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" + +[[package]] +name = "log-once" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" +checksum = "6d8a05e3879b317b1b6dbf353e5bba7062bedcc59815267bb23eaa0c576cebf0" +dependencies = [ + "log", +] [[package]] name = "loop9" @@ -2894,7 +2797,7 @@ dependencies = [ "manyhow-macros", "proc-macro2", "quote", - "syn 2.0.108", + "syn", ] [[package]] @@ -2920,15 +2823,15 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.6" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" +checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" [[package]] name = "memmap2" -version = "0.9.9" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "744133e4a0e0a658e1374cf3bf8e415c4052a15a111acd372764c55b4177d490" +checksum = "714098028fe011992e1c3962653c96b2d578c4b4bce9036e15ff220319b1e0e3" dependencies = [ "libc", ] @@ -2948,7 +2851,7 @@ version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f569fb946490b5743ad69813cb19629130ce9374034abe31614a36402d18f99e" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "block", "core-graphics-types", "foreign-types", @@ -3002,9 +2905,9 @@ checksum = "c505b3e17ed6b70a7ed2e67fbb2c560ee327353556120d6e72f5232b6880d536" [[package]] name = "moxcms" -version = "0.7.9" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fbdd3d7436f8b5e892b8b7ea114271ff0fa00bc5acae845d53b07d498616ef6" +checksum = "ac9557c559cd6fc9867e122e20d2cbefc9ca29d80d027a8e39310920ed2f0a97" dependencies = [ "num-traits", "pxfm", @@ -3018,7 +2921,7 @@ checksum = "2b977c445f26e49757f9aca3631c3b8b836942cb278d69a92e7b80d3b24da632" dependencies = [ "arrayvec", "bit-set", - "bitflags 2.10.0", + "bitflags 2.11.0", "cfg_aliases", "codespan-reporting", "half", @@ -3031,7 +2934,7 @@ dependencies = [ "rustc-hash 1.1.0", "spirv", "strum 0.26.3", - "thiserror 2.0.17", + "thiserror 2.0.18", "unicode-ident", ] @@ -3047,7 +2950,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "jni-sys", "log", "ndk-sys 0.6.0+11769913", @@ -3086,25 +2989,6 @@ version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" -[[package]] -name = "nix" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" -dependencies = [ - "bitflags 2.10.0", - "cfg-if", - "cfg_aliases", - "libc", - "memoffset", -] - -[[package]] -name = "no-std-compat" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df270209a7f04d62459240d890ecb792714d5db12c92937823574a09930276b4" - [[package]] name = "nohash-hasher" version = "0.2.0" @@ -3149,9 +3033,9 @@ dependencies = [ [[package]] name = "num-conv" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" +checksum = "cf97ec579c3c42f953ef76dbf8d55ac91fb219dde70e49aa4a6b7d74e9919050" [[package]] name = "num-derive" @@ -3161,7 +3045,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn", ] [[package]] @@ -3213,7 +3097,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.108", + "syn", ] [[package]] @@ -3265,7 +3149,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "block2 0.5.1", "libc", "objc2 0.5.2", @@ -3281,7 +3165,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "block2 0.6.2", "objc2 0.6.3", "objc2-core-foundation", @@ -3295,7 +3179,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "block2 0.5.1", "objc2 0.5.2", "objc2-core-location", @@ -3319,7 +3203,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", @@ -3331,7 +3215,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "dispatch2", "objc2 0.6.3", ] @@ -3342,7 +3226,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "dispatch2", "objc2 0.6.3", "objc2-core-foundation", @@ -3385,7 +3269,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "block2 0.5.1", "dispatch", "libc", @@ -3398,7 +3282,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "objc2 0.6.3", "objc2-core-foundation", ] @@ -3409,7 +3293,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "180788110936d59bab6bd83b6060ffdfffb3b922ba1396b312ae795e1de9d81d" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "objc2 0.6.3", "objc2-core-foundation", ] @@ -3432,7 +3316,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", @@ -3444,7 +3328,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", @@ -3467,7 +3351,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "block2 0.5.1", "objc2 0.5.2", "objc2-cloud-kit", @@ -3499,7 +3383,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "block2 0.5.1", "objc2 0.5.2", "objc2-core-location", @@ -3521,6 +3405,17 @@ version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +[[package]] +name = "open" +version = "5.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43bb73a7fa3799b198970490a51174027ba0d4ec504b03cd08caf513d40024bc" +dependencies = [ + "is-wsl", + "libc", + "pathdiff", +] + [[package]] name = "option-ext" version = "0.2.0" @@ -3529,10 +3424,11 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] name = "orbclient" -version = "0.3.48" +version = "0.3.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba0b26cec2e24f08ed8bb31519a9333140a6599b867dac464bb150bdb796fd43" +checksum = "52ad2c6bae700b7aa5d1cc30c59bdd3a1c180b09dbaea51e2ae2b8e1cf211fdd" dependencies = [ + "libc", "libredox", ] @@ -3561,7 +3457,7 @@ version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "36820e9051aca1014ddc75770aab4d68bc1e9e632f0f5627c4086bc216fb583b" dependencies = [ - "ttf-parser 0.25.1", + "ttf-parser", ] [[package]] @@ -3611,10 +3507,8 @@ version = "0.9.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" dependencies = [ - "backtrace", "cfg-if", "libc", - "petgraph 0.6.5", "redox_syscall 0.5.18", "smallvec", "windows-link 0.2.1", @@ -3627,27 +3521,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] -name = "percent-encoding" -version = "2.3.2" +name = "pastey" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" +checksum = "35fb2e5f958ec131621fdd531e9fc186ed768cbe395337403ae56c17a74c68ec" [[package]] -name = "petgraph" -version = "0.6.5" +name = "pathdiff" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" -dependencies = [ - "fixedbitset 0.4.2", - "indexmap", -] +checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" + +[[package]] +name = "percent-encoding" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "petgraph" version = "0.8.2" source = "git+https://github.com/BloodStainedCrow/petgraph?branch=stable_graph_node_weights_mut_indexed#a2146326d17db154ac872a4d029fc1a4e546cc84" dependencies = [ - "fixedbitset 0.5.7", + "fixedbitset", "hashbrown 0.15.5", "indexmap", "rayon", @@ -3685,7 +3581,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.108", + "syn", "unicase", ] @@ -3699,12 +3595,6 @@ dependencies = [ "unicase", ] -[[package]] -name = "pico-args" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315" - [[package]] name = "pin-project" version = "1.1.10" @@ -3722,7 +3612,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn", ] [[package]] @@ -3756,24 +3646,11 @@ checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[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", -] - -[[package]] -name = "png" -version = "0.18.0" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97baced388464909d42d89643fe4361939af9b7ce7a31ee32a168f832a70f2a0" +checksum = "60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "crc32fast", "fdeflate", "flate2", @@ -3790,7 +3667,7 @@ dependencies = [ "concurrent-queue", "hermit-abi", "pin-project-lite", - "rustix 1.1.2", + "rustix 1.1.3", "windows-sys 0.61.2", ] @@ -3802,9 +3679,9 @@ checksum = "2f3a9f18d041e6d0e102a0a46750538147e5e8992d3b4873aaafee2520b00ce3" [[package]] name = "portable-atomic" -version = "1.11.1" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" +checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" [[package]] name = "postcard" @@ -3850,46 +3727,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa" [[package]] -name = "proc-macro-crate" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983" -dependencies = [ - "toml_edit 0.23.7", -] - -[[package]] -name = "proc-macro-error" -version = "0.4.12" +name = "prettyplease" +version = "0.2.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18f33027081eba0a6d8aba6d1b1c3a3be58cbb12106341c2d5759fcd9b5277e7" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ - "proc-macro-error-attr", "proc-macro2", - "quote", - "syn 1.0.109", - "version_check", + "syn", ] [[package]] -name = "proc-macro-error-attr" -version = "0.4.12" +name = "proc-macro-crate" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a5b4b77fdb63c1eca72173d68d24501c54ab1269409f6b672c85deb18af69de" +checksum = "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983" dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", - "syn-mid", - "version_check", + "toml_edit", ] -[[package]] -name = "proc-macro-hack" -version = "0.5.20+deprecated" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" - [[package]] name = "proc-macro-utils" version = "0.10.0" @@ -3903,9 +3758,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.103" +version = "1.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" dependencies = [ "unicode-ident", ] @@ -3927,21 +3782,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52717f9a02b6965224f95ca2a81e2e0c5c43baacd28ca057577988930b6c3d5b" dependencies = [ "quote", - "syn 2.0.108", + "syn", ] [[package]] name = "proptest" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bee689443a2bd0a16ab0348b52ee43e3b2d1b1f931c8aa5c9f8de4c86fbe8c40" +checksum = "37566cb3fdacef14c0737f9546df7cfeadbfbc9fef10991038bf5015d0c80532" dependencies = [ "bit-set", "bit-vec", - "bitflags 2.10.0", + "bitflags 2.11.0", "num-traits", "rand 0.9.2", - "rand_chacha 0.9.0", + "rand_chacha", "rand_xorshift 0.4.0", "regex-syntax", "rusty-fork", @@ -3951,44 +3806,44 @@ dependencies = [ [[package]] name = "puffin" -version = "0.19.2" -source = "git+https://github.com/BloodStainedCrow/puffin#420f296797ecf2acdc7156bf65e2b9a2d8e06c8d" +version = "0.19.1" +source = "git+https://github.com/EmbarkStudios/puffin#c5276b9d5264af37a9c9fb2655990a3a0b720a0b" dependencies = [ "anyhow", "bincode 1.3.3", "byteorder", "cfg-if", - "itertools 0.10.5", + "itertools", "js-sys", "lz4_flex", - "once_cell", "parking_lot 0.12.5", "serde", - "web-time 0.2.4", + "web-time", ] [[package]] name = "puffin_egui" -version = "0.29.1" -source = "git+https://github.com/BloodStainedCrow/puffin#420f296797ecf2acdc7156bf65e2b9a2d8e06c8d" +version = "0.29.0" +source = "git+https://github.com/EmbarkStudios/puffin#c5276b9d5264af37a9c9fb2655990a3a0b720a0b" dependencies = [ "egui", "egui_extras", "indexmap", + "log", + "log-once", "natord", - "once_cell", "parking_lot 0.12.5", "puffin", "time", "vec1", - "web-time 0.2.4", + "web-time", ] [[package]] name = "pxfm" -version = "0.1.25" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3cbdf373972bf78df4d3b518d07003938e2c7d1fb5891e55f9cb6df57009d84" +checksum = "7186d3822593aa4393561d186d1393b3923e9d6163d3fbfd6e825e3e6cf3e6a8" dependencies = [ "num-traits", ] @@ -4016,28 +3871,19 @@ checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" [[package]] name = "quick-xml" -version = "0.36.2" +version = "0.38.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7649a7b4df05aed9ea7ec6f628c67c9953a43869b8bc50929569b2999d443fe" +checksum = "b66c2058c55a409d601666cffe35f04333cf1013010882cec174a7467cd4e21c" dependencies = [ "memchr", "serde", ] -[[package]] -name = "quick-xml" -version = "0.37.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "331e97a1af0bf59823e6eadffe373d7b27f485be8748f71471c662c1f269b7fb" -dependencies = [ - "memchr", -] - [[package]] name = "quote" -version = "1.0.41" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce25767e7b499d1b604768e7cde645d14cc8584231ea6b295e9c9eb22c02e1d1" +checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" dependencies = [ "proc-macro2", ] @@ -4061,7 +3907,7 @@ dependencies = [ "proc-macro-utils", "proc-macro2", "quote", - "syn 2.0.108", + "syn", ] [[package]] @@ -4082,8 +3928,6 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ - "libc", - "rand_chacha 0.3.1", "rand_core 0.6.4", ] @@ -4093,18 +3937,8 @@ version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" dependencies = [ - "rand_chacha 0.9.0", - "rand_core 0.9.3", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core 0.6.4", + "rand_chacha", + "rand_core 0.9.5", ] [[package]] @@ -4114,7 +3948,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" dependencies = [ "ppv-lite86", - "rand_core 0.9.3", + "rand_core 0.9.5", ] [[package]] @@ -4122,15 +3956,12 @@ name = "rand_core" version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom 0.2.16", -] [[package]] name = "rand_core" -version = "0.9.3" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" dependencies = [ "getrandom 0.3.4", ] @@ -4150,7 +3981,16 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "513962919efc330f829edb2535844d1b912b0fbe2ca165d613e4e8788bb05a5a" dependencies = [ - "rand_core 0.9.3", + "rand_core 0.9.5", +] + +[[package]] +name = "rand_xoshiro" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f703f4665700daf5512dcca5f43afa6af89f09db47fb56be587f80636bda2d41" +dependencies = [ + "rand_core 0.9.5", ] [[package]] @@ -4161,19 +4001,21 @@ checksum = "c3d6831663a5098ea164f89cff59c6284e95f4e3c76ce9848d4529f5ccca9bde" [[package]] name = "rav1e" -version = "0.7.1" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd87ce80a7665b1cce111f8a16c1f3929f6547ce91ade6addf4ec86a8dda5ce9" +checksum = "43b6dd56e85d9483277cde964fd1bdb0428de4fec5ebba7540995639a21cb32b" dependencies = [ + "aligned-vec", "arbitrary", "arg_enum_proc_macro", "arrayvec", + "av-scenechange", "av1-grain", "bitstream-io", - "built 0.7.7", + "built", "cfg-if", "interpolate_name", - "itertools 0.12.1", + "itertools", "libc", "libfuzzer-sys", "log", @@ -4182,23 +4024,21 @@ dependencies = [ "noop_proc_macro", "num-derive", "num-traits", - "once_cell", "paste", "profiling", - "rand 0.8.5", - "rand_chacha 0.3.1", + "rand 0.9.2", + "rand_chacha", "simd_helpers", - "system-deps", - "thiserror 1.0.69", + "thiserror 2.0.18", "v_frame", "wasm-bindgen", ] [[package]] name = "ravif" -version = "0.11.20" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5825c26fddd16ab9f515930d49028a630efec172e903483c94796cfe31893e6b" +checksum = "ef69c1990ceef18a116855938e74793a5f7496ee907562bd0857b6ac734ab285" dependencies = [ "avif-serialize", "imgref", @@ -4271,7 +4111,16 @@ version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", +] + +[[package]] +name = "redox_syscall" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35985aa610addc02e24fc232012c86fd11f14111180f902b67e2d5331f8ebf2b" +dependencies = [ + "bitflags 2.11.0", ] [[package]] @@ -4280,16 +4129,16 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" dependencies = [ - "getrandom 0.2.16", + "getrandom 0.2.17", "libredox", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] name = "regex" -version = "1.12.2" +version = "1.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" +checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" dependencies = [ "aho-corasick", "memchr", @@ -4299,9 +4148,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.13" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" +checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" dependencies = [ "aho-corasick", "memchr", @@ -4310,9 +4159,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" +checksum = "a96887878f22d7bad8a3b6dc5b7440e0ada9a245242924394987b21cf2210a4c" [[package]] name = "relative-path" @@ -4326,42 +4175,31 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" -[[package]] -name = "resvg" -version = "0.45.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8928798c0a55e03c9ca6c4c6846f76377427d2c1e1f7e6de3c06ae57942df43" -dependencies = [ - "log", - "pico-args", - "rgb", - "svgtypes", - "tiny-skia", - "usvg", -] - [[package]] name = "rfd" -version = "0.15.4" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef2bee61e6cffa4635c72d7d81a84294e28f0930db0ddcb0f66d10244674ebed" +checksum = "20dafead71c16a34e1ff357ddefc8afc11e7d51d6d2b9fbd07eaa48e3e540220" dependencies = [ - "ashpd", "block2 0.6.2", "dispatch2", "js-sys", + "libc", "log", "objc2 0.6.3", "objc2-app-kit 0.3.2", "objc2-core-foundation", "objc2-foundation 0.3.2", + "percent-encoding", "pollster", "raw-window-handle", - "urlencoding", "wasm-bindgen", "wasm-bindgen-futures", + "wayland-backend", + "wayland-client", + "wayland-protocols", "web-sys", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -4369,9 +4207,6 @@ name = "rgb" version = "0.8.52" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c6a884d2998352bb4daf0183589aec883f16a6da1f4dde84d8e2e9a5409a1ce" -dependencies = [ - "bytemuck", -] [[package]] name = "ron" @@ -4380,7 +4215,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94" dependencies = [ "base64 0.21.7", - "bitflags 2.10.0", + "bitflags 2.11.0", "serde", "serde_derive", ] @@ -4392,18 +4227,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "beceb6f7bf81c73e73aeef6dd1356d9a1b2b4909e1f0fc3e59b034f9572d7b7f" dependencies = [ "base64 0.22.1", - "bitflags 2.10.0", + "bitflags 2.11.0", "serde", "serde_derive", "unicode-ident", ] -[[package]] -name = "roxmltree" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97" - [[package]] name = "rstest" version = "0.25.0" @@ -4430,15 +4259,15 @@ dependencies = [ "regex", "relative-path", "rustc_version", - "syn 2.0.108", + "syn", "unicode-ident", ] [[package]] name = "rustc-demangle" -version = "0.1.26" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace" +checksum = "b50b8869d9fc858ce7266cce0194bd74df58b9d0e3f6df3a9fc8eb470d95c09d" [[package]] name = "rustc-hash" @@ -4467,7 +4296,7 @@ version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "errno", "libc", "linux-raw-sys 0.4.15", @@ -4476,11 +4305,11 @@ dependencies = [ [[package]] name = "rustix" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" +checksum = "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "errno", "libc", "linux-raw-sys 0.11.0", @@ -4505,30 +4334,6 @@ dependencies = [ "wait-timeout", ] -[[package]] -name = "rustybuzz" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd3c7c96f8a08ee34eff8857b11b49b07d71d1c3f4e88f8a88d4c9e9f90b1702" -dependencies = [ - "bitflags 2.10.0", - "bytemuck", - "core_maths", - "log", - "smallvec", - "ttf-parser 0.25.1", - "unicode-bidi-mirroring", - "unicode-ccc", - "unicode-properties", - "unicode-script", -] - -[[package]] -name = "ryu" -version = "1.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" - [[package]] name = "same-file" version = "1.0.6" @@ -4596,20 +4401,20 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn", ] [[package]] name = "serde_json" -version = "1.0.145" +version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" dependencies = [ "itoa", "memchr", - "ryu", "serde", "serde_core", + "zmij", ] [[package]] @@ -4631,16 +4436,7 @@ checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", -] - -[[package]] -name = "serde_spanned" -version = "0.6.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" -dependencies = [ - "serde", + "syn", ] [[package]] @@ -4662,18 +4458,19 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" -version = "1.4.6" +version = "1.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b" +checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" dependencies = [ + "errno", "libc", ] [[package]] name = "simd-adler32" -version = "0.3.7" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" +checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" [[package]] name = "simd_helpers" @@ -4686,9 +4483,9 @@ dependencies = [ [[package]] name = "simple_logger" -version = "5.1.0" +version = "5.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291bee647ce7310b0ea721bfd7e0525517b4468eb7c7e15eb8bd774343179702" +checksum = "c7038d0e96661bf9ce647e1a6f6ef6d6f3663f66d9bf741abf14ba4876071c17" dependencies = [ "colored", "log", @@ -4696,32 +4493,23 @@ dependencies = [ "windows-sys 0.61.2", ] -[[package]] -name = "simplecss" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a9c6883ca9c3c7c90e888de77b7a5c849c779d25d74a1269b0218b14e8b136c" -dependencies = [ - "log", -] - [[package]] name = "siphasher" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" +checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" [[package]] name = "slab" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" +checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" [[package]] name = "slotmap" -version = "1.0.7" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a" +checksum = "bdd58c3c93c3d278ca835519292445cb4b0d4dc59ccfdf7ceadaab3f8aeb4038" dependencies = [ "version_check", ] @@ -4731,9 +4519,6 @@ name = "smallvec" version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" -dependencies = [ - "serde", -] [[package]] name = "smithay-client-toolkit" @@ -4741,7 +4526,7 @@ version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "calloop 0.13.0", "calloop-wayland-source 0.3.0", "cursor-icon", @@ -4766,15 +4551,15 @@ version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0512da38f5e2b31201a93524adb8d3136276fa4fe4aafab4e1f727a82b534cc0" dependencies = [ - "bitflags 2.10.0", - "calloop 0.14.3", + "bitflags 2.11.0", + "calloop 0.14.4", "calloop-wayland-source 0.4.1", "cursor-icon", "libc", "log", "memmap2", - "rustix 1.1.2", - "thiserror 2.0.17", + "rustix 1.1.3", + "thiserror 2.0.18", "wayland-backend", "wayland-client", "wayland-csd-frame", @@ -4807,27 +4592,6 @@ dependencies = [ "serde", ] -[[package]] -name = "snafu" -version = "0.8.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e84b3f4eacbf3a1ce05eac6763b4d629d60cbc94d632e4092c54ade71f1e1a2" -dependencies = [ - "snafu-derive", -] - -[[package]] -name = "snafu-derive" -version = "0.8.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1c97747dbf44bb1ca44a561ece23508e99cb592e862f22222dcf42f51d1e451" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn 2.0.108", -] - [[package]] name = "spin" version = "0.9.8" @@ -4861,16 +4625,7 @@ version = "0.3.0+sdk-1.3.268.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844" dependencies = [ - "bitflags 2.10.0", -] - -[[package]] -name = "stable-vec" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1dff32a2ce087283bec878419027cebd888760d8760b2941ad0843531dc9ec8" -dependencies = [ - "no-std-compat", + "bitflags 2.11.0", ] [[package]] @@ -4890,9 +4645,6 @@ name = "strict-num" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731" -dependencies = [ - "float-cmp", -] [[package]] name = "strum" @@ -4922,7 +4674,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.108", + "syn", ] [[package]] @@ -4934,61 +4686,20 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.108", -] - -[[package]] -name = "substring" -version = "1.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ee6433ecef213b2e72f587ef64a2f5943e7cd16fbd82dbe8bc07486c534c86" -dependencies = [ - "autocfg", -] - -[[package]] -name = "svgtypes" -version = "0.15.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68c7541fff44b35860c1a7a47a7cadf3e4a304c457b58f9870d9706ece028afc" -dependencies = [ - "kurbo", - "siphasher", + "syn", ] [[package]] name = "syn" -version = "1.0.109" +version = "2.0.116" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +checksum = "3df424c70518695237746f84cede799c9c58fcb37450d7b23716568cc8bc69cb" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] -[[package]] -name = "syn" -version = "2.0.108" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da58917d35242480a05c2897064da0a80589a2a0476c9a3f2fdc83b53502e917" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn-mid" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea305d57546cc8cd04feb14b62ec84bf17f50e3f7b12560d7bfa9265f39d9ed" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "synstructure" version = "0.13.2" @@ -4997,20 +4708,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", -] - -[[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", - "version-compare", + "syn", ] [[package]] @@ -5025,22 +4723,16 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" -[[package]] -name = "target-lexicon" -version = "0.12.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" - [[package]] name = "tempfile" -version = "3.23.0" +version = "3.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16" +checksum = "0136791f7c95b1f6dd99f9cc786b91bb81c3800b639b3478e561ddb7be95e5f1" dependencies = [ "fastrand", - "getrandom 0.3.4", + "getrandom 0.4.1", "once_cell", - "rustix 1.1.2", + "rustix 1.1.3", "windows-sys 0.61.2", ] @@ -5070,11 +4762,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.17" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" +checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" dependencies = [ - "thiserror-impl 2.0.17", + "thiserror-impl 2.0.18", ] [[package]] @@ -5085,18 +4777,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn", ] [[package]] name = "thiserror-impl" -version = "2.0.17" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" +checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn", ] [[package]] @@ -5116,19 +4808,19 @@ dependencies = [ "half", "quick-error 2.0.1", "weezl", - "zune-jpeg", + "zune-jpeg 0.4.21", ] [[package]] name = "tilelib" -version = "0.1.0" -source = "git+https://github.com/BloodStainedCrow/tilelib.git#ddacebc889c872eb4146604e0f4cde1caf2c20d5" +version = "0.2.0" +source = "git+https://github.com/BloodStainedCrow/tilelib.git#a79c22ac7dd51dacb7c5e80e4fcd8ed3448a5f05" dependencies = [ "bytemuck", "egui", "egui-wgpu", "image", - "itertools 0.14.0", + "itertools", "log", "pollster", "spin_sleep_util", @@ -5138,9 +4830,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.44" +version = "0.3.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e7d9e3bb61134e77bde20dd4825b97c010155709965fedf0f49bb138e52a9d" +checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c" dependencies = [ "deranged", "itoa", @@ -5148,22 +4840,22 @@ dependencies = [ "num-conv", "num_threads", "powerfmt", - "serde", + "serde_core", "time-core", "time-macros", ] [[package]] name = "time-core" -version = "0.1.6" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b" +checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" [[package]] name = "time-macros" -version = "0.2.24" +version = "0.2.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3" +checksum = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215" dependencies = [ "num-conv", "time-core", @@ -5180,7 +4872,6 @@ dependencies = [ "bytemuck", "cfg-if", "log", - "png 0.17.16", "tiny-skia-path", ] @@ -5205,90 +4896,41 @@ dependencies = [ "zerovec", ] -[[package]] -name = "tinyvec" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - -[[package]] -name = "toml" -version = "0.8.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" -dependencies = [ - "serde", - "serde_spanned", - "toml_datetime 0.6.11", - "toml_edit 0.22.27", -] - [[package]] name = "toml_datetime" -version = "0.6.11" +version = "0.7.5+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" -dependencies = [ - "serde", -] - -[[package]] -name = "toml_datetime" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2cdb639ebbc97961c51720f858597f7f24c4fc295327923af55b74c3c724533" +checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" dependencies = [ "serde_core", ] [[package]] name = "toml_edit" -version = "0.22.27" +version = "0.23.10+spec-1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" +checksum = "84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269" dependencies = [ "indexmap", - "serde", - "serde_spanned", - "toml_datetime 0.6.11", - "winnow", -] - -[[package]] -name = "toml_edit" -version = "0.23.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6485ef6d0d9b5d0ec17244ff7eb05310113c3f316f2d14200d4de56b3cb98f8d" -dependencies = [ - "indexmap", - "toml_datetime 0.7.3", + "toml_datetime", "toml_parser", "winnow", ] [[package]] name = "toml_parser" -version = "1.0.4" +version = "1.0.9+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e" +checksum = "702d4415e08923e7e1ef96cd5727c0dfed80b4d2fa25db9647fe5eb6f7c5a4c4" dependencies = [ "winnow", ] [[package]] name = "tracing" -version = "0.1.41" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" dependencies = [ "log", "pin-project-lite", @@ -5298,38 +4940,29 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.30" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn", ] [[package]] name = "tracing-core" -version = "0.1.34" +version = "0.1.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" dependencies = [ "once_cell", ] -[[package]] -name = "ttf-parser" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c591d83f69777866b9126b24c6dd9a18351f177e49d625920d19f989fd31cf8" - [[package]] name = "ttf-parser" version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2df906b07856748fa3f6e0ad0cbaa047052d4a7dd609e231c4f72cee8c36f31" -dependencies = [ - "core_maths", -] [[package]] name = "type-map" @@ -5365,45 +4998,15 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" [[package]] name = "unicase" -version = "2.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" - -[[package]] -name = "unicode-bidi" -version = "0.3.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" - -[[package]] -name = "unicode-bidi-mirroring" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfa6e8c60bb66d49db113e0125ee8711b7647b5579dc7f5f19c42357ed039fe" - -[[package]] -name = "unicode-ccc" -version = "0.4.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce61d488bcdc9bc8b5d1772c404828b17fc481c0a582b5581e95fb233aef503e" +checksum = "dbc4bc3a9f746d862c45cb89d705aa10f187bb96c76001afab07a0d35ce60142" [[package]] name = "unicode-ident" -version = "1.0.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" - -[[package]] -name = "unicode-properties" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7df058c713841ad818f1dc5d3fd88063241cc61f49f5fbea4b951e8cf5a8d71d" - -[[package]] -name = "unicode-script" -version = "0.5.7" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb421b350c9aff471779e262955939f565ec18b86c15364e6bdf0d662ca7c1f" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" [[package]] name = "unicode-segmentation" @@ -5411,18 +5014,18 @@ version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" -[[package]] -name = "unicode-vo" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1d386ff53b415b7fe27b50bb44679e2cc4660272694b7b6f3326d8480823a94" - [[package]] name = "unicode-width" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" +[[package]] +name = "unicode-xid" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" + [[package]] name = "unty" version = "0.0.4" @@ -5431,9 +5034,9 @@ checksum = "6d49784317cd0d1ee7ec5c716dd598ec5b4483ea832a2dced265471cc0f690ae" [[package]] name = "url" -version = "2.5.7" +version = "2.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" dependencies = [ "form_urlencoded", "idna", @@ -5441,39 +5044,6 @@ dependencies = [ "serde", ] -[[package]] -name = "urlencoding" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" - -[[package]] -name = "usvg" -version = "0.45.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80be9b06fbae3b8b303400ab20778c80bbaf338f563afe567cf3c9eea17b47ef" -dependencies = [ - "base64 0.22.1", - "data-url", - "flate2", - "fontdb", - "imagesize", - "kurbo", - "log", - "pico-args", - "roxmltree", - "rustybuzz", - "simplecss", - "siphasher", - "strict-num", - "svgtypes", - "tiny-skia-path", - "unicode-bidi", - "unicode-script", - "unicode-vo", - "xmlwriter", -] - [[package]] name = "utf8_iter" version = "1.0.4" @@ -5482,12 +5052,12 @@ checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" [[package]] name = "uuid" -version = "1.18.1" +version = "1.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2" +checksum = "b672338555252d43fd2240c714dc444b8c6fb0a5c5335e65a07bba7742735ddb" dependencies = [ "js-sys", - "serde", + "serde_core", "wasm-bindgen", ] @@ -5514,12 +5084,6 @@ version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eab68b56840f69efb0fefbe3ab6661499217ffdc58e2eef7c3f6f69835386322" -[[package]] -name = "version-compare" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c2856837ef78f57382f06b2b8563a2f512f7185d732608fd9176cb3b8edf0e" - [[package]] name = "version_check" version = "0.9.5" @@ -5559,18 +5123,27 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasip2" -version = "1.0.1+wasi-0.2.4" +version = "1.0.2+wasi-0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" +checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" +dependencies = [ + "wit-bindgen", +] + +[[package]] +name = "wasip3" +version = "0.4.0+wasi-0.3.0-rc-2026-01-06" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" dependencies = [ "wit-bindgen", ] [[package]] name = "wasm-bindgen" -version = "0.2.105" +version = "0.2.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60" +checksum = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566" dependencies = [ "cfg-if", "once_cell", @@ -5581,11 +5154,12 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.55" +version = "0.4.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "551f88106c6d5e7ccc7cd9a16f312dd3b5d36ea8b4954304657d5dfba115d4a0" +checksum = "70a6e77fd0ae8029c9ea0063f87c46fde723e7d887703d74ad2616d792e51e6f" dependencies = [ "cfg-if", + "futures-util", "js-sys", "once_cell", "wasm-bindgen", @@ -5594,9 +5168,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.105" +version = "0.2.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2" +checksum = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -5604,26 +5178,48 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.105" +version = "0.2.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc" +checksum = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55" dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn 2.0.108", + "syn", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.105" +version = "0.2.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76" +checksum = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12" dependencies = [ "unicode-ident", ] +[[package]] +name = "wasm-encoder" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +dependencies = [ + "leb128fmt", + "wasmparser", +] + +[[package]] +name = "wasm-metadata" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +dependencies = [ + "anyhow", + "indexmap", + "wasm-encoder", + "wasmparser", +] + [[package]] name = "wasm-timer" version = "0.2.5" @@ -5639,15 +5235,27 @@ dependencies = [ "web-sys", ] +[[package]] +name = "wasmparser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" +dependencies = [ + "bitflags 2.11.0", + "hashbrown 0.15.5", + "indexmap", + "semver", +] + [[package]] name = "wayland-backend" -version = "0.3.11" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "673a33c33048a5ade91a6b139580fa174e19fb0d23f396dca9fa15f2e1e49b35" +checksum = "fee64194ccd96bf648f42a65a7e589547096dfa702f7cadef84347b66ad164f9" dependencies = [ "cc", "downcast-rs", - "rustix 1.1.2", + "rustix 1.1.3", "scoped-tls", "smallvec", "wayland-sys", @@ -5655,12 +5263,12 @@ dependencies = [ [[package]] name = "wayland-client" -version = "0.31.11" +version = "0.31.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c66a47e840dc20793f2264eb4b3e4ecb4b75d91c0dd4af04b456128e0bdd449d" +checksum = "b8e6faa537fbb6c186cb9f1d41f2f811a4120d1b57ec61f50da451a0c5122bec" dependencies = [ - "bitflags 2.10.0", - "rustix 1.1.2", + "bitflags 2.11.0", + "rustix 1.1.3", "wayland-backend", "wayland-scanner", ] @@ -5671,29 +5279,29 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "cursor-icon", "wayland-backend", ] [[package]] name = "wayland-cursor" -version = "0.31.11" +version = "0.31.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "447ccc440a881271b19e9989f75726d60faa09b95b0200a9b7eb5cc47c3eeb29" +checksum = "5864c4b5b6064b06b1e8b74ead4a98a6c45a285fe7a0e784d24735f011fdb078" dependencies = [ - "rustix 1.1.2", + "rustix 1.1.3", "wayland-client", "xcursor", ] [[package]] name = "wayland-protocols" -version = "0.32.9" +version = "0.32.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efa790ed75fbfd71283bd2521a1cfdc022aabcc28bdcff00851f9e4ae88d9901" +checksum = "baeda9ffbcfc8cd6ddaade385eaf2393bd2115a69523c735f12242353c3df4f3" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "wayland-backend", "wayland-client", "wayland-scanner", @@ -5705,7 +5313,7 @@ version = "20250721.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40a1f863128dcaaec790d7b4b396cc9b9a7a079e878e18c47e6c2d2c5a8dcbb1" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -5714,11 +5322,11 @@ dependencies = [ [[package]] name = "wayland-protocols-misc" -version = "0.3.9" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dfe33d551eb8bffd03ff067a8b44bb963919157841a99957151299a6307d19c" +checksum = "791c58fdeec5406aa37169dd815327d1e47f334219b523444bc26d70ceb4c34e" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -5727,11 +5335,11 @@ dependencies = [ [[package]] name = "wayland-protocols-plasma" -version = "0.3.9" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a07a14257c077ab3279987c4f8bb987851bf57081b93710381daea94f2c2c032" +checksum = "aa98634619300a535a9a97f338aed9a5ff1e01a461943e8346ff4ae26007306b" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -5740,11 +5348,11 @@ dependencies = [ [[package]] name = "wayland-protocols-wlr" -version = "0.3.9" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efd94963ed43cf9938a090ca4f7da58eb55325ec8200c3848963e98dc25b78ec" +checksum = "e9597cdf02cf0c34cd5823786dce6b5ae8598f05c2daf5621b6e178d4f7345f3" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -5753,20 +5361,20 @@ dependencies = [ [[package]] name = "wayland-scanner" -version = "0.31.7" +version = "0.31.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54cb1e9dc49da91950bdfd8b848c49330536d9d1fb03d4bfec8cae50caa50ae3" +checksum = "5423e94b6a63e68e439803a3e153a9252d5ead12fd853334e2ad33997e3889e3" dependencies = [ "proc-macro2", - "quick-xml 0.37.5", + "quick-xml", "quote", ] [[package]] name = "wayland-sys" -version = "0.31.7" +version = "0.31.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34949b42822155826b41db8e5d0c1be3a2bd296c747577a43a3e6daefc296142" +checksum = "1e6dbfc3ac5ef974c92a2235805cc0114033018ae1290a72e474aa8b28cbbdfd" dependencies = [ "dlib", "log", @@ -5776,19 +5384,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.82" +version = "0.3.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a1f95c0d03a47f4ae1f7a64643a6bb97465d9b740f0fa8f90ea33915c99a9a1" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "web-time" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa30049b1c872b72c89866d458eae9f20380ab280ffd1b1e18df2d3e2d98cfe0" +checksum = "312e32e551d92129218ea9a2452120f4aabc03529ef03e4d0d82fb2780608598" dependencies = [ "js-sys", "wasm-bindgen", @@ -5806,9 +5404,9 @@ dependencies = [ [[package]] name = "webbrowser" -version = "1.0.6" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00f1243ef785213e3a32fa0396093424a3a6ea566f9948497e5a2309261a4c97" +checksum = "3f00bb839c1cf1e3036066614cbdcd035ecf215206691ea646aa3c60a24f68f2" dependencies = [ "core-foundation 0.10.1", "jni", @@ -5822,9 +5420,9 @@ dependencies = [ [[package]] name = "weezl" -version = "0.1.10" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a751b3277700db47d3e574514de2eced5e54dc8a5436a3bf7a0b248b2cee16f3" +checksum = "a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88" [[package]] name = "wgpu" @@ -5833,7 +5431,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec8fb398f119472be4d80bc3647339f56eb63b2a331f6a3d16e25d8144197dd9" dependencies = [ "arrayvec", - "bitflags 2.10.0", + "bitflags 2.11.0", "cfg_aliases", "document-features", "hashbrown 0.15.5", @@ -5863,7 +5461,7 @@ dependencies = [ "arrayvec", "bit-set", "bit-vec", - "bitflags 2.10.0", + "bitflags 2.11.0", "cfg_aliases", "document-features", "hashbrown 0.15.5", @@ -5877,7 +5475,7 @@ dependencies = [ "raw-window-handle", "rustc-hash 1.1.0", "smallvec", - "thiserror 2.0.17", + "thiserror 2.0.18", "wgpu-core-deps-apple", "wgpu-core-deps-emscripten", "wgpu-core-deps-wasm", @@ -5932,7 +5530,7 @@ dependencies = [ "arrayvec", "ash", "bit-set", - "bitflags 2.10.0", + "bitflags 2.11.0", "block", "bytemuck", "cfg-if", @@ -5961,7 +5559,7 @@ dependencies = [ "raw-window-handle", "renderdoc-sys", "smallvec", - "thiserror 2.0.17", + "thiserror 2.0.18", "wasm-bindgen", "web-sys", "wgpu-types", @@ -5975,11 +5573,11 @@ version = "25.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2aa49460c2a8ee8edba3fca54325540d904dd85b2e086ada762767e17d06e8bc" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "bytemuck", "js-sys", "log", - "thiserror 2.0.17", + "thiserror 2.0.18", "web-sys", ] @@ -6110,7 +5708,7 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn", ] [[package]] @@ -6121,7 +5719,7 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn", ] [[package]] @@ -6132,7 +5730,7 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn", ] [[package]] @@ -6143,7 +5741,7 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn", ] [[package]] @@ -6472,7 +6070,7 @@ dependencies = [ "ahash", "android-activity", "atomic-waker", - "bitflags 2.10.0", + "bitflags 2.11.0", "block2 0.5.1", "bytemuck", "calloop 0.13.0", @@ -6508,7 +6106,7 @@ dependencies = [ "wayland-protocols", "wayland-protocols-plasma", "web-sys", - "web-time 1.1.0", + "web-time", "windows-sys 0.52.0", "x11-dl", "x11rb", @@ -6517,18 +6115,100 @@ dependencies = [ [[package]] name = "winnow" -version = "0.7.13" +version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" +checksum = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" dependencies = [ "memchr", ] [[package]] name = "wit-bindgen" -version = "0.46.0" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" +dependencies = [ + "wit-bindgen-rust-macro", +] + +[[package]] +name = "wit-bindgen-core" +version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" +checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" +dependencies = [ + "anyhow", + "heck", + "wit-parser", +] + +[[package]] +name = "wit-bindgen-rust" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" +dependencies = [ + "anyhow", + "heck", + "indexmap", + "prettyplease", + "syn", + "wasm-metadata", + "wit-bindgen-core", + "wit-component", +] + +[[package]] +name = "wit-bindgen-rust-macro" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +dependencies = [ + "anyhow", + "prettyplease", + "proc-macro2", + "quote", + "syn", + "wit-bindgen-core", + "wit-bindgen-rust", +] + +[[package]] +name = "wit-component" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +dependencies = [ + "anyhow", + "bitflags 2.11.0", + "indexmap", + "log", + "serde", + "serde_derive", + "serde_json", + "wasm-encoder", + "wasm-metadata", + "wasmparser", + "wit-parser", +] + +[[package]] +name = "wit-parser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" +dependencies = [ + "anyhow", + "id-arena", + "indexmap", + "log", + "semver", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", + "wasmparser", +] [[package]] name = "writeable" @@ -6567,7 +6247,7 @@ dependencies = [ "libc", "libloading", "once_cell", - "rustix 1.1.2", + "rustix 1.1.3", "x11rb-protocol", ] @@ -6589,7 +6269,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "dlib", "log", "once_cell", @@ -6609,10 +6289,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3ae8337f8a065cfc972643663ea4279e04e7256de865aa66fe25cec5fb912d3f" [[package]] -name = "xmlwriter" -version = "0.1.0" +name = "y4m" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec7a2a501ed189703dba8b08142f057e887dfc4b2cc4db2d343ac6376ba3e0b9" +checksum = "7a5a4b21e1a62b67a2970e6831bc091d7b87e119e7f9791aef9702e3bef04448" [[package]] name = "yoke" @@ -6633,15 +6313,15 @@ checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn", "synstructure", ] [[package]] name = "zbus" -version = "5.12.0" +version = "5.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b622b18155f7a93d1cd2dc8c01d2d6a44e08fb9ebb7b3f9e6ed101488bad6c91" +checksum = "1bfeff997a0aaa3eb20c4652baf788d2dfa6d2839a0ead0b3ff69ce2f9c4bdd1" dependencies = [ "async-broadcast", "async-executor", @@ -6657,8 +6337,9 @@ dependencies = [ "futures-core", "futures-lite", "hex", - "nix", + "libc", "ordered-stream", + "rustix 1.1.3", "serde", "serde_repr", "tracing", @@ -6673,9 +6354,9 @@ dependencies = [ [[package]] name = "zbus-lockstep" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29e96e38ded30eeab90b6ba88cb888d70aef4e7489b6cd212c5e5b5ec38045b6" +checksum = "6998de05217a084b7578728a9443d04ea4cd80f2a0839b8d78770b76ccd45863" dependencies = [ "zbus_xml", "zvariant", @@ -6683,13 +6364,13 @@ dependencies = [ [[package]] name = "zbus-lockstep-macros" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc6821851fa840b708b4cbbaf6241868cabc85a2dc22f426361b0292bfc0b836" +checksum = "10da05367f3a7b7553c8cdf8fa91aee6b64afebe32b51c95177957efc47ca3a0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn", "zbus-lockstep", "zbus_xml", "zvariant", @@ -6697,14 +6378,14 @@ dependencies = [ [[package]] name = "zbus_macros" -version = "5.12.0" +version = "5.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cdb94821ca8a87ca9c298b5d1cbd80e2a8b67115d99f6e4551ac49e42b6a314" +checksum = "0bbd5a90dbe8feee5b13def448427ae314ccd26a49cac47905cafefb9ff846f1" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.108", + "syn", "zbus_names", "zvariant", "zvariant_utils", @@ -6712,47 +6393,45 @@ dependencies = [ [[package]] name = "zbus_names" -version = "4.2.0" +version = "4.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7be68e64bf6ce8db94f63e72f0c7eb9a60d733f7e0499e628dfab0f84d6bcb97" +checksum = "ffd8af6d5b78619bab301ff3c560a5bd22426150253db278f164d6cf3b72c50f" dependencies = [ "serde", - "static_assertions", "winnow", "zvariant", ] [[package]] name = "zbus_xml" -version = "5.0.2" +version = "5.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589e9a02bfafb9754bb2340a9e3b38f389772684c63d9637e76b1870377bec29" +checksum = "441a0064125265655bccc3a6af6bef56814d9277ac83fce48b1cd7e160b80eac" dependencies = [ - "quick-xml 0.36.2", + "quick-xml", "serde", - "static_assertions", "zbus_names", "zvariant", ] [[package]] name = "zerocopy" -version = "0.8.27" +version = "0.8.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c" +checksum = "db6d35d663eadb6c932438e763b262fe1a70987f9ae936e60158176d710cae4a" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.27" +version = "0.8.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" +checksum = "4122cd3169e94605190e77839c9a40d40ed048d305bfdc146e7df40ab0f3e517" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn", ] [[package]] @@ -6772,7 +6451,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn", "synstructure", ] @@ -6806,14 +6485,20 @@ checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn", ] [[package]] name = "zlib-rs" -version = "0.5.2" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c745c48e1007337ed136dc99df34128b9faa6ed542d80a1c673cf55a6d7236c8" + +[[package]] +name = "zmij" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f06ae92f42f5e5c42443fd094f245eb656abf56dd7cce9b8b263236565e00f2" +checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" [[package]] name = "zune-core" @@ -6821,6 +6506,12 @@ version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a" +[[package]] +name = "zune-core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb8a0807f7c01457d0379ba880ba6322660448ddebc890ce29bb64da71fb40f9" + [[package]] name = "zune-inflate" version = "0.2.54" @@ -6836,19 +6527,27 @@ version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29ce2c8a9384ad323cf564b67da86e21d3cfdff87908bc1223ed5c99bc792713" dependencies = [ - "zune-core", + "zune-core 0.4.12", +] + +[[package]] +name = "zune-jpeg" +version = "0.5.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "410e9ecef634c709e3831c2cfdb8d9c32164fae1c67496d5b68fff728eec37fe" +dependencies = [ + "zune-core 0.5.1", ] [[package]] name = "zvariant" -version = "5.8.0" +version = "5.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2be61892e4f2b1772727be11630a62664a1826b62efa43a6fe7449521cb8744c" +checksum = "68b64ef4f40c7951337ddc7023dd03528a57a3ce3408ee9da5e948bd29b232c4" dependencies = [ "endi", "enumflags2", "serde", - "url", "winnow", "zvariant_derive", "zvariant_utils", @@ -6856,26 +6555,26 @@ dependencies = [ [[package]] name = "zvariant_derive" -version = "5.8.0" +version = "5.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da58575a1b2b20766513b1ec59d8e2e68db2745379f961f86650655e862d2006" +checksum = "484d5d975eb7afb52cc6b929c13d3719a20ad650fea4120e6310de3fc55e415c" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.108", + "syn", "zvariant_utils", ] [[package]] name = "zvariant_utils" -version = "3.2.1" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6949d142f89f6916deca2232cf26a8afacf2b9fdc35ce766105e104478be599" +checksum = "f75c23a64ef8f40f13a6989991e643554d9bef1d682a281160cf0c1bc389c5e9" dependencies = [ "proc-macro2", "quote", "serde", - "syn 2.0.108", + "syn", "winnow", ] diff --git a/Cargo.toml b/Cargo.toml index 9b0d06b..8507b2e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,9 +1,8 @@ # cargo-features = ["codegen-backend"] [package] name = "factory" -version = "0.2.0" +version = "0.3.0" edition = "2024" -rust-version = "1.85" build = "build.rs" @@ -15,65 +14,69 @@ image = { version = "0.25.5", optional = true } log = "0.4.25" simple_logger = {version = "5.0.0", optional = true } rayon = "1.10.0" -serde = { version = "1.0.217", features = ["derive"], default-features = false } +serde = { version = "1.0.217", features = ["derive", "rc"] } directories = "6.0.0" ron = "0.8.1" take_mut = "0.2.2" static_assertions = "1.1.0" itertools = "0.14.0" -genawaiter = "0.99.1" petgraph = { version = "0.8.2", features = ["rayon", "serde", "serde-1", "serde_derive"] } sha2 = "0.10.8" hex = "0.4.3" postcard = { version = "1.1.1", features = ["use-std"] } -charts-rs = { version = "0.3.20", features = ["resvg"] } strum = { version = "0.27.1", features = ["derive"] } +# explicitly disable atomic feature, so that bitvecs do not use atomic instructions. very important for performance! bitvec = { version = "1.0.1", features = ["alloc", "serde", "std"], default-features = false } bimap = { version = "0.6.3", features = ["serde", "std"], default-features = false } -eframe = { version = "0.31.1", features = ["accesskit", "default_fonts", "wayland", "web_screen_reader", "x11", "wgpu"], optional = true, default-features = false } +eframe = { version = "0.32", features = ["accesskit", "default_fonts", "wayland", "web_screen_reader", "x11", "wgpu"], optional = true, default-features = false } wgpu = { version = "25.0.2", features = ["webgl"] } -egui_extras = { version = "0.31.1", optional = true } -egui_plot = { version = "0.32.1", optional = true } -rand = "0.8.5" +egui_extras = { version = "0.32", optional = true } +egui_plot = { version = "0.33", optional = true } +rand = "0.9.0" bitcode = { version = "0.6.6", features = ["serde"] } -egui = { version = "0.31.1", features = ["bytemuck", "serde"], optional = true } +egui = { version = "0.32", features = ["bytemuck", "serde"], optional = true } flate2 = { version = "1.1.1", features = ["zlib-rs"] } -rstest = "0.25.0" -parking_lot = { version = "0.12.3", features = ["serde", "deadlock_detection"] } +parking_lot = { version = "0.12.3", features = ["serde"] } profiling = { version = "1.0.16" } -puffin_egui = { version = "0.29", optional = true } -puffin = { version = "0.19", features = ["web"] } -dhat = "0.3.3" +puffin_egui = { git = "https://github.com/EmbarkStudios/puffin", optional = true } +puffin = { git = "https://github.com/EmbarkStudios/puffin", features = ["web"] } +dhat = {version = "0.3.3", optional = true } noise = { version = "0.9.0", features = ["std"] } -rfd = { version = "0.15.3", optional = true } -egui_graphs = { version = "0.25.1", optional = true } +rfd = { version = "0.17", optional = true } +egui_graphs = { version = "0.28", optional = true } serde_path_to_error = "0.1.17" get-size2 = { version = "0.7.1", features = ["derive"], optional = true } egui-show-info = { git = "https://github.com/BloodStainedCrow/egui-show-info", features = ["petgraph", "parking_lot", "enum-map", "bimap"], optional = true } egui-show-info-derive = { git = "https://github.com/BloodStainedCrow/egui-show-info", optional = true } bytemuck = "1.23.1" -# ph = "0.9.6" memoffset = "0.9.1" -smallvec = { version = "1.15.1", features = ["serde"] } -ecolor = { version = "0.31.1", features = ["color-hex"] } +ecolor = { version = "0.32", features = ["color-hex"] } getrandom = { version = "0.3.3", features = ["wasm_js"] } -getrandom_old = { version = "0.2.16", features = ["js"], package = "getrandom" } wasm-bindgen = "0.2.104" wasm-bindgen-futures = "0.4.54" wasm-timer = "0.2.5" bincode = { version = "2.0.1", features = ["serde"] } thin-dst = "1.1.0" -stable-vec = "0.4.1" recycle_vec = "1.1.2" -fork = "0.3.0" -libc = { version = "0.2.177", default-features = false } -interprocess = "2.2.3" -fixed-buffer = "1.0.2" base64 = "0.22.1" mimalloc = { version = "0.1.48", features = ["v3"] } rustc-hash = "2.1.1" +chrono = { version = "0.4.42", features = ["serde"] } +rand_xoshiro = "0.7.0" +url = "2.5.7" +args = "2.2.0" +console_error_panic_hook = "0.1.7" +fixedbitset = "0.5.7" +convert_case = "0.11.0" + +# These are all the dependencies which do not work on wasm +[target.'cfg(not(target_arch = "wasm32"))'.dependencies] +libc = { version = "0.2.177", default-features = false } +interprocess = { version = "2.2.3" } +fork = "0.3.0" +open = "5.3.3" [build-dependencies] built = {version = "0.8", features= ["git2", "chrono"]} @@ -81,14 +84,11 @@ built = {version = "0.8", features= ["git2", "chrono"]} [dev-dependencies] winit = "0.30.12" proptest = "1.4.0" +rstest = "0.25.0" [patch.crates-io] -puffin_egui = { git = "https://github.com/BloodStainedCrow/puffin" } -puffin = { git = "https://github.com/BloodStainedCrow/puffin" } -egui = { git = "https://github.com/BloodStainedCrow/egui", rev = "4e11a02" } -eframe = { git = "https://github.com/BloodStainedCrow/egui", rev = "4e11a02" } -ecolor = { git = "https://github.com/BloodStainedCrow/egui", rev = "4e11a02" } -egui-wgpu = { git = "https://github.com/BloodStainedCrow/egui", rev = "4e11a02" } +puffin_egui = { git = "https://github.com/EmbarkStudios/puffin", optional = true } +puffin = { git = "https://github.com/EmbarkStudios/puffin" } egui_graphs = { git = "https://github.com/BloodStainedCrow/egui_graphs", branch = "tree_layout" } petgraph = { git = "https://github.com/BloodStainedCrow/petgraph", branch = "stable_graph_node_weights_mut_indexed" } @@ -106,7 +106,6 @@ match_same_arms = { level = "deny", priority = -1 } redundant_closure_for_method_calls = { level = "allow", priority = 1 } suboptimal_flops = { level = "allow", priority = 1 } module_name_repetitions = { level = "allow", priority = 1 } -# lto = true [profile.release-with-debug] inherits = "release" @@ -130,11 +129,14 @@ incremental = true # codegen-units = 1 [features] -default = ["profiler", "graphics", "client", "logging"] -# Use Krastorio2 graphics. Since I have not properly added licensing information, I currently do not push them, therefore this feature is broken +default = ["profiler", "graphics", "client", "logging", "replay"] +# Use Krastorio2 graphics. graphics = [] # dhat-rs memory profiling (https://docs.rs/dhat/latest/dhat/) -dhat-heap = [] +dhat-heap = [ "dhat" ] profiler = ["profiling/profile-with-puffin"] client = [ "dep:eframe", "dep:egui", "dep:egui_extras", "dep:egui_plot", "dep:puffin_egui", "dep:egui_graphs", "dep:egui-show-info", "dep:egui-show-info-derive", "dep:tilelib", "dep:image", "dep:rfd", "dep:get-size2"] logging = ["simple_logger"] +debug-stat-gathering = [] +assembler-craft-tracking = [] +replay = [] diff --git a/README.md b/README.md index c19a723..46ce074 100644 --- a/README.md +++ b/README.md @@ -1,44 +1,37 @@ # What is this? -This project is an academic recreation of the factory game [Factorio](https://www.factorio.com/) taking additional ideas from [Dyson Sphere Program](https://store.steampowered.com/app/1366540/Dyson_Sphere_Program/). +This project is an academic recreation of the factory game [Factorio](https://www.factorio.com/). -I created it as an exercise to see how far I could optimize the basic concepts and algorithms of the genre in terms of performance, while allowing myself minor changes to the games' rules. +I created it as an exercise to see how far I could optimize the basic mechanics and algorithms of the genre in terms of performance. Another goal that emerged along the way, was learning about the way modern CPUs actually work. -# Roadmap -Currently I adding beacons and thinking about how to efficiently add logistics bots. Then I want to build a comprehensive suit of benchmark test to show if/by how much I was able to improve performance. - # Why did you start? -I was playing the above games and started being unable to expand due to performance issues. So in my hubris I declared: "How hard can it be?". - -## TODOS -- ~~Place Power Production~~ -- ~~Blueprints so I can actually do perf tests~~ -- ~~Permanently running replay system, so I can easily recreate crashes~~ -- ~~Test harness for replays, to ensure they do not crash~~ -- ~~Automatic insertion limit~~ -- ~~Assembler Module Support~~ -- ~~World listener support (i.e. update whenever something changes in the world, for power, beacons and inserters)~~ -- Lazy Terrain Generation -- ~~Assembler Module Frontend~~ -- ~~Assembler Power Consumption Modifier Support~~ -- ~~Beacons~~ -- ~~FIX Beacon Flicker due to lowering power consumption when beacons are unpowered~~ -- ~~Storage Storage Inserters~~ -- ~~Science Consumption in Labs~~ -- ~~Inserter connections to labs~~ -- ~~Debug inserters~~ -- ~~Production Graphs~~ -- ~~Liquids~~ -- ~~Map View~~ -- ~~Technology~~ -- Mining Drills -- ~~Underground belts~~ -- Fix Underground Pipe connection breaking/overlap -- Place Steam Turbines -- ~~Splitters~~ -- Allow Belts of different types to connect to one another -- Decide if I want beacons to match factorio behaviour or keep the hard switch on/off -- ~~Ore Generation~~ -- Add tile requirements for buildings/recipes (for offshore pump) -- Bots -- MAYBE: A canonical version of the simulation that can be used for diff testing (and as some weird documentation of the mechanics I suppose) \ No newline at end of file +I was playing Factorio and started being unable to expand due to performance issues. So in my hubris I declared: "How hard can it be?". +I hope that the next person with this thought can find this project, and build on the ideas I have had and continue to push the performance. + +# Current State +Most logic for the basic building blocks of factories are working. This allowed me to recreate a Factorio base, giving me a point for performance comparison. +I was able to run a base comprised of 60 copies of [this](https://factoriobox.1au.us/map/view/2824bc1566bd95b5825baf3bd2eb8fa32de8397526464f5a0327bcb82d64ebf8/#1/nauvis/15/2942/1158/0/447) Factorio Megabase by Smurphy (a single of which Factorio runs at ~40 UPS) at 60 UPS on my machine (Intel 12400F CPU with DDR4 3600 MT/s RAM). + +### Megabase (40k SPM) with Solar + +### Gigabase (60x Megabase, 2.4M SPM) + + +### Machines Producing Stuff + + + +# Running it +If you only want to try it out, a web based build is available on [my website](https://aschhoff.de/projects). The performance of running in the browser is not amazing (mainly due to the browser being limited to a single thread), but it should still be able to run a 40k SPM Megabase without issue. +WASM being limited to 4GB of RAM also limits the size of the factories. + +For the best experience, I advise using the native build. +It should run on Linux, Windows, MacOS as WASM (Though only Linux and WASM are tested regularly). Assuming you have [rust and cargo](https://rust-lang.org), just `cargo run --release`. On NixOS the included `flake.nix` contains the program packaged for nix, or a devshell with my VSCodium based development environment. + +# How it works +I am currently working on a writeup, explaining how I designed this project and what decisions lead me to this level of performance, and which decisions I regret and might change in the future. +This writeup will be available [here](https://aschhoff.de/blog/factory-game) as soon as it is done. + +# Attributions +I am not affiliated with Wube and Factorio in any way. I am just a fan, being nerdsniped by their excellent game. +All graphics used with the `graphics` feature are from the Factorio Mod [Krastorio 2 Assets](https://codeberg.org/raiguard/Krastorio2Assets). \ No newline at end of file diff --git a/codium.nix b/codium.nix deleted file mode 100644 index 99b1a4d..0000000 --- a/codium.nix +++ /dev/null @@ -1,28 +0,0 @@ -let - nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions"; - pkgs = import (fetchTarball("https://github.com/NixOS/nixpkgs/archive/1750f3c1c89488e2ffdd47cab9d05454dddfb734.tar.gz")) { }; - addr2linePkg = pkgs.callPackage ./addr2line-rs/default.nix {}; -in -pkgs.mkShell { - buildInputs = [ - ] ++ (with pkgs; [ - bacon - - (vscode-with-extensions.override { - vscode = vscodium; - vscodeExtensions = with vscode-extensions; [ - rust-lang.rust-analyzer - vadimcn.vscode-lldb - gruntfuggly.todo-tree - a5huynh.vscode-ron - ]; - }) - - addr2linePkg - ]); - RUST_BACKTRACE = 1; - - shellHook = '' - export PATH=${addr2linePkg}/bin:$PATH - ''; -} \ No newline at end of file diff --git a/crash_replays/001.rep.ron b/crash_replays/001.rep.ron new file mode 100644 index 0000000..eb24d74 --- /dev/null +++ b/crash_replays/001.rep.ron @@ -0,0 +1 @@ +(program_info:(game_version:"2bed72c",git_dirty:true,mod_sha:"CAB095682E37B9E01477714A53608B1A73646A70C4E1560D8C437464F8AF7628",mod_list:[]),generation_info:(example_idx:0,example_settings:[]),actions:[(timestamp:77,action:Position(player:"0",pos:(1600.0,1599.5834))),(timestamp:78,action:Position(player:"0",pos:(1600.0,1599.1667))),(timestamp:79,action:Position(player:"0",pos:(1600.0,1598.7501))),(timestamp:80,action:Position(player:"0",pos:(1600.0,1598.3335))),(timestamp:81,action:Position(player:"0",pos:(1600.0,1597.9169))),(timestamp:82,action:Position(player:"0",pos:(1600.0,1597.5002))),(timestamp:83,action:Position(player:"0",pos:(1600.0,1597.0836))),(timestamp:84,action:Position(player:"0",pos:(1600.0,1596.667))),(timestamp:85,action:Position(player:"0",pos:(1600.0,1596.2504))),(timestamp:86,action:Position(player:"0",pos:(1600.0,1595.8337))),(timestamp:87,action:Position(player:"0",pos:(1600.0,1595.4171))),(timestamp:88,action:Position(player:"0",pos:(1600.0,1595.0005))),(timestamp:89,action:Position(player:"0",pos:(1600.0,1594.5839))),(timestamp:90,action:Position(player:"0",pos:(1600.0,1594.1672))),(timestamp:91,action:Position(player:"0",pos:(1600.4166,1593.7506))),(timestamp:92,action:Position(player:"0",pos:(1600.8333,1593.334))),(timestamp:93,action:Position(player:"0",pos:(1601.2499,1592.9174))),(timestamp:94,action:Position(player:"0",pos:(1601.6665,1592.5007))),(timestamp:95,action:Position(player:"0",pos:(1602.0831,1592.0841))),(timestamp:96,action:Position(player:"0",pos:(1602.4998,1591.6675))),(timestamp:97,action:Position(player:"0",pos:(1602.9164,1591.2509))),(timestamp:98,action:Position(player:"0",pos:(1603.333,1590.8342))),(timestamp:99,action:Position(player:"0",pos:(1603.7496,1590.4176))),(timestamp:100,action:Position(player:"0",pos:(1604.1663,1590.001))),(timestamp:101,action:Position(player:"0",pos:(1604.5829,1590.001))),(timestamp:102,action:Position(player:"0",pos:(1604.9995,1590.001))),(timestamp:109,action:Position(player:"0",pos:(1604.9995,1590.4176))),(timestamp:110,action:Position(player:"0",pos:(1604.9995,1590.8342))),(timestamp:111,action:Position(player:"0",pos:(1604.9995,1591.2509))),(timestamp:112,action:Position(player:"0",pos:(1604.5829,1591.6675))),(timestamp:113,action:Position(player:"0",pos:(1604.1663,1592.0841))),(timestamp:114,action:Position(player:"0",pos:(1603.7496,1592.5007))),(timestamp:115,action:Position(player:"0",pos:(1603.333,1592.9174))),(timestamp:116,action:Position(player:"0",pos:(1602.9164,1593.334))),(timestamp:117,action:Position(player:"0",pos:(1602.4998,1593.7506))),(timestamp:118,action:Position(player:"0",pos:(1602.0831,1594.1672))),(timestamp:119,action:Position(player:"0",pos:(1601.6665,1594.5839))),(timestamp:120,action:Position(player:"0",pos:(1601.2499,1595.0005))),(timestamp:121,action:Position(player:"0",pos:(1600.8333,1595.4171))),(timestamp:122,action:Position(player:"0",pos:(1600.4166,1595.8337))),(timestamp:123,action:Position(player:"0",pos:(1600.0,1596.2504))),(timestamp:124,action:Position(player:"0",pos:(1599.5834,1596.667))),(timestamp:125,action:Position(player:"0",pos:(1599.1667,1597.0836))),(timestamp:126,action:Position(player:"0",pos:(1598.7501,1597.5002))),(timestamp:127,action:Position(player:"0",pos:(1598.3335,1597.9169))),(timestamp:128,action:Position(player:"0",pos:(1597.9169,1598.3335))),(timestamp:129,action:Position(player:"0",pos:(1597.5002,1598.7501))),(timestamp:130,action:Position(player:"0",pos:(1597.0836,1598.7501))),(timestamp:131,action:Position(player:"0",pos:(1596.667,1598.7501))),(timestamp:132,action:Position(player:"0",pos:(1596.2504,1598.7501))),(timestamp:133,action:Position(player:"0",pos:(1595.8337,1598.7501))),(timestamp:134,action:Position(player:"0",pos:(1595.4171,1598.7501))),(timestamp:135,action:Position(player:"0",pos:(1595.0005,1598.7501))),(timestamp:164,action:Position(player:"0",pos:(1595.0005,1598.3335))),(timestamp:165,action:Position(player:"0",pos:(1595.0005,1597.9169))),(timestamp:166,action:Position(player:"0",pos:(1595.0005,1597.5002))),(timestamp:167,action:Position(player:"0",pos:(1595.0005,1597.0836))),(timestamp:168,action:Position(player:"0",pos:(1595.0005,1596.667))),(timestamp:169,action:Position(player:"0",pos:(1595.0005,1596.2504))),(timestamp:170,action:Position(player:"0",pos:(1595.0005,1595.8337))),(timestamp:171,action:Position(player:"0",pos:(1595.0005,1595.4171))),(timestamp:172,action:Position(player:"0",pos:(1595.4171,1595.0005))),(timestamp:173,action:Position(player:"0",pos:(1595.8337,1594.5839))),(timestamp:174,action:Position(player:"0",pos:(1596.2504,1594.1672))),(timestamp:175,action:Position(player:"0",pos:(1596.667,1593.7506))),(timestamp:176,action:Position(player:"0",pos:(1597.0836,1593.334))),(timestamp:177,action:Position(player:"0",pos:(1597.5002,1592.9174))),(timestamp:178,action:Position(player:"0",pos:(1597.9169,1592.5007))),(timestamp:179,action:Position(player:"0",pos:(1598.3335,1592.0841))),(timestamp:180,action:Position(player:"0",pos:(1598.7501,1591.6675))),(timestamp:181,action:Position(player:"0",pos:(1599.1667,1591.2509))),(timestamp:182,action:Position(player:"0",pos:(1599.5834,1590.8342))),(timestamp:183,action:Position(player:"0",pos:(1600.0,1590.4176))),(timestamp:184,action:Position(player:"0",pos:(1600.4166,1590.001))),(timestamp:185,action:Position(player:"0",pos:(1600.8333,1589.5844))),(timestamp:186,action:Position(player:"0",pos:(1601.2499,1589.1677))),(timestamp:187,action:Position(player:"0",pos:(1601.6665,1588.7511))),(timestamp:188,action:Position(player:"0",pos:(1602.0831,1588.3345))),(timestamp:189,action:Position(player:"0",pos:(1602.4998,1587.9178))),(timestamp:190,action:Position(player:"0",pos:(1602.9164,1587.5012))),(timestamp:191,action:Position(player:"0",pos:(1603.333,1587.0846))),(timestamp:192,action:Position(player:"0",pos:(1603.7496,1586.668))),(timestamp:193,action:Position(player:"0",pos:(1604.1663,1586.2513))),(timestamp:194,action:Position(player:"0",pos:(1604.5829,1585.8347))),(timestamp:195,action:Position(player:"0",pos:(1604.9995,1585.4181))),(timestamp:196,action:Position(player:"0",pos:(1605.4161,1585.0015))),(timestamp:197,action:Position(player:"0",pos:(1605.8328,1584.5848))),(timestamp:198,action:Position(player:"0",pos:(1606.2494,1584.1682))),(timestamp:199,action:Position(player:"0",pos:(1606.666,1583.7516))),(timestamp:200,action:Position(player:"0",pos:(1607.0826,1583.335))),(timestamp:201,action:Position(player:"0",pos:(1607.4993,1582.9183))),(timestamp:202,action:Position(player:"0",pos:(1607.9159,1582.5017))),(timestamp:203,action:Position(player:"0",pos:(1608.3325,1582.0851))),(timestamp:204,action:Position(player:"0",pos:(1608.7491,1581.6685))),(timestamp:205,action:Position(player:"0",pos:(1609.1658,1581.2518))),(timestamp:206,action:Position(player:"0",pos:(1609.1658,1580.8352))),(timestamp:207,action:Position(player:"0",pos:(1608.7491,1580.8352))),(timestamp:208,action:Position(player:"0",pos:(1608.3325,1580.8352))),(timestamp:209,action:Position(player:"0",pos:(1607.9159,1580.8352))),(timestamp:210,action:Position(player:"0",pos:(1607.4993,1580.8352))),(timestamp:211,action:Position(player:"0",pos:(1607.0826,1580.8352))),(timestamp:212,action:Position(player:"0",pos:(1606.666,1580.8352))),(timestamp:213,action:Position(player:"0",pos:(1606.2494,1580.8352))),(timestamp:214,action:PlaceEntity(force:false,info:(pos:(x:1603,y:1578),ty:"factory_game::assembler1",rotation:North,kind:Assembler()))),(timestamp:214,action:Position(player:"0",pos:(1605.8328,1580.8352))),(timestamp:215,action:Position(player:"0",pos:(1605.4161,1580.8352))),(timestamp:216,action:Position(player:"0",pos:(1604.9995,1580.8352))),(timestamp:217,action:Position(player:"0",pos:(1604.5829,1580.8352))),(timestamp:218,action:Position(player:"0",pos:(1604.1663,1580.8352))),(timestamp:219,action:Position(player:"0",pos:(1603.7496,1580.8352))),(timestamp:220,action:Position(player:"0",pos:(1603.333,1580.8352))),(timestamp:221,action:Position(player:"0",pos:(1602.9164,1580.8352))),(timestamp:222,action:Position(player:"0",pos:(1602.4998,1580.8352))),(timestamp:223,action:PlaceEntity(force:false,info:(pos:(x:1598,y:1581),ty:"factory_game::assembler1",rotation:North,kind:Assembler()))),(timestamp:223,action:Position(player:"0",pos:(1602.0831,1580.8352))),(timestamp:224,action:Position(player:"0",pos:(1601.6665,1580.8352))),(timestamp:225,action:Position(player:"0",pos:(1601.2499,1580.8352))),(timestamp:226,action:Position(player:"0",pos:(1600.8333,1580.8352))),(timestamp:227,action:Position(player:"0",pos:(1600.4166,1580.8352))),(timestamp:228,action:Position(player:"0",pos:(1600.0,1580.8352))),(timestamp:229,action:Position(player:"0",pos:(1599.5834,1580.8352))),(timestamp:230,action:Position(player:"0",pos:(1599.1667,1580.8352))),(timestamp:231,action:Position(player:"0",pos:(1598.7501,1580.8352))),(timestamp:232,action:PlaceEntity(force:false,info:(pos:(x:1600,y:1582),ty:"factory_game::assembler1",rotation:North,kind:Assembler()))),(timestamp:232,action:Position(player:"0",pos:(1598.3335,1580.8352))),(timestamp:240,action:PlaceEntity(force:false,info:(pos:(x:1602,y:1580),ty:"factory_game::assembler1",rotation:North,kind:Assembler()))),(timestamp:251,action:PlaceEntity(force:false,info:(pos:(x:1601,y:1577),ty:"factory_game::assembler1",rotation:North,kind:Assembler()))),(timestamp:396,action:SetRecipe(pos:(x:1598,y:1581),recipe:"factory_game::iron_ore_generation")),(timestamp:445,action:Position(player:"0",pos:(1598.7501,1580.8352))),(timestamp:446,action:Position(player:"0",pos:(1599.1667,1580.8352))),(timestamp:447,action:Position(player:"0",pos:(1599.5834,1580.8352))),(timestamp:448,action:Position(player:"0",pos:(1600.0,1580.8352))),(timestamp:449,action:Position(player:"0",pos:(1600.4166,1580.8352))),(timestamp:450,action:Position(player:"0",pos:(1600.8333,1580.8352))),(timestamp:451,action:Position(player:"0",pos:(1601.2499,1580.8352))),(timestamp:452,action:Position(player:"0",pos:(1601.6665,1580.8352))),(timestamp:453,action:Position(player:"0",pos:(1602.0831,1580.8352))),(timestamp:454,action:Position(player:"0",pos:(1602.4998,1580.8352))),(timestamp:455,action:Position(player:"0",pos:(1602.9164,1580.8352))),(timestamp:456,action:Position(player:"0",pos:(1603.333,1580.8352))),(timestamp:576,action:SetRecipe(pos:(x:1603,y:1578),recipe:"factory_game::iron_ore_generation")),(timestamp:625,action:PlaceEntity(force:false,info:(pos:(x:1603,y:1582),ty:"factory_game::small_power_pole",rotation:North,kind:PowerPole()))),(timestamp:667,action:PlaceEntity(force:false,info:(pos:(x:1600,y:1582),ty:"factory_game::small_power_pole",rotation:North,kind:PowerPole()))),(timestamp:697,action:PlaceEntity(force:false,info:(pos:(x:1601,y:1583),ty:"factory_game::small_power_pole",rotation:North,kind:PowerPole()))),(timestamp:788,action:PlaceEntity(force:false,info:(pos:(x:1603,y:1584),ty:"factory_game::infinity_battery",rotation:North,kind:SolarPanel()))),(timestamp:901,action:PlaceEntity(force:false,info:(pos:(x:1599,y:1580),ty:"factory_game::inserter",rotation:North,kind:Inserter(filter:None,user_movetime:None)))),(timestamp:1039,action:PlaceEntity(force:false,info:(pos:(x:1602,y:1579),ty:"factory_game::inserter",rotation:West,kind:Inserter(filter:None,user_movetime:None)))),(timestamp:1110,action:PlaceEntity(force:false,info:(pos:(x:1601,y:1579),ty:"factory_game::fast_transport_belt",rotation:West,kind:Belt()))),(timestamp:1120,action:PlaceEntity(force:false,info:(pos:(x:1601,y:1579),ty:"factory_game::fast_transport_belt",rotation:West,kind:Belt()))),(timestamp:1130,action:PlaceEntity(force:false,info:(pos:(x:1600,y:1579),ty:"factory_game::fast_transport_belt",rotation:West,kind:Belt()))),(timestamp:1138,action:PlaceEntity(force:false,info:(pos:(x:1599,y:1579),ty:"factory_game::fast_transport_belt",rotation:West,kind:Belt())))],current_timestep:1139,end_timestep:None) \ No newline at end of file diff --git a/crash_replays/002.rep.ron b/crash_replays/002.rep.ron new file mode 100644 index 0000000..702e5e3 --- /dev/null +++ b/crash_replays/002.rep.ron @@ -0,0 +1 @@ +(program_info:(game_version:"2bed72c",git_dirty:true,mod_sha:"CAB095682E37B9E01477714A53608B1A73646A70C4E1560D8C437464F8AF7628",mod_list:[]),generation_info:(example_idx:0,example_settings:[]),actions:[(timestamp:36,action:Position(player:"0",pos:(1599.5834,1600.0))),(timestamp:37,action:Position(player:"0",pos:(1599.1667,1600.0))),(timestamp:38,action:Position(player:"0",pos:(1598.7501,1600.0))),(timestamp:39,action:Position(player:"0",pos:(1598.3335,1600.0))),(timestamp:40,action:Position(player:"0",pos:(1597.9169,1600.0))),(timestamp:156,action:PlaceEntity(force:false,info:(pos:(x:1595,y:1597),ty:"factory_game::fast_transport_belt",rotation:East,kind:Belt()))),(timestamp:164,action:PlaceEntity(force:false,info:(pos:(x:1596,y:1597),ty:"factory_game::fast_transport_belt",rotation:East,kind:Belt()))),(timestamp:174,action:PlaceEntity(force:false,info:(pos:(x:1596,y:1597),ty:"factory_game::fast_transport_belt",rotation:East,kind:Belt()))),(timestamp:183,action:PlaceEntity(force:false,info:(pos:(x:1597,y:1597),ty:"factory_game::fast_transport_belt",rotation:East,kind:Belt()))),(timestamp:192,action:PlaceEntity(force:false,info:(pos:(x:1597,y:1597),ty:"factory_game::fast_transport_belt",rotation:East,kind:Belt()))),(timestamp:200,action:PlaceEntity(force:false,info:(pos:(x:1598,y:1597),ty:"factory_game::fast_transport_belt",rotation:East,kind:Belt()))),(timestamp:210,action:PlaceEntity(force:false,info:(pos:(x:1599,y:1597),ty:"factory_game::fast_transport_belt",rotation:East,kind:Belt()))),(timestamp:219,action:PlaceEntity(force:false,info:(pos:(x:1599,y:1597),ty:"factory_game::fast_transport_belt",rotation:East,kind:Belt()))),(timestamp:228,action:PlaceEntity(force:false,info:(pos:(x:1600,y:1597),ty:"factory_game::fast_transport_belt",rotation:East,kind:Belt()))),(timestamp:240,action:PlaceEntity(force:false,info:(pos:(x:1600,y:1597),ty:"factory_game::fast_transport_belt",rotation:East,kind:Belt()))),(timestamp:326,action:Remove(pos:(x:1597,y:1597))),(timestamp:396,action:PlaceEntity(force:false,info:(pos:(x:1597,y:1597),ty:"factory_game::fast_transport_belt",rotation:East,kind:Belt()))),(timestamp:487,action:PlaceEntity(force:false,info:(pos:(x:1595,y:1598),ty:"factory_game::inserter",rotation:North,kind:Inserter(filter:None,user_movetime:None)))),(timestamp:533,action:PlaceEntity(force:false,info:(pos:(x:1600,y:1598),ty:"factory_game::inserter",rotation:South,kind:Inserter(filter:None,user_movetime:None)))),(timestamp:574,action:PlaceEntity(force:false,info:(pos:(x:1600,y:1599),ty:"factory_game::assembler1",rotation:North,kind:Assembler()))),(timestamp:780,action:SetRecipe(pos:(x:1600,y:1599),recipe:"factory_game::iron_ore_generation")),(timestamp:844,action:PlaceEntity(force:false,info:(pos:(x:1594,y:1599),ty:"factory_game::assembler1",rotation:North,kind:Assembler()))),(timestamp:938,action:SetRecipe(pos:(x:1594,y:1599),recipe:"factory_game::iron_ore_generation")),(timestamp:1000,action:PlaceEntity(force:false,info:(pos:(x:1598,y:1600),ty:"factory_game::small_power_pole",rotation:North,kind:PowerPole()))),(timestamp:1230,action:Remove(pos:(x:1595,y:1598))),(timestamp:1407,action:PlaceEntity(force:false,info:(pos:(x:1595,y:1598),ty:"factory_game::inserter",rotation:North,kind:Inserter(filter:None,user_movetime:None)))),(timestamp:1430,action:Position(player:"0",pos:(1598.3335,1600.0))),(timestamp:1431,action:Position(player:"0",pos:(1598.7501,1600.0))),(timestamp:1432,action:Position(player:"0",pos:(1599.1667,1600.0))),(timestamp:1433,action:Position(player:"0",pos:(1599.5834,1600.0))),(timestamp:1434,action:Position(player:"0",pos:(1600.0,1600.0))),(timestamp:1435,action:Position(player:"0",pos:(1600.4166,1600.0))),(timestamp:1436,action:Position(player:"0",pos:(1600.8333,1600.0))),(timestamp:1437,action:Position(player:"0",pos:(1601.2499,1600.0))),(timestamp:1438,action:Position(player:"0",pos:(1601.6665,1600.0))),(timestamp:1532,action:PlaceEntity(force:false,info:(pos:(x:1598,y:1602),ty:"factory_game::infinity_battery",rotation:North,kind:SolarPanel()))),(timestamp:1572,action:Position(player:"0",pos:(1601.2499,1600.0))),(timestamp:1573,action:Position(player:"0",pos:(1600.8333,1600.0))),(timestamp:1574,action:Position(player:"0",pos:(1600.4166,1600.0))),(timestamp:1575,action:Position(player:"0",pos:(1600.0,1600.0))),(timestamp:1576,action:Position(player:"0",pos:(1599.5834,1600.0))),(timestamp:1577,action:Position(player:"0",pos:(1599.1667,1600.0))),(timestamp:1578,action:Position(player:"0",pos:(1598.7501,1600.0))),(timestamp:1579,action:Position(player:"0",pos:(1598.3335,1600.0))),(timestamp:1580,action:Position(player:"0",pos:(1597.9169,1600.0))),(timestamp:1888,action:Remove(pos:(x:1600,y:1598))),(timestamp:1968,action:Remove(pos:(x:1595,y:1598))),(timestamp:2026,action:PlaceEntity(force:false,info:(pos:(x:1595,y:1598),ty:"factory_game::inserter",rotation:North,kind:Inserter(filter:None,user_movetime:None)))),(timestamp:2067,action:PlaceEntity(force:false,info:(pos:(x:1600,y:1598),ty:"factory_game::inserter",rotation:South,kind:Inserter(filter:None,user_movetime:None)))),(timestamp:2209,action:Remove(pos:(x:1598,y:1602))),(timestamp:2339,action:PlaceEntity(force:false,info:(pos:(x:1598,y:1602),ty:"factory_game::infinity_battery",rotation:North,kind:SolarPanel()))),(timestamp:2379,action:Position(player:"0",pos:(1597.9169,1600.4166))),(timestamp:2380,action:Position(player:"0",pos:(1597.9169,1600.8333))),(timestamp:2381,action:Position(player:"0",pos:(1597.9169,1601.2499))),(timestamp:2382,action:Position(player:"0",pos:(1597.9169,1601.6665))),(timestamp:2383,action:Position(player:"0",pos:(1597.9169,1602.0831))),(timestamp:2384,action:Position(player:"0",pos:(1597.9169,1602.4998))),(timestamp:2385,action:Position(player:"0",pos:(1597.9169,1602.9164))),(timestamp:2386,action:Position(player:"0",pos:(1597.9169,1603.333))),(timestamp:2387,action:Position(player:"0",pos:(1597.9169,1603.7496))),(timestamp:2388,action:Position(player:"0",pos:(1597.9169,1604.1663))),(timestamp:2389,action:Position(player:"0",pos:(1597.9169,1604.5829))),(timestamp:2390,action:Position(player:"0",pos:(1597.9169,1604.9995))),(timestamp:2391,action:Position(player:"0",pos:(1597.9169,1605.4161))),(timestamp:2392,action:Position(player:"0",pos:(1597.9169,1605.8328))),(timestamp:2393,action:Position(player:"0",pos:(1597.5002,1606.2494))),(timestamp:2394,action:Position(player:"0",pos:(1597.0836,1606.666))),(timestamp:2395,action:Position(player:"0",pos:(1597.0836,1607.0826))),(timestamp:2396,action:Position(player:"0",pos:(1597.0836,1607.4993))),(timestamp:2397,action:Position(player:"0",pos:(1597.0836,1607.9159))),(timestamp:2398,action:Position(player:"0",pos:(1597.0836,1608.3325))),(timestamp:2399,action:Position(player:"0",pos:(1597.0836,1608.7491))),(timestamp:2400,action:Position(player:"0",pos:(1597.0836,1609.1658))),(timestamp:2401,action:Position(player:"0",pos:(1597.0836,1609.5824))),(timestamp:2402,action:Position(player:"0",pos:(1597.0836,1609.999))),(timestamp:2403,action:Position(player:"0",pos:(1597.0836,1610.4156))),(timestamp:2404,action:Position(player:"0",pos:(1597.0836,1610.8323))),(timestamp:2406,action:Position(player:"0",pos:(1597.0836,1611.2489))),(timestamp:2407,action:Position(player:"0",pos:(1597.0836,1611.6655))),(timestamp:2423,action:PlaceEntity(force:false,info:(pos:(x:1591,y:1617),ty:"factory_game::small_power_pole",rotation:North,kind:PowerPole()))),(timestamp:2434,action:PlaceEntity(force:false,info:(pos:(x:1592,y:1621),ty:"factory_game::small_power_pole",rotation:North,kind:PowerPole()))),(timestamp:2444,action:PlaceEntity(force:false,info:(pos:(x:1598,y:1622),ty:"factory_game::small_power_pole",rotation:North,kind:PowerPole()))),(timestamp:2453,action:PlaceEntity(force:false,info:(pos:(x:1602,y:1621),ty:"factory_game::small_power_pole",rotation:North,kind:PowerPole()))),(timestamp:2462,action:PlaceEntity(force:false,info:(pos:(x:1600,y:1619),ty:"factory_game::small_power_pole",rotation:North,kind:PowerPole()))),(timestamp:2471,action:PlaceEntity(force:false,info:(pos:(x:1595,y:1618),ty:"factory_game::small_power_pole",rotation:North,kind:PowerPole()))),(timestamp:2481,action:PlaceEntity(force:false,info:(pos:(x:1593,y:1619),ty:"factory_game::small_power_pole",rotation:North,kind:PowerPole()))),(timestamp:2490,action:PlaceEntity(force:false,info:(pos:(x:1596,y:1621),ty:"factory_game::small_power_pole",rotation:North,kind:PowerPole()))),(timestamp:2499,action:PlaceEntity(force:false,info:(pos:(x:1600,y:1620),ty:"factory_game::small_power_pole",rotation:North,kind:PowerPole()))),(timestamp:2506,action:Position(player:"0",pos:(1597.0836,1611.2489))),(timestamp:2507,action:Position(player:"0",pos:(1597.0836,1610.8323))),(timestamp:2508,action:Position(player:"0",pos:(1597.0836,1610.4156))),(timestamp:2509,action:PlaceEntity(force:false,info:(pos:(x:1600,y:1617),ty:"factory_game::small_power_pole",rotation:North,kind:PowerPole()))),(timestamp:2509,action:Position(player:"0",pos:(1597.0836,1609.999))),(timestamp:2510,action:Position(player:"0",pos:(1597.0836,1609.5824))),(timestamp:2511,action:Position(player:"0",pos:(1597.0836,1609.1658))),(timestamp:2512,action:Position(player:"0",pos:(1597.0836,1608.7491))),(timestamp:2513,action:Position(player:"0",pos:(1597.0836,1608.3325))),(timestamp:2519,action:PlaceEntity(force:false,info:(pos:(x:1597,y:1616),ty:"factory_game::small_power_pole",rotation:North,kind:PowerPole()))),(timestamp:2530,action:PlaceEntity(force:false,info:(pos:(x:1596,y:1616),ty:"factory_game::small_power_pole",rotation:North,kind:PowerPole()))),(timestamp:2539,action:PlaceEntity(force:false,info:(pos:(x:1598,y:1614),ty:"factory_game::small_power_pole",rotation:North,kind:PowerPole()))),(timestamp:2549,action:PlaceEntity(force:false,info:(pos:(x:1599,y:1611),ty:"factory_game::small_power_pole",rotation:North,kind:PowerPole()))),(timestamp:2559,action:PlaceEntity(force:false,info:(pos:(x:1599,y:1610),ty:"factory_game::small_power_pole",rotation:North,kind:PowerPole()))),(timestamp:2577,action:PlaceEntity(force:false,info:(pos:(x:1599,y:1606),ty:"factory_game::small_power_pole",rotation:North,kind:PowerPole())))],current_timestep:2578,end_timestep:None) \ No newline at end of file diff --git a/crash_replays/003.rep.ron b/crash_replays/003.rep.ron new file mode 100644 index 0000000..cc3c476 --- /dev/null +++ b/crash_replays/003.rep.ron @@ -0,0 +1 @@ +(program_info:(game_version:"2bed72c",git_dirty:true,mod_sha:"CAB095682E37B9E01477714A53608B1A73646A70C4E1560D8C437464F8AF7628",mod_list:[]),generation_info:(example_idx:0,example_settings:[]),actions:[(timestamp:139,action:PlaceEntity(force:false,info:(pos:(x:1597,y:1598),ty:"factory_game::small_power_pole",rotation:North,kind:PowerPole()))),(timestamp:152,action:Position(player:"0",pos:(1600.4166,1600.0))),(timestamp:153,action:Position(player:"0",pos:(1600.8333,1600.0))),(timestamp:154,action:Position(player:"0",pos:(1601.2499,1600.0))),(timestamp:155,action:Position(player:"0",pos:(1601.6665,1600.0))),(timestamp:156,action:Position(player:"0",pos:(1602.0831,1600.0))),(timestamp:157,action:Position(player:"0",pos:(1602.4998,1600.0))),(timestamp:158,action:Position(player:"0",pos:(1602.9164,1600.0))),(timestamp:159,action:Position(player:"0",pos:(1603.333,1600.0))),(timestamp:183,action:Position(player:"0",pos:(1603.7496,1600.0))),(timestamp:184,action:Position(player:"0",pos:(1604.1663,1600.0))),(timestamp:185,action:Position(player:"0",pos:(1604.5829,1600.0))),(timestamp:232,action:PlaceEntity(force:false,info:(pos:(x:1602,y:1598),ty:"factory_game::small_power_pole",rotation:North,kind:PowerPole()))),(timestamp:279,action:PlaceEntity(force:false,info:(pos:(x:1607,y:1598),ty:"factory_game::small_power_pole",rotation:North,kind:PowerPole()))),(timestamp:337,action:PlaceEntity(force:false,info:(pos:(x:1612,y:1598),ty:"factory_game::small_power_pole",rotation:North,kind:PowerPole()))),(timestamp:367,action:Position(player:"0",pos:(1604.1663,1600.0))),(timestamp:368,action:Position(player:"0",pos:(1603.7496,1600.0))),(timestamp:369,action:Position(player:"0",pos:(1603.333,1600.0))),(timestamp:370,action:Position(player:"0",pos:(1602.9164,1600.0))),(timestamp:371,action:Position(player:"0",pos:(1602.4998,1600.0))),(timestamp:372,action:Position(player:"0",pos:(1602.0831,1600.0))),(timestamp:373,action:Position(player:"0",pos:(1601.6665,1600.0))),(timestamp:474,action:Remove(pos:(x:1607,y:1598))),(timestamp:560,action:Remove(pos:(x:1602,y:1598))),(timestamp:819,action:PlaceEntity(force:false,info:(pos:(x:1596,y:1600),ty:"factory_game::infinity_battery",rotation:North,kind:SolarPanel()))),(timestamp:839,action:Position(player:"0",pos:(1602.0831,1600.0))),(timestamp:840,action:Position(player:"0",pos:(1602.4998,1600.0))),(timestamp:841,action:Position(player:"0",pos:(1602.9164,1600.0))),(timestamp:842,action:Position(player:"0",pos:(1603.333,1600.0))),(timestamp:843,action:Position(player:"0",pos:(1603.7496,1600.0))),(timestamp:844,action:Position(player:"0",pos:(1604.1663,1600.0))),(timestamp:845,action:Position(player:"0",pos:(1604.5829,1600.0))),(timestamp:846,action:Position(player:"0",pos:(1604.9995,1600.0))),(timestamp:847,action:Position(player:"0",pos:(1605.4161,1600.0))),(timestamp:848,action:Position(player:"0",pos:(1605.8328,1600.0))),(timestamp:871,action:PlaceEntity(force:false,info:(pos:(x:1612,y:1600),ty:"factory_game::assembler1",rotation:North,kind:Assembler()))),(timestamp:994,action:SetRecipe(pos:(x:1612,y:1600),recipe:"factory_game::iron_ore_generation")),(timestamp:1105,action:PlaceEntity(force:false,info:(pos:(x:1607,y:1598),ty:"factory_game::small_power_pole",rotation:North,kind:PowerPole()))),(timestamp:1178,action:PlaceEntity(force:false,info:(pos:(x:1602,y:1598),ty:"factory_game::small_power_pole",rotation:North,kind:PowerPole()))),(timestamp:1293,action:Position(player:"0",pos:(1605.4161,1600.0))),(timestamp:1294,action:Position(player:"0",pos:(1604.9995,1600.0))),(timestamp:1295,action:Position(player:"0",pos:(1604.5829,1600.0))),(timestamp:1296,action:Position(player:"0",pos:(1604.1663,1600.0))),(timestamp:1297,action:Position(player:"0",pos:(1603.7496,1600.0))),(timestamp:1298,action:Position(player:"0",pos:(1603.333,1600.0))),(timestamp:1354,action:Remove(pos:(x:1602,y:1598))),(timestamp:1429,action:Remove(pos:(x:1607,y:1598))),(timestamp:1480,action:Position(player:"0",pos:(1603.7496,1600.0))),(timestamp:1481,action:Position(player:"0",pos:(1604.1663,1600.0))),(timestamp:1482,action:Position(player:"0",pos:(1604.5829,1600.0))),(timestamp:1483,action:Position(player:"0",pos:(1604.9995,1600.0))),(timestamp:1484,action:Position(player:"0",pos:(1605.4161,1600.0))),(timestamp:1485,action:Position(player:"0",pos:(1605.8328,1600.0))),(timestamp:1486,action:Position(player:"0",pos:(1606.2494,1600.0))),(timestamp:1487,action:Position(player:"0",pos:(1606.666,1600.0))),(timestamp:1502,action:Position(player:"0",pos:(1606.666,1599.5834))),(timestamp:1503,action:Position(player:"0",pos:(1606.666,1599.1667))),(timestamp:1504,action:Position(player:"0",pos:(1606.666,1598.7501))),(timestamp:1505,action:Position(player:"0",pos:(1606.666,1598.3335))),(timestamp:1506,action:Position(player:"0",pos:(1606.666,1597.9169))),(timestamp:1507,action:Position(player:"0",pos:(1606.666,1597.5002))),(timestamp:1508,action:Position(player:"0",pos:(1606.666,1597.0836))),(timestamp:1509,action:Position(player:"0",pos:(1606.666,1596.667))),(timestamp:1510,action:Position(player:"0",pos:(1606.666,1596.2504))),(timestamp:1511,action:Position(player:"0",pos:(1606.666,1595.8337))),(timestamp:1512,action:Position(player:"0",pos:(1606.666,1595.4171))),(timestamp:1513,action:Position(player:"0",pos:(1606.666,1595.0005))),(timestamp:1607,action:Position(player:"0",pos:(1606.666,1594.5839))),(timestamp:1608,action:Position(player:"0",pos:(1606.666,1594.1672))),(timestamp:1609,action:Position(player:"0",pos:(1606.666,1593.7506))),(timestamp:1610,action:Position(player:"0",pos:(1606.666,1593.334))),(timestamp:1611,action:Position(player:"0",pos:(1606.666,1592.9174))),(timestamp:1612,action:Position(player:"0",pos:(1606.666,1592.5007))),(timestamp:1613,action:Position(player:"0",pos:(1606.666,1592.0841))),(timestamp:1614,action:Position(player:"0",pos:(1606.666,1591.6675))),(timestamp:1681,action:Position(player:"0",pos:(1606.2494,1591.6675))),(timestamp:1682,action:Position(player:"0",pos:(1605.8328,1591.6675))),(timestamp:1683,action:Position(player:"0",pos:(1605.4161,1591.6675))),(timestamp:1684,action:Position(player:"0",pos:(1604.9995,1591.6675))),(timestamp:1685,action:Position(player:"0",pos:(1604.5829,1591.6675))),(timestamp:1686,action:Position(player:"0",pos:(1604.1663,1591.6675))),(timestamp:1687,action:Position(player:"0",pos:(1603.7496,1591.6675))),(timestamp:1688,action:Position(player:"0",pos:(1603.333,1591.6675))),(timestamp:1689,action:Position(player:"0",pos:(1602.9164,1591.6675))),(timestamp:1690,action:Position(player:"0",pos:(1602.4998,1591.6675))),(timestamp:1691,action:Position(player:"0",pos:(1602.0831,1591.6675))),(timestamp:1692,action:Position(player:"0",pos:(1601.6665,1591.6675))),(timestamp:1871,action:PlaceEntity(force:false,info:(pos:(x:1607,y:1598),ty:"factory_game::small_power_pole",rotation:North,kind:PowerPole()))),(timestamp:1921,action:PlaceEntity(force:false,info:(pos:(x:1602,y:1598),ty:"factory_game::small_power_pole",rotation:North,kind:PowerPole()))),(timestamp:1938,action:Position(player:"0",pos:(1601.6665,1592.0841))),(timestamp:1939,action:Position(player:"0",pos:(1601.6665,1592.5007))),(timestamp:1940,action:Position(player:"0",pos:(1601.6665,1592.9174))),(timestamp:1941,action:Position(player:"0",pos:(1601.6665,1593.334))),(timestamp:1942,action:Position(player:"0",pos:(1601.6665,1593.7506))),(timestamp:1943,action:Position(player:"0",pos:(1601.6665,1594.1672))),(timestamp:1944,action:Position(player:"0",pos:(1601.6665,1594.5839))),(timestamp:1945,action:Position(player:"0",pos:(1601.6665,1595.0005))),(timestamp:1946,action:Position(player:"0",pos:(1601.6665,1595.4171))),(timestamp:1978,action:Position(player:"0",pos:(1602.0831,1595.4171))),(timestamp:1979,action:Position(player:"0",pos:(1602.4998,1595.4171))),(timestamp:1980,action:Position(player:"0",pos:(1602.9164,1595.4171))),(timestamp:1981,action:Position(player:"0",pos:(1603.333,1595.4171))),(timestamp:1982,action:Position(player:"0",pos:(1603.7496,1595.4171))),(timestamp:1983,action:Position(player:"0",pos:(1604.1663,1595.4171))),(timestamp:1984,action:Position(player:"0",pos:(1604.5829,1595.4171))),(timestamp:1985,action:Position(player:"0",pos:(1604.9995,1595.4171))),(timestamp:1986,action:Position(player:"0",pos:(1605.4161,1595.4171))),(timestamp:1987,action:Position(player:"0",pos:(1605.8328,1595.4171))),(timestamp:1988,action:Position(player:"0",pos:(1606.2494,1595.4171))),(timestamp:1989,action:Position(player:"0",pos:(1606.666,1595.4171))),(timestamp:1990,action:Position(player:"0",pos:(1607.0826,1595.4171))),(timestamp:1991,action:Position(player:"0",pos:(1607.4993,1595.4171))),(timestamp:1992,action:Position(player:"0",pos:(1607.9159,1595.4171))),(timestamp:1993,action:Position(player:"0",pos:(1608.3325,1595.4171))),(timestamp:1994,action:Position(player:"0",pos:(1608.7491,1595.4171))),(timestamp:1995,action:Position(player:"0",pos:(1609.1658,1595.4171))),(timestamp:1996,action:Position(player:"0",pos:(1609.5824,1595.4171))),(timestamp:1997,action:Position(player:"0",pos:(1609.999,1595.4171))),(timestamp:1998,action:Position(player:"0",pos:(1610.4156,1595.4171))),(timestamp:1999,action:Position(player:"0",pos:(1610.8323,1595.4171))),(timestamp:2000,action:Position(player:"0",pos:(1611.2489,1595.4171))),(timestamp:2001,action:Position(player:"0",pos:(1611.6655,1595.4171))),(timestamp:2002,action:Position(player:"0",pos:(1612.0822,1595.4171))),(timestamp:2003,action:Position(player:"0",pos:(1612.4988,1595.4171))),(timestamp:2004,action:Position(player:"0",pos:(1612.9154,1595.4171))),(timestamp:2005,action:Position(player:"0",pos:(1613.332,1595.4171))),(timestamp:2006,action:Position(player:"0",pos:(1613.7487,1595.4171))),(timestamp:2070,action:Position(player:"0",pos:(1613.7487,1595.0005))),(timestamp:2071,action:Position(player:"0",pos:(1613.7487,1594.5839))),(timestamp:2072,action:Position(player:"0",pos:(1613.332,1594.1672))),(timestamp:2073,action:Position(player:"0",pos:(1612.9154,1593.7506))),(timestamp:2074,action:Position(player:"0",pos:(1612.4988,1593.334))),(timestamp:2075,action:Position(player:"0",pos:(1612.0822,1592.9174))),(timestamp:2076,action:Position(player:"0",pos:(1611.6655,1592.5007))),(timestamp:2077,action:Position(player:"0",pos:(1611.2489,1592.0841))),(timestamp:2078,action:Position(player:"0",pos:(1610.8323,1592.0841))),(timestamp:2079,action:Position(player:"0",pos:(1610.4156,1592.0841))),(timestamp:2080,action:Position(player:"0",pos:(1609.999,1592.0841))),(timestamp:2081,action:Position(player:"0",pos:(1609.5824,1592.0841))),(timestamp:2082,action:Position(player:"0",pos:(1609.1658,1592.0841))),(timestamp:2083,action:Position(player:"0",pos:(1608.7491,1592.0841))),(timestamp:2084,action:Position(player:"0",pos:(1608.3325,1592.0841))),(timestamp:2085,action:Position(player:"0",pos:(1607.9159,1592.0841))),(timestamp:2086,action:Position(player:"0",pos:(1607.4993,1592.0841))),(timestamp:2087,action:Position(player:"0",pos:(1607.0826,1592.0841))),(timestamp:2088,action:Position(player:"0",pos:(1606.666,1592.0841))),(timestamp:2089,action:Position(player:"0",pos:(1606.2494,1592.0841))),(timestamp:2090,action:Position(player:"0",pos:(1605.8328,1592.0841))),(timestamp:2091,action:Position(player:"0",pos:(1605.4161,1592.0841))),(timestamp:2092,action:Position(player:"0",pos:(1604.9995,1592.0841))),(timestamp:2093,action:Position(player:"0",pos:(1604.5829,1592.0841))),(timestamp:2094,action:Position(player:"0",pos:(1604.1663,1592.0841))),(timestamp:2095,action:Position(player:"0",pos:(1603.7496,1592.0841))),(timestamp:2096,action:Position(player:"0",pos:(1603.333,1592.0841))),(timestamp:2097,action:Position(player:"0",pos:(1602.9164,1592.0841))),(timestamp:2098,action:Position(player:"0",pos:(1602.4998,1592.0841))),(timestamp:2099,action:Position(player:"0",pos:(1602.0831,1592.0841))),(timestamp:2100,action:Position(player:"0",pos:(1601.6665,1592.0841))),(timestamp:2101,action:Position(player:"0",pos:(1601.2499,1592.0841))),(timestamp:2102,action:Position(player:"0",pos:(1600.8333,1592.0841))),(timestamp:2103,action:Position(player:"0",pos:(1600.4166,1592.0841))),(timestamp:2104,action:Position(player:"0",pos:(1600.0,1592.0841))),(timestamp:2124,action:Position(player:"0",pos:(1600.4166,1592.0841))),(timestamp:2125,action:Position(player:"0",pos:(1600.8333,1592.0841))),(timestamp:2126,action:Position(player:"0",pos:(1601.2499,1592.0841))),(timestamp:2127,action:Position(player:"0",pos:(1601.6665,1592.0841))),(timestamp:2128,action:Position(player:"0",pos:(1602.0831,1592.0841))),(timestamp:2129,action:Position(player:"0",pos:(1602.4998,1592.0841))),(timestamp:2130,action:Position(player:"0",pos:(1602.9164,1592.0841))),(timestamp:2131,action:Position(player:"0",pos:(1603.333,1592.0841))),(timestamp:2132,action:Position(player:"0",pos:(1603.7496,1592.0841))),(timestamp:2133,action:Position(player:"0",pos:(1604.1663,1592.0841))),(timestamp:2134,action:Position(player:"0",pos:(1604.5829,1592.0841))),(timestamp:2135,action:Position(player:"0",pos:(1604.9995,1592.0841))),(timestamp:2136,action:Position(player:"0",pos:(1605.4161,1592.0841))),(timestamp:2137,action:Position(player:"0",pos:(1605.8328,1592.0841))),(timestamp:2138,action:Position(player:"0",pos:(1606.2494,1592.0841))),(timestamp:2139,action:Position(player:"0",pos:(1606.666,1592.0841))),(timestamp:2140,action:Position(player:"0",pos:(1607.0826,1592.0841))),(timestamp:2141,action:Position(player:"0",pos:(1607.4993,1592.0841))),(timestamp:2142,action:Position(player:"0",pos:(1607.9159,1592.0841))),(timestamp:2143,action:Position(player:"0",pos:(1608.3325,1592.0841))),(timestamp:2144,action:Position(player:"0",pos:(1608.7491,1592.0841))),(timestamp:2145,action:Position(player:"0",pos:(1609.1658,1592.0841))),(timestamp:2146,action:Position(player:"0",pos:(1609.5824,1592.0841))),(timestamp:2147,action:Position(player:"0",pos:(1609.999,1592.0841))),(timestamp:2148,action:Position(player:"0",pos:(1610.4156,1592.0841))),(timestamp:2149,action:Position(player:"0",pos:(1610.8323,1592.0841))),(timestamp:2150,action:Position(player:"0",pos:(1611.2489,1592.0841))),(timestamp:2151,action:Position(player:"0",pos:(1611.6655,1592.0841))),(timestamp:2152,action:Position(player:"0",pos:(1612.0822,1592.0841))),(timestamp:2153,action:Position(player:"0",pos:(1612.4988,1592.0841))),(timestamp:2154,action:Position(player:"0",pos:(1612.9154,1592.0841))),(timestamp:2155,action:Position(player:"0",pos:(1613.332,1592.0841))),(timestamp:2156,action:Position(player:"0",pos:(1613.7487,1592.0841))),(timestamp:2157,action:Position(player:"0",pos:(1614.1653,1592.0841))),(timestamp:2158,action:Position(player:"0",pos:(1614.5819,1592.0841))),(timestamp:2159,action:Position(player:"0",pos:(1614.9985,1592.0841))),(timestamp:2160,action:Position(player:"0",pos:(1615.4152,1592.0841))),(timestamp:2161,action:Position(player:"0",pos:(1615.8318,1592.0841))),(timestamp:2162,action:Position(player:"0",pos:(1616.2484,1592.0841))),(timestamp:2163,action:Position(player:"0",pos:(1616.665,1592.0841))),(timestamp:2164,action:Position(player:"0",pos:(1617.0817,1592.0841))),(timestamp:2165,action:Position(player:"0",pos:(1617.4983,1592.0841))),(timestamp:2166,action:Position(player:"0",pos:(1617.9149,1592.0841))),(timestamp:2167,action:Position(player:"0",pos:(1618.3315,1592.0841))),(timestamp:2168,action:Position(player:"0",pos:(1618.7482,1592.0841))),(timestamp:2169,action:Position(player:"0",pos:(1619.1648,1592.0841))),(timestamp:2170,action:Position(player:"0",pos:(1619.5814,1592.0841))),(timestamp:2171,action:Position(player:"0",pos:(1619.998,1592.0841))),(timestamp:2172,action:Position(player:"0",pos:(1620.4147,1592.0841))),(timestamp:2215,action:Position(player:"0",pos:(1619.998,1592.5007))),(timestamp:2216,action:Position(player:"0",pos:(1619.5814,1592.9174))),(timestamp:2217,action:Position(player:"0",pos:(1619.1648,1593.334))),(timestamp:2218,action:Position(player:"0",pos:(1618.7482,1593.7506))),(timestamp:2219,action:Position(player:"0",pos:(1618.3315,1594.1672))),(timestamp:2220,action:Position(player:"0",pos:(1617.9149,1594.5839))),(timestamp:2221,action:Position(player:"0",pos:(1617.4983,1595.0005))),(timestamp:2222,action:Position(player:"0",pos:(1617.0817,1595.4171))),(timestamp:2223,action:Position(player:"0",pos:(1616.665,1595.8337))),(timestamp:2224,action:Position(player:"0",pos:(1616.2484,1596.2504))),(timestamp:2225,action:Position(player:"0",pos:(1615.8318,1596.667))),(timestamp:2226,action:Position(player:"0",pos:(1615.4152,1597.0836))),(timestamp:2227,action:Position(player:"0",pos:(1614.9985,1597.5002))),(timestamp:2228,action:Position(player:"0",pos:(1614.5819,1597.9169))),(timestamp:2229,action:Position(player:"0",pos:(1614.1653,1598.3335))),(timestamp:2230,action:Position(player:"0",pos:(1613.7487,1598.7501))),(timestamp:2231,action:Position(player:"0",pos:(1613.332,1599.1667))),(timestamp:2232,action:Position(player:"0",pos:(1612.9154,1599.5834))),(timestamp:2233,action:Position(player:"0",pos:(1612.4988,1600.0))),(timestamp:2234,action:Position(player:"0",pos:(1612.0822,1600.4166))),(timestamp:2235,action:Position(player:"0",pos:(1611.6655,1600.8333))),(timestamp:2236,action:Position(player:"0",pos:(1611.2489,1600.8333))),(timestamp:2237,action:Position(player:"0",pos:(1610.8323,1600.8333))),(timestamp:2238,action:Position(player:"0",pos:(1610.4156,1600.8333))),(timestamp:2239,action:Position(player:"0",pos:(1609.999,1600.8333))),(timestamp:2240,action:Position(player:"0",pos:(1609.5824,1600.8333))),(timestamp:2241,action:Position(player:"0",pos:(1609.1658,1600.8333))),(timestamp:2242,action:Position(player:"0",pos:(1608.7491,1600.8333))),(timestamp:2243,action:Position(player:"0",pos:(1608.3325,1600.8333))),(timestamp:2244,action:Position(player:"0",pos:(1607.9159,1600.8333))),(timestamp:2245,action:Position(player:"0",pos:(1607.4993,1600.8333))),(timestamp:2246,action:Position(player:"0",pos:(1607.0826,1600.8333))),(timestamp:2247,action:Position(player:"0",pos:(1606.666,1600.8333))),(timestamp:2248,action:Position(player:"0",pos:(1606.2494,1600.8333))),(timestamp:2249,action:Position(player:"0",pos:(1605.8328,1600.8333))),(timestamp:2250,action:Position(player:"0",pos:(1605.4161,1600.8333))),(timestamp:2251,action:Position(player:"0",pos:(1604.9995,1600.8333))),(timestamp:2252,action:Position(player:"0",pos:(1604.5829,1600.8333))),(timestamp:2253,action:Position(player:"0",pos:(1604.1663,1600.8333))),(timestamp:2254,action:Position(player:"0",pos:(1603.7496,1600.8333))),(timestamp:2255,action:Position(player:"0",pos:(1603.333,1600.8333))),(timestamp:2256,action:Position(player:"0",pos:(1602.9164,1600.8333))),(timestamp:2257,action:Position(player:"0",pos:(1602.4998,1600.8333))),(timestamp:2258,action:Position(player:"0",pos:(1602.0831,1600.8333))),(timestamp:2259,action:Position(player:"0",pos:(1601.6665,1600.8333))),(timestamp:2312,action:Position(player:"0",pos:(1601.6665,1600.4166))),(timestamp:2313,action:Position(player:"0",pos:(1601.6665,1600.0))),(timestamp:2314,action:Position(player:"0",pos:(1601.6665,1599.5834))),(timestamp:2315,action:Position(player:"0",pos:(1601.6665,1599.1667))),(timestamp:2316,action:Position(player:"0",pos:(1601.6665,1598.7501))),(timestamp:2317,action:Position(player:"0",pos:(1601.6665,1598.3335))),(timestamp:2318,action:Position(player:"0",pos:(1601.6665,1597.9169))),(timestamp:2319,action:Position(player:"0",pos:(1601.6665,1597.5002))),(timestamp:2320,action:Position(player:"0",pos:(1601.6665,1597.0836))),(timestamp:2321,action:Position(player:"0",pos:(1601.6665,1596.667))),(timestamp:2322,action:Position(player:"0",pos:(1601.6665,1596.2504))),(timestamp:2323,action:Position(player:"0",pos:(1601.6665,1595.8337))),(timestamp:2324,action:Position(player:"0",pos:(1601.6665,1595.4171))),(timestamp:2325,action:Position(player:"0",pos:(1601.6665,1595.0005))),(timestamp:2326,action:Position(player:"0",pos:(1601.6665,1594.5839))),(timestamp:2327,action:Position(player:"0",pos:(1601.6665,1594.1672))),(timestamp:2328,action:Position(player:"0",pos:(1601.6665,1593.7506))),(timestamp:2357,action:Position(player:"0",pos:(1601.6665,1594.1672))),(timestamp:2358,action:Position(player:"0",pos:(1601.6665,1594.5839))),(timestamp:2359,action:Position(player:"0",pos:(1601.6665,1595.0005))),(timestamp:2360,action:Position(player:"0",pos:(1601.6665,1595.4171))),(timestamp:2361,action:Position(player:"0",pos:(1601.6665,1595.8337))),(timestamp:2362,action:Position(player:"0",pos:(1601.6665,1596.2504))),(timestamp:2363,action:Position(player:"0",pos:(1601.6665,1596.667))),(timestamp:2364,action:Position(player:"0",pos:(1601.6665,1597.0836))),(timestamp:2365,action:Position(player:"0",pos:(1601.6665,1597.5002))),(timestamp:2366,action:Position(player:"0",pos:(1601.6665,1597.9169))),(timestamp:2367,action:Position(player:"0",pos:(1601.6665,1598.3335))),(timestamp:2368,action:Position(player:"0",pos:(1601.6665,1598.7501))),(timestamp:2369,action:Position(player:"0",pos:(1601.6665,1599.1667))),(timestamp:2370,action:Position(player:"0",pos:(1601.6665,1599.5834))),(timestamp:2371,action:Position(player:"0",pos:(1601.6665,1600.0))),(timestamp:2372,action:Position(player:"0",pos:(1601.6665,1600.4166))),(timestamp:2373,action:Position(player:"0",pos:(1601.6665,1600.8333))),(timestamp:2374,action:Position(player:"0",pos:(1601.6665,1601.2499))),(timestamp:2429,action:Remove(pos:(x:1597,y:1600))),(timestamp:2452,action:Position(player:"0",pos:(1602.0831,1601.2499))),(timestamp:2453,action:Position(player:"0",pos:(1602.4998,1601.2499))),(timestamp:2454,action:Position(player:"0",pos:(1602.9164,1601.2499))),(timestamp:2455,action:Position(player:"0",pos:(1603.333,1601.2499))),(timestamp:2456,action:Position(player:"0",pos:(1603.7496,1601.2499))),(timestamp:2457,action:Position(player:"0",pos:(1604.1663,1601.2499))),(timestamp:2458,action:Position(player:"0",pos:(1604.5829,1601.2499))),(timestamp:2459,action:Position(player:"0",pos:(1604.9995,1601.2499))),(timestamp:2460,action:Position(player:"0",pos:(1605.4161,1601.2499))),(timestamp:2461,action:Position(player:"0",pos:(1605.8328,1601.2499))),(timestamp:2462,action:Position(player:"0",pos:(1606.2494,1601.2499))),(timestamp:2463,action:Position(player:"0",pos:(1606.666,1601.2499))),(timestamp:2464,action:Position(player:"0",pos:(1607.0826,1601.2499))),(timestamp:2465,action:Position(player:"0",pos:(1607.4993,1601.2499))),(timestamp:2466,action:Position(player:"0",pos:(1607.9159,1601.2499))),(timestamp:2467,action:Position(player:"0",pos:(1608.3325,1601.2499))),(timestamp:2564,action:PlaceEntity(force:false,info:(pos:(x:1600,y:1600),ty:"factory_game::infinity_battery",rotation:North,kind:SolarPanel()))),(timestamp:2591,action:Position(player:"0",pos:(1607.9159,1601.2499))),(timestamp:2592,action:Position(player:"0",pos:(1607.4993,1601.2499))),(timestamp:2593,action:Position(player:"0",pos:(1607.0826,1601.2499))),(timestamp:2594,action:Position(player:"0",pos:(1606.666,1601.2499))),(timestamp:2595,action:Position(player:"0",pos:(1606.2494,1601.2499))),(timestamp:2596,action:Position(player:"0",pos:(1605.8328,1601.2499))),(timestamp:2597,action:Position(player:"0",pos:(1605.4161,1601.2499))),(timestamp:2598,action:Position(player:"0",pos:(1604.9995,1601.2499))),(timestamp:2599,action:Position(player:"0",pos:(1604.5829,1601.2499))),(timestamp:2600,action:Position(player:"0",pos:(1604.1663,1601.2499))),(timestamp:2601,action:Position(player:"0",pos:(1603.7496,1601.2499))),(timestamp:2602,action:Position(player:"0",pos:(1603.333,1601.2499))),(timestamp:2603,action:Position(player:"0",pos:(1602.9164,1601.2499))),(timestamp:2604,action:Position(player:"0",pos:(1602.4998,1601.2499))),(timestamp:2605,action:Position(player:"0",pos:(1602.0831,1601.2499))),(timestamp:2606,action:Position(player:"0",pos:(1601.6665,1601.2499))),(timestamp:2607,action:Position(player:"0",pos:(1601.2499,1601.2499))),(timestamp:2608,action:Position(player:"0",pos:(1600.8333,1601.2499))),(timestamp:2609,action:Position(player:"0",pos:(1600.4166,1601.2499))),(timestamp:2610,action:Position(player:"0",pos:(1600.0,1601.2499))),(timestamp:2611,action:Position(player:"0",pos:(1599.5834,1601.2499))),(timestamp:2612,action:Position(player:"0",pos:(1599.1667,1601.2499))),(timestamp:2613,action:Position(player:"0",pos:(1598.7501,1601.2499))),(timestamp:2614,action:Position(player:"0",pos:(1598.3335,1601.2499))),(timestamp:2615,action:Position(player:"0",pos:(1597.9169,1601.2499))),(timestamp:2616,action:Position(player:"0",pos:(1597.5002,1601.2499))),(timestamp:2617,action:Position(player:"0",pos:(1597.0836,1601.2499))),(timestamp:2618,action:Position(player:"0",pos:(1596.667,1601.2499))),(timestamp:2619,action:Position(player:"0",pos:(1596.2504,1601.2499))),(timestamp:2620,action:Position(player:"0",pos:(1595.8337,1601.2499))),(timestamp:2621,action:Position(player:"0",pos:(1595.4171,1601.2499))),(timestamp:2622,action:Position(player:"0",pos:(1595.0005,1601.2499))),(timestamp:2623,action:Position(player:"0",pos:(1594.5839,1601.2499))),(timestamp:2624,action:Position(player:"0",pos:(1594.1672,1601.2499))),(timestamp:2625,action:Position(player:"0",pos:(1593.7506,1601.2499))),(timestamp:2626,action:Position(player:"0",pos:(1593.334,1601.2499))),(timestamp:2627,action:Position(player:"0",pos:(1592.9174,1601.2499))),(timestamp:2628,action:Position(player:"0",pos:(1592.5007,1601.2499))),(timestamp:2629,action:Position(player:"0",pos:(1592.0841,1601.2499))),(timestamp:2630,action:Position(player:"0",pos:(1591.6675,1601.2499))),(timestamp:2631,action:Position(player:"0",pos:(1591.2509,1601.2499))),(timestamp:2632,action:Position(player:"0",pos:(1590.8342,1601.2499))),(timestamp:2636,action:Position(player:"0",pos:(1591.2509,1601.2499))),(timestamp:2637,action:Position(player:"0",pos:(1591.6675,1601.2499))),(timestamp:2638,action:Position(player:"0",pos:(1592.0841,1601.2499))),(timestamp:2639,action:Position(player:"0",pos:(1592.5007,1601.2499))),(timestamp:2640,action:Position(player:"0",pos:(1592.9174,1601.2499))),(timestamp:2641,action:Position(player:"0",pos:(1593.334,1601.2499))),(timestamp:2642,action:Position(player:"0",pos:(1593.7506,1601.2499))),(timestamp:2643,action:Position(player:"0",pos:(1594.1672,1601.2499))),(timestamp:2644,action:Position(player:"0",pos:(1594.5839,1601.2499))),(timestamp:2645,action:Position(player:"0",pos:(1595.0005,1601.2499))),(timestamp:2646,action:Position(player:"0",pos:(1595.4171,1601.2499))),(timestamp:2647,action:Position(player:"0",pos:(1595.8337,1601.2499))),(timestamp:2648,action:Position(player:"0",pos:(1596.2504,1601.2499))),(timestamp:2649,action:Position(player:"0",pos:(1596.667,1601.2499))),(timestamp:2650,action:Position(player:"0",pos:(1597.0836,1601.2499))),(timestamp:2651,action:Position(player:"0",pos:(1597.5002,1601.2499))),(timestamp:2652,action:Position(player:"0",pos:(1597.9169,1601.2499))),(timestamp:2653,action:Position(player:"0",pos:(1598.3335,1601.2499))),(timestamp:2654,action:Position(player:"0",pos:(1598.7501,1601.2499))),(timestamp:2655,action:Position(player:"0",pos:(1599.1667,1601.2499))),(timestamp:2656,action:Position(player:"0",pos:(1599.5834,1601.2499))),(timestamp:2657,action:Position(player:"0",pos:(1600.0,1601.2499))),(timestamp:2658,action:Position(player:"0",pos:(1600.4166,1601.2499))),(timestamp:2659,action:Position(player:"0",pos:(1600.8333,1601.2499))),(timestamp:2660,action:Position(player:"0",pos:(1601.2499,1601.2499))),(timestamp:2661,action:Position(player:"0",pos:(1601.6665,1601.2499))),(timestamp:2662,action:Position(player:"0",pos:(1602.0831,1601.2499))),(timestamp:2663,action:Position(player:"0",pos:(1602.4998,1601.2499))),(timestamp:2719,action:Position(player:"0",pos:(1602.9164,1601.2499))),(timestamp:2720,action:Position(player:"0",pos:(1603.333,1601.2499))),(timestamp:2721,action:Position(player:"0",pos:(1603.7496,1601.2499))),(timestamp:2722,action:Position(player:"0",pos:(1604.1663,1601.2499))),(timestamp:2723,action:Position(player:"0",pos:(1604.5829,1600.8333))),(timestamp:2724,action:Position(player:"0",pos:(1604.9995,1600.4166))),(timestamp:2725,action:Position(player:"0",pos:(1605.4161,1600.0))),(timestamp:2726,action:Position(player:"0",pos:(1605.8328,1599.5834))),(timestamp:2727,action:Position(player:"0",pos:(1606.2494,1599.1667))),(timestamp:2728,action:Position(player:"0",pos:(1606.666,1598.7501))),(timestamp:2729,action:Position(player:"0",pos:(1607.0826,1598.3335))),(timestamp:2730,action:Position(player:"0",pos:(1607.4993,1597.9169))),(timestamp:2731,action:Position(player:"0",pos:(1607.9159,1597.5002))),(timestamp:2732,action:Position(player:"0",pos:(1608.3325,1597.0836))),(timestamp:2733,action:Position(player:"0",pos:(1608.3325,1596.667))),(timestamp:2734,action:Position(player:"0",pos:(1608.3325,1596.2504))),(timestamp:2735,action:Position(player:"0",pos:(1608.3325,1595.8337))),(timestamp:2776,action:Position(player:"0",pos:(1608.3325,1596.2504))),(timestamp:2777,action:Position(player:"0",pos:(1608.3325,1596.667))),(timestamp:2778,action:Position(player:"0",pos:(1608.3325,1597.0836))),(timestamp:2779,action:Position(player:"0",pos:(1608.3325,1597.5002))),(timestamp:2780,action:Position(player:"0",pos:(1608.3325,1597.9169))),(timestamp:2781,action:Position(player:"0",pos:(1608.3325,1598.3335))),(timestamp:2850,action:PlaceEntity(force:false,info:(pos:(x:1605,y:1595),ty:"factory_game::fast_transport_belt",rotation:East,kind:Underground(underground_dir:Entrance)))),(timestamp:2902,action:PlaceEntity(force:false,info:(pos:(x:1610,y:1595),ty:"factory_game::fast_transport_belt",rotation:East,kind:Underground(underground_dir:Exit)))),(timestamp:3159,action:PlaceEntity(force:false,info:(pos:(x:1607,y:1595),ty:"factory_game::fast_transport_belt",rotation:East,kind:Underground(underground_dir:Entrance)))),(timestamp:3248,action:Position(player:"0",pos:(1608.3325,1597.9169))),(timestamp:3249,action:Position(player:"0",pos:(1608.3325,1597.5002))),(timestamp:3250,action:Position(player:"0",pos:(1608.3325,1597.0836))),(timestamp:3251,action:Position(player:"0",pos:(1608.3325,1596.667))),(timestamp:3252,action:Position(player:"0",pos:(1608.3325,1596.2504))),(timestamp:3253,action:Position(player:"0",pos:(1608.3325,1595.8337))),(timestamp:3254,action:Position(player:"0",pos:(1608.3325,1595.4171))),(timestamp:3255,action:Position(player:"0",pos:(1608.3325,1595.0005))),(timestamp:3256,action:Position(player:"0",pos:(1608.3325,1594.5839))),(timestamp:3257,action:Position(player:"0",pos:(1608.3325,1594.1672))),(timestamp:3258,action:Position(player:"0",pos:(1608.3325,1593.7506))),(timestamp:3259,action:Position(player:"0",pos:(1608.3325,1593.334))),(timestamp:3260,action:Position(player:"0",pos:(1608.3325,1592.9174))),(timestamp:3261,action:Position(player:"0",pos:(1608.3325,1592.5007))),(timestamp:3262,action:Position(player:"0",pos:(1608.3325,1592.0841))),(timestamp:3263,action:Position(player:"0",pos:(1608.3325,1591.6675))),(timestamp:3264,action:Position(player:"0",pos:(1608.3325,1591.2509))),(timestamp:3265,action:Position(player:"0",pos:(1608.3325,1590.8342))),(timestamp:3913,action:Position(player:"0",pos:(1608.3325,1590.4176))),(timestamp:3914,action:Position(player:"0",pos:(1608.3325,1590.001))),(timestamp:3915,action:Position(player:"0",pos:(1608.3325,1589.5844))),(timestamp:3916,action:Position(player:"0",pos:(1608.3325,1589.1677))),(timestamp:3917,action:Position(player:"0",pos:(1608.3325,1588.7511))),(timestamp:3918,action:Position(player:"0",pos:(1608.3325,1588.3345))),(timestamp:3919,action:Position(player:"0",pos:(1608.3325,1587.9178))),(timestamp:3920,action:Position(player:"0",pos:(1608.3325,1587.5012))),(timestamp:3921,action:Position(player:"0",pos:(1608.3325,1587.0846))),(timestamp:3922,action:Position(player:"0",pos:(1608.3325,1586.668))),(timestamp:3923,action:Position(player:"0",pos:(1608.3325,1586.2513))),(timestamp:3924,action:Position(player:"0",pos:(1608.3325,1585.8347))),(timestamp:3925,action:Position(player:"0",pos:(1608.3325,1585.4181))),(timestamp:3926,action:Position(player:"0",pos:(1608.3325,1585.0015))),(timestamp:3937,action:Position(player:"0",pos:(1608.3325,1585.4181))),(timestamp:3938,action:Position(player:"0",pos:(1608.3325,1585.8347))),(timestamp:3939,action:Position(player:"0",pos:(1608.3325,1586.2513))),(timestamp:3940,action:Position(player:"0",pos:(1608.3325,1586.668))),(timestamp:3941,action:Position(player:"0",pos:(1608.3325,1587.0846))),(timestamp:3942,action:Position(player:"0",pos:(1608.3325,1587.5012))),(timestamp:3943,action:Position(player:"0",pos:(1608.3325,1587.9178))),(timestamp:3944,action:Position(player:"0",pos:(1608.3325,1588.3345))),(timestamp:3945,action:Position(player:"0",pos:(1608.3325,1588.7511))),(timestamp:3946,action:Position(player:"0",pos:(1608.3325,1589.1677))),(timestamp:3947,action:Position(player:"0",pos:(1608.3325,1589.5844))),(timestamp:3948,action:Position(player:"0",pos:(1608.3325,1590.001))),(timestamp:3949,action:Position(player:"0",pos:(1608.3325,1590.4176))),(timestamp:3950,action:Position(player:"0",pos:(1608.3325,1590.8342))),(timestamp:3951,action:Position(player:"0",pos:(1608.3325,1591.2509))),(timestamp:3952,action:Position(player:"0",pos:(1608.3325,1591.6675))),(timestamp:3953,action:Position(player:"0",pos:(1608.3325,1592.0841))),(timestamp:3954,action:Position(player:"0",pos:(1608.3325,1592.5007))),(timestamp:3955,action:Position(player:"0",pos:(1608.3325,1592.9174))),(timestamp:3956,action:Position(player:"0",pos:(1608.3325,1593.334))),(timestamp:3957,action:Position(player:"0",pos:(1608.3325,1593.7506))),(timestamp:3958,action:Position(player:"0",pos:(1608.3325,1594.1672))),(timestamp:3959,action:Position(player:"0",pos:(1608.3325,1594.5839))),(timestamp:3960,action:Position(player:"0",pos:(1608.3325,1595.0005))),(timestamp:3961,action:Position(player:"0",pos:(1608.3325,1595.4171))),(timestamp:3962,action:Position(player:"0",pos:(1608.3325,1595.8337))),(timestamp:3963,action:Position(player:"0",pos:(1608.3325,1596.2504))),(timestamp:3964,action:Position(player:"0",pos:(1608.3325,1596.667))),(timestamp:3965,action:Position(player:"0",pos:(1608.3325,1597.0836))),(timestamp:3966,action:Position(player:"0",pos:(1608.3325,1597.5002))),(timestamp:3967,action:Position(player:"0",pos:(1608.3325,1597.9169))),(timestamp:3968,action:Position(player:"0",pos:(1608.3325,1598.3335))),(timestamp:3969,action:Position(player:"0",pos:(1608.3325,1598.7501))),(timestamp:3970,action:Position(player:"0",pos:(1608.3325,1599.1667))),(timestamp:3971,action:Position(player:"0",pos:(1608.3325,1599.5834))),(timestamp:3972,action:Position(player:"0",pos:(1608.3325,1600.0))),(timestamp:3973,action:Position(player:"0",pos:(1608.3325,1600.4166))),(timestamp:3974,action:Position(player:"0",pos:(1608.3325,1600.8333))),(timestamp:3975,action:Position(player:"0",pos:(1608.3325,1601.2499))),(timestamp:3976,action:Position(player:"0",pos:(1608.3325,1601.6665))),(timestamp:3977,action:Position(player:"0",pos:(1608.3325,1602.0831))),(timestamp:3978,action:Position(player:"0",pos:(1608.3325,1602.4998))),(timestamp:3979,action:Position(player:"0",pos:(1608.3325,1602.9164))),(timestamp:3980,action:Position(player:"0",pos:(1608.3325,1603.333))),(timestamp:3981,action:Position(player:"0",pos:(1608.3325,1603.7496))),(timestamp:3996,action:Position(player:"0",pos:(1608.3325,1603.333))),(timestamp:3997,action:Position(player:"0",pos:(1608.3325,1602.9164))),(timestamp:3998,action:Position(player:"0",pos:(1608.3325,1602.4998))),(timestamp:3999,action:Position(player:"0",pos:(1608.3325,1602.0831))),(timestamp:4000,action:Position(player:"0",pos:(1608.3325,1601.6665))),(timestamp:4001,action:Position(player:"0",pos:(1608.3325,1601.2499))),(timestamp:4002,action:Position(player:"0",pos:(1608.3325,1600.8333))),(timestamp:4003,action:Position(player:"0",pos:(1608.3325,1600.4166))),(timestamp:4004,action:Position(player:"0",pos:(1608.3325,1600.0))),(timestamp:4005,action:Position(player:"0",pos:(1608.3325,1599.5834))),(timestamp:4006,action:Position(player:"0",pos:(1608.3325,1599.1667))),(timestamp:4007,action:Position(player:"0",pos:(1608.3325,1598.7501))),(timestamp:4008,action:Position(player:"0",pos:(1608.3325,1598.3335))),(timestamp:4009,action:Position(player:"0",pos:(1608.3325,1597.9169))),(timestamp:4010,action:Position(player:"0",pos:(1608.3325,1597.5002))),(timestamp:4011,action:Position(player:"0",pos:(1608.3325,1597.0836))),(timestamp:4012,action:Position(player:"0",pos:(1608.3325,1596.667))),(timestamp:4013,action:Position(player:"0",pos:(1608.3325,1596.2504))),(timestamp:4014,action:Position(player:"0",pos:(1608.3325,1595.8337))),(timestamp:4015,action:Position(player:"0",pos:(1608.3325,1595.4171))),(timestamp:4016,action:Position(player:"0",pos:(1608.3325,1595.0005))),(timestamp:4017,action:Position(player:"0",pos:(1608.3325,1594.5839))),(timestamp:4018,action:Position(player:"0",pos:(1608.3325,1594.1672))),(timestamp:4019,action:Position(player:"0",pos:(1608.3325,1593.7506))),(timestamp:4020,action:Position(player:"0",pos:(1608.3325,1593.334))),(timestamp:4021,action:Position(player:"0",pos:(1608.3325,1592.9174))),(timestamp:4047,action:Position(player:"0",pos:(1608.3325,1593.334))),(timestamp:4048,action:Position(player:"0",pos:(1608.3325,1593.7506))),(timestamp:4049,action:Position(player:"0",pos:(1608.3325,1594.1672))),(timestamp:4050,action:Position(player:"0",pos:(1608.3325,1594.5839))),(timestamp:4051,action:Position(player:"0",pos:(1608.3325,1595.0005))),(timestamp:4052,action:Position(player:"0",pos:(1608.3325,1595.4171))),(timestamp:4053,action:Position(player:"0",pos:(1608.3325,1595.8337))),(timestamp:4054,action:Position(player:"0",pos:(1608.3325,1596.2504))),(timestamp:4055,action:Position(player:"0",pos:(1608.3325,1596.667))),(timestamp:4056,action:Position(player:"0",pos:(1608.3325,1597.0836))),(timestamp:4057,action:Position(player:"0",pos:(1608.3325,1597.5002))),(timestamp:4058,action:Position(player:"0",pos:(1608.3325,1597.9169))),(timestamp:4059,action:Position(player:"0",pos:(1608.3325,1598.3335))),(timestamp:4060,action:Position(player:"0",pos:(1608.3325,1598.7501))),(timestamp:4061,action:Position(player:"0",pos:(1608.3325,1599.1667))),(timestamp:4062,action:Position(player:"0",pos:(1608.3325,1599.5834))),(timestamp:4063,action:Position(player:"0",pos:(1608.3325,1600.0))),(timestamp:4064,action:Position(player:"0",pos:(1608.3325,1600.4166))),(timestamp:4065,action:Position(player:"0",pos:(1608.3325,1600.8333))),(timestamp:4066,action:Position(player:"0",pos:(1608.3325,1601.2499))),(timestamp:4086,action:Position(player:"0",pos:(1608.3325,1600.8333))),(timestamp:4087,action:Position(player:"0",pos:(1608.3325,1600.4166))),(timestamp:4088,action:Position(player:"0",pos:(1608.3325,1600.0))),(timestamp:4089,action:Position(player:"0",pos:(1608.3325,1599.5834))),(timestamp:4090,action:Position(player:"0",pos:(1608.3325,1599.1667))),(timestamp:4091,action:Position(player:"0",pos:(1608.3325,1598.7501))),(timestamp:4092,action:Position(player:"0",pos:(1608.3325,1598.3335))),(timestamp:4158,action:Remove(pos:(x:1605,y:1595)))],current_timestep:4159,end_timestep:None) \ No newline at end of file diff --git a/crash_replays/004.rep.ron b/crash_replays/004.rep.ron new file mode 100644 index 0000000..90d4b22 --- /dev/null +++ b/crash_replays/004.rep.ron @@ -0,0 +1 @@ +(program_info:(game_version:"7c292fc",git_dirty:true,mod_sha:"CAB095682E37B9E01477714A53608B1A73646A70C4E1560D8C437464F8AF7628",mod_list:[]),generation_info:(example_idx:0,example_settings:[]),actions:[(timestamp:107,action:PlaceEntity(force:false,info:(pos:(x:1598,y:1598),ty:"factory_game::assembler1",rotation:North,kind:Assembler()))),(timestamp:198,action:Position(player:"0",pos:(1600.4166,1599.5834))),(timestamp:199,action:Position(player:"0",pos:(1600.8333,1599.1667))),(timestamp:200,action:Position(player:"0",pos:(1601.2499,1598.7501))),(timestamp:201,action:Position(player:"0",pos:(1601.6665,1598.3335))),(timestamp:202,action:Position(player:"0",pos:(1602.0831,1597.9169))),(timestamp:203,action:Position(player:"0",pos:(1602.4998,1597.5002))),(timestamp:204,action:Position(player:"0",pos:(1602.9164,1597.0836))),(timestamp:387,action:SetRecipe(pos:(x:1598,y:1598),recipe:"factory_game::iron_ore_generation")),(timestamp:514,action:Position(player:"0",pos:(1602.9164,1597.5002))),(timestamp:515,action:Position(player:"0",pos:(1602.9164,1597.9169))),(timestamp:516,action:Position(player:"0",pos:(1602.9164,1598.3335))),(timestamp:517,action:Position(player:"0",pos:(1602.9164,1598.7501))),(timestamp:518,action:Position(player:"0",pos:(1602.9164,1599.1667))),(timestamp:519,action:Position(player:"0",pos:(1602.9164,1599.5834))),(timestamp:520,action:Position(player:"0",pos:(1602.9164,1600.0))),(timestamp:521,action:Position(player:"0",pos:(1602.9164,1600.4166))),(timestamp:522,action:Position(player:"0",pos:(1602.9164,1600.8333))),(timestamp:523,action:Position(player:"0",pos:(1602.9164,1601.2499))),(timestamp:524,action:Position(player:"0",pos:(1602.9164,1601.6665))),(timestamp:525,action:Position(player:"0",pos:(1602.9164,1602.0831))),(timestamp:526,action:Position(player:"0",pos:(1602.9164,1602.4998))),(timestamp:569,action:Remove(pos:(x:1599,y:1599))),(timestamp:593,action:Position(player:"0",pos:(1602.9164,1602.0831))),(timestamp:594,action:Position(player:"0",pos:(1602.9164,1601.6665))),(timestamp:595,action:Position(player:"0",pos:(1602.9164,1601.2499))),(timestamp:596,action:Position(player:"0",pos:(1602.9164,1600.8333))),(timestamp:597,action:Position(player:"0",pos:(1602.9164,1600.4166))),(timestamp:598,action:Position(player:"0",pos:(1602.9164,1600.0))),(timestamp:919,action:PlaceEntity(force:false,info:(pos:(x:1599,y:1597),ty:"factory_game::fast_transport_belt",rotation:East,kind:Underground(underground_dir:Entrance)))),(timestamp:989,action:PlaceEntity(force:false,info:(pos:(x:1604,y:1597),ty:"factory_game::fast_transport_belt",rotation:East,kind:Underground(underground_dir:Exit)))),(timestamp:1033,action:PlaceEntity(force:false,info:(pos:(x:1600,y:1597),ty:"factory_game::fast_transport_belt",rotation:East,kind:Underground(underground_dir:Entrance)))),(timestamp:1057,action:PlaceEntity(force:false,info:(pos:(x:1603,y:1597),ty:"factory_game::fast_transport_belt",rotation:East,kind:Underground(underground_dir:Exit)))),(timestamp:1125,action:Remove(pos:(x:1600,y:1597))),(timestamp:1184,action:Remove(pos:(x:1603,y:1597)))],current_timestep:1185,end_timestep:None) \ No newline at end of file diff --git a/crash_replays/dummy.rep b/crash_replays/dummy.rep deleted file mode 100644 index e69de29..0000000 diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..7d36536 --- /dev/null +++ b/flake.lock @@ -0,0 +1,99 @@ +{ + "nodes": { + "crane": { + "locked": { + "lastModified": 1770419512, + "narHash": "sha256-o8Vcdz6B6bkiGUYkZqFwH3Pv1JwZyXht3dMtS7RchIo=", + "owner": "ipetkov", + "repo": "crane", + "rev": "2510f2cbc3ccd237f700bb213756a8f35c32d8d7", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, + "fenix": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ], + "rust-analyzer-src": "rust-analyzer-src" + }, + "locked": { + "lastModified": 1770447430, + "narHash": "sha256-smrRbWhvJF6BATB6pXbD8Cp04HRrVcYQkXqOhUF81nk=", + "owner": "nix-community", + "repo": "fenix", + "rev": "e1b28f6ca0d1722edceec1f2f3501558988d1aed", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "fenix", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1770197578, + "narHash": "sha256-AYqlWrX09+HvGs8zM6ebZ1pwUqjkfpnv8mewYwAo+iM=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-codium": { + "locked": { + "lastModified": 1762943920, + "narHash": "sha256-ITeH8GBpQTw9457ICZBddQEBjlXMmilML067q0e6vqY=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "91c9a64ce2a84e648d0cf9671274bb9c2fb9ba60", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "91c9a64ce2a84e648d0cf9671274bb9c2fb9ba60", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "crane": "crane", + "fenix": "fenix", + "nixpkgs": "nixpkgs", + "nixpkgs-codium": "nixpkgs-codium" + } + }, + "rust-analyzer-src": { + "flake": false, + "locked": { + "lastModified": 1770290336, + "narHash": "sha256-rJ79U68ZLjCSg1Qq+63aBXi//W7blaKiYq9NnfeTboA=", + "owner": "rust-lang", + "repo": "rust-analyzer", + "rev": "d2a00da09293267e5be2efb216698762929d7140", + "type": "github" + }, + "original": { + "owner": "rust-lang", + "ref": "nightly", + "repo": "rust-analyzer", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..7a2fa2d --- /dev/null +++ b/flake.nix @@ -0,0 +1,157 @@ +{ + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + nixpkgs-codium.url = "github:nixos/nixpkgs?ref=91c9a64ce2a84e648d0cf9671274bb9c2fb9ba60"; + fenix = { + url = "github:nix-community/fenix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + crane.url = "github:ipetkov/crane"; + }; + + inputs.self.lfs = true; + outputs = { self, nixpkgs, nixpkgs-codium, fenix, crane }: let + inherit (nixpkgs) lib; + pkgs = nixpkgs.legacyPackages."x86_64-linux"; + pkgs-codium = nixpkgs-codium.legacyPackages."x86_64-linux"; + fenixLib = fenix.packages."x86_64-linux"; + + toolchain_sha = "sha256-dXoddWaPL6UtPscTpxMUMBDL83jFtqeDtmH/+bXBs3E="; + + rustToolchain = fenixLib.fromToolchainFile { + file = ./rust-toolchain.toml; + sha256 = toolchain_sha; + }; + + wasmToolchain = fenixLib.combine [ + (fenixLib.targets.wasm32-unknown-unknown.fromToolchainFile { + file = ./rust-toolchain.toml; + sha256 = toolchain_sha; + }) + rustToolchain + ]; + + neededPackages = with pkgs; [ + wayland + xorg.libX11 + xorg.libXcursor + xorg.libXrandr + xorg.libXi + libxkbcommon + + openssl + + vulkan-headers vulkan-loader + ]; + + built_overrides = { + # info for built + # BUILT_OVERRIDE_factory_GIT_DIRTY = if self.revDirty then "true" else "false"; + BUILT_OVERRIDE_factory_GIT_HEAD_REF = self.ref or null; + BUILT_OVERRIDE_factory_GIT_COMMIT_HASH = self.rev or null; + BUILT_OVERRIDE_factory_GIT_COMMIT_HASH_SHORT = self.revShort or null; + SOURCE_DATE_EPOCH = self.lastModified; + }; + + client_package_for_target = { + target, toolchain + }: ((crane.mkLib nixpkgs.legacyPackages.${pkgs.system}).overrideToolchain toolchain).buildPackage ({ + name = "factory"; + + BUILT_OVERRIDE_factory_GIT_COMMIT_HASH_SHORT = "BLUB"; + + CARGO_BUILD_TARGET = target; + meta = { + homepage = "https://www.github.com/BloodStainedCrow/FactoryGame/"; + maintainers = with lib.maintainers; [ BloodStainedCrow ]; + mainProgram = "factory"; + }; + src = ./.; + + buildInputs = neededPackages; + nativeBuildInputs = [ pkgs.pkg-config pkgs.makeWrapper ]; + cargoHash = "sha256-83+1Y486PUHM9+uyFw+yJ9bNMlMbN/fc8cYRzKmDdb8="; + # cargoLock.lockFile = ./Cargo.lock; + doCheck = false; + + postInstall = '' + wrapProgram "$out/bin/factory" --prefix LD_LIBRARY_PATH : "${builtins.toString (pkgs.lib.makeLibraryPath neededPackages)}" + ''; + } // built_overrides); + + client_package = client_package_for_target { target = "x86_64-unknown-linux-gnu"; toolchain = rustToolchain; }; + in { + + + devShells."x86_64-linux".codium = pkgs.mkShell { + buildInputs = with pkgs; [ + bashInteractive + rustToolchain + + perf + samply + bacon + + (vscode-with-extensions.override { + vscode = pkgs-codium.vscodium; + vscodeExtensions = with pkgs-codium.vscode-extensions; [ + rust-lang.rust-analyzer + vadimcn.vscode-lldb + gruntfuggly.todo-tree + a5huynh.vscode-ron + ]; + }) + ] ++ neededPackages; + LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${builtins.toString (pkgs.lib.makeLibraryPath neededPackages)}"; + + shellHook = '' + export SHELL="${pkgs.bashInteractive}/bin/bash" + ''; + + + # env.RUST_SRC_PATH = "${rustToolchain.rust-src}"; + }; + + packages."x86_64-linux".default = client_package; + packages."x86_64-linux".dedicated_server = client_package.overrideAttrs ( oldAttrs: { cargoBuildFlags = [ "--no-default-features" "-F logging" ]; }); + + "wasm" = (client_package_for_target { target = "wasm32-unknown-unknown"; toolchain = wasmToolchain; }).overrideAttrs ( oldAttrs: { + nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ pkgs.wabt pkgs.binaryen ]; + postInstall = '' + mkdir -p $out/lib + ls -lR $out + wasm-strip $out/bin/factory.wasm -o $out/lib/factory.wasm + # TODO: Use wasm-opt + # wasm-opt $out/lib/factory.wasm -o $out/lib/factory.wasm -O4 + rm -r $out/bin + wasm-validate $out/lib/factory.wasm + ''; + + # We cannot run tests on a wasm binary + doCheck = false; + }); + + "trunk" = ((crane.mkLib nixpkgs.legacyPackages.${pkgs.system}).overrideToolchain wasmToolchain).buildTrunkPackage ({ + nativeBuildInputs = [ pkgs.lld ]; + CARGO_BUILD_TARGET = "wasm32-unknown-unknown"; + src = ./.; + + wasm-bindgen-cli = pkgs.buildWasmBindgenCli rec { + src = pkgs.fetchCrate { + pname = "wasm-bindgen-cli"; + version = "0.2.108"; + hash = "sha256-UsuxILm1G6PkmVw0I/JF12CRltAfCJQFOaT4hFwvR8E="; + # hash = lib.fakeHash; + }; + + cargoDeps = pkgs.rustPlatform.fetchCargoVendor { + inherit src; + inherit (src) pname version; + hash = "sha256-iqQiWbsKlLBiJFeqIYiXo3cqxGLSjNM8SOWXGM9u43E="; + # hash = lib.fakeHash; + }; + }; + } // built_overrides); + + }; +} diff --git a/giga.png b/giga.png new file mode 100644 index 0000000..dcb6fcd Binary files /dev/null and b/giga.png differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..03dca5c --- /dev/null +++ b/index.html @@ -0,0 +1,137 @@ + + + + + + + +
+ ++ Loading… +
+ +