This is an automated email from the ASF dual-hosted git repository.

piotr pushed a commit to branch simulator_ui
in repository https://gitbox.apache.org/repos/asf/iggy.git

commit 42f473653c846ce7edca2fef04ae13d5a00a7c79
Merge: 246b4b56d 27f0f11c6
Author: spetz <[email protected]>
AuthorDate: Fri Apr 10 13:10:39 2026 +0200

    merge

 .config/nextest.toml                               |  15 +-
 .github/actions/rust/pre-merge/action.yml          |   2 +-
 .github/workflows/coverage-baseline.yml            |   2 +-
 .typos.toml                                        |   2 +
 Cargo.lock                                         | 175 +++++---
 Cargo.toml                                         |   3 +-
 DEPENDENCIES.md                                    |  27 +-
 bdd/go/go.mod                                      |   2 +-
 bdd/go/go.sum                                      |   4 +-
 core/binary_protocol/src/consensus/message.rs      |  38 +-
 core/common/src/error/iggy_error.rs                |   2 +
 .../http_config/http_client_config.rs              |   4 +
 .../http_config/http_client_config_builder.rs      |   6 +
 core/configs/src/server_config/defaults.rs         |   1 +
 core/configs/src/server_config/http.rs             |  11 +
 core/consensus/src/impls.rs                        | 143 ++++++-
 core/consensus/src/observability.rs                |  27 ++
 core/harness_derive/src/attrs.rs                   |  74 +++-
 core/harness_derive/src/codegen.rs                 | 205 ++-------
 core/integration/Cargo.toml                        |   3 +-
 .../src/harness/config/jwks.rs}                    |  16 +-
 core/integration/src/harness/config/mod.rs         |   2 +
 core/integration/src/harness/handle/mod.rs         |   2 +-
 core/integration/src/harness/handle/server.rs      |   2 +-
 core/integration/src/harness/mod.rs                |   4 +-
 .../src/harness/orchestrator/builder.rs            |  15 +-
 .../src/harness/orchestrator/harness.rs            | 234 +++--------
 core/integration/src/harness/seeds.rs              |  71 +---
 core/integration/src/harness/shared.rs             | 159 -------
 core/integration/src/lib.rs                        |   3 +-
 core/integration/tests/connectors/api/endpoints.rs |  24 +-
 .../connectors/elasticsearch/elasticsearch_sink.rs |   9 +-
 .../elasticsearch/elasticsearch_source.rs          |   9 +-
 .../integration/tests/connectors/http/http_sink.rs |  26 +-
 .../http_config_provider/direct_responses.rs       |  30 +-
 .../http_config_provider/wrapped_responses.rs      |  30 +-
 .../tests/connectors/iceberg/iceberg_sink.rs       |   9 +-
 .../tests/connectors/influxdb/influxdb_sink.rs     |  18 +-
 .../connectors/influxdb/influxdb_sink_formats.rs   |  36 +-
 .../tests/connectors/influxdb/influxdb_source.rs   |  12 +-
 .../connectors/influxdb/influxdb_source_formats.rs |  27 +-
 .../tests/connectors/mongodb/mongodb_sink.rs       |  31 +-
 .../tests/connectors/postgres/postgres_sink.rs     |   9 +-
 .../tests/connectors/postgres/postgres_source.rs   |  15 +-
 .../tests/connectors/postgres/restart.rs           |   6 +-
 .../tests/connectors/quickwit/quickwit_sink.rs     |  12 +-
 .../tests/connectors/random/random_source.rs       |   3 +-
 .../tests/connectors/stdout/stdout_sink.rs         |   9 +-
 core/integration/tests/server/a2a_jwt/config.toml  |  66 +++
 core/integration/tests/server/a2a_jwt/jwt_tests.rs | 331 +++++++++++++++
 .../tests/server/a2a_jwt}/mod.rs                   |  10 +-
 .../server/a2a_jwt/wiremock/__files/jwks.json      |  10 +
 .../server/a2a_jwt/wiremock/mappings/jwks.json     |  13 +
 core/integration/tests/server/mod.rs               |   1 +
 core/metadata/src/impls/metadata.rs                |   4 +-
 core/partitions/src/iggy_partitions.rs             |   4 +-
 core/sdk/Cargo.toml                                |   2 +-
 core/sdk/src/client_provider.rs                    |   1 +
 core/sdk/src/clients/client_builder.rs             |   6 +
 core/sdk/src/clients/consumer.rs                   |   3 +
 core/sdk/src/http/http_client.rs                   |   4 +-
 core/server/Cargo.toml                             |   1 +
 core/server/config.toml                            |   6 +
 core/server/src/http/jwt/json_web_token.rs         | 109 ++++-
 core/server/src/http/jwt/jwks.rs                   | 316 ++++++++++++++
 core/server/src/http/jwt/jwt_manager.rs            | 200 ++++++++-
 core/server/src/http/jwt/middleware.rs             |  12 +-
 core/server/src/http/jwt/mod.rs                    |   1 +
 core/shard/src/lib.rs                              | 468 ++++++++++++++++++++-
 core/shard/src/router.rs                           |  65 ++-
 core/simulator/src/lib.rs                          | 188 ++++++++-
 core/simulator/src/replica.rs                      |  10 +-
 examples/go/go.mod                                 |   2 +-
 examples/go/go.sum                                 |   4 +-
 foreign/go/go.mod                                  |  29 +-
 foreign/go/go.sum                                  |  86 ++--
 web/package-lock.json                              |  12 +-
 web/package.json                                   |   3 +-
 78 files changed, 2485 insertions(+), 1051 deletions(-)

diff --cc Cargo.lock
index 62d50503b,c7416b066..aba2dd4a0
--- a/Cargo.lock
+++ b/Cargo.lock
@@@ -1611,1253 -1307,13 +1621,1253 @@@ dependencies = 
  ]
  
  [[package]]
 -name = "bit_field"
 -version = "0.10.3"
 +name = "bevy_audio"
 +version = "0.18.1"
  source = "registry+https://github.com/rust-lang/crates.io-index";
 -checksum = "1e4b40c7323adcfc0a41c4b88143ed58346ff65a288fc144329c5c45e05d70c6"
 +checksum = "9d68da32468ce7f4bb2863b71326acfaaa88e9aef8da8306257cd487d40cede4"
 +dependencies = [
 + "bevy_app",
 + "bevy_asset",
 + "bevy_ecs",
 + "bevy_math",
 + "bevy_reflect",
 + "bevy_transform",
 + "coreaudio-sys",
 + "cpal",
 + "rodio",
 + "tracing",
 +]
  
  [[package]]
 -name = "bitflags"
 +name = "bevy_camera"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "37ed9eed054e14341852236d06a7244597b1ace39ff9ae023fbd188ffde88619"
 +dependencies = [
 + "bevy_app",
 + "bevy_asset",
 + "bevy_color",
 + "bevy_derive",
 + "bevy_ecs",
 + "bevy_image",
 + "bevy_math",
 + "bevy_mesh",
 + "bevy_reflect",
 + "bevy_transform",
 + "bevy_utils",
 + "bevy_window",
 + "derive_more",
 + "downcast-rs 2.0.2",
 + "serde",
 + "smallvec",
 + "thiserror 2.0.18",
 + "wgpu-types",
 +]
 +
 +[[package]]
 +name = "bevy_color"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "2eb41e8310a85811d14a4e75cfc2d6c07ac70661d6a4883509fc960f622970a8"
 +dependencies = [
 + "bevy_math",
 + "bevy_reflect",
 + "bytemuck",
 + "derive_more",
 + "encase",
 + "serde",
 + "thiserror 2.0.18",
 + "wgpu-types",
 +]
 +
 +[[package]]
 +name = "bevy_core_pipeline"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "4d0810e85c2436e50c67448d48a83bf0bb1b5849899619ae2c7ea817221e9172"
 +dependencies = [
 + "bevy_app",
 + "bevy_asset",
 + "bevy_camera",
 + "bevy_color",
 + "bevy_derive",
 + "bevy_diagnostic",
 + "bevy_ecs",
 + "bevy_image",
 + "bevy_math",
 + "bevy_platform",
 + "bevy_reflect",
 + "bevy_render",
 + "bevy_shader",
 + "bevy_transform",
 + "bevy_utils",
 + "bevy_window",
 + "bitflags 2.11.0",
 + "nonmax",
 + "radsort",
 + "smallvec",
 + "thiserror 2.0.18",
 + "tracing",
 +]
 +
 +[[package]]
 +name = "bevy_derive"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "318ee0532c3da93749859d18f89a889c638fbc56aabac4d866583df7b951d103"
 +dependencies = [
 + "bevy_macro_utils",
 + "quote",
 + "syn 2.0.117",
 +]
 +
 +[[package]]
 +name = "bevy_dev_tools"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "a4f1464a3f5ef5c23d917987714ee89881f9f791e9ff97ecf6600ee846b9569e"
 +dependencies = [
 + "bevy_app",
 + "bevy_asset",
 + "bevy_camera",
 + "bevy_color",
 + "bevy_diagnostic",
 + "bevy_ecs",
 + "bevy_image",
 + "bevy_input",
 + "bevy_math",
 + "bevy_picking",
 + "bevy_reflect",
 + "bevy_render",
 + "bevy_shader",
 + "bevy_state",
 + "bevy_text",
 + "bevy_time",
 + "bevy_transform",
 + "bevy_ui",
 + "bevy_ui_render",
 + "bevy_window",
 + "tracing",
 +]
 +
 +[[package]]
 +name = "bevy_diagnostic"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "ec8543a0f7afd56d3499ba80ffab6ef0bad12f93c2d2ca9aa7b1f1b8816c3980"
 +dependencies = [
 + "atomic-waker",
 + "bevy_app",
 + "bevy_ecs",
 + "bevy_platform",
 + "bevy_tasks",
 + "bevy_time",
 + "const-fnv1a-hash",
 + "log",
 + "serde",
 + "sysinfo 0.37.2",
 +]
 +
 +[[package]]
 +name = "bevy_ecs"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "c9cf7a3ee41342dd7b5a5d82e200d0e8efb933169247fce853b4ad633d51e87d"
 +dependencies = [
 + "arrayvec",
 + "bevy_ecs_macros",
 + "bevy_platform",
 + "bevy_ptr",
 + "bevy_reflect",
 + "bevy_tasks",
 + "bevy_utils",
 + "bitflags 2.11.0",
 + "bumpalo",
 + "concurrent-queue",
 + "derive_more",
 + "fixedbitset",
-  "indexmap 2.13.1",
++ "indexmap 2.14.0",
 + "log",
 + "nonmax",
 + "serde",
 + "slotmap",
 + "smallvec",
 + "thiserror 2.0.18",
 + "variadics_please",
 +]
 +
 +[[package]]
 +name = "bevy_ecs_macros"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "908baf585e2ea16bd53ef0da57b69580478af0059d2dbdb4369991ac9794b618"
 +dependencies = [
 + "bevy_macro_utils",
 + "proc-macro2",
 + "quote",
 + "syn 2.0.117",
 +]
 +
 +[[package]]
 +name = "bevy_encase_derive"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "d4fee46eeddcbc00a805ae00ffa973f224671fc5cf0fe1a796963804faeade90"
 +dependencies = [
 + "bevy_macro_utils",
 + "encase_derive_impl",
 +]
 +
 +[[package]]
 +name = "bevy_feathers"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "1cb29be8f8443c5cc44e1c4710bbe02877e73703c60228ca043f20529a5496c6"
 +dependencies = [
 + "accesskit",
 + "bevy_a11y",
 + "bevy_app",
 + "bevy_asset",
 + "bevy_camera",
 + "bevy_color",
 + "bevy_derive",
 + "bevy_ecs",
 + "bevy_input_focus",
 + "bevy_log",
 + "bevy_math",
 + "bevy_picking",
 + "bevy_platform",
 + "bevy_reflect",
 + "bevy_render",
 + "bevy_shader",
 + "bevy_text",
 + "bevy_ui",
 + "bevy_ui_render",
 + "bevy_ui_widgets",
 + "bevy_window",
 + "smol_str",
 +]
 +
 +[[package]]
 +name = "bevy_gilrs"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "611827ab0ce43b88c0a695e6603901b5f34687efecaf526c861456c9d8e6fedb"
 +dependencies = [
 + "bevy_app",
 + "bevy_ecs",
 + "bevy_input",
 + "bevy_platform",
 + "bevy_time",
 + "gilrs",
 + "thiserror 2.0.18",
 + "tracing",
 +]
 +
 +[[package]]
 +name = "bevy_gizmos"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "6aaff0dd5f405c83d290c5cd591835f1ae8009894947ab19dadcb323062bd7e7"
 +dependencies = [
 + "bevy_app",
 + "bevy_asset",
 + "bevy_camera",
 + "bevy_color",
 + "bevy_ecs",
 + "bevy_gizmos_macros",
 + "bevy_light",
 + "bevy_math",
 + "bevy_reflect",
 + "bevy_time",
 + "bevy_transform",
 + "bevy_utils",
 +]
 +
 +[[package]]
 +name = "bevy_gizmos_macros"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "6960ea308d7e94adcac5c712553ff86614bba6b663511f3f3812f6bec028b51e"
 +dependencies = [
 + "bevy_macro_utils",
 + "quote",
 + "syn 2.0.117",
 +]
 +
 +[[package]]
 +name = "bevy_gizmos_render"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "4a8d18c089102de4c5e9326023ad96ba618a6961029f8102a33640b966883237"
 +dependencies = [
 + "bevy_app",
 + "bevy_asset",
 + "bevy_camera",
 + "bevy_core_pipeline",
 + "bevy_ecs",
 + "bevy_gizmos",
 + "bevy_image",
 + "bevy_math",
 + "bevy_mesh",
 + "bevy_pbr",
 + "bevy_render",
 + "bevy_shader",
 + "bevy_sprite_render",
 + "bevy_transform",
 + "bevy_utils",
 + "bytemuck",
 + "tracing",
 +]
 +
 +[[package]]
 +name = "bevy_gltf"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "5f37fb52655d0439656ca0a1db027d46926e463c81d893d4b1639668e5d7f1c1"
 +dependencies = [
 + "async-lock",
 + "base64 0.22.1",
 + "bevy_animation",
 + "bevy_app",
 + "bevy_asset",
 + "bevy_camera",
 + "bevy_color",
 + "bevy_ecs",
 + "bevy_image",
 + "bevy_light",
 + "bevy_math",
 + "bevy_mesh",
 + "bevy_pbr",
 + "bevy_platform",
 + "bevy_reflect",
 + "bevy_render",
 + "bevy_scene",
 + "bevy_tasks",
 + "bevy_transform",
 + "fixedbitset",
 + "gltf",
 + "itertools 0.14.0",
 + "percent-encoding",
 + "serde",
 + "serde_json",
 + "smallvec",
 + "thiserror 2.0.18",
 + "tracing",
 +]
 +
 +[[package]]
 +name = "bevy_image"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "a71daf9b2afdd032c2b1122d1d501f99126218cb3e9983b3604ec381daa35f22"
 +dependencies = [
 + "bevy_app",
 + "bevy_asset",
 + "bevy_color",
 + "bevy_ecs",
 + "bevy_math",
 + "bevy_platform",
 + "bevy_reflect",
 + "bevy_utils",
 + "bitflags 2.11.0",
 + "bytemuck",
 + "futures-lite",
 + "guillotiere",
 + "half",
 + "image",
 + "ktx2",
 + "rectangle-pack",
 + "ruzstd",
 + "serde",
 + "thiserror 2.0.18",
 + "tracing",
 + "wgpu-types",
 +]
 +
 +[[package]]
 +name = "bevy_input"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "dbc8ffbd02df34dfc52faf420a5263985973765e228043adf542fd0d790a6b21"
 +dependencies = [
 + "bevy_app",
 + "bevy_ecs",
 + "bevy_math",
 + "bevy_platform",
 + "bevy_reflect",
 + "derive_more",
 + "log",
 + "smol_str",
 + "thiserror 2.0.18",
 +]
 +
 +[[package]]
 +name = "bevy_input_focus"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "08d48a5bceccb9157549a39ab3de4017f5368b65db6471605e9a3f1c19d91bbc"
 +dependencies = [
 + "bevy_app",
 + "bevy_ecs",
 + "bevy_input",
 + "bevy_math",
 + "bevy_picking",
 + "bevy_reflect",
 + "bevy_window",
 + "log",
 + "thiserror 2.0.18",
 +]
 +
 +[[package]]
 +name = "bevy_internal"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "6a11df62e49897def470471551c02f13c6fb488e55dddb5ab7ef098132e07754"
 +dependencies = [
 + "bevy_a11y",
 + "bevy_android",
 + "bevy_animation",
 + "bevy_anti_alias",
 + "bevy_app",
 + "bevy_asset",
 + "bevy_audio",
 + "bevy_camera",
 + "bevy_color",
 + "bevy_core_pipeline",
 + "bevy_derive",
 + "bevy_dev_tools",
 + "bevy_diagnostic",
 + "bevy_ecs",
 + "bevy_feathers",
 + "bevy_gilrs",
 + "bevy_gizmos",
 + "bevy_gizmos_render",
 + "bevy_gltf",
 + "bevy_image",
 + "bevy_input",
 + "bevy_input_focus",
 + "bevy_light",
 + "bevy_log",
 + "bevy_math",
 + "bevy_mesh",
 + "bevy_pbr",
 + "bevy_picking",
 + "bevy_platform",
 + "bevy_post_process",
 + "bevy_ptr",
 + "bevy_reflect",
 + "bevy_render",
 + "bevy_scene",
 + "bevy_shader",
 + "bevy_sprite",
 + "bevy_sprite_render",
 + "bevy_state",
 + "bevy_tasks",
 + "bevy_text",
 + "bevy_time",
 + "bevy_transform",
 + "bevy_ui",
 + "bevy_ui_render",
 + "bevy_utils",
 + "bevy_window",
 + "bevy_winit",
 +]
 +
 +[[package]]
 +name = "bevy_light"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "4d9d2ac64390a9baacb3c0fa0f5456ac1553959d5a387874c102a09aab8b92cc"
 +dependencies = [
 + "bevy_app",
 + "bevy_asset",
 + "bevy_camera",
 + "bevy_color",
 + "bevy_ecs",
 + "bevy_image",
 + "bevy_math",
 + "bevy_mesh",
 + "bevy_platform",
 + "bevy_reflect",
 + "bevy_transform",
 + "bevy_utils",
 + "tracing",
 +]
 +
 +[[package]]
 +name = "bevy_log"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "c2aac1187f83a1ab2eae887564f7fb14b4abb3fbe8b2267a6426663463923120"
 +dependencies = [
 + "android_log-sys",
 + "bevy_app",
 + "bevy_ecs",
 + "bevy_platform",
 + "bevy_utils",
 + "tracing",
 + "tracing-log",
 + "tracing-oslog",
 + "tracing-subscriber",
 + "tracing-wasm",
 +]
 +
 +[[package]]
 +name = "bevy_macro_utils"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "3b147843b81a7ec548876ff97fa7bfdc646ef2567cb465566259237b39664438"
 +dependencies = [
 + "proc-macro2",
 + "quote",
 + "syn 2.0.117",
 + "toml_edit 0.23.10+spec-1.0.0",
 +]
 +
 +[[package]]
 +name = "bevy_math"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "e931fa969f89c83498b22c97432383afe90e90fd1a5e04fa07be8da4d3bcac84"
 +dependencies = [
 + "approx",
 + "arrayvec",
 + "bevy_reflect",
 + "derive_more",
 + "glam",
 + "itertools 0.14.0",
 + "libm",
 + "rand 0.9.2",
 + "rand_distr",
 + "serde",
 + "thiserror 2.0.18",
 + "variadics_please",
 +]
 +
 +[[package]]
 +name = "bevy_mesh"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "288f590c8173d4cca3cae5f2ba579accd5ed1a35dd3fab338f427eb39d55f05e"
 +dependencies = [
 + "bevy_app",
 + "bevy_asset",
 + "bevy_derive",
 + "bevy_ecs",
 + "bevy_image",
 + "bevy_math",
 + "bevy_mikktspace",
 + "bevy_platform",
 + "bevy_reflect",
 + "bevy_transform",
 + "bitflags 2.11.0",
 + "bytemuck",
 + "derive_more",
 + "hexasphere",
 + "thiserror 2.0.18",
 + "tracing",
 + "wgpu-types",
 +]
 +
 +[[package]]
 +name = "bevy_mikktspace"
 +version = "0.17.0-dev"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "7ef8e4b7e61dfe7719bb03c884dc270cd46a82efb40f93e9933b990c5c190c59"
 +
 +[[package]]
 +name = "bevy_pbr"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "a5ab6944ffc6fd71604c0fbca68cc3e2a3654edfcdbfd232f9d8b88e3d20fdc0"
 +dependencies = [
 + "bevy_app",
 + "bevy_asset",
 + "bevy_camera",
 + "bevy_color",
 + "bevy_core_pipeline",
 + "bevy_derive",
 + "bevy_diagnostic",
 + "bevy_ecs",
 + "bevy_image",
 + "bevy_light",
 + "bevy_log",
 + "bevy_math",
 + "bevy_mesh",
 + "bevy_platform",
 + "bevy_reflect",
 + "bevy_render",
 + "bevy_shader",
 + "bevy_transform",
 + "bevy_utils",
 + "bitflags 2.11.0",
 + "bytemuck",
 + "derive_more",
 + "fixedbitset",
 + "nonmax",
 + "offset-allocator",
 + "smallvec",
 + "static_assertions",
 + "thiserror 2.0.18",
 + "tracing",
 +]
 +
 +[[package]]
 +name = "bevy_picking"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "b7d524dbc8f2c9e73f7ab70c148c8f7886f3c24b8aa8c252a38ba68ed06cbf10"
 +dependencies = [
 + "bevy_app",
 + "bevy_asset",
 + "bevy_camera",
 + "bevy_derive",
 + "bevy_ecs",
 + "bevy_input",
 + "bevy_math",
 + "bevy_mesh",
 + "bevy_platform",
 + "bevy_reflect",
 + "bevy_time",
 + "bevy_transform",
 + "bevy_window",
 + "crossbeam-channel",
 + "tracing",
 + "uuid",
 +]
 +
 +[[package]]
 +name = "bevy_platform"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "ec6b36504169b644acd26a5469fd8d371aa6f1d73ee5c01b1b1181ae1cefbf9b"
 +dependencies = [
 + "critical-section",
 + "foldhash 0.2.0",
 + "futures-channel",
 + "hashbrown 0.16.1",
 + "js-sys",
 + "portable-atomic",
 + "portable-atomic-util",
 + "serde",
 + "spin 0.10.0",
 + "wasm-bindgen",
 + "wasm-bindgen-futures",
 + "web-time",
 +]
 +
 +[[package]]
 +name = "bevy_post_process"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "8f77a4e894aea992e3d6938f1d5898a1cdbb87dba6eebfb95cb4038d0a2600e9"
 +dependencies = [
 + "bevy_app",
 + "bevy_asset",
 + "bevy_camera",
 + "bevy_color",
 + "bevy_core_pipeline",
 + "bevy_derive",
 + "bevy_ecs",
 + "bevy_image",
 + "bevy_math",
 + "bevy_platform",
 + "bevy_reflect",
 + "bevy_render",
 + "bevy_shader",
 + "bevy_transform",
 + "bevy_utils",
 + "bevy_window",
 + "bitflags 2.11.0",
 + "nonmax",
 + "radsort",
 + "smallvec",
 + "thiserror 2.0.18",
 + "tracing",
 +]
 +
 +[[package]]
 +name = "bevy_prototype_lyon"
 +version = "0.16.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "4c172d3d743eab7ca2b50844e5a0bd9e8b0ecaace8acd9ccc7233b30446425f1"
 +dependencies = [
 + "bevy",
 + "lyon_algorithms",
 + "lyon_tessellation",
 + "svgtypes",
 +]
 +
 +[[package]]
 +name = "bevy_ptr"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "c7a9329e8dc4e01ced480eeec4902e6d7cb56e56ec37f6fbc4323e5c937290a7"
 +
 +[[package]]
 +name = "bevy_reflect"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "d1dfeb67a9fe4f59003a84f5f99ba6302141c70e926601cbc6abfd4a1eea9ca9"
 +dependencies = [
 + "assert_type_match",
 + "bevy_platform",
 + "bevy_ptr",
 + "bevy_reflect_derive",
 + "bevy_utils",
 + "derive_more",
 + "disqualified",
 + "downcast-rs 2.0.2",
 + "erased-serde",
 + "foldhash 0.2.0",
 + "glam",
-  "indexmap 2.13.1",
++ "indexmap 2.14.0",
 + "inventory",
 + "petgraph",
 + "serde",
 + "smallvec",
 + "smol_str",
 + "thiserror 2.0.18",
 + "uuid",
 + "variadics_please",
 + "wgpu-types",
 +]
 +
 +[[package]]
 +name = "bevy_reflect_derive"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "475f68c93e9cd5f17e9167635c8533a4f388f12d38245a202359e4c2721d87ba"
 +dependencies = [
 + "bevy_macro_utils",
-  "indexmap 2.13.1",
++ "indexmap 2.14.0",
 + "proc-macro2",
 + "quote",
 + "syn 2.0.117",
 + "uuid",
 +]
 +
 +[[package]]
 +name = "bevy_render"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "243523e33fe5dfcebc4240b1eb2fc16e855c5d4c0ea6a8393910740956770f44"
 +dependencies = [
 + "async-channel",
 + "bevy_app",
 + "bevy_asset",
 + "bevy_camera",
 + "bevy_color",
 + "bevy_derive",
 + "bevy_diagnostic",
 + "bevy_ecs",
 + "bevy_encase_derive",
 + "bevy_image",
 + "bevy_math",
 + "bevy_mesh",
 + "bevy_platform",
 + "bevy_reflect",
 + "bevy_render_macros",
 + "bevy_shader",
 + "bevy_tasks",
 + "bevy_time",
 + "bevy_transform",
 + "bevy_utils",
 + "bevy_window",
 + "bitflags 2.11.0",
 + "bytemuck",
 + "derive_more",
 + "downcast-rs 2.0.2",
 + "encase",
 + "fixedbitset",
 + "glam",
 + "image",
-  "indexmap 2.13.1",
++ "indexmap 2.14.0",
 + "js-sys",
 + "naga",
 + "nonmax",
 + "offset-allocator",
 + "send_wrapper",
 + "smallvec",
 + "thiserror 2.0.18",
 + "tracing",
 + "variadics_please",
 + "wasm-bindgen",
 + "web-sys",
 + "wgpu",
 +]
 +
 +[[package]]
 +name = "bevy_render_macros"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "66b6325e9c495a71270446784611e8d7f446f927eac8506c4c099fd10cb4c3ed"
 +dependencies = [
 + "bevy_macro_utils",
 + "proc-macro2",
 + "quote",
 + "syn 2.0.117",
 +]
 +
 +[[package]]
 +name = "bevy_scene"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "34cc1047d85ec8048261b63ef675c12f1e6b5782dc0b422fbcee0c140d026bd4"
 +dependencies = [
 + "bevy_app",
 + "bevy_asset",
 + "bevy_camera",
 + "bevy_derive",
 + "bevy_ecs",
 + "bevy_platform",
 + "bevy_reflect",
 + "bevy_transform",
 + "bevy_utils",
 + "derive_more",
 + "ron",
 + "serde",
 + "thiserror 2.0.18",
 + "uuid",
 +]
 +
 +[[package]]
 +name = "bevy_shader"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "9eea95f0273c32be13d6a0b799a93bc256ad7830759ede595c404d5234302da2"
 +dependencies = [
 + "bevy_asset",
 + "bevy_platform",
 + "bevy_reflect",
 + "naga",
 + "naga_oil",
 + "serde",
 + "thiserror 2.0.18",
 + "tracing",
 + "wgpu-types",
 +]
 +
 +[[package]]
 +name = "bevy_sprite"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "96ec5bc0cbdee551b610a46f41d30374bbe42b8951ffc676253c6243ab2b9395"
 +dependencies = [
 + "bevy_app",
 + "bevy_asset",
 + "bevy_camera",
 + "bevy_color",
 + "bevy_derive",
 + "bevy_ecs",
 + "bevy_image",
 + "bevy_math",
 + "bevy_mesh",
 + "bevy_picking",
 + "bevy_reflect",
 + "bevy_text",
 + "bevy_transform",
 + "bevy_window",
 + "radsort",
 + "tracing",
 + "wgpu-types",
 +]
 +
 +[[package]]
 +name = "bevy_sprite_render"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "b82cb08905e7ddcea2694a95f757ae7f1fd01e6a7304076bad595d2158e4bfe0"
 +dependencies = [
 + "bevy_app",
 + "bevy_asset",
 + "bevy_camera",
 + "bevy_color",
 + "bevy_core_pipeline",
 + "bevy_derive",
 + "bevy_ecs",
 + "bevy_image",
 + "bevy_math",
 + "bevy_mesh",
 + "bevy_platform",
 + "bevy_reflect",
 + "bevy_render",
 + "bevy_shader",
 + "bevy_sprite",
 + "bevy_text",
 + "bevy_transform",
 + "bevy_utils",
 + "bitflags 2.11.0",
 + "bytemuck",
 + "derive_more",
 + "fixedbitset",
 + "nonmax",
 + "tracing",
 +]
 +
 +[[package]]
 +name = "bevy_state"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "0ae0682968e97d29c1eccc8c6bb6283f2678d362779bc03f1bb990967059473b"
 +dependencies = [
 + "bevy_app",
 + "bevy_ecs",
 + "bevy_platform",
 + "bevy_reflect",
 + "bevy_state_macros",
 + "bevy_utils",
 + "log",
 + "variadics_please",
 +]
 +
 +[[package]]
 +name = "bevy_state_macros"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "73d32f90f9cfcef5a44401db7ce206770daaa1707b0fb95eb7a96a6933f54f1b"
 +dependencies = [
 + "bevy_macro_utils",
 + "quote",
 + "syn 2.0.117",
 +]
 +
 +[[package]]
 +name = "bevy_tasks"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "384eb04d80aa38664d69988fd30cbbe03e937ecb65c66aa6abe60ce0bca826aa"
 +dependencies = [
 + "async-channel",
 + "async-executor",
 + "async-task",
 + "atomic-waker",
 + "bevy_platform",
 + "concurrent-queue",
 + "crossbeam-queue",
 + "derive_more",
 + "futures-lite",
 + "heapless 0.9.2",
 + "pin-project",
 +]
 +
 +[[package]]
 +name = "bevy_text"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "fdc5233291dfc22e584de2535f2e37ae9766d37cb5a01652de2133ba202dcb9b"
 +dependencies = [
 + "bevy_app",
 + "bevy_asset",
 + "bevy_color",
 + "bevy_derive",
 + "bevy_ecs",
 + "bevy_image",
 + "bevy_log",
 + "bevy_math",
 + "bevy_platform",
 + "bevy_reflect",
 + "bevy_utils",
 + "cosmic-text",
 + "serde",
 + "smallvec",
 + "sys-locale",
 + "thiserror 2.0.18",
 + "tracing",
 + "wgpu-types",
 +]
 +
 +[[package]]
 +name = "bevy_time"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "b5ef9af4e523195e561074cf60fbfad0f4cb8d1db504855fee3c4ce8896c7244"
 +dependencies = [
 + "bevy_app",
 + "bevy_ecs",
 + "bevy_platform",
 + "bevy_reflect",
 + "crossbeam-channel",
 + "log",
 + "serde",
 +]
 +
 +[[package]]
 +name = "bevy_transform"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "3c3bb3de7842fef699344beb03f22bdbff16599d788fe0f47fbb3b1e6fa320eb"
 +dependencies = [
 + "bevy_app",
 + "bevy_ecs",
 + "bevy_log",
 + "bevy_math",
 + "bevy_reflect",
 + "bevy_tasks",
 + "bevy_utils",
 + "derive_more",
 + "serde",
 + "thiserror 2.0.18",
 +]
 +
 +[[package]]
 +name = "bevy_ui"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "1691a411014085e0d35f8bb8208e5f973edd7ace061a4b1c41c83de21579dc70"
 +dependencies = [
 + "accesskit",
 + "bevy_a11y",
 + "bevy_app",
 + "bevy_asset",
 + "bevy_camera",
 + "bevy_color",
 + "bevy_derive",
 + "bevy_ecs",
 + "bevy_image",
 + "bevy_input",
 + "bevy_input_focus",
 + "bevy_math",
 + "bevy_picking",
 + "bevy_platform",
 + "bevy_reflect",
 + "bevy_sprite",
 + "bevy_text",
 + "bevy_transform",
 + "bevy_utils",
 + "bevy_window",
 + "derive_more",
 + "smallvec",
 + "taffy",
 + "thiserror 2.0.18",
 + "tracing",
 + "uuid",
 +]
 +
 +[[package]]
 +name = "bevy_ui_render"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "c2c35402d8a052f512e3fec1f36b26e83eee713fcca57f965c244ee795e1fcb0"
 +dependencies = [
 + "bevy_app",
 + "bevy_asset",
 + "bevy_camera",
 + "bevy_color",
 + "bevy_core_pipeline",
 + "bevy_derive",
 + "bevy_ecs",
 + "bevy_image",
 + "bevy_math",
 + "bevy_mesh",
 + "bevy_platform",
 + "bevy_reflect",
 + "bevy_render",
 + "bevy_shader",
 + "bevy_sprite",
 + "bevy_sprite_render",
 + "bevy_text",
 + "bevy_transform",
 + "bevy_ui",
 + "bevy_utils",
 + "bytemuck",
 + "derive_more",
 + "tracing",
 +]
 +
 +[[package]]
 +name = "bevy_ui_widgets"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "b6a63cb818b0de41bdb14990e0ce1aaaa347f871750ab280f80c427e83d72712"
 +dependencies = [
 + "accesskit",
 + "bevy_a11y",
 + "bevy_app",
 + "bevy_camera",
 + "bevy_ecs",
 + "bevy_input",
 + "bevy_input_focus",
 + "bevy_log",
 + "bevy_math",
 + "bevy_picking",
 + "bevy_reflect",
 + "bevy_ui",
 +]
 +
 +[[package]]
 +name = "bevy_utils"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "2111910cd7a4b1e6ce07eaaeb6f68a2c0ea0ca609ed0d0d506e3eb161101435b"
 +dependencies = [
 + "bevy_platform",
 + "disqualified",
 + "thread_local",
 +]
 +
 +[[package]]
 +name = "bevy_window"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "6df06e6993a0896bae2fe7644ae6def29a1a92b45dfb1bcebbd92af782be3638"
 +dependencies = [
 + "bevy_app",
 + "bevy_asset",
 + "bevy_ecs",
 + "bevy_image",
 + "bevy_input",
 + "bevy_math",
 + "bevy_platform",
 + "bevy_reflect",
 + "log",
 + "raw-window-handle",
 + "serde",
 +]
 +
 +[[package]]
 +name = "bevy_winit"
 +version = "0.18.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "f2de1c13d32ab8528435b58eca7ab874a1068184c6d6f266ee11433ae99d4069"
 +dependencies = [
 + "accesskit",
 + "accesskit_winit",
 + "approx",
 + "bevy_a11y",
 + "bevy_android",
 + "bevy_app",
 + "bevy_asset",
 + "bevy_derive",
 + "bevy_ecs",
 + "bevy_image",
 + "bevy_input",
 + "bevy_input_focus",
 + "bevy_log",
 + "bevy_math",
 + "bevy_platform",
 + "bevy_reflect",
 + "bevy_tasks",
 + "bevy_window",
 + "bytemuck",
 + "cfg-if",
 + "js-sys",
 + "tracing",
 + "wasm-bindgen",
 + "web-sys",
 + "wgpu-types",
 + "winit",
 +]
 +
 +[[package]]
 +name = "bigdecimal"
 +version = "0.4.10"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "4d6867f1565b3aad85681f1015055b087fcfd840d6aeee6eee7f2da317603695"
 +dependencies = [
 + "autocfg",
 + "libm",
 + "num-bigint",
 + "num-integer",
 + "num-traits",
 + "serde",
 +]
 +
 +[[package]]
 +name = "bimap"
 +version = "0.6.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "230c5f1ca6a325a32553f8640d31ac9b49f2411e901e427570154868b46da4f7"
 +
 +[[package]]
 +name = "bincode"
 +version = "1.3.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
 +dependencies = [
 + "serde",
 +]
 +
 +[[package]]
 +name = "bindgen"
 +version = "0.71.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "5f58bf3d7db68cfbac37cfc485a8d711e87e064c3d0fe0435b92f7a407f9d6b3"
 +dependencies = [
 + "bitflags 2.11.0",
 + "cexpr",
 + "clang-sys",
 + "itertools 0.13.0",
 + "log",
 + "prettyplease",
 + "proc-macro2",
 + "quote",
 + "regex",
 + "rustc-hash 2.1.2",
 + "shlex",
 + "syn 2.0.117",
 +]
 +
 +[[package]]
 +name = "bindgen"
 +version = "0.72.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895"
 +dependencies = [
 + "bitflags 2.11.0",
 + "cexpr",
 + "clang-sys",
 + "itertools 0.13.0",
 + "proc-macro2",
 + "quote",
 + "regex",
 + "rustc-hash 2.1.2",
 + "shlex",
 + "syn 2.0.117",
 +]
 +
 +[[package]]
 +name = "bit-set"
 +version = "0.8.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3"
 +dependencies = [
 + "bit-vec 0.8.0",
 +]
 +
 +[[package]]
 +name = "bit-set"
 +version = "0.10.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "09ec2f926cc3060f09db9ebc5b52823d85268d24bb917e472c0c4bea35780a7d"
 +dependencies = [
 + "bit-vec 0.9.1",
 +]
 +
 +[[package]]
 +name = "bit-vec"
 +version = "0.8.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7"
 +
 +[[package]]
 +name = "bit-vec"
 +version = "0.9.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "b71798fca2c1fe1086445a7258a4bc81e6e49dcd24c8d0dd9a1e57395b603f51"
 +dependencies = [
 + "serde",
 +]
 +
 +[[package]]
 +name = "bit_field"
 +version = "0.10.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "1e4b40c7323adcfc0a41c4b88143ed58346ff65a288fc144329c5c45e05d70c6"
 +
 +[[package]]
 +name = "bitflags"
  version = "1.3.2"
  source = "registry+https://github.com/rust-lang/crates.io-index";
  checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
@@@ -6159,47 -4275,13 +6187,47 @@@ dependencies = 
  ]
  
  [[package]]
 -name = "gif"
 -version = "0.14.2"
 +name = "gif"
- version = "0.14.1"
++version = "0.14.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
- checksum = "f5df2ba84018d80c213569363bdcd0c64e6933c67fe4c1d60ecf822971a3c35e"
++checksum = "ee8cfcc411d9adbbaba82fb72661cc1bcca13e8bba98b364e62b2dba8f960159"
 +dependencies = [
 + "color_quant",
 + "weezl",
 +]
 +
 +[[package]]
 +name = "gilrs"
 +version = "0.11.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "3fa85c2e35dc565c90511917897ea4eae16b77f2773d5223536f7b602536d462"
 +dependencies = [
 + "fnv",
 + "gilrs-core",
 + "log",
 + "uuid",
 + "vec_map",
 +]
 +
 +[[package]]
 +name = "gilrs-core"
 +version = "0.6.7"
  source = "registry+https://github.com/rust-lang/crates.io-index";
 -checksum = "ee8cfcc411d9adbbaba82fb72661cc1bcca13e8bba98b364e62b2dba8f960159"
 +checksum = "d23f2cc5144060a7f8d9e02d3fce5d06705376568256a509cdbc3c24d47e4f04"
  dependencies = [
 - "color_quant",
 - "weezl",
 + "inotify",
 + "js-sys",
 + "libc",
 + "libudev-sys",
 + "log",
 + "nix 0.30.1",
 + "objc2-core-foundation",
 + "objc2-io-kit",
 + "uuid",
 + "vec_map",
 + "wasm-bindgen",
 + "web-sys",
 + "windows 0.62.2",
  ]
  
  [[package]]
@@@ -6958,10 -4870,14 +6986,16 @@@ dependencies = 
   "allocator-api2",
   "equivalent",
   "foldhash 0.2.0",
 + "serde",
 + "serde_core",
  ]
  
+ [[package]]
+ name = "hashbrown"
+ version = "0.17.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index";
+ checksum = "4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51"
+ 
  [[package]]
  name = "hashlink"
  version = "0.10.0"
@@@ -9556,103 -7287,6 +9591,103 @@@ version = "0.5.2
  source = "registry+https://github.com/rust-lang/crates.io-index";
  checksum = "9252111cf132ba0929b6f8e030cac2a24b507f3a4d6db6fb2896f27b354c714b"
  
 +[[package]]
 +name = "naga"
 +version = "27.0.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "066cf25f0e8b11ee0df221219010f213ad429855f57c494f995590c861a9a7d8"
 +dependencies = [
 + "arrayvec",
 + "bit-set 0.8.0",
 + "bitflags 2.11.0",
 + "cfg-if",
 + "cfg_aliases",
 + "codespan-reporting",
 + "half",
 + "hashbrown 0.16.1",
 + "hexf-parse",
-  "indexmap 2.13.1",
++ "indexmap 2.14.0",
 + "libm",
 + "log",
 + "num-traits",
 + "once_cell",
 + "pp-rs",
 + "rustc-hash 1.1.0",
 + "spirv",
 + "thiserror 2.0.18",
 + "unicode-ident",
 +]
 +
 +[[package]]
 +name = "naga_oil"
 +version = "0.20.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "310c347db1b30e69581f3b84dc9a5c311ed583f67851b39b77953cb7a066c97f"
 +dependencies = [
 + "codespan-reporting",
 + "data-encoding",
-  "indexmap 2.13.1",
++ "indexmap 2.14.0",
 + "naga",
 + "regex",
 + "rustc-hash 1.1.0",
 + "thiserror 2.0.18",
 + "tracing",
 + "unicode-ident",
 +]
 +
 +[[package]]
 +name = "ndk"
 +version = "0.8.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7"
 +dependencies = [
 + "bitflags 2.11.0",
 + "jni-sys 0.3.1",
 + "log",
 + "ndk-sys 0.5.0+25.2.9519653",
 + "num_enum",
 + "thiserror 1.0.69",
 +]
 +
 +[[package]]
 +name = "ndk"
 +version = "0.9.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4"
 +dependencies = [
 + "bitflags 2.11.0",
 + "jni-sys 0.3.1",
 + "log",
 + "ndk-sys 0.6.0+11769913",
 + "num_enum",
 + "raw-window-handle",
 + "thiserror 1.0.69",
 +]
 +
 +[[package]]
 +name = "ndk-context"
 +version = "0.1.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b"
 +
 +[[package]]
 +name = "ndk-sys"
 +version = "0.5.0+25.2.9519653"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "8c196769dd60fd4f363e11d948139556a344e79d451aeb2fa2fd040738ef7691"
 +dependencies = [
 + "jni-sys 0.3.1",
 +]
 +
 +[[package]]
 +name = "ndk-sys"
 +version = "0.6.0+11769913"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873"
 +dependencies = [
 + "jni-sys 0.3.1",
 +]
 +
  [[package]]
  name = "never-say-never"
  version = "6.6.666"
@@@ -10901,19 -8218,6 +10936,19 @@@ dependencies = 
   "sha2",
  ]
  
 +[[package]]
 +name = "petgraph"
 +version = "0.8.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455"
 +dependencies = [
 + "fixedbitset",
 + "hashbrown 0.15.5",
-  "indexmap 2.13.1",
++ "indexmap 2.14.0",
 + "serde",
 + "serde_derive",
 +]
 +
  [[package]]
  name = "pico-args"
  version = "0.5.0"
@@@ -14557,18 -11534,6 +14593,18 @@@ dependencies = 
   "winnow 0.7.15",
  ]
  
 +[[package]]
 +name = "toml_edit"
 +version = "0.23.10+spec-1.0.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269"
 +dependencies = [
-  "indexmap 2.13.1",
++ "indexmap 2.14.0",
 + "toml_datetime 0.7.5+spec-1.1.0",
 + "toml_parser",
 + "winnow 0.7.15",
 +]
 +
  [[package]]
  name = "toml_parser"
  version = "1.1.2+spec-1.1.0"
@@@ -15557,126 -12476,15 +15593,126 @@@ dependencies = 
  ]
  
  [[package]]
 -name = "wasmparser"
 -version = "0.244.0"
 +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 2.13.1",
++ "indexmap 2.14.0",
 + "semver",
 +]
 +
 +[[package]]
 +name = "wasmtimer"
 +version = "0.4.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "1c598d6b99ea013e35844697fc4670d08339d5cda15588f193c6beedd12f644b"
 +dependencies = [
 + "futures",
 + "js-sys",
 + "parking_lot",
 + "pin-utils",
 + "slab",
 + "wasm-bindgen",
 +]
 +
 +[[package]]
 +name = "wayland-backend"
 +version = "0.3.15"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "2857dd20b54e916ec7253b3d6b4d5c4d7d4ca2c33c2e11c6c76a99bd8744755d"
 +dependencies = [
 + "cc",
 + "downcast-rs 1.2.1",
 + "rustix 1.1.4",
 + "scoped-tls",
 + "smallvec",
 + "wayland-sys",
 +]
 +
 +[[package]]
 +name = "wayland-client"
 +version = "0.31.14"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "645c7c96bb74690c3189b5c9cb4ca1627062bb23693a4fad9d8c3de958260144"
 +dependencies = [
 + "bitflags 2.11.0",
 + "rustix 1.1.4",
 + "wayland-backend",
 + "wayland-scanner",
 +]
 +
 +[[package]]
 +name = "wayland-csd-frame"
 +version = "0.3.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e"
 +dependencies = [
 + "bitflags 2.11.0",
 + "cursor-icon",
 + "wayland-backend",
 +]
 +
 +[[package]]
 +name = "wayland-cursor"
 +version = "0.31.14"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "4a52d18780be9b1314328a3de5f930b73d2200112e3849ca6cb11822793fb34d"
 +dependencies = [
 + "rustix 1.1.4",
 + "wayland-client",
 + "xcursor",
 +]
 +
 +[[package]]
 +name = "wayland-protocols"
 +version = "0.32.12"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "563a85523cade2429938e790815fd7319062103b9f4a2dc806e9b53b95982d8f"
 +dependencies = [
 + "bitflags 2.11.0",
 + "wayland-backend",
 + "wayland-client",
 + "wayland-scanner",
 +]
 +
 +[[package]]
 +name = "wayland-protocols-plasma"
 +version = "0.3.12"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "2b6d8cf1eb2c1c31ed1f5643c88a6e53538129d4af80030c8cabd1f9fa884d91"
 +dependencies = [
 + "bitflags 2.11.0",
 + "wayland-backend",
 + "wayland-client",
 + "wayland-protocols",
 + "wayland-scanner",
 +]
 +
 +[[package]]
 +name = "wayland-protocols-wlr"
 +version = "0.3.12"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "eb04e52f7836d7c7976c78ca0250d61e33873c34156a2a1fc9474828ec268234"
 +dependencies = [
 + "bitflags 2.11.0",
 + "wayland-backend",
 + "wayland-client",
 + "wayland-protocols",
 + "wayland-scanner",
 +]
 +
 +[[package]]
 +name = "wayland-scanner"
 +version = "0.31.10"
  source = "registry+https://github.com/rust-lang/crates.io-index";
 -checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe"
 +checksum = "9c324a910fd86ebdc364a3e61ec1f11737d3b1d6c273c0239ee8ff4bc0d24b4a"
  dependencies = [
 - "bitflags 2.11.0",
 - "hashbrown 0.15.5",
 - "indexmap 2.14.0",
 - "semver",
 + "proc-macro2",
 + "quick-xml 0.39.2",
 + "quote",
  ]
  
  [[package]]
@@@ -15744,156 -12555,6 +15780,156 @@@ version = "0.1.12
  source = "registry+https://github.com/rust-lang/crates.io-index";
  checksum = "a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88"
  
 +[[package]]
 +name = "wgpu"
 +version = "27.0.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "bfe68bac7cde125de7a731c3400723cadaaf1703795ad3f4805f187459cd7a77"
 +dependencies = [
 + "arrayvec",
 + "bitflags 2.11.0",
 + "cfg-if",
 + "cfg_aliases",
 + "document-features",
 + "hashbrown 0.16.1",
 + "js-sys",
 + "log",
 + "naga",
 + "portable-atomic",
 + "profiling",
 + "raw-window-handle",
 + "smallvec",
 + "static_assertions",
 + "wasm-bindgen",
 + "web-sys",
 + "wgpu-core",
 + "wgpu-hal",
 + "wgpu-types",
 +]
 +
 +[[package]]
 +name = "wgpu-core"
 +version = "27.0.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "27a75de515543b1897b26119f93731b385a19aea165a1ec5f0e3acecc229cae7"
 +dependencies = [
 + "arrayvec",
 + "bit-set 0.8.0",
 + "bit-vec 0.8.0",
 + "bitflags 2.11.0",
 + "bytemuck",
 + "cfg_aliases",
 + "document-features",
 + "hashbrown 0.16.1",
-  "indexmap 2.13.1",
++ "indexmap 2.14.0",
 + "log",
 + "naga",
 + "once_cell",
 + "parking_lot",
 + "portable-atomic",
 + "profiling",
 + "raw-window-handle",
 + "rustc-hash 1.1.0",
 + "smallvec",
 + "thiserror 2.0.18",
 + "wgpu-core-deps-apple",
 + "wgpu-core-deps-wasm",
 + "wgpu-core-deps-windows-linux-android",
 + "wgpu-hal",
 + "wgpu-types",
 +]
 +
 +[[package]]
 +name = "wgpu-core-deps-apple"
 +version = "27.0.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "0772ae958e9be0c729561d5e3fd9a19679bcdfb945b8b1a1969d9bfe8056d233"
 +dependencies = [
 + "wgpu-hal",
 +]
 +
 +[[package]]
 +name = "wgpu-core-deps-wasm"
 +version = "27.0.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "9b1027dcf3b027a877e44819df7ceb0e2e98578830f8cd34cd6c3c7c2a7a50b7"
 +dependencies = [
 + "wgpu-hal",
 +]
 +
 +[[package]]
 +name = "wgpu-core-deps-windows-linux-android"
 +version = "27.0.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "71197027d61a71748e4120f05a9242b2ad142e3c01f8c1b47707945a879a03c3"
 +dependencies = [
 + "wgpu-hal",
 +]
 +
 +[[package]]
 +name = "wgpu-hal"
 +version = "27.0.4"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "5b21cb61c57ee198bc4aff71aeadff4cbb80b927beb912506af9c780d64313ce"
 +dependencies = [
 + "android_system_properties",
 + "arrayvec",
 + "ash",
 + "bit-set 0.8.0",
 + "bitflags 2.11.0",
 + "block",
 + "bytemuck",
 + "cfg-if",
 + "cfg_aliases",
 + "core-graphics-types 0.2.0",
 + "glow",
 + "glutin_wgl_sys",
 + "gpu-alloc",
 + "gpu-allocator",
 + "gpu-descriptor",
 + "hashbrown 0.16.1",
 + "js-sys",
 + "khronos-egl",
 + "libc",
 + "libloading",
 + "log",
 + "metal",
 + "naga",
 + "ndk-sys 0.6.0+11769913",
 + "objc",
 + "once_cell",
 + "ordered-float 5.3.0",
 + "parking_lot",
 + "portable-atomic",
 + "portable-atomic-util",
 + "profiling",
 + "range-alloc",
 + "raw-window-handle",
 + "renderdoc-sys",
 + "smallvec",
 + "thiserror 2.0.18",
 + "wasm-bindgen",
 + "web-sys",
 + "wgpu-types",
 + "windows 0.58.0",
 + "windows-core 0.58.0",
 +]
 +
 +[[package]]
 +name = "wgpu-types"
 +version = "27.0.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index";
 +checksum = "afdcf84c395990db737f2dd91628706cb31e86d72e53482320d368e52b5da5eb"
 +dependencies = [
 + "bitflags 2.11.0",
 + "bytemuck",
 + "js-sys",
 + "log",
 + "serde",
 + "thiserror 2.0.18",
 + "web-sys",
 +]
 +
  [[package]]
  name = "which"
  version = "6.0.3"
diff --cc DEPENDENCIES.md
index 83cf770c7,739266563..2bd6900f2
--- a/DEPENDENCIES.md
+++ b/DEPENDENCIES.md
@@@ -70,8 -55,8 +70,9 @@@ ash: 0.38.0+1.3.281, "Apache-2.0 OR MIT
  asn1-rs: 0.7.1, "Apache-2.0 OR MIT",
  asn1-rs-derive: 0.6.0, "Apache-2.0 OR MIT",
  asn1-rs-impl: 0.2.0, "Apache-2.0 OR MIT",
+ assert-json-diff: 2.0.2, "MIT",
  assert_cmd: 2.2.0, "Apache-2.0 OR MIT",
 +assert_type_match: 0.1.1, "Apache-2.0 OR MIT",
  astral-tokio-tar: 0.6.0, "Apache-2.0 OR MIT",
  async-broadcast: 0.7.2, "Apache-2.0 OR MIT",
  async-channel: 2.5.0, "Apache-2.0 OR MIT",
@@@ -498,12 -382,8 +501,12 @@@ getrandom: 0.4.2, "Apache-2.0 OR MIT"
  ghash: 0.5.1, "Apache-2.0 OR MIT",
  gherkin: 0.15.0, "Apache-2.0 OR MIT",
  gif: 0.13.3, "Apache-2.0 OR MIT",
- gif: 0.14.1, "Apache-2.0 OR MIT",
+ gif: 0.14.2, "Apache-2.0 OR MIT",
 +gilrs: 0.11.1, "Apache-2.0 OR MIT",
 +gilrs-core: 0.6.7, "Apache-2.0 OR MIT",
  git2: 0.20.4, "Apache-2.0 OR MIT",
 +gl_generator: 0.14.0, "Apache-2.0",
 +glam: 0.30.10, "Apache-2.0 OR MIT",
  glob: 0.3.3, "Apache-2.0 OR MIT",
  globset: 0.4.18, "MIT OR Unlicense",
  globwalk: 0.9.1, "MIT",
@@@ -562,9 -428,9 +565,10 @@@ hashbrown: 0.12.3, "Apache-2.0 OR MIT"
  hashbrown: 0.14.5, "Apache-2.0 OR MIT",
  hashbrown: 0.15.5, "Apache-2.0 OR MIT",
  hashbrown: 0.16.1, "Apache-2.0 OR MIT",
+ hashbrown: 0.17.0, "Apache-2.0 OR MIT",
  hashlink: 0.10.0, "Apache-2.0 OR MIT",
  heapless: 0.7.17, "Apache-2.0 OR MIT",
 +heapless: 0.9.2, "Apache-2.0 OR MIT",
  heck: 0.5.0, "Apache-2.0 OR MIT",
  hermit-abi: 0.5.2, "Apache-2.0 OR MIT",
  hex: 0.4.3, "Apache-2.0 OR MIT",
@@@ -709,11 -567,9 +713,11 @@@ liblzma: 0.4.6, "Apache-2.0 OR MIT"
  liblzma-sys: 0.4.6, "Apache-2.0 OR MIT",
  libm: 0.2.16, "MIT",
  libmimalloc-sys: 0.1.44, "MIT",
- libredox: 0.1.15, "MIT",
+ libredox: 0.1.16, "MIT",
  libsqlite3-sys: 0.30.1, "MIT",
 +libudev-sys: 0.1.4, "MIT",
  libz-sys: 1.1.28, "Apache-2.0 OR MIT",
 +linebender_resource_handle: 0.1.1, "Apache-2.0 OR MIT",
  linked-hash-map: 0.5.6, "Apache-2.0 OR MIT",
  linux-raw-sys: 0.4.15, "Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT",
  linux-raw-sys: 0.12.1, "Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT",
@@@ -975,12 -779,8 +979,12 @@@ raw-window-handle: 0.6.2, "Apache-2.0 O
  rayon: 1.11.0, "Apache-2.0 OR MIT",
  rayon-core: 1.13.0, "Apache-2.0 OR MIT",
  rcgen: 0.14.7, "Apache-2.0 OR MIT",
 +read-fonts: 0.36.0, "Apache-2.0 OR MIT",
 +read-fonts: 0.37.0, "Apache-2.0 OR MIT",
 +rectangle-pack: 0.4.2, "Apache-2.0 OR MIT",
 +redox_syscall: 0.4.1, "MIT",
  redox_syscall: 0.5.18, "MIT",
- redox_syscall: 0.7.3, "MIT",
+ redox_syscall: 0.7.4, "MIT",
  redox_users: 0.5.2, "MIT",
  ref-cast: 1.0.25, "Apache-2.0 OR MIT",
  ref-cast-impl: 1.0.25, "Apache-2.0 OR MIT",


Reply via email to