) {
73 | if let Some((start, end)) = self.0.clone().map(|x| x.into_inner()) {
74 | let turns = (start - end).abs() / QUARTER_TURN;
75 | let lower = turns.floor() as usize;
76 | let upper = turns.ceil() as usize;
77 | (lower, Some(upper))
78 | } else {
79 | (0, None)
80 | }
81 | }
82 | }
83 |
--------------------------------------------------------------------------------
/demo/src/main.rs:
--------------------------------------------------------------------------------
1 | #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] // hide console window on Windows in release
2 |
3 | #[cfg(target_arch = "wasm32")]
4 | use eframe::wasm_bindgen::JsCast as _;
5 | use eframe::{CreationContext, Frame};
6 | use egui::{CentralPanel, Hyperlink};
7 | use egui_theme_switch::global_theme_switch;
8 |
9 | mod auto_viewport_theme;
10 |
11 | #[cfg(not(target_arch = "wasm32"))]
12 | fn main() -> eframe::Result {
13 | use egui::{ViewportBuilder, vec2};
14 |
15 | let options = eframe::NativeOptions {
16 | centered: true,
17 | persist_window: false,
18 | viewport: ViewportBuilder {
19 | inner_size: Some(vec2(200., 70.)),
20 | ..Default::default()
21 | },
22 | ..Default::default()
23 | };
24 |
25 | eframe::run_native(
26 | "Theme Switch Demo",
27 | options,
28 | Box::new(move |cc| Ok(Box::new(ThemeSwitchDemoApp::new(cc)))),
29 | )
30 | }
31 |
32 | #[cfg(target_arch = "wasm32")]
33 | fn main() {
34 | // Redirect `log` message to `console.log` and friends:
35 | eframe::WebLogger::init(log::LevelFilter::Debug).ok();
36 |
37 | let web_options = eframe::WebOptions::default();
38 |
39 | wasm_bindgen_futures::spawn_local(async {
40 | let canvas = web_sys::window()
41 | .unwrap()
42 | .document()
43 | .unwrap()
44 | .get_element_by_id("egui-app")
45 | .unwrap();
46 | let start_result = eframe::WebRunner::new()
47 | .start(
48 | canvas.dyn_into().unwrap(),
49 | web_options,
50 | Box::new(|cc| Ok(Box::new(ThemeSwitchDemoApp::new(cc)))),
51 | )
52 | .await;
53 |
54 | // Remove the loading text and spinner:
55 | let loading_text = web_sys::window()
56 | .and_then(|w| w.document())
57 | .and_then(|d| d.get_element_by_id("loading_text"));
58 | if let Some(loading_text) = loading_text {
59 | match start_result {
60 | Ok(_) => {
61 | loading_text.remove();
62 | }
63 | Err(e) => {
64 | loading_text.set_inner_html(
65 | " The app has crashed. See the developer console for details.
",
66 | );
67 | panic!("Failed to start eframe: {e:?}");
68 | }
69 | }
70 | }
71 | });
72 | }
73 |
74 | #[derive(Debug)]
75 | struct ThemeSwitchDemoApp;
76 |
77 | impl ThemeSwitchDemoApp {
78 | fn new(cc: &CreationContext) -> Self {
79 | auto_viewport_theme::register(&cc.egui_ctx);
80 | Self
81 | }
82 | }
83 |
84 | impl eframe::App for ThemeSwitchDemoApp {
85 | fn update(&mut self, ctx: &egui::Context, _frame: &mut Frame) {
86 | CentralPanel::default().show(ctx, |ui| {
87 | ui.style_mut().spacing.interact_size *= 1.5;
88 |
89 | ui.vertical_centered(|ui| {
90 | #[cfg(target_arch = "wasm32")]
91 | {
92 | ui.heading("Theme Switch Demo");
93 | ui.add_space(2.0);
94 | }
95 |
96 | ui.add_space(2.0);
97 | global_theme_switch(ui);
98 |
99 | ui.add_space(4.0);
100 | ui.add(
101 | Hyperlink::from_label_and_url(
102 | "source code",
103 | "https://github.com/bash/egui-theme-switch",
104 | )
105 | .open_in_new_tab(true), // TODO: find out why opening in the same tab just reloads the current page
106 | );
107 | })
108 | });
109 | }
110 | }
111 |
--------------------------------------------------------------------------------
/demo/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
10 |
11 |
12 | Theme Switch Demo
13 |
14 |
15 |
16 |
17 |
18 |
19 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
Loading…
115 |
116 |
117 |
118 |
119 |
--------------------------------------------------------------------------------
/license-apache.txt:
--------------------------------------------------------------------------------
1 | Apache License
2 | Version 2.0, January 2004
3 | http://www.apache.org/licenses/
4 |
5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6 |
7 | 1. Definitions.
8 |
9 | "License" shall mean the terms and conditions for use, reproduction,
10 | and distribution as defined by Sections 1 through 9 of this document.
11 |
12 | "Licensor" shall mean the copyright owner or entity authorized by
13 | the copyright owner that is granting the License.
14 |
15 | "Legal Entity" shall mean the union of the acting entity and all
16 | other entities that control, are controlled by, or are under common
17 | control with that entity. For the purposes of this definition,
18 | "control" means (i) the power, direct or indirect, to cause the
19 | direction or management of such entity, whether by contract or
20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 | outstanding shares, or (iii) beneficial ownership of such entity.
22 |
23 | "You" (or "Your") shall mean an individual or Legal Entity
24 | exercising permissions granted by this License.
25 |
26 | "Source" form shall mean the preferred form for making modifications,
27 | including but not limited to software source code, documentation
28 | source, and configuration files.
29 |
30 | "Object" form shall mean any form resulting from mechanical
31 | transformation or translation of a Source form, including but
32 | not limited to compiled object code, generated documentation,
33 | and conversions to other media types.
34 |
35 | "Work" shall mean the work of authorship, whether in Source or
36 | Object form, made available under the License, as indicated by a
37 | copyright notice that is included in or attached to the work
38 | (an example is provided in the Appendix below).
39 |
40 | "Derivative Works" shall mean any work, whether in Source or Object
41 | form, that is based on (or derived from) the Work and for which the
42 | editorial revisions, annotations, elaborations, or other modifications
43 | represent, as a whole, an original work of authorship. For the purposes
44 | of this License, Derivative Works shall not include works that remain
45 | separable from, or merely link (or bind by name) to the interfaces of,
46 | the Work and Derivative Works thereof.
47 |
48 | "Contribution" shall mean any work of authorship, including
49 | the original version of the Work and any modifications or additions
50 | to that Work or Derivative Works thereof, that is intentionally
51 | submitted to Licensor for inclusion in the Work by the copyright owner
52 | or by an individual or Legal Entity authorized to submit on behalf of
53 | the copyright owner. For the purposes of this definition, "submitted"
54 | means any form of electronic, verbal, or written communication sent
55 | to the Licensor or its representatives, including but not limited to
56 | communication on electronic mailing lists, source code control systems,
57 | and issue tracking systems that are managed by, or on behalf of, the
58 | Licensor for the purpose of discussing and improving the Work, but
59 | excluding communication that is conspicuously marked or otherwise
60 | designated in writing by the copyright owner as "Not a Contribution."
61 |
62 | "Contributor" shall mean Licensor and any individual or Legal Entity
63 | on behalf of whom a Contribution has been received by Licensor and
64 | subsequently incorporated within the Work.
65 |
66 | 2. Grant of Copyright License. Subject to the terms and conditions of
67 | this License, each Contributor hereby grants to You a perpetual,
68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 | copyright license to reproduce, prepare Derivative Works of,
70 | publicly display, publicly perform, sublicense, and distribute the
71 | Work and such Derivative Works in Source or Object form.
72 |
73 | 3. Grant of Patent License. Subject to the terms and conditions of
74 | this License, each Contributor hereby grants to You a perpetual,
75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 | (except as stated in this section) patent license to make, have made,
77 | use, offer to sell, sell, import, and otherwise transfer the Work,
78 | where such license applies only to those patent claims licensable
79 | by such Contributor that are necessarily infringed by their
80 | Contribution(s) alone or by combination of their Contribution(s)
81 | with the Work to which such Contribution(s) was submitted. If You
82 | institute patent litigation against any entity (including a
83 | cross-claim or counterclaim in a lawsuit) alleging that the Work
84 | or a Contribution incorporated within the Work constitutes direct
85 | or contributory patent infringement, then any patent licenses
86 | granted to You under this License for that Work shall terminate
87 | as of the date such litigation is filed.
88 |
89 | 4. Redistribution. You may reproduce and distribute copies of the
90 | Work or Derivative Works thereof in any medium, with or without
91 | modifications, and in Source or Object form, provided that You
92 | meet the following conditions:
93 |
94 | (a) You must give any other recipients of the Work or
95 | Derivative Works a copy of this License; and
96 |
97 | (b) You must cause any modified files to carry prominent notices
98 | stating that You changed the files; and
99 |
100 | (c) You must retain, in the Source form of any Derivative Works
101 | that You distribute, all copyright, patent, trademark, and
102 | attribution notices from the Source form of the Work,
103 | excluding those notices that do not pertain to any part of
104 | the Derivative Works; and
105 |
106 | (d) If the Work includes a "NOTICE" text file as part of its
107 | distribution, then any Derivative Works that You distribute must
108 | include a readable copy of the attribution notices contained
109 | within such NOTICE file, excluding those notices that do not
110 | pertain to any part of the Derivative Works, in at least one
111 | of the following places: within a NOTICE text file distributed
112 | as part of the Derivative Works; within the Source form or
113 | documentation, if provided along with the Derivative Works; or,
114 | within a display generated by the Derivative Works, if and
115 | wherever such third-party notices normally appear. The contents
116 | of the NOTICE file are for informational purposes only and
117 | do not modify the License. You may add Your own attribution
118 | notices within Derivative Works that You distribute, alongside
119 | or as an addendum to the NOTICE text from the Work, provided
120 | that such additional attribution notices cannot be construed
121 | as modifying the License.
122 |
123 | You may add Your own copyright statement to Your modifications and
124 | may provide additional or different license terms and conditions
125 | for use, reproduction, or distribution of Your modifications, or
126 | for any such Derivative Works as a whole, provided Your use,
127 | reproduction, and distribution of the Work otherwise complies with
128 | the conditions stated in this License.
129 |
130 | 5. Submission of Contributions. Unless You explicitly state otherwise,
131 | any Contribution intentionally submitted for inclusion in the Work
132 | by You to the Licensor shall be under the terms and conditions of
133 | this License, without any additional terms or conditions.
134 | Notwithstanding the above, nothing herein shall supersede or modify
135 | the terms of any separate license agreement you may have executed
136 | with Licensor regarding such Contributions.
137 |
138 | 6. Trademarks. This License does not grant permission to use the trade
139 | names, trademarks, service marks, or product names of the Licensor,
140 | except as required for reasonable and customary use in describing the
141 | origin of the Work and reproducing the content of the NOTICE file.
142 |
143 | 7. Disclaimer of Warranty. Unless required by applicable law or
144 | agreed to in writing, Licensor provides the Work (and each
145 | Contributor provides its Contributions) on an "AS IS" BASIS,
146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 | implied, including, without limitation, any warranties or conditions
148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 | PARTICULAR PURPOSE. You are solely responsible for determining the
150 | appropriateness of using or redistributing the Work and assume any
151 | risks associated with Your exercise of permissions under this License.
152 |
153 | 8. Limitation of Liability. In no event and under no legal theory,
154 | whether in tort (including negligence), contract, or otherwise,
155 | unless required by applicable law (such as deliberate and grossly
156 | negligent acts) or agreed to in writing, shall any Contributor be
157 | liable to You for damages, including any direct, indirect, special,
158 | incidental, or consequential damages of any character arising as a
159 | result of this License or out of the use or inability to use the
160 | Work (including but not limited to damages for loss of goodwill,
161 | work stoppage, computer failure or malfunction, or any and all
162 | other commercial damages or losses), even if such Contributor
163 | has been advised of the possibility of such damages.
164 |
165 | 9. Accepting Warranty or Additional Liability. While redistributing
166 | the Work or Derivative Works thereof, You may choose to offer,
167 | and charge a fee for, acceptance of support, warranty, indemnity,
168 | or other liability obligations and/or rights consistent with this
169 | License. However, in accepting such obligations, You may act only
170 | on Your own behalf and on Your sole responsibility, not on behalf
171 | of any other Contributor, and only if You agree to indemnify,
172 | defend, and hold each Contributor harmless for any liability
173 | incurred by, or claims asserted against, such Contributor by reason
174 | of your accepting any such warranty or additional liability.
175 |
176 | END OF TERMS AND CONDITIONS
177 |
178 | APPENDIX: How to apply the Apache License to your work.
179 |
180 | To apply the Apache License to your work, attach the following
181 | boilerplate notice, with the fields enclosed by brackets "[]"
182 | replaced with your own identifying information. (Don't include
183 | the brackets!) The text should be enclosed in the appropriate
184 | comment syntax for the file format. We also recommend that a
185 | file or class name and description of purpose be included on the
186 | same "printed page" as the copyright notice for easier
187 | identification within third-party archives.
188 |
189 | Copyright [yyyy] [name of copyright owner]
190 |
191 | Licensed under the Apache License, Version 2.0 (the "License");
192 | you may not use this file except in compliance with the License.
193 | You may obtain a copy of the License at
194 |
195 | http://www.apache.org/licenses/LICENSE-2.0
196 |
197 | Unless required by applicable law or agreed to in writing, software
198 | distributed under the License is distributed on an "AS IS" BASIS,
199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200 | See the License for the specific language governing permissions and
201 | limitations under the License.
202 |
--------------------------------------------------------------------------------
/src/lib.rs:
--------------------------------------------------------------------------------
1 | #![deny(clippy::dbg_macro, clippy::unwrap_used)]
2 |
3 | //! A *very* pretty theme switch widget for your egui app.
4 | //! It allows you to choose between dark, light and follow system.
5 | //!
6 | #![cfg_attr(doc, doc = include_str!("../doc/preview.md"))]
7 | //!
8 | //! ## Example
9 | //! ```
10 | //! use egui::ThemePreference;
11 | //! use egui_theme_switch::global_theme_switch;
12 | //!
13 | //! # egui::__run_test_ui(|ui| {
14 | //! global_theme_switch(ui);
15 | //! # });
16 | //! ```
17 |
18 | use egui::emath::{Pos2, Rect};
19 | use egui::epaint::Color32;
20 | use egui::{Painter, Response, ThemePreference, Ui, Widget};
21 |
22 | mod arc;
23 | mod cogwheel;
24 | mod moon;
25 | mod rotated_rect;
26 | mod sun;
27 |
28 | /// A switch control to configure the global theme preference.
29 | pub fn global_theme_switch(ui: &mut Ui) {
30 | let mut preference = ui.ctx().options(|opt| opt.theme_preference);
31 | if ui.add(ThemeSwitch::new(&mut preference)).changed() {
32 | ui.ctx().set_theme(preference);
33 | }
34 | }
35 |
36 | /// A switch control that allows choosing the theme
37 | /// preference (dark, light or follow system).
38 | ///
39 | /// ```
40 | /// use egui::ThemePreference;
41 | /// use egui_theme_switch::ThemeSwitch;
42 | ///
43 | /// # egui::__run_test_ui(|ui| {
44 | /// let mut preference = ThemePreference::System;
45 | /// if ui.add(ThemeSwitch::new(&mut preference)).changed() {
46 | /// // ...
47 | /// }
48 | /// # });
49 | /// ```
50 | #[must_use = "You should put this widget in an ui with `ui.add(widget);`"]
51 | #[derive(Debug)]
52 | pub struct ThemeSwitch<'a> {
53 | value: &'a mut ThemePreference,
54 | }
55 |
56 | impl<'a> ThemeSwitch<'a> {
57 | pub fn new(value: &'a mut ThemePreference) -> Self {
58 | Self { value }
59 | }
60 | }
61 |
62 | impl Widget for ThemeSwitch<'_> {
63 | fn ui(self, ui: &mut crate::Ui) -> crate::Response {
64 | static OPTIONS: [SwitchOption; 3] = [
65 | SwitchOption {
66 | value: ThemePreference::System,
67 | icon: cogwheel::cogwheel,
68 | label: "Follow System",
69 | },
70 | SwitchOption {
71 | value: ThemePreference::Dark,
72 | icon: moon::moon,
73 | label: "Dark",
74 | },
75 | SwitchOption {
76 | value: ThemePreference::Light,
77 | icon: sun::sun,
78 | label: "Light",
79 | },
80 | ];
81 | let (update, response) = switch(ui, *self.value, "Theme", &OPTIONS);
82 |
83 | if let Some(value) = update {
84 | *self.value = value;
85 | }
86 |
87 | response
88 | }
89 | }
90 |
91 | #[derive(Debug, Clone)]
92 | struct SwitchOption {
93 | value: T,
94 | icon: IconPainter,
95 | label: &'static str,
96 | }
97 |
98 | type IconPainter = fn(&Painter, Pos2, f32, Color32);
99 |
100 | fn switch(
101 | ui: &mut Ui,
102 | value: T,
103 | label: &str,
104 | options: &[SwitchOption],
105 | ) -> (Option, Response)
106 | where
107 | T: PartialEq + Clone,
108 | {
109 | let mut space = space_allocation::allocate_space(ui, options);
110 |
111 | let updated_value = interactivity::update_value_on_click(&mut space, &value);
112 | let value = updated_value.clone().unwrap_or(value);
113 |
114 | if ui.is_rect_visible(space.rect) {
115 | painting::draw_switch_background(ui, &space);
116 | painting::draw_active_indicator(ui, &space, &value);
117 |
118 | for button in &space.buttons {
119 | painting::draw_button(ui, button, value == button.option.value);
120 | }
121 | }
122 |
123 | accessibility::attach_widget_info(ui, &space, label, &value);
124 |
125 | (updated_value, unioned_response(space))
126 | }
127 |
128 | fn unioned_response(space: AllocatedSpace) -> Response {
129 | space
130 | .buttons
131 | .into_iter()
132 | .fold(space.response, |r, button| r.union(button.response))
133 | }
134 |
135 | struct AllocatedSpace {
136 | response: Response,
137 | rect: Rect,
138 | buttons: Vec>,
139 | radius: f32,
140 | }
141 |
142 | struct ButtonSpace {
143 | center: Pos2,
144 | response: Response,
145 | radius: f32,
146 | option: SwitchOption,
147 | }
148 |
149 | mod space_allocation {
150 | use super::*;
151 | use egui::emath::vec2;
152 | use egui::{Id, Sense};
153 |
154 | pub(super) fn allocate_space(ui: &mut Ui, options: &[SwitchOption]) -> AllocatedSpace
155 | where
156 | T: Clone,
157 | {
158 | let (rect, response, measurements) = allocate_switch(ui, options);
159 | let id = response.id;
160 |
161 | let ui_builder = egui::UiBuilder::new().accessibility_parent(id);
162 | let ui = ui.new_child(ui_builder);
163 |
164 | let buttons = options
165 | .iter()
166 | .enumerate()
167 | .scan(rect, |remaining, (n, option)| {
168 | Some(allocate_button(
169 | &ui,
170 | remaining,
171 | id,
172 | &measurements,
173 | n,
174 | option,
175 | ))
176 | })
177 | .collect();
178 |
179 | AllocatedSpace {
180 | response,
181 | rect,
182 | buttons,
183 | radius: measurements.radius,
184 | }
185 | }
186 |
187 | fn allocate_switch(
188 | ui: &mut Ui,
189 | options: &[SwitchOption],
190 | ) -> (Rect, Response, SwitchMeasurements) {
191 | let diameter = ui.spacing().interact_size.y;
192 | let radius = diameter / 2.0;
193 | let padding = ui.spacing().button_padding.min_elem();
194 | let min_gap = 0.5 * ui.spacing().item_spacing.x;
195 | let gap_count = options.len().saturating_sub(1) as f32;
196 | let button_count = options.len() as f32;
197 |
198 | let min_size = vec2(
199 | button_count * diameter + (gap_count * min_gap) + (2.0 * padding),
200 | diameter + (2.0 * padding),
201 | );
202 | let sense = Sense::focusable_noninteractive();
203 | let (rect, response) = ui.allocate_at_least(min_size, sense);
204 |
205 | // The space we're given might be larger so we calculate
206 | // the margin based on the allocated rect.
207 | let total_gap = rect.width() - (button_count * diameter) - (2.0 * padding);
208 | let gap = total_gap / gap_count;
209 |
210 | let measurements = SwitchMeasurements {
211 | gap,
212 | radius,
213 | padding,
214 | buttons: options.len(),
215 | };
216 |
217 | (rect, response, measurements)
218 | }
219 |
220 | struct SwitchMeasurements {
221 | gap: f32,
222 | radius: f32,
223 | padding: f32,
224 | buttons: usize,
225 | }
226 |
227 | fn allocate_button(
228 | ui: &Ui,
229 | remaining: &mut Rect,
230 | switch_id: Id,
231 | measurements: &SwitchMeasurements,
232 | n: usize,
233 | option: &SwitchOption,
234 | ) -> ButtonSpace
235 | where
236 | T: Clone,
237 | {
238 | let (rect, center) = partition(remaining, measurements, n);
239 | let response = ui.interact(rect, switch_id.with(n), Sense::click());
240 | ButtonSpace {
241 | center,
242 | response,
243 | radius: measurements.radius,
244 | option: option.clone(),
245 | }
246 | }
247 |
248 | fn partition(
249 | remaining: &mut Rect,
250 | measurements: &SwitchMeasurements,
251 | n: usize,
252 | ) -> (Rect, Pos2) {
253 | let (leading, trailing) = offset(n, measurements);
254 | let center = remaining.left_center() + vec2(leading + measurements.radius, 0.0);
255 | let right = remaining.min.x + leading + 2.0 * measurements.radius + trailing;
256 | let (rect, new_remaining) = remaining.split_left_right_at_x(right);
257 | *remaining = new_remaining;
258 | (rect, center)
259 | }
260 |
261 | // Calculates the leading and trailing space for a button.
262 | // The gap between buttons is divided up evenly so that the entire
263 | // switch is clickable.
264 | fn offset(n: usize, measurements: &SwitchMeasurements) -> (f32, f32) {
265 | let leading = if n == 0 {
266 | measurements.padding
267 | } else {
268 | measurements.gap / 2.0
269 | };
270 | let trailing = if n == measurements.buttons - 1 {
271 | measurements.padding
272 | } else {
273 | measurements.gap / 2.0
274 | };
275 | (leading, trailing)
276 | }
277 | }
278 |
279 | mod interactivity {
280 | use super::*;
281 |
282 | pub(super) fn update_value_on_click(space: &mut AllocatedSpace, value: &T) -> Option
283 | where
284 | T: PartialEq + Clone,
285 | {
286 | let clicked = space
287 | .buttons
288 | .iter_mut()
289 | .find(|b| b.response.clicked())
290 | .filter(|b| &b.option.value != value)?;
291 | clicked.response.mark_changed();
292 | Some(clicked.option.value.clone())
293 | }
294 | }
295 |
296 | mod painting {
297 | use super::*;
298 | use egui::emath::pos2;
299 | use egui::epaint::Stroke;
300 | use egui::style::WidgetVisuals;
301 | use egui::{Id, StrokeKind};
302 |
303 | pub(super) fn draw_switch_background(ui: &Ui, space: &AllocatedSpace) {
304 | let rect = space.rect;
305 | let rounding = 0.5 * rect.height();
306 | let WidgetVisuals {
307 | bg_fill, bg_stroke, ..
308 | } = switch_visuals(ui, &space.response);
309 | ui.painter()
310 | .rect(rect, rounding, bg_fill, bg_stroke, StrokeKind::Middle);
311 | }
312 |
313 | fn switch_visuals(ui: &Ui, response: &Response) -> WidgetVisuals {
314 | if response.has_focus() {
315 | ui.style().visuals.widgets.hovered
316 | } else {
317 | ui.style().visuals.widgets.inactive
318 | }
319 | }
320 |
321 | pub(super) fn draw_active_indicator(
322 | ui: &Ui,
323 | space: &AllocatedSpace,
324 | value: &T,
325 | ) {
326 | let fill = ui.visuals().selection.bg_fill;
327 | if let Some(pos) = space
328 | .buttons
329 | .iter()
330 | .find(|button| &button.option.value == value)
331 | .map(|button| button.center)
332 | {
333 | let pos = animate_active_indicator_position(ui, space.response.id, space.rect.min, pos);
334 | ui.painter().circle(pos, space.radius, fill, Stroke::NONE);
335 | }
336 | }
337 |
338 | fn animate_active_indicator_position(ui: &Ui, id: Id, anchor: Pos2, pos: Pos2) -> Pos2 {
339 | let animation_time = ui.style().animation_time;
340 | // Animate the relative position to prevent
341 | // animating the active indicator when the switch itself is moved around.
342 | let x = pos.x - anchor.x;
343 | let x = anchor.x + ui.ctx().animate_value_with_time(id, x, animation_time);
344 | pos2(x, pos.y)
345 | }
346 |
347 | pub(super) fn draw_button(ui: &Ui, button: &ButtonSpace, selected: bool) {
348 | let visuals = ui.style().interact_selectable(&button.response, selected);
349 | let animation_factor = animate_click(ui, &button.response);
350 | let radius = animation_factor * button.radius;
351 | let icon_radius = 0.5 * radius * animation_factor;
352 | let bg_fill = button_fill(&button.response, &visuals);
353 |
354 | let painter = ui.painter();
355 | painter.circle(button.center, radius, bg_fill, visuals.bg_stroke);
356 | (button.option.icon)(painter, button.center, icon_radius, visuals.fg_stroke.color);
357 | }
358 |
359 | // We want to avoid drawing a background when the button is either active itself or was previously active.
360 | fn button_fill(response: &Response, visuals: &WidgetVisuals) -> Color32 {
361 | if interacted(response) {
362 | visuals.bg_fill
363 | } else {
364 | Color32::TRANSPARENT
365 | }
366 | }
367 |
368 | fn interacted(response: &Response) -> bool {
369 | response.clicked() || response.hovered() || response.has_focus()
370 | }
371 |
372 | fn animate_click(ui: &Ui, response: &Response) -> f32 {
373 | let ctx = ui.ctx();
374 | let animation_time = ui.style().animation_time;
375 | let value = if response.is_pointer_button_down_on() {
376 | 0.9
377 | } else {
378 | 1.0
379 | };
380 | ctx.animate_value_with_time(response.id, value, animation_time)
381 | }
382 | }
383 |
384 | mod accessibility {
385 | use super::*;
386 | use egui::{WidgetInfo, WidgetType};
387 |
388 | pub(super) fn attach_widget_info(
389 | ui: &Ui,
390 | space: &AllocatedSpace,
391 | label: &str,
392 | value: &T,
393 | ) {
394 | space
395 | .response
396 | .widget_info(|| radio_group_widget_info(ui, label));
397 |
398 | for button in &space.buttons {
399 | let selected = value == &button.option.value;
400 | attach_widget_info_to_button(ui, button, selected);
401 | }
402 | }
403 |
404 | fn attach_widget_info_to_button(ui: &Ui, button: &ButtonSpace, selected: bool) {
405 | let response = &button.response;
406 | let label = button.option.label;
407 | response.widget_info(|| button_widget_info(ui, label, selected));
408 | response.clone().on_hover_text(label);
409 | }
410 |
411 | fn radio_group_widget_info(ui: &Ui, label: &str) -> WidgetInfo {
412 | WidgetInfo::labeled(WidgetType::RadioGroup, ui.is_enabled(), label)
413 | }
414 |
415 | fn button_widget_info(ui: &Ui, label: &str, selected: bool) -> WidgetInfo {
416 | WidgetInfo::selected(WidgetType::RadioButton, ui.is_enabled(), selected, label)
417 | }
418 | }
419 |
--------------------------------------------------------------------------------
/doc/preview.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Cargo.lock:
--------------------------------------------------------------------------------
1 | # This file is automatically @generated by Cargo.
2 | # It is not intended for manual editing.
3 | version = 4
4 |
5 | [[package]]
6 | name = "ab_glyph"
7 | version = "0.2.32"
8 | source = "registry+https://github.com/rust-lang/crates.io-index"
9 | checksum = "01c0457472c38ea5bd1c3b5ada5e368271cb550be7a4ca4a0b4634e9913f6cc2"
10 | dependencies = [
11 | "ab_glyph_rasterizer",
12 | "owned_ttf_parser",
13 | ]
14 |
15 | [[package]]
16 | name = "ab_glyph_rasterizer"
17 | version = "0.1.9"
18 | source = "registry+https://github.com/rust-lang/crates.io-index"
19 | checksum = "b2187590a23ab1e3df8681afdf0987c48504d80291f002fcdb651f0ef5e25169"
20 |
21 | [[package]]
22 | name = "accesskit"
23 | version = "0.21.1"
24 | source = "registry+https://github.com/rust-lang/crates.io-index"
25 | checksum = "cf203f9d3bd8f29f98833d1fbef628df18f759248a547e7e01cfbf63cda36a99"
26 | dependencies = [
27 | "enumn",
28 | "serde",
29 | ]
30 |
31 | [[package]]
32 | name = "accesskit_atspi_common"
33 | version = "0.14.1"
34 | source = "registry+https://github.com/rust-lang/crates.io-index"
35 | checksum = "29f73a9b855b6f4af4962a94553ef0c092b80cf5e17038724d5e30945d036f69"
36 | dependencies = [
37 | "accesskit",
38 | "accesskit_consumer",
39 | "atspi-common",
40 | "serde",
41 | "thiserror 1.0.69",
42 | "zvariant",
43 | ]
44 |
45 | [[package]]
46 | name = "accesskit_consumer"
47 | version = "0.30.1"
48 | source = "registry+https://github.com/rust-lang/crates.io-index"
49 | checksum = "bdd06f5fea9819250fffd4debf926709f3593ac22f8c1541a2573e5ee0ca01cd"
50 | dependencies = [
51 | "accesskit",
52 | "hashbrown 0.15.4",
53 | ]
54 |
55 | [[package]]
56 | name = "accesskit_macos"
57 | version = "0.22.1"
58 | source = "registry+https://github.com/rust-lang/crates.io-index"
59 | checksum = "93fbaf15815f39084e0cb24950c232f0e3634702c2dfbf182ae3b4919a4a1d45"
60 | dependencies = [
61 | "accesskit",
62 | "accesskit_consumer",
63 | "hashbrown 0.15.4",
64 | "objc2 0.5.2",
65 | "objc2-app-kit 0.2.2",
66 | "objc2-foundation 0.2.2",
67 | ]
68 |
69 | [[package]]
70 | name = "accesskit_unix"
71 | version = "0.17.1"
72 | source = "registry+https://github.com/rust-lang/crates.io-index"
73 | checksum = "64926a930368d52d95422b822ede15014c04536cabaa2394f99567a1f4788dc6"
74 | dependencies = [
75 | "accesskit",
76 | "accesskit_atspi_common",
77 | "async-channel",
78 | "async-executor",
79 | "async-task",
80 | "atspi",
81 | "futures-lite",
82 | "futures-util",
83 | "serde",
84 | "zbus",
85 | ]
86 |
87 | [[package]]
88 | name = "accesskit_windows"
89 | version = "0.29.1"
90 | source = "registry+https://github.com/rust-lang/crates.io-index"
91 | checksum = "792991159fa9ba57459de59e12e918bb90c5346fea7d40ac1a11f8632b41e63a"
92 | dependencies = [
93 | "accesskit",
94 | "accesskit_consumer",
95 | "hashbrown 0.15.4",
96 | "static_assertions",
97 | "windows 0.61.3",
98 | "windows-core 0.61.2",
99 | ]
100 |
101 | [[package]]
102 | name = "accesskit_winit"
103 | version = "0.29.1"
104 | source = "registry+https://github.com/rust-lang/crates.io-index"
105 | checksum = "cd9db0ea66997e3f4eae4a5f2c6b6486cf206642639ee629dbbb860ace1dec87"
106 | dependencies = [
107 | "accesskit",
108 | "accesskit_macos",
109 | "accesskit_unix",
110 | "accesskit_windows",
111 | "raw-window-handle",
112 | "winit",
113 | ]
114 |
115 | [[package]]
116 | name = "adler2"
117 | version = "2.0.1"
118 | source = "registry+https://github.com/rust-lang/crates.io-index"
119 | checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
120 |
121 | [[package]]
122 | name = "ahash"
123 | version = "0.8.12"
124 | source = "registry+https://github.com/rust-lang/crates.io-index"
125 | checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75"
126 | dependencies = [
127 | "cfg-if",
128 | "getrandom",
129 | "once_cell",
130 | "serde",
131 | "version_check",
132 | "zerocopy",
133 | ]
134 |
135 | [[package]]
136 | name = "android-activity"
137 | version = "0.6.0"
138 | source = "registry+https://github.com/rust-lang/crates.io-index"
139 | checksum = "ef6978589202a00cd7e118380c448a08b6ed394c3a8df3a430d0898e3a42d046"
140 | dependencies = [
141 | "android-properties",
142 | "bitflags 2.9.4",
143 | "cc",
144 | "cesu8",
145 | "jni",
146 | "jni-sys",
147 | "libc",
148 | "log",
149 | "ndk",
150 | "ndk-context",
151 | "ndk-sys",
152 | "num_enum",
153 | "thiserror 1.0.69",
154 | ]
155 |
156 | [[package]]
157 | name = "android-properties"
158 | version = "0.2.2"
159 | source = "registry+https://github.com/rust-lang/crates.io-index"
160 | checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04"
161 |
162 | [[package]]
163 | name = "android_system_properties"
164 | version = "0.1.5"
165 | source = "registry+https://github.com/rust-lang/crates.io-index"
166 | checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
167 | dependencies = [
168 | "libc",
169 | ]
170 |
171 | [[package]]
172 | name = "arboard"
173 | version = "3.6.1"
174 | source = "registry+https://github.com/rust-lang/crates.io-index"
175 | checksum = "0348a1c054491f4bfe6ab86a7b6ab1e44e45d899005de92f58b3df180b36ddaf"
176 | dependencies = [
177 | "clipboard-win",
178 | "image",
179 | "log",
180 | "objc2 0.6.1",
181 | "objc2-app-kit 0.3.1",
182 | "objc2-core-foundation",
183 | "objc2-core-graphics",
184 | "objc2-foundation 0.3.1",
185 | "parking_lot",
186 | "percent-encoding",
187 | "windows-sys 0.60.2",
188 | "x11rb",
189 | ]
190 |
191 | [[package]]
192 | name = "arrayref"
193 | version = "0.3.9"
194 | source = "registry+https://github.com/rust-lang/crates.io-index"
195 | checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb"
196 |
197 | [[package]]
198 | name = "arrayvec"
199 | version = "0.7.6"
200 | source = "registry+https://github.com/rust-lang/crates.io-index"
201 | checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50"
202 |
203 | [[package]]
204 | name = "as-raw-xcb-connection"
205 | version = "1.0.1"
206 | source = "registry+https://github.com/rust-lang/crates.io-index"
207 | checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b"
208 |
209 | [[package]]
210 | name = "ash"
211 | version = "0.38.0+1.3.281"
212 | source = "registry+https://github.com/rust-lang/crates.io-index"
213 | checksum = "0bb44936d800fea8f016d7f2311c6a4f97aebd5dc86f09906139ec848cf3a46f"
214 | dependencies = [
215 | "libloading",
216 | ]
217 |
218 | [[package]]
219 | name = "async-broadcast"
220 | version = "0.7.2"
221 | source = "registry+https://github.com/rust-lang/crates.io-index"
222 | checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532"
223 | dependencies = [
224 | "event-listener",
225 | "event-listener-strategy",
226 | "futures-core",
227 | "pin-project-lite",
228 | ]
229 |
230 | [[package]]
231 | name = "async-channel"
232 | version = "2.5.0"
233 | source = "registry+https://github.com/rust-lang/crates.io-index"
234 | checksum = "924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2"
235 | dependencies = [
236 | "concurrent-queue",
237 | "event-listener-strategy",
238 | "futures-core",
239 | "pin-project-lite",
240 | ]
241 |
242 | [[package]]
243 | name = "async-executor"
244 | version = "1.13.2"
245 | source = "registry+https://github.com/rust-lang/crates.io-index"
246 | checksum = "bb812ffb58524bdd10860d7d974e2f01cc0950c2438a74ee5ec2e2280c6c4ffa"
247 | dependencies = [
248 | "async-task",
249 | "concurrent-queue",
250 | "fastrand",
251 | "futures-lite",
252 | "pin-project-lite",
253 | "slab",
254 | ]
255 |
256 | [[package]]
257 | name = "async-io"
258 | version = "2.4.1"
259 | source = "registry+https://github.com/rust-lang/crates.io-index"
260 | checksum = "1237c0ae75a0f3765f58910ff9cdd0a12eeb39ab2f4c7de23262f337f0aacbb3"
261 | dependencies = [
262 | "async-lock",
263 | "cfg-if",
264 | "concurrent-queue",
265 | "futures-io",
266 | "futures-lite",
267 | "parking",
268 | "polling",
269 | "rustix 1.0.7",
270 | "slab",
271 | "tracing",
272 | "windows-sys 0.59.0",
273 | ]
274 |
275 | [[package]]
276 | name = "async-lock"
277 | version = "3.4.0"
278 | source = "registry+https://github.com/rust-lang/crates.io-index"
279 | checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18"
280 | dependencies = [
281 | "event-listener",
282 | "event-listener-strategy",
283 | "pin-project-lite",
284 | ]
285 |
286 | [[package]]
287 | name = "async-process"
288 | version = "2.3.1"
289 | source = "registry+https://github.com/rust-lang/crates.io-index"
290 | checksum = "cde3f4e40e6021d7acffc90095cbd6dc54cb593903d1de5832f435eb274b85dc"
291 | dependencies = [
292 | "async-channel",
293 | "async-io",
294 | "async-lock",
295 | "async-signal",
296 | "async-task",
297 | "blocking",
298 | "cfg-if",
299 | "event-listener",
300 | "futures-lite",
301 | "rustix 1.0.7",
302 | "tracing",
303 | ]
304 |
305 | [[package]]
306 | name = "async-recursion"
307 | version = "1.1.1"
308 | source = "registry+https://github.com/rust-lang/crates.io-index"
309 | checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11"
310 | dependencies = [
311 | "proc-macro2",
312 | "quote",
313 | "syn",
314 | ]
315 |
316 | [[package]]
317 | name = "async-signal"
318 | version = "0.2.11"
319 | source = "registry+https://github.com/rust-lang/crates.io-index"
320 | checksum = "d7605a4e50d4b06df3898d5a70bf5fde51ed9059b0434b73105193bc27acce0d"
321 | dependencies = [
322 | "async-io",
323 | "async-lock",
324 | "atomic-waker",
325 | "cfg-if",
326 | "futures-core",
327 | "futures-io",
328 | "rustix 1.0.7",
329 | "signal-hook-registry",
330 | "slab",
331 | "windows-sys 0.59.0",
332 | ]
333 |
334 | [[package]]
335 | name = "async-task"
336 | version = "4.7.1"
337 | source = "registry+https://github.com/rust-lang/crates.io-index"
338 | checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de"
339 |
340 | [[package]]
341 | name = "async-trait"
342 | version = "0.1.88"
343 | source = "registry+https://github.com/rust-lang/crates.io-index"
344 | checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5"
345 | dependencies = [
346 | "proc-macro2",
347 | "quote",
348 | "syn",
349 | ]
350 |
351 | [[package]]
352 | name = "atomic-waker"
353 | version = "1.1.2"
354 | source = "registry+https://github.com/rust-lang/crates.io-index"
355 | checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
356 |
357 | [[package]]
358 | name = "atspi"
359 | version = "0.25.0"
360 | source = "registry+https://github.com/rust-lang/crates.io-index"
361 | checksum = "c83247582e7508838caf5f316c00791eee0e15c0bf743e6880585b867e16815c"
362 | dependencies = [
363 | "atspi-common",
364 | "atspi-connection",
365 | "atspi-proxies",
366 | ]
367 |
368 | [[package]]
369 | name = "atspi-common"
370 | version = "0.9.0"
371 | source = "registry+https://github.com/rust-lang/crates.io-index"
372 | checksum = "33dfc05e7cdf90988a197803bf24f5788f94f7c94a69efa95683e8ffe76cfdfb"
373 | dependencies = [
374 | "enumflags2",
375 | "serde",
376 | "static_assertions",
377 | "zbus",
378 | "zbus-lockstep",
379 | "zbus-lockstep-macros",
380 | "zbus_names",
381 | "zvariant",
382 | ]
383 |
384 | [[package]]
385 | name = "atspi-connection"
386 | version = "0.9.0"
387 | source = "registry+https://github.com/rust-lang/crates.io-index"
388 | checksum = "4193d51303d8332304056ae0004714256b46b6635a5c556109b319c0d3784938"
389 | dependencies = [
390 | "atspi-common",
391 | "atspi-proxies",
392 | "futures-lite",
393 | "zbus",
394 | ]
395 |
396 | [[package]]
397 | name = "atspi-proxies"
398 | version = "0.9.0"
399 | source = "registry+https://github.com/rust-lang/crates.io-index"
400 | checksum = "d2eebcb9e7e76f26d0bcfd6f0295e1cd1e6f33bedbc5698a971db8dc43d7751c"
401 | dependencies = [
402 | "atspi-common",
403 | "serde",
404 | "zbus",
405 | ]
406 |
407 | [[package]]
408 | name = "autocfg"
409 | version = "1.5.0"
410 | source = "registry+https://github.com/rust-lang/crates.io-index"
411 | checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
412 |
413 | [[package]]
414 | name = "base64"
415 | version = "0.22.1"
416 | source = "registry+https://github.com/rust-lang/crates.io-index"
417 | checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
418 |
419 | [[package]]
420 | name = "bit-set"
421 | version = "0.8.0"
422 | source = "registry+https://github.com/rust-lang/crates.io-index"
423 | checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3"
424 | dependencies = [
425 | "bit-vec",
426 | ]
427 |
428 | [[package]]
429 | name = "bit-vec"
430 | version = "0.8.0"
431 | source = "registry+https://github.com/rust-lang/crates.io-index"
432 | checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7"
433 |
434 | [[package]]
435 | name = "bitflags"
436 | version = "1.3.2"
437 | source = "registry+https://github.com/rust-lang/crates.io-index"
438 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
439 |
440 | [[package]]
441 | name = "bitflags"
442 | version = "2.9.4"
443 | source = "registry+https://github.com/rust-lang/crates.io-index"
444 | checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394"
445 | dependencies = [
446 | "serde",
447 | ]
448 |
449 | [[package]]
450 | name = "block"
451 | version = "0.1.6"
452 | source = "registry+https://github.com/rust-lang/crates.io-index"
453 | checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
454 |
455 | [[package]]
456 | name = "block2"
457 | version = "0.5.1"
458 | source = "registry+https://github.com/rust-lang/crates.io-index"
459 | checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f"
460 | dependencies = [
461 | "objc2 0.5.2",
462 | ]
463 |
464 | [[package]]
465 | name = "blocking"
466 | version = "1.6.2"
467 | source = "registry+https://github.com/rust-lang/crates.io-index"
468 | checksum = "e83f8d02be6967315521be875afa792a316e28d57b5a2d401897e2a7921b7f21"
469 | dependencies = [
470 | "async-channel",
471 | "async-task",
472 | "futures-io",
473 | "futures-lite",
474 | "piper",
475 | ]
476 |
477 | [[package]]
478 | name = "bumpalo"
479 | version = "3.19.0"
480 | source = "registry+https://github.com/rust-lang/crates.io-index"
481 | checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43"
482 |
483 | [[package]]
484 | name = "bytemuck"
485 | version = "1.24.0"
486 | source = "registry+https://github.com/rust-lang/crates.io-index"
487 | checksum = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4"
488 | dependencies = [
489 | "bytemuck_derive",
490 | ]
491 |
492 | [[package]]
493 | name = "bytemuck_derive"
494 | version = "1.10.2"
495 | source = "registry+https://github.com/rust-lang/crates.io-index"
496 | checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff"
497 | dependencies = [
498 | "proc-macro2",
499 | "quote",
500 | "syn",
501 | ]
502 |
503 | [[package]]
504 | name = "byteorder-lite"
505 | version = "0.1.0"
506 | source = "registry+https://github.com/rust-lang/crates.io-index"
507 | checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495"
508 |
509 | [[package]]
510 | name = "bytes"
511 | version = "1.10.1"
512 | source = "registry+https://github.com/rust-lang/crates.io-index"
513 | checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a"
514 |
515 | [[package]]
516 | name = "calloop"
517 | version = "0.13.0"
518 | source = "registry+https://github.com/rust-lang/crates.io-index"
519 | checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec"
520 | dependencies = [
521 | "bitflags 2.9.4",
522 | "log",
523 | "polling",
524 | "rustix 0.38.44",
525 | "slab",
526 | "thiserror 1.0.69",
527 | ]
528 |
529 | [[package]]
530 | name = "calloop-wayland-source"
531 | version = "0.3.0"
532 | source = "registry+https://github.com/rust-lang/crates.io-index"
533 | checksum = "95a66a987056935f7efce4ab5668920b5d0dac4a7c99991a67395f13702ddd20"
534 | dependencies = [
535 | "calloop",
536 | "rustix 0.38.44",
537 | "wayland-backend",
538 | "wayland-client",
539 | ]
540 |
541 | [[package]]
542 | name = "cc"
543 | version = "1.2.29"
544 | source = "registry+https://github.com/rust-lang/crates.io-index"
545 | checksum = "5c1599538de2394445747c8cf7935946e3cc27e9625f889d979bfb2aaf569362"
546 | dependencies = [
547 | "jobserver",
548 | "libc",
549 | "shlex",
550 | ]
551 |
552 | [[package]]
553 | name = "cesu8"
554 | version = "1.1.0"
555 | source = "registry+https://github.com/rust-lang/crates.io-index"
556 | checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c"
557 |
558 | [[package]]
559 | name = "cfg-if"
560 | version = "1.0.1"
561 | source = "registry+https://github.com/rust-lang/crates.io-index"
562 | checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268"
563 |
564 | [[package]]
565 | name = "cfg_aliases"
566 | version = "0.2.1"
567 | source = "registry+https://github.com/rust-lang/crates.io-index"
568 | checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
569 |
570 | [[package]]
571 | name = "cgl"
572 | version = "0.3.2"
573 | source = "registry+https://github.com/rust-lang/crates.io-index"
574 | checksum = "0ced0551234e87afee12411d535648dd89d2e7f34c78b753395567aff3d447ff"
575 | dependencies = [
576 | "libc",
577 | ]
578 |
579 | [[package]]
580 | name = "clipboard-win"
581 | version = "5.4.0"
582 | source = "registry+https://github.com/rust-lang/crates.io-index"
583 | checksum = "15efe7a882b08f34e38556b14f2fb3daa98769d06c7f0c1b076dfd0d983bc892"
584 | dependencies = [
585 | "error-code",
586 | ]
587 |
588 | [[package]]
589 | name = "codespan-reporting"
590 | version = "0.12.0"
591 | source = "registry+https://github.com/rust-lang/crates.io-index"
592 | checksum = "fe6d2e5af09e8c8ad56c969f2157a3d4238cebc7c55f0a517728c38f7b200f81"
593 | dependencies = [
594 | "serde",
595 | "termcolor",
596 | "unicode-width",
597 | ]
598 |
599 | [[package]]
600 | name = "combine"
601 | version = "4.6.7"
602 | source = "registry+https://github.com/rust-lang/crates.io-index"
603 | checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd"
604 | dependencies = [
605 | "bytes",
606 | "memchr",
607 | ]
608 |
609 | [[package]]
610 | name = "concurrent-queue"
611 | version = "2.5.0"
612 | source = "registry+https://github.com/rust-lang/crates.io-index"
613 | checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973"
614 | dependencies = [
615 | "crossbeam-utils",
616 | ]
617 |
618 | [[package]]
619 | name = "core-foundation"
620 | version = "0.9.4"
621 | source = "registry+https://github.com/rust-lang/crates.io-index"
622 | checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
623 | dependencies = [
624 | "core-foundation-sys",
625 | "libc",
626 | ]
627 |
628 | [[package]]
629 | name = "core-foundation"
630 | version = "0.10.1"
631 | source = "registry+https://github.com/rust-lang/crates.io-index"
632 | checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6"
633 | dependencies = [
634 | "core-foundation-sys",
635 | "libc",
636 | ]
637 |
638 | [[package]]
639 | name = "core-foundation-sys"
640 | version = "0.8.7"
641 | source = "registry+https://github.com/rust-lang/crates.io-index"
642 | checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
643 |
644 | [[package]]
645 | name = "core-graphics"
646 | version = "0.23.2"
647 | source = "registry+https://github.com/rust-lang/crates.io-index"
648 | checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081"
649 | dependencies = [
650 | "bitflags 1.3.2",
651 | "core-foundation 0.9.4",
652 | "core-graphics-types 0.1.3",
653 | "foreign-types",
654 | "libc",
655 | ]
656 |
657 | [[package]]
658 | name = "core-graphics-types"
659 | version = "0.1.3"
660 | source = "registry+https://github.com/rust-lang/crates.io-index"
661 | checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf"
662 | dependencies = [
663 | "bitflags 1.3.2",
664 | "core-foundation 0.9.4",
665 | "libc",
666 | ]
667 |
668 | [[package]]
669 | name = "core-graphics-types"
670 | version = "0.2.0"
671 | source = "registry+https://github.com/rust-lang/crates.io-index"
672 | checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb"
673 | dependencies = [
674 | "bitflags 2.9.4",
675 | "core-foundation 0.10.1",
676 | "libc",
677 | ]
678 |
679 | [[package]]
680 | name = "crc32fast"
681 | version = "1.4.2"
682 | source = "registry+https://github.com/rust-lang/crates.io-index"
683 | checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3"
684 | dependencies = [
685 | "cfg-if",
686 | ]
687 |
688 | [[package]]
689 | name = "crossbeam-utils"
690 | version = "0.8.21"
691 | source = "registry+https://github.com/rust-lang/crates.io-index"
692 | checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
693 |
694 | [[package]]
695 | name = "crunchy"
696 | version = "0.2.4"
697 | source = "registry+https://github.com/rust-lang/crates.io-index"
698 | checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5"
699 |
700 | [[package]]
701 | name = "cursor-icon"
702 | version = "1.2.0"
703 | source = "registry+https://github.com/rust-lang/crates.io-index"
704 | checksum = "f27ae1dd37df86211c42e150270f82743308803d90a6f6e6651cd730d5e1732f"
705 |
706 | [[package]]
707 | name = "dispatch"
708 | version = "0.2.0"
709 | source = "registry+https://github.com/rust-lang/crates.io-index"
710 | checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b"
711 |
712 | [[package]]
713 | name = "dispatch2"
714 | version = "0.3.0"
715 | source = "registry+https://github.com/rust-lang/crates.io-index"
716 | checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec"
717 | dependencies = [
718 | "bitflags 2.9.4",
719 | "objc2 0.6.1",
720 | ]
721 |
722 | [[package]]
723 | name = "displaydoc"
724 | version = "0.2.5"
725 | source = "registry+https://github.com/rust-lang/crates.io-index"
726 | checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
727 | dependencies = [
728 | "proc-macro2",
729 | "quote",
730 | "syn",
731 | ]
732 |
733 | [[package]]
734 | name = "dlib"
735 | version = "0.5.2"
736 | source = "registry+https://github.com/rust-lang/crates.io-index"
737 | checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412"
738 | dependencies = [
739 | "libloading",
740 | ]
741 |
742 | [[package]]
743 | name = "document-features"
744 | version = "0.2.11"
745 | source = "registry+https://github.com/rust-lang/crates.io-index"
746 | checksum = "95249b50c6c185bee49034bcb378a49dc2b5dff0be90ff6616d31d64febab05d"
747 | dependencies = [
748 | "litrs",
749 | ]
750 |
751 | [[package]]
752 | name = "downcast-rs"
753 | version = "1.2.1"
754 | source = "registry+https://github.com/rust-lang/crates.io-index"
755 | checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2"
756 |
757 | [[package]]
758 | name = "dpi"
759 | version = "0.1.2"
760 | source = "registry+https://github.com/rust-lang/crates.io-index"
761 | checksum = "d8b14ccef22fc6f5a8f4d7d768562a182c04ce9a3b3157b91390b52ddfdf1a76"
762 |
763 | [[package]]
764 | name = "ecolor"
765 | version = "0.33.0"
766 | source = "registry+https://github.com/rust-lang/crates.io-index"
767 | checksum = "adf31f99fad93fe83c1055b92b5c1b135f1ecfa464789817c372000e768d4bd1"
768 | dependencies = [
769 | "bytemuck",
770 | "emath",
771 | "serde",
772 | ]
773 |
774 | [[package]]
775 | name = "eframe"
776 | version = "0.33.0"
777 | source = "registry+https://github.com/rust-lang/crates.io-index"
778 | checksum = "b829d302a09deb4acde242262a1840ba14fadd0371980ebf713060077a1987bc"
779 | dependencies = [
780 | "ahash",
781 | "bytemuck",
782 | "document-features",
783 | "egui",
784 | "egui-wgpu",
785 | "egui-winit",
786 | "egui_glow",
787 | "glow",
788 | "glutin",
789 | "glutin-winit",
790 | "home",
791 | "image",
792 | "js-sys",
793 | "log",
794 | "objc2 0.5.2",
795 | "objc2-app-kit 0.2.2",
796 | "objc2-foundation 0.2.2",
797 | "parking_lot",
798 | "percent-encoding",
799 | "profiling",
800 | "raw-window-handle",
801 | "ron",
802 | "serde",
803 | "static_assertions",
804 | "wasm-bindgen",
805 | "wasm-bindgen-futures",
806 | "web-sys",
807 | "web-time",
808 | "windows-sys 0.61.2",
809 | "winit",
810 | ]
811 |
812 | [[package]]
813 | name = "egui"
814 | version = "0.33.0"
815 | source = "registry+https://github.com/rust-lang/crates.io-index"
816 | checksum = "ab9b5d3376c79439f53a78bf7da1e3c0b862ffa3e29f46ab0f3e107430f2e576"
817 | dependencies = [
818 | "accesskit",
819 | "ahash",
820 | "bitflags 2.9.4",
821 | "emath",
822 | "epaint",
823 | "log",
824 | "nohash-hasher",
825 | "profiling",
826 | "ron",
827 | "serde",
828 | "smallvec",
829 | "unicode-segmentation",
830 | ]
831 |
832 | [[package]]
833 | name = "egui-theme-switch"
834 | version = "0.5.0"
835 | dependencies = [
836 | "egui",
837 | ]
838 |
839 | [[package]]
840 | name = "egui-theme-switch-demo"
841 | version = "0.1.0"
842 | dependencies = [
843 | "eframe",
844 | "egui",
845 | "egui-theme-switch",
846 | "log",
847 | "wasm-bindgen-futures",
848 | "web-sys",
849 | ]
850 |
851 | [[package]]
852 | name = "egui-wgpu"
853 | version = "0.33.0"
854 | source = "registry+https://github.com/rust-lang/crates.io-index"
855 | checksum = "cef1fe83ba30b3d045814b2d811804f2a7e50a832034c975408f71c20df596e4"
856 | dependencies = [
857 | "ahash",
858 | "bytemuck",
859 | "document-features",
860 | "egui",
861 | "epaint",
862 | "log",
863 | "profiling",
864 | "thiserror 2.0.17",
865 | "type-map",
866 | "web-time",
867 | "wgpu",
868 | "winit",
869 | ]
870 |
871 | [[package]]
872 | name = "egui-winit"
873 | version = "0.33.0"
874 | source = "registry+https://github.com/rust-lang/crates.io-index"
875 | checksum = "bb4ea8cb063c00d8f23ce11279c01eb63a195a72be0e21d429148246dab7983e"
876 | dependencies = [
877 | "accesskit_winit",
878 | "arboard",
879 | "bytemuck",
880 | "egui",
881 | "log",
882 | "objc2 0.5.2",
883 | "objc2-foundation 0.2.2",
884 | "objc2-ui-kit",
885 | "profiling",
886 | "raw-window-handle",
887 | "serde",
888 | "smithay-clipboard",
889 | "web-time",
890 | "webbrowser",
891 | "winit",
892 | ]
893 |
894 | [[package]]
895 | name = "egui_glow"
896 | version = "0.33.0"
897 | source = "registry+https://github.com/rust-lang/crates.io-index"
898 | checksum = "668c0d4f726cc33838f0915f6b8c00af0ca0910e975ab58cf34b3e39c614552c"
899 | dependencies = [
900 | "bytemuck",
901 | "egui",
902 | "glow",
903 | "log",
904 | "memoffset",
905 | "profiling",
906 | "wasm-bindgen",
907 | "web-sys",
908 | "winit",
909 | ]
910 |
911 | [[package]]
912 | name = "emath"
913 | version = "0.33.0"
914 | source = "registry+https://github.com/rust-lang/crates.io-index"
915 | checksum = "c615516cdceec867065f20d7db13d8eb8aedd65c9e32cc0c7c379380fa42e6e8"
916 | dependencies = [
917 | "bytemuck",
918 | "serde",
919 | ]
920 |
921 | [[package]]
922 | name = "endi"
923 | version = "1.1.0"
924 | source = "registry+https://github.com/rust-lang/crates.io-index"
925 | checksum = "a3d8a32ae18130a3c84dd492d4215c3d913c3b07c6b63c2eb3eb7ff1101ab7bf"
926 |
927 | [[package]]
928 | name = "enumflags2"
929 | version = "0.7.12"
930 | source = "registry+https://github.com/rust-lang/crates.io-index"
931 | checksum = "1027f7680c853e056ebcec683615fb6fbbc07dbaa13b4d5d9442b146ded4ecef"
932 | dependencies = [
933 | "enumflags2_derive",
934 | "serde",
935 | ]
936 |
937 | [[package]]
938 | name = "enumflags2_derive"
939 | version = "0.7.12"
940 | source = "registry+https://github.com/rust-lang/crates.io-index"
941 | checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827"
942 | dependencies = [
943 | "proc-macro2",
944 | "quote",
945 | "syn",
946 | ]
947 |
948 | [[package]]
949 | name = "enumn"
950 | version = "0.1.14"
951 | source = "registry+https://github.com/rust-lang/crates.io-index"
952 | checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38"
953 | dependencies = [
954 | "proc-macro2",
955 | "quote",
956 | "syn",
957 | ]
958 |
959 | [[package]]
960 | name = "epaint"
961 | version = "0.33.0"
962 | source = "registry+https://github.com/rust-lang/crates.io-index"
963 | checksum = "9926b9500ccb917adb070207ec722dd8ea78b8321f94a85ebec776f501f2930c"
964 | dependencies = [
965 | "ab_glyph",
966 | "ahash",
967 | "bytemuck",
968 | "ecolor",
969 | "emath",
970 | "epaint_default_fonts",
971 | "log",
972 | "nohash-hasher",
973 | "parking_lot",
974 | "profiling",
975 | "serde",
976 | ]
977 |
978 | [[package]]
979 | name = "epaint_default_fonts"
980 | version = "0.33.0"
981 | source = "registry+https://github.com/rust-lang/crates.io-index"
982 | checksum = "66054d943c66715c6003a27a3dc152d87cadf714ef2597ccd79f550413009b97"
983 |
984 | [[package]]
985 | name = "equivalent"
986 | version = "1.0.2"
987 | source = "registry+https://github.com/rust-lang/crates.io-index"
988 | checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
989 |
990 | [[package]]
991 | name = "errno"
992 | version = "0.3.13"
993 | source = "registry+https://github.com/rust-lang/crates.io-index"
994 | checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad"
995 | dependencies = [
996 | "libc",
997 | "windows-sys 0.60.2",
998 | ]
999 |
1000 | [[package]]
1001 | name = "error-code"
1002 | version = "3.3.2"
1003 | source = "registry+https://github.com/rust-lang/crates.io-index"
1004 | checksum = "dea2df4cf52843e0452895c455a1a2cfbb842a1e7329671acf418fdc53ed4c59"
1005 |
1006 | [[package]]
1007 | name = "event-listener"
1008 | version = "5.4.0"
1009 | source = "registry+https://github.com/rust-lang/crates.io-index"
1010 | checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae"
1011 | dependencies = [
1012 | "concurrent-queue",
1013 | "parking",
1014 | "pin-project-lite",
1015 | ]
1016 |
1017 | [[package]]
1018 | name = "event-listener-strategy"
1019 | version = "0.5.4"
1020 | source = "registry+https://github.com/rust-lang/crates.io-index"
1021 | checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93"
1022 | dependencies = [
1023 | "event-listener",
1024 | "pin-project-lite",
1025 | ]
1026 |
1027 | [[package]]
1028 | name = "fastrand"
1029 | version = "2.3.0"
1030 | source = "registry+https://github.com/rust-lang/crates.io-index"
1031 | checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
1032 |
1033 | [[package]]
1034 | name = "fdeflate"
1035 | version = "0.3.7"
1036 | source = "registry+https://github.com/rust-lang/crates.io-index"
1037 | checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c"
1038 | dependencies = [
1039 | "simd-adler32",
1040 | ]
1041 |
1042 | [[package]]
1043 | name = "flate2"
1044 | version = "1.1.2"
1045 | source = "registry+https://github.com/rust-lang/crates.io-index"
1046 | checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d"
1047 | dependencies = [
1048 | "crc32fast",
1049 | "miniz_oxide",
1050 | ]
1051 |
1052 | [[package]]
1053 | name = "foldhash"
1054 | version = "0.1.5"
1055 | source = "registry+https://github.com/rust-lang/crates.io-index"
1056 | checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
1057 |
1058 | [[package]]
1059 | name = "foldhash"
1060 | version = "0.2.0"
1061 | source = "registry+https://github.com/rust-lang/crates.io-index"
1062 | checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb"
1063 |
1064 | [[package]]
1065 | name = "foreign-types"
1066 | version = "0.5.0"
1067 | source = "registry+https://github.com/rust-lang/crates.io-index"
1068 | checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965"
1069 | dependencies = [
1070 | "foreign-types-macros",
1071 | "foreign-types-shared",
1072 | ]
1073 |
1074 | [[package]]
1075 | name = "foreign-types-macros"
1076 | version = "0.2.3"
1077 | source = "registry+https://github.com/rust-lang/crates.io-index"
1078 | checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
1079 | dependencies = [
1080 | "proc-macro2",
1081 | "quote",
1082 | "syn",
1083 | ]
1084 |
1085 | [[package]]
1086 | name = "foreign-types-shared"
1087 | version = "0.3.1"
1088 | source = "registry+https://github.com/rust-lang/crates.io-index"
1089 | checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b"
1090 |
1091 | [[package]]
1092 | name = "form_urlencoded"
1093 | version = "1.2.1"
1094 | source = "registry+https://github.com/rust-lang/crates.io-index"
1095 | checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
1096 | dependencies = [
1097 | "percent-encoding",
1098 | ]
1099 |
1100 | [[package]]
1101 | name = "futures-core"
1102 | version = "0.3.31"
1103 | source = "registry+https://github.com/rust-lang/crates.io-index"
1104 | checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e"
1105 |
1106 | [[package]]
1107 | name = "futures-io"
1108 | version = "0.3.31"
1109 | source = "registry+https://github.com/rust-lang/crates.io-index"
1110 | checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6"
1111 |
1112 | [[package]]
1113 | name = "futures-lite"
1114 | version = "2.6.0"
1115 | source = "registry+https://github.com/rust-lang/crates.io-index"
1116 | checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532"
1117 | dependencies = [
1118 | "fastrand",
1119 | "futures-core",
1120 | "futures-io",
1121 | "parking",
1122 | "pin-project-lite",
1123 | ]
1124 |
1125 | [[package]]
1126 | name = "futures-macro"
1127 | version = "0.3.31"
1128 | source = "registry+https://github.com/rust-lang/crates.io-index"
1129 | checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
1130 | dependencies = [
1131 | "proc-macro2",
1132 | "quote",
1133 | "syn",
1134 | ]
1135 |
1136 | [[package]]
1137 | name = "futures-task"
1138 | version = "0.3.31"
1139 | source = "registry+https://github.com/rust-lang/crates.io-index"
1140 | checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988"
1141 |
1142 | [[package]]
1143 | name = "futures-util"
1144 | version = "0.3.31"
1145 | source = "registry+https://github.com/rust-lang/crates.io-index"
1146 | checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81"
1147 | dependencies = [
1148 | "futures-core",
1149 | "futures-macro",
1150 | "futures-task",
1151 | "pin-project-lite",
1152 | "pin-utils",
1153 | "slab",
1154 | ]
1155 |
1156 | [[package]]
1157 | name = "gethostname"
1158 | version = "0.4.3"
1159 | source = "registry+https://github.com/rust-lang/crates.io-index"
1160 | checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818"
1161 | dependencies = [
1162 | "libc",
1163 | "windows-targets 0.48.5",
1164 | ]
1165 |
1166 | [[package]]
1167 | name = "getrandom"
1168 | version = "0.3.3"
1169 | source = "registry+https://github.com/rust-lang/crates.io-index"
1170 | checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4"
1171 | dependencies = [
1172 | "cfg-if",
1173 | "libc",
1174 | "r-efi",
1175 | "wasi",
1176 | ]
1177 |
1178 | [[package]]
1179 | name = "gl_generator"
1180 | version = "0.14.0"
1181 | source = "registry+https://github.com/rust-lang/crates.io-index"
1182 | checksum = "1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d"
1183 | dependencies = [
1184 | "khronos_api",
1185 | "log",
1186 | "xml-rs",
1187 | ]
1188 |
1189 | [[package]]
1190 | name = "glow"
1191 | version = "0.16.0"
1192 | source = "registry+https://github.com/rust-lang/crates.io-index"
1193 | checksum = "c5e5ea60d70410161c8bf5da3fdfeaa1c72ed2c15f8bbb9d19fe3a4fad085f08"
1194 | dependencies = [
1195 | "js-sys",
1196 | "slotmap",
1197 | "wasm-bindgen",
1198 | "web-sys",
1199 | ]
1200 |
1201 | [[package]]
1202 | name = "glutin"
1203 | version = "0.32.3"
1204 | source = "registry+https://github.com/rust-lang/crates.io-index"
1205 | checksum = "12124de845cacfebedff80e877bb37b5b75c34c5a4c89e47e1cdd67fb6041325"
1206 | dependencies = [
1207 | "bitflags 2.9.4",
1208 | "cfg_aliases",
1209 | "cgl",
1210 | "dispatch2",
1211 | "glutin_egl_sys",
1212 | "glutin_glx_sys",
1213 | "glutin_wgl_sys",
1214 | "libloading",
1215 | "objc2 0.6.1",
1216 | "objc2-app-kit 0.3.1",
1217 | "objc2-core-foundation",
1218 | "objc2-foundation 0.3.1",
1219 | "once_cell",
1220 | "raw-window-handle",
1221 | "wayland-sys",
1222 | "windows-sys 0.52.0",
1223 | "x11-dl",
1224 | ]
1225 |
1226 | [[package]]
1227 | name = "glutin-winit"
1228 | version = "0.5.0"
1229 | source = "registry+https://github.com/rust-lang/crates.io-index"
1230 | checksum = "85edca7075f8fc728f28cb8fbb111a96c3b89e930574369e3e9c27eb75d3788f"
1231 | dependencies = [
1232 | "cfg_aliases",
1233 | "glutin",
1234 | "raw-window-handle",
1235 | "winit",
1236 | ]
1237 |
1238 | [[package]]
1239 | name = "glutin_egl_sys"
1240 | version = "0.7.1"
1241 | source = "registry+https://github.com/rust-lang/crates.io-index"
1242 | checksum = "4c4680ba6195f424febdc3ba46e7a42a0e58743f2edb115297b86d7f8ecc02d2"
1243 | dependencies = [
1244 | "gl_generator",
1245 | "windows-sys 0.52.0",
1246 | ]
1247 |
1248 | [[package]]
1249 | name = "glutin_glx_sys"
1250 | version = "0.6.1"
1251 | source = "registry+https://github.com/rust-lang/crates.io-index"
1252 | checksum = "8a7bb2938045a88b612499fbcba375a77198e01306f52272e692f8c1f3751185"
1253 | dependencies = [
1254 | "gl_generator",
1255 | "x11-dl",
1256 | ]
1257 |
1258 | [[package]]
1259 | name = "glutin_wgl_sys"
1260 | version = "0.6.1"
1261 | source = "registry+https://github.com/rust-lang/crates.io-index"
1262 | checksum = "2c4ee00b289aba7a9e5306d57c2d05499b2e5dc427f84ac708bd2c090212cf3e"
1263 | dependencies = [
1264 | "gl_generator",
1265 | ]
1266 |
1267 | [[package]]
1268 | name = "gpu-alloc"
1269 | version = "0.6.0"
1270 | source = "registry+https://github.com/rust-lang/crates.io-index"
1271 | checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171"
1272 | dependencies = [
1273 | "bitflags 2.9.4",
1274 | "gpu-alloc-types",
1275 | ]
1276 |
1277 | [[package]]
1278 | name = "gpu-alloc-types"
1279 | version = "0.3.0"
1280 | source = "registry+https://github.com/rust-lang/crates.io-index"
1281 | checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4"
1282 | dependencies = [
1283 | "bitflags 2.9.4",
1284 | ]
1285 |
1286 | [[package]]
1287 | name = "gpu-allocator"
1288 | version = "0.27.0"
1289 | source = "registry+https://github.com/rust-lang/crates.io-index"
1290 | checksum = "c151a2a5ef800297b4e79efa4f4bec035c5f51d5ae587287c9b952bdf734cacd"
1291 | dependencies = [
1292 | "log",
1293 | "presser",
1294 | "thiserror 1.0.69",
1295 | "windows 0.58.0",
1296 | ]
1297 |
1298 | [[package]]
1299 | name = "gpu-descriptor"
1300 | version = "0.3.2"
1301 | source = "registry+https://github.com/rust-lang/crates.io-index"
1302 | checksum = "b89c83349105e3732062a895becfc71a8f921bb71ecbbdd8ff99263e3b53a0ca"
1303 | dependencies = [
1304 | "bitflags 2.9.4",
1305 | "gpu-descriptor-types",
1306 | "hashbrown 0.15.4",
1307 | ]
1308 |
1309 | [[package]]
1310 | name = "gpu-descriptor-types"
1311 | version = "0.2.0"
1312 | source = "registry+https://github.com/rust-lang/crates.io-index"
1313 | checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91"
1314 | dependencies = [
1315 | "bitflags 2.9.4",
1316 | ]
1317 |
1318 | [[package]]
1319 | name = "half"
1320 | version = "2.6.0"
1321 | source = "registry+https://github.com/rust-lang/crates.io-index"
1322 | checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9"
1323 | dependencies = [
1324 | "cfg-if",
1325 | "crunchy",
1326 | "num-traits",
1327 | ]
1328 |
1329 | [[package]]
1330 | name = "hashbrown"
1331 | version = "0.15.4"
1332 | source = "registry+https://github.com/rust-lang/crates.io-index"
1333 | checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5"
1334 | dependencies = [
1335 | "foldhash 0.1.5",
1336 | ]
1337 |
1338 | [[package]]
1339 | name = "hashbrown"
1340 | version = "0.16.0"
1341 | source = "registry+https://github.com/rust-lang/crates.io-index"
1342 | checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d"
1343 | dependencies = [
1344 | "foldhash 0.2.0",
1345 | ]
1346 |
1347 | [[package]]
1348 | name = "hermit-abi"
1349 | version = "0.5.2"
1350 | source = "registry+https://github.com/rust-lang/crates.io-index"
1351 | checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c"
1352 |
1353 | [[package]]
1354 | name = "hex"
1355 | version = "0.4.3"
1356 | source = "registry+https://github.com/rust-lang/crates.io-index"
1357 | checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
1358 |
1359 | [[package]]
1360 | name = "hexf-parse"
1361 | version = "0.2.1"
1362 | source = "registry+https://github.com/rust-lang/crates.io-index"
1363 | checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df"
1364 |
1365 | [[package]]
1366 | name = "home"
1367 | version = "0.5.11"
1368 | source = "registry+https://github.com/rust-lang/crates.io-index"
1369 | checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf"
1370 | dependencies = [
1371 | "windows-sys 0.59.0",
1372 | ]
1373 |
1374 | [[package]]
1375 | name = "icu_collections"
1376 | version = "2.0.0"
1377 | source = "registry+https://github.com/rust-lang/crates.io-index"
1378 | checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47"
1379 | dependencies = [
1380 | "displaydoc",
1381 | "potential_utf",
1382 | "yoke",
1383 | "zerofrom",
1384 | "zerovec",
1385 | ]
1386 |
1387 | [[package]]
1388 | name = "icu_locale_core"
1389 | version = "2.0.0"
1390 | source = "registry+https://github.com/rust-lang/crates.io-index"
1391 | checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a"
1392 | dependencies = [
1393 | "displaydoc",
1394 | "litemap",
1395 | "tinystr",
1396 | "writeable",
1397 | "zerovec",
1398 | ]
1399 |
1400 | [[package]]
1401 | name = "icu_normalizer"
1402 | version = "2.0.0"
1403 | source = "registry+https://github.com/rust-lang/crates.io-index"
1404 | checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979"
1405 | dependencies = [
1406 | "displaydoc",
1407 | "icu_collections",
1408 | "icu_normalizer_data",
1409 | "icu_properties",
1410 | "icu_provider",
1411 | "smallvec",
1412 | "zerovec",
1413 | ]
1414 |
1415 | [[package]]
1416 | name = "icu_normalizer_data"
1417 | version = "2.0.0"
1418 | source = "registry+https://github.com/rust-lang/crates.io-index"
1419 | checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3"
1420 |
1421 | [[package]]
1422 | name = "icu_properties"
1423 | version = "2.0.1"
1424 | source = "registry+https://github.com/rust-lang/crates.io-index"
1425 | checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b"
1426 | dependencies = [
1427 | "displaydoc",
1428 | "icu_collections",
1429 | "icu_locale_core",
1430 | "icu_properties_data",
1431 | "icu_provider",
1432 | "potential_utf",
1433 | "zerotrie",
1434 | "zerovec",
1435 | ]
1436 |
1437 | [[package]]
1438 | name = "icu_properties_data"
1439 | version = "2.0.1"
1440 | source = "registry+https://github.com/rust-lang/crates.io-index"
1441 | checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632"
1442 |
1443 | [[package]]
1444 | name = "icu_provider"
1445 | version = "2.0.0"
1446 | source = "registry+https://github.com/rust-lang/crates.io-index"
1447 | checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af"
1448 | dependencies = [
1449 | "displaydoc",
1450 | "icu_locale_core",
1451 | "stable_deref_trait",
1452 | "tinystr",
1453 | "writeable",
1454 | "yoke",
1455 | "zerofrom",
1456 | "zerotrie",
1457 | "zerovec",
1458 | ]
1459 |
1460 | [[package]]
1461 | name = "idna"
1462 | version = "1.0.3"
1463 | source = "registry+https://github.com/rust-lang/crates.io-index"
1464 | checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e"
1465 | dependencies = [
1466 | "idna_adapter",
1467 | "smallvec",
1468 | "utf8_iter",
1469 | ]
1470 |
1471 | [[package]]
1472 | name = "idna_adapter"
1473 | version = "1.2.1"
1474 | source = "registry+https://github.com/rust-lang/crates.io-index"
1475 | checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344"
1476 | dependencies = [
1477 | "icu_normalizer",
1478 | "icu_properties",
1479 | ]
1480 |
1481 | [[package]]
1482 | name = "image"
1483 | version = "0.25.6"
1484 | source = "registry+https://github.com/rust-lang/crates.io-index"
1485 | checksum = "db35664ce6b9810857a38a906215e75a9c879f0696556a39f59c62829710251a"
1486 | dependencies = [
1487 | "bytemuck",
1488 | "byteorder-lite",
1489 | "num-traits",
1490 | "png",
1491 | "tiff",
1492 | ]
1493 |
1494 | [[package]]
1495 | name = "indexmap"
1496 | version = "2.10.0"
1497 | source = "registry+https://github.com/rust-lang/crates.io-index"
1498 | checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661"
1499 | dependencies = [
1500 | "equivalent",
1501 | "hashbrown 0.15.4",
1502 | ]
1503 |
1504 | [[package]]
1505 | name = "jni"
1506 | version = "0.21.1"
1507 | source = "registry+https://github.com/rust-lang/crates.io-index"
1508 | checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97"
1509 | dependencies = [
1510 | "cesu8",
1511 | "cfg-if",
1512 | "combine",
1513 | "jni-sys",
1514 | "log",
1515 | "thiserror 1.0.69",
1516 | "walkdir",
1517 | "windows-sys 0.45.0",
1518 | ]
1519 |
1520 | [[package]]
1521 | name = "jni-sys"
1522 | version = "0.3.0"
1523 | source = "registry+https://github.com/rust-lang/crates.io-index"
1524 | checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
1525 |
1526 | [[package]]
1527 | name = "jobserver"
1528 | version = "0.1.33"
1529 | source = "registry+https://github.com/rust-lang/crates.io-index"
1530 | checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a"
1531 | dependencies = [
1532 | "getrandom",
1533 | "libc",
1534 | ]
1535 |
1536 | [[package]]
1537 | name = "jpeg-decoder"
1538 | version = "0.3.2"
1539 | source = "registry+https://github.com/rust-lang/crates.io-index"
1540 | checksum = "00810f1d8b74be64b13dbf3db89ac67740615d6c891f0e7b6179326533011a07"
1541 |
1542 | [[package]]
1543 | name = "js-sys"
1544 | version = "0.3.77"
1545 | source = "registry+https://github.com/rust-lang/crates.io-index"
1546 | checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f"
1547 | dependencies = [
1548 | "once_cell",
1549 | "wasm-bindgen",
1550 | ]
1551 |
1552 | [[package]]
1553 | name = "khronos-egl"
1554 | version = "6.0.0"
1555 | source = "registry+https://github.com/rust-lang/crates.io-index"
1556 | checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76"
1557 | dependencies = [
1558 | "libc",
1559 | "libloading",
1560 | "pkg-config",
1561 | ]
1562 |
1563 | [[package]]
1564 | name = "khronos_api"
1565 | version = "3.1.0"
1566 | source = "registry+https://github.com/rust-lang/crates.io-index"
1567 | checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc"
1568 |
1569 | [[package]]
1570 | name = "libc"
1571 | version = "0.2.174"
1572 | source = "registry+https://github.com/rust-lang/crates.io-index"
1573 | checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776"
1574 |
1575 | [[package]]
1576 | name = "libloading"
1577 | version = "0.8.8"
1578 | source = "registry+https://github.com/rust-lang/crates.io-index"
1579 | checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667"
1580 | dependencies = [
1581 | "cfg-if",
1582 | "windows-targets 0.53.2",
1583 | ]
1584 |
1585 | [[package]]
1586 | name = "libm"
1587 | version = "0.2.15"
1588 | source = "registry+https://github.com/rust-lang/crates.io-index"
1589 | checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de"
1590 |
1591 | [[package]]
1592 | name = "libredox"
1593 | version = "0.1.4"
1594 | source = "registry+https://github.com/rust-lang/crates.io-index"
1595 | checksum = "1580801010e535496706ba011c15f8532df6b42297d2e471fec38ceadd8c0638"
1596 | dependencies = [
1597 | "bitflags 2.9.4",
1598 | "libc",
1599 | "redox_syscall 0.5.13",
1600 | ]
1601 |
1602 | [[package]]
1603 | name = "linux-raw-sys"
1604 | version = "0.4.15"
1605 | source = "registry+https://github.com/rust-lang/crates.io-index"
1606 | checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab"
1607 |
1608 | [[package]]
1609 | name = "linux-raw-sys"
1610 | version = "0.9.4"
1611 | source = "registry+https://github.com/rust-lang/crates.io-index"
1612 | checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12"
1613 |
1614 | [[package]]
1615 | name = "litemap"
1616 | version = "0.8.0"
1617 | source = "registry+https://github.com/rust-lang/crates.io-index"
1618 | checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956"
1619 |
1620 | [[package]]
1621 | name = "litrs"
1622 | version = "0.4.1"
1623 | source = "registry+https://github.com/rust-lang/crates.io-index"
1624 | checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5"
1625 |
1626 | [[package]]
1627 | name = "lock_api"
1628 | version = "0.4.14"
1629 | source = "registry+https://github.com/rust-lang/crates.io-index"
1630 | checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965"
1631 | dependencies = [
1632 | "scopeguard",
1633 | ]
1634 |
1635 | [[package]]
1636 | name = "log"
1637 | version = "0.4.28"
1638 | source = "registry+https://github.com/rust-lang/crates.io-index"
1639 | checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432"
1640 |
1641 | [[package]]
1642 | name = "malloc_buf"
1643 | version = "0.0.6"
1644 | source = "registry+https://github.com/rust-lang/crates.io-index"
1645 | checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb"
1646 | dependencies = [
1647 | "libc",
1648 | ]
1649 |
1650 | [[package]]
1651 | name = "memchr"
1652 | version = "2.7.5"
1653 | source = "registry+https://github.com/rust-lang/crates.io-index"
1654 | checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0"
1655 |
1656 | [[package]]
1657 | name = "memmap2"
1658 | version = "0.9.5"
1659 | source = "registry+https://github.com/rust-lang/crates.io-index"
1660 | checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f"
1661 | dependencies = [
1662 | "libc",
1663 | ]
1664 |
1665 | [[package]]
1666 | name = "memoffset"
1667 | version = "0.9.1"
1668 | source = "registry+https://github.com/rust-lang/crates.io-index"
1669 | checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
1670 | dependencies = [
1671 | "autocfg",
1672 | ]
1673 |
1674 | [[package]]
1675 | name = "metal"
1676 | version = "0.32.0"
1677 | source = "registry+https://github.com/rust-lang/crates.io-index"
1678 | checksum = "00c15a6f673ff72ddcc22394663290f870fb224c1bfce55734a75c414150e605"
1679 | dependencies = [
1680 | "bitflags 2.9.4",
1681 | "block",
1682 | "core-graphics-types 0.2.0",
1683 | "foreign-types",
1684 | "log",
1685 | "objc",
1686 | "paste",
1687 | ]
1688 |
1689 | [[package]]
1690 | name = "miniz_oxide"
1691 | version = "0.8.9"
1692 | source = "registry+https://github.com/rust-lang/crates.io-index"
1693 | checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316"
1694 | dependencies = [
1695 | "adler2",
1696 | "simd-adler32",
1697 | ]
1698 |
1699 | [[package]]
1700 | name = "naga"
1701 | version = "27.0.0"
1702 | source = "registry+https://github.com/rust-lang/crates.io-index"
1703 | checksum = "12b2e757b11b47345d44e7760e45458339bc490463d9548cd8651c53ae523153"
1704 | dependencies = [
1705 | "arrayvec",
1706 | "bit-set",
1707 | "bitflags 2.9.4",
1708 | "cfg-if",
1709 | "cfg_aliases",
1710 | "codespan-reporting",
1711 | "half",
1712 | "hashbrown 0.16.0",
1713 | "hexf-parse",
1714 | "indexmap",
1715 | "libm",
1716 | "log",
1717 | "num-traits",
1718 | "once_cell",
1719 | "rustc-hash 1.1.0",
1720 | "spirv",
1721 | "thiserror 2.0.17",
1722 | "unicode-ident",
1723 | ]
1724 |
1725 | [[package]]
1726 | name = "ndk"
1727 | version = "0.9.0"
1728 | source = "registry+https://github.com/rust-lang/crates.io-index"
1729 | checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4"
1730 | dependencies = [
1731 | "bitflags 2.9.4",
1732 | "jni-sys",
1733 | "log",
1734 | "ndk-sys",
1735 | "num_enum",
1736 | "raw-window-handle",
1737 | "thiserror 1.0.69",
1738 | ]
1739 |
1740 | [[package]]
1741 | name = "ndk-context"
1742 | version = "0.1.1"
1743 | source = "registry+https://github.com/rust-lang/crates.io-index"
1744 | checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b"
1745 |
1746 | [[package]]
1747 | name = "ndk-sys"
1748 | version = "0.6.0+11769913"
1749 | source = "registry+https://github.com/rust-lang/crates.io-index"
1750 | checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873"
1751 | dependencies = [
1752 | "jni-sys",
1753 | ]
1754 |
1755 | [[package]]
1756 | name = "nix"
1757 | version = "0.30.1"
1758 | source = "registry+https://github.com/rust-lang/crates.io-index"
1759 | checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6"
1760 | dependencies = [
1761 | "bitflags 2.9.4",
1762 | "cfg-if",
1763 | "cfg_aliases",
1764 | "libc",
1765 | "memoffset",
1766 | ]
1767 |
1768 | [[package]]
1769 | name = "nohash-hasher"
1770 | version = "0.2.0"
1771 | source = "registry+https://github.com/rust-lang/crates.io-index"
1772 | checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451"
1773 |
1774 | [[package]]
1775 | name = "num-traits"
1776 | version = "0.2.19"
1777 | source = "registry+https://github.com/rust-lang/crates.io-index"
1778 | checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
1779 | dependencies = [
1780 | "autocfg",
1781 | "libm",
1782 | ]
1783 |
1784 | [[package]]
1785 | name = "num_enum"
1786 | version = "0.7.4"
1787 | source = "registry+https://github.com/rust-lang/crates.io-index"
1788 | checksum = "a973b4e44ce6cad84ce69d797acf9a044532e4184c4f267913d1b546a0727b7a"
1789 | dependencies = [
1790 | "num_enum_derive",
1791 | "rustversion",
1792 | ]
1793 |
1794 | [[package]]
1795 | name = "num_enum_derive"
1796 | version = "0.7.4"
1797 | source = "registry+https://github.com/rust-lang/crates.io-index"
1798 | checksum = "77e878c846a8abae00dd069496dbe8751b16ac1c3d6bd2a7283a938e8228f90d"
1799 | dependencies = [
1800 | "proc-macro-crate",
1801 | "proc-macro2",
1802 | "quote",
1803 | "syn",
1804 | ]
1805 |
1806 | [[package]]
1807 | name = "objc"
1808 | version = "0.2.7"
1809 | source = "registry+https://github.com/rust-lang/crates.io-index"
1810 | checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1"
1811 | dependencies = [
1812 | "malloc_buf",
1813 | ]
1814 |
1815 | [[package]]
1816 | name = "objc-sys"
1817 | version = "0.3.5"
1818 | source = "registry+https://github.com/rust-lang/crates.io-index"
1819 | checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310"
1820 |
1821 | [[package]]
1822 | name = "objc2"
1823 | version = "0.5.2"
1824 | source = "registry+https://github.com/rust-lang/crates.io-index"
1825 | checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804"
1826 | dependencies = [
1827 | "objc-sys",
1828 | "objc2-encode",
1829 | ]
1830 |
1831 | [[package]]
1832 | name = "objc2"
1833 | version = "0.6.1"
1834 | source = "registry+https://github.com/rust-lang/crates.io-index"
1835 | checksum = "88c6597e14493ab2e44ce58f2fdecf095a51f12ca57bec060a11c57332520551"
1836 | dependencies = [
1837 | "objc2-encode",
1838 | ]
1839 |
1840 | [[package]]
1841 | name = "objc2-app-kit"
1842 | version = "0.2.2"
1843 | source = "registry+https://github.com/rust-lang/crates.io-index"
1844 | checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff"
1845 | dependencies = [
1846 | "bitflags 2.9.4",
1847 | "block2",
1848 | "libc",
1849 | "objc2 0.5.2",
1850 | "objc2-core-data",
1851 | "objc2-core-image",
1852 | "objc2-foundation 0.2.2",
1853 | "objc2-quartz-core",
1854 | ]
1855 |
1856 | [[package]]
1857 | name = "objc2-app-kit"
1858 | version = "0.3.1"
1859 | source = "registry+https://github.com/rust-lang/crates.io-index"
1860 | checksum = "e6f29f568bec459b0ddff777cec4fe3fd8666d82d5a40ebd0ff7e66134f89bcc"
1861 | dependencies = [
1862 | "bitflags 2.9.4",
1863 | "objc2 0.6.1",
1864 | "objc2-core-foundation",
1865 | "objc2-core-graphics",
1866 | "objc2-foundation 0.3.1",
1867 | ]
1868 |
1869 | [[package]]
1870 | name = "objc2-cloud-kit"
1871 | version = "0.2.2"
1872 | source = "registry+https://github.com/rust-lang/crates.io-index"
1873 | checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009"
1874 | dependencies = [
1875 | "bitflags 2.9.4",
1876 | "block2",
1877 | "objc2 0.5.2",
1878 | "objc2-core-location",
1879 | "objc2-foundation 0.2.2",
1880 | ]
1881 |
1882 | [[package]]
1883 | name = "objc2-contacts"
1884 | version = "0.2.2"
1885 | source = "registry+https://github.com/rust-lang/crates.io-index"
1886 | checksum = "a5ff520e9c33812fd374d8deecef01d4a840e7b41862d849513de77e44aa4889"
1887 | dependencies = [
1888 | "block2",
1889 | "objc2 0.5.2",
1890 | "objc2-foundation 0.2.2",
1891 | ]
1892 |
1893 | [[package]]
1894 | name = "objc2-core-data"
1895 | version = "0.2.2"
1896 | source = "registry+https://github.com/rust-lang/crates.io-index"
1897 | checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef"
1898 | dependencies = [
1899 | "bitflags 2.9.4",
1900 | "block2",
1901 | "objc2 0.5.2",
1902 | "objc2-foundation 0.2.2",
1903 | ]
1904 |
1905 | [[package]]
1906 | name = "objc2-core-foundation"
1907 | version = "0.3.1"
1908 | source = "registry+https://github.com/rust-lang/crates.io-index"
1909 | checksum = "1c10c2894a6fed806ade6027bcd50662746363a9589d3ec9d9bef30a4e4bc166"
1910 | dependencies = [
1911 | "bitflags 2.9.4",
1912 | "dispatch2",
1913 | "objc2 0.6.1",
1914 | ]
1915 |
1916 | [[package]]
1917 | name = "objc2-core-graphics"
1918 | version = "0.3.1"
1919 | source = "registry+https://github.com/rust-lang/crates.io-index"
1920 | checksum = "989c6c68c13021b5c2d6b71456ebb0f9dc78d752e86a98da7c716f4f9470f5a4"
1921 | dependencies = [
1922 | "bitflags 2.9.4",
1923 | "dispatch2",
1924 | "objc2 0.6.1",
1925 | "objc2-core-foundation",
1926 | "objc2-io-surface",
1927 | ]
1928 |
1929 | [[package]]
1930 | name = "objc2-core-image"
1931 | version = "0.2.2"
1932 | source = "registry+https://github.com/rust-lang/crates.io-index"
1933 | checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80"
1934 | dependencies = [
1935 | "block2",
1936 | "objc2 0.5.2",
1937 | "objc2-foundation 0.2.2",
1938 | "objc2-metal",
1939 | ]
1940 |
1941 | [[package]]
1942 | name = "objc2-core-location"
1943 | version = "0.2.2"
1944 | source = "registry+https://github.com/rust-lang/crates.io-index"
1945 | checksum = "000cfee34e683244f284252ee206a27953279d370e309649dc3ee317b37e5781"
1946 | dependencies = [
1947 | "block2",
1948 | "objc2 0.5.2",
1949 | "objc2-contacts",
1950 | "objc2-foundation 0.2.2",
1951 | ]
1952 |
1953 | [[package]]
1954 | name = "objc2-encode"
1955 | version = "4.1.0"
1956 | source = "registry+https://github.com/rust-lang/crates.io-index"
1957 | checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33"
1958 |
1959 | [[package]]
1960 | name = "objc2-foundation"
1961 | version = "0.2.2"
1962 | source = "registry+https://github.com/rust-lang/crates.io-index"
1963 | checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8"
1964 | dependencies = [
1965 | "bitflags 2.9.4",
1966 | "block2",
1967 | "dispatch",
1968 | "libc",
1969 | "objc2 0.5.2",
1970 | ]
1971 |
1972 | [[package]]
1973 | name = "objc2-foundation"
1974 | version = "0.3.1"
1975 | source = "registry+https://github.com/rust-lang/crates.io-index"
1976 | checksum = "900831247d2fe1a09a683278e5384cfb8c80c79fe6b166f9d14bfdde0ea1b03c"
1977 | dependencies = [
1978 | "bitflags 2.9.4",
1979 | "objc2 0.6.1",
1980 | "objc2-core-foundation",
1981 | ]
1982 |
1983 | [[package]]
1984 | name = "objc2-io-surface"
1985 | version = "0.3.1"
1986 | source = "registry+https://github.com/rust-lang/crates.io-index"
1987 | checksum = "7282e9ac92529fa3457ce90ebb15f4ecbc383e8338060960760fa2cf75420c3c"
1988 | dependencies = [
1989 | "bitflags 2.9.4",
1990 | "objc2 0.6.1",
1991 | "objc2-core-foundation",
1992 | ]
1993 |
1994 | [[package]]
1995 | name = "objc2-link-presentation"
1996 | version = "0.2.2"
1997 | source = "registry+https://github.com/rust-lang/crates.io-index"
1998 | checksum = "a1a1ae721c5e35be65f01a03b6d2ac13a54cb4fa70d8a5da293d7b0020261398"
1999 | dependencies = [
2000 | "block2",
2001 | "objc2 0.5.2",
2002 | "objc2-app-kit 0.2.2",
2003 | "objc2-foundation 0.2.2",
2004 | ]
2005 |
2006 | [[package]]
2007 | name = "objc2-metal"
2008 | version = "0.2.2"
2009 | source = "registry+https://github.com/rust-lang/crates.io-index"
2010 | checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6"
2011 | dependencies = [
2012 | "bitflags 2.9.4",
2013 | "block2",
2014 | "objc2 0.5.2",
2015 | "objc2-foundation 0.2.2",
2016 | ]
2017 |
2018 | [[package]]
2019 | name = "objc2-quartz-core"
2020 | version = "0.2.2"
2021 | source = "registry+https://github.com/rust-lang/crates.io-index"
2022 | checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a"
2023 | dependencies = [
2024 | "bitflags 2.9.4",
2025 | "block2",
2026 | "objc2 0.5.2",
2027 | "objc2-foundation 0.2.2",
2028 | "objc2-metal",
2029 | ]
2030 |
2031 | [[package]]
2032 | name = "objc2-symbols"
2033 | version = "0.2.2"
2034 | source = "registry+https://github.com/rust-lang/crates.io-index"
2035 | checksum = "0a684efe3dec1b305badae1a28f6555f6ddd3bb2c2267896782858d5a78404dc"
2036 | dependencies = [
2037 | "objc2 0.5.2",
2038 | "objc2-foundation 0.2.2",
2039 | ]
2040 |
2041 | [[package]]
2042 | name = "objc2-ui-kit"
2043 | version = "0.2.2"
2044 | source = "registry+https://github.com/rust-lang/crates.io-index"
2045 | checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f"
2046 | dependencies = [
2047 | "bitflags 2.9.4",
2048 | "block2",
2049 | "objc2 0.5.2",
2050 | "objc2-cloud-kit",
2051 | "objc2-core-data",
2052 | "objc2-core-image",
2053 | "objc2-core-location",
2054 | "objc2-foundation 0.2.2",
2055 | "objc2-link-presentation",
2056 | "objc2-quartz-core",
2057 | "objc2-symbols",
2058 | "objc2-uniform-type-identifiers",
2059 | "objc2-user-notifications",
2060 | ]
2061 |
2062 | [[package]]
2063 | name = "objc2-uniform-type-identifiers"
2064 | version = "0.2.2"
2065 | source = "registry+https://github.com/rust-lang/crates.io-index"
2066 | checksum = "44fa5f9748dbfe1ca6c0b79ad20725a11eca7c2218bceb4b005cb1be26273bfe"
2067 | dependencies = [
2068 | "block2",
2069 | "objc2 0.5.2",
2070 | "objc2-foundation 0.2.2",
2071 | ]
2072 |
2073 | [[package]]
2074 | name = "objc2-user-notifications"
2075 | version = "0.2.2"
2076 | source = "registry+https://github.com/rust-lang/crates.io-index"
2077 | checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3"
2078 | dependencies = [
2079 | "bitflags 2.9.4",
2080 | "block2",
2081 | "objc2 0.5.2",
2082 | "objc2-core-location",
2083 | "objc2-foundation 0.2.2",
2084 | ]
2085 |
2086 | [[package]]
2087 | name = "once_cell"
2088 | version = "1.21.3"
2089 | source = "registry+https://github.com/rust-lang/crates.io-index"
2090 | checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
2091 |
2092 | [[package]]
2093 | name = "orbclient"
2094 | version = "0.3.48"
2095 | source = "registry+https://github.com/rust-lang/crates.io-index"
2096 | checksum = "ba0b26cec2e24f08ed8bb31519a9333140a6599b867dac464bb150bdb796fd43"
2097 | dependencies = [
2098 | "libredox",
2099 | ]
2100 |
2101 | [[package]]
2102 | name = "ordered-float"
2103 | version = "5.0.0"
2104 | source = "registry+https://github.com/rust-lang/crates.io-index"
2105 | checksum = "e2c1f9f56e534ac6a9b8a4600bdf0f530fb393b5f393e7b4d03489c3cf0c3f01"
2106 | dependencies = [
2107 | "num-traits",
2108 | ]
2109 |
2110 | [[package]]
2111 | name = "ordered-stream"
2112 | version = "0.2.0"
2113 | source = "registry+https://github.com/rust-lang/crates.io-index"
2114 | checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50"
2115 | dependencies = [
2116 | "futures-core",
2117 | "pin-project-lite",
2118 | ]
2119 |
2120 | [[package]]
2121 | name = "owned_ttf_parser"
2122 | version = "0.25.0"
2123 | source = "registry+https://github.com/rust-lang/crates.io-index"
2124 | checksum = "22ec719bbf3b2a81c109a4e20b1f129b5566b7dce654bc3872f6a05abf82b2c4"
2125 | dependencies = [
2126 | "ttf-parser",
2127 | ]
2128 |
2129 | [[package]]
2130 | name = "parking"
2131 | version = "2.2.1"
2132 | source = "registry+https://github.com/rust-lang/crates.io-index"
2133 | checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba"
2134 |
2135 | [[package]]
2136 | name = "parking_lot"
2137 | version = "0.12.5"
2138 | source = "registry+https://github.com/rust-lang/crates.io-index"
2139 | checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a"
2140 | dependencies = [
2141 | "lock_api",
2142 | "parking_lot_core",
2143 | ]
2144 |
2145 | [[package]]
2146 | name = "parking_lot_core"
2147 | version = "0.9.12"
2148 | source = "registry+https://github.com/rust-lang/crates.io-index"
2149 | checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1"
2150 | dependencies = [
2151 | "cfg-if",
2152 | "libc",
2153 | "redox_syscall 0.5.13",
2154 | "smallvec",
2155 | "windows-link 0.2.1",
2156 | ]
2157 |
2158 | [[package]]
2159 | name = "paste"
2160 | version = "1.0.15"
2161 | source = "registry+https://github.com/rust-lang/crates.io-index"
2162 | checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
2163 |
2164 | [[package]]
2165 | name = "percent-encoding"
2166 | version = "2.3.2"
2167 | source = "registry+https://github.com/rust-lang/crates.io-index"
2168 | checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220"
2169 |
2170 | [[package]]
2171 | name = "pin-project"
2172 | version = "1.1.10"
2173 | source = "registry+https://github.com/rust-lang/crates.io-index"
2174 | checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a"
2175 | dependencies = [
2176 | "pin-project-internal",
2177 | ]
2178 |
2179 | [[package]]
2180 | name = "pin-project-internal"
2181 | version = "1.1.10"
2182 | source = "registry+https://github.com/rust-lang/crates.io-index"
2183 | checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861"
2184 | dependencies = [
2185 | "proc-macro2",
2186 | "quote",
2187 | "syn",
2188 | ]
2189 |
2190 | [[package]]
2191 | name = "pin-project-lite"
2192 | version = "0.2.16"
2193 | source = "registry+https://github.com/rust-lang/crates.io-index"
2194 | checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b"
2195 |
2196 | [[package]]
2197 | name = "pin-utils"
2198 | version = "0.1.0"
2199 | source = "registry+https://github.com/rust-lang/crates.io-index"
2200 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
2201 |
2202 | [[package]]
2203 | name = "piper"
2204 | version = "0.2.4"
2205 | source = "registry+https://github.com/rust-lang/crates.io-index"
2206 | checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066"
2207 | dependencies = [
2208 | "atomic-waker",
2209 | "fastrand",
2210 | "futures-io",
2211 | ]
2212 |
2213 | [[package]]
2214 | name = "pkg-config"
2215 | version = "0.3.32"
2216 | source = "registry+https://github.com/rust-lang/crates.io-index"
2217 | checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c"
2218 |
2219 | [[package]]
2220 | name = "png"
2221 | version = "0.17.16"
2222 | source = "registry+https://github.com/rust-lang/crates.io-index"
2223 | checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526"
2224 | dependencies = [
2225 | "bitflags 1.3.2",
2226 | "crc32fast",
2227 | "fdeflate",
2228 | "flate2",
2229 | "miniz_oxide",
2230 | ]
2231 |
2232 | [[package]]
2233 | name = "polling"
2234 | version = "3.8.0"
2235 | source = "registry+https://github.com/rust-lang/crates.io-index"
2236 | checksum = "b53a684391ad002dd6a596ceb6c74fd004fdce75f4be2e3f615068abbea5fd50"
2237 | dependencies = [
2238 | "cfg-if",
2239 | "concurrent-queue",
2240 | "hermit-abi",
2241 | "pin-project-lite",
2242 | "rustix 1.0.7",
2243 | "tracing",
2244 | "windows-sys 0.59.0",
2245 | ]
2246 |
2247 | [[package]]
2248 | name = "portable-atomic"
2249 | version = "1.11.1"
2250 | source = "registry+https://github.com/rust-lang/crates.io-index"
2251 | checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483"
2252 |
2253 | [[package]]
2254 | name = "portable-atomic-util"
2255 | version = "0.2.4"
2256 | source = "registry+https://github.com/rust-lang/crates.io-index"
2257 | checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507"
2258 | dependencies = [
2259 | "portable-atomic",
2260 | ]
2261 |
2262 | [[package]]
2263 | name = "potential_utf"
2264 | version = "0.1.2"
2265 | source = "registry+https://github.com/rust-lang/crates.io-index"
2266 | checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585"
2267 | dependencies = [
2268 | "zerovec",
2269 | ]
2270 |
2271 | [[package]]
2272 | name = "presser"
2273 | version = "0.3.1"
2274 | source = "registry+https://github.com/rust-lang/crates.io-index"
2275 | checksum = "e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa"
2276 |
2277 | [[package]]
2278 | name = "proc-macro-crate"
2279 | version = "3.3.0"
2280 | source = "registry+https://github.com/rust-lang/crates.io-index"
2281 | checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35"
2282 | dependencies = [
2283 | "toml_edit",
2284 | ]
2285 |
2286 | [[package]]
2287 | name = "proc-macro2"
2288 | version = "1.0.95"
2289 | source = "registry+https://github.com/rust-lang/crates.io-index"
2290 | checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778"
2291 | dependencies = [
2292 | "unicode-ident",
2293 | ]
2294 |
2295 | [[package]]
2296 | name = "profiling"
2297 | version = "1.0.17"
2298 | source = "registry+https://github.com/rust-lang/crates.io-index"
2299 | checksum = "3eb8486b569e12e2c32ad3e204dbaba5e4b5b216e9367044f25f1dba42341773"
2300 |
2301 | [[package]]
2302 | name = "quick-xml"
2303 | version = "0.36.2"
2304 | source = "registry+https://github.com/rust-lang/crates.io-index"
2305 | checksum = "f7649a7b4df05aed9ea7ec6f628c67c9953a43869b8bc50929569b2999d443fe"
2306 | dependencies = [
2307 | "memchr",
2308 | "serde",
2309 | ]
2310 |
2311 | [[package]]
2312 | name = "quick-xml"
2313 | version = "0.37.5"
2314 | source = "registry+https://github.com/rust-lang/crates.io-index"
2315 | checksum = "331e97a1af0bf59823e6eadffe373d7b27f485be8748f71471c662c1f269b7fb"
2316 | dependencies = [
2317 | "memchr",
2318 | ]
2319 |
2320 | [[package]]
2321 | name = "quote"
2322 | version = "1.0.40"
2323 | source = "registry+https://github.com/rust-lang/crates.io-index"
2324 | checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
2325 | dependencies = [
2326 | "proc-macro2",
2327 | ]
2328 |
2329 | [[package]]
2330 | name = "r-efi"
2331 | version = "5.3.0"
2332 | source = "registry+https://github.com/rust-lang/crates.io-index"
2333 | checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
2334 |
2335 | [[package]]
2336 | name = "range-alloc"
2337 | version = "0.1.4"
2338 | source = "registry+https://github.com/rust-lang/crates.io-index"
2339 | checksum = "c3d6831663a5098ea164f89cff59c6284e95f4e3c76ce9848d4529f5ccca9bde"
2340 |
2341 | [[package]]
2342 | name = "raw-window-handle"
2343 | version = "0.6.2"
2344 | source = "registry+https://github.com/rust-lang/crates.io-index"
2345 | checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539"
2346 |
2347 | [[package]]
2348 | name = "redox_syscall"
2349 | version = "0.4.1"
2350 | source = "registry+https://github.com/rust-lang/crates.io-index"
2351 | checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
2352 | dependencies = [
2353 | "bitflags 1.3.2",
2354 | ]
2355 |
2356 | [[package]]
2357 | name = "redox_syscall"
2358 | version = "0.5.13"
2359 | source = "registry+https://github.com/rust-lang/crates.io-index"
2360 | checksum = "0d04b7d0ee6b4a0207a0a7adb104d23ecb0b47d6beae7152d0fa34b692b29fd6"
2361 | dependencies = [
2362 | "bitflags 2.9.4",
2363 | ]
2364 |
2365 | [[package]]
2366 | name = "renderdoc-sys"
2367 | version = "1.1.0"
2368 | source = "registry+https://github.com/rust-lang/crates.io-index"
2369 | checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832"
2370 |
2371 | [[package]]
2372 | name = "ron"
2373 | version = "0.11.0"
2374 | source = "registry+https://github.com/rust-lang/crates.io-index"
2375 | checksum = "db09040cc89e461f1a265139777a2bde7f8d8c67c4936f700c63ce3e2904d468"
2376 | dependencies = [
2377 | "base64",
2378 | "bitflags 2.9.4",
2379 | "serde",
2380 | "serde_derive",
2381 | "unicode-ident",
2382 | ]
2383 |
2384 | [[package]]
2385 | name = "rustc-hash"
2386 | version = "1.1.0"
2387 | source = "registry+https://github.com/rust-lang/crates.io-index"
2388 | checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
2389 |
2390 | [[package]]
2391 | name = "rustc-hash"
2392 | version = "2.1.1"
2393 | source = "registry+https://github.com/rust-lang/crates.io-index"
2394 | checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d"
2395 |
2396 | [[package]]
2397 | name = "rustix"
2398 | version = "0.38.44"
2399 | source = "registry+https://github.com/rust-lang/crates.io-index"
2400 | checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154"
2401 | dependencies = [
2402 | "bitflags 2.9.4",
2403 | "errno",
2404 | "libc",
2405 | "linux-raw-sys 0.4.15",
2406 | "windows-sys 0.59.0",
2407 | ]
2408 |
2409 | [[package]]
2410 | name = "rustix"
2411 | version = "1.0.7"
2412 | source = "registry+https://github.com/rust-lang/crates.io-index"
2413 | checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266"
2414 | dependencies = [
2415 | "bitflags 2.9.4",
2416 | "errno",
2417 | "libc",
2418 | "linux-raw-sys 0.9.4",
2419 | "windows-sys 0.59.0",
2420 | ]
2421 |
2422 | [[package]]
2423 | name = "rustversion"
2424 | version = "1.0.21"
2425 | source = "registry+https://github.com/rust-lang/crates.io-index"
2426 | checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d"
2427 |
2428 | [[package]]
2429 | name = "same-file"
2430 | version = "1.0.6"
2431 | source = "registry+https://github.com/rust-lang/crates.io-index"
2432 | checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
2433 | dependencies = [
2434 | "winapi-util",
2435 | ]
2436 |
2437 | [[package]]
2438 | name = "scoped-tls"
2439 | version = "1.0.1"
2440 | source = "registry+https://github.com/rust-lang/crates.io-index"
2441 | checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
2442 |
2443 | [[package]]
2444 | name = "scopeguard"
2445 | version = "1.2.0"
2446 | source = "registry+https://github.com/rust-lang/crates.io-index"
2447 | checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
2448 |
2449 | [[package]]
2450 | name = "sctk-adwaita"
2451 | version = "0.10.1"
2452 | source = "registry+https://github.com/rust-lang/crates.io-index"
2453 | checksum = "b6277f0217056f77f1d8f49f2950ac6c278c0d607c45f5ee99328d792ede24ec"
2454 | dependencies = [
2455 | "ab_glyph",
2456 | "log",
2457 | "memmap2",
2458 | "smithay-client-toolkit",
2459 | "tiny-skia",
2460 | ]
2461 |
2462 | [[package]]
2463 | name = "serde"
2464 | version = "1.0.228"
2465 | source = "registry+https://github.com/rust-lang/crates.io-index"
2466 | checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
2467 | dependencies = [
2468 | "serde_core",
2469 | "serde_derive",
2470 | ]
2471 |
2472 | [[package]]
2473 | name = "serde_core"
2474 | version = "1.0.228"
2475 | source = "registry+https://github.com/rust-lang/crates.io-index"
2476 | checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
2477 | dependencies = [
2478 | "serde_derive",
2479 | ]
2480 |
2481 | [[package]]
2482 | name = "serde_derive"
2483 | version = "1.0.228"
2484 | source = "registry+https://github.com/rust-lang/crates.io-index"
2485 | checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
2486 | dependencies = [
2487 | "proc-macro2",
2488 | "quote",
2489 | "syn",
2490 | ]
2491 |
2492 | [[package]]
2493 | name = "serde_repr"
2494 | version = "0.1.20"
2495 | source = "registry+https://github.com/rust-lang/crates.io-index"
2496 | checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c"
2497 | dependencies = [
2498 | "proc-macro2",
2499 | "quote",
2500 | "syn",
2501 | ]
2502 |
2503 | [[package]]
2504 | name = "shlex"
2505 | version = "1.3.0"
2506 | source = "registry+https://github.com/rust-lang/crates.io-index"
2507 | checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
2508 |
2509 | [[package]]
2510 | name = "signal-hook-registry"
2511 | version = "1.4.5"
2512 | source = "registry+https://github.com/rust-lang/crates.io-index"
2513 | checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410"
2514 | dependencies = [
2515 | "libc",
2516 | ]
2517 |
2518 | [[package]]
2519 | name = "simd-adler32"
2520 | version = "0.3.7"
2521 | source = "registry+https://github.com/rust-lang/crates.io-index"
2522 | checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
2523 |
2524 | [[package]]
2525 | name = "slab"
2526 | version = "0.4.10"
2527 | source = "registry+https://github.com/rust-lang/crates.io-index"
2528 | checksum = "04dc19736151f35336d325007ac991178d504a119863a2fcb3758cdb5e52c50d"
2529 |
2530 | [[package]]
2531 | name = "slotmap"
2532 | version = "1.0.7"
2533 | source = "registry+https://github.com/rust-lang/crates.io-index"
2534 | checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a"
2535 | dependencies = [
2536 | "version_check",
2537 | ]
2538 |
2539 | [[package]]
2540 | name = "smallvec"
2541 | version = "1.15.1"
2542 | source = "registry+https://github.com/rust-lang/crates.io-index"
2543 | checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
2544 |
2545 | [[package]]
2546 | name = "smithay-client-toolkit"
2547 | version = "0.19.2"
2548 | source = "registry+https://github.com/rust-lang/crates.io-index"
2549 | checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016"
2550 | dependencies = [
2551 | "bitflags 2.9.4",
2552 | "calloop",
2553 | "calloop-wayland-source",
2554 | "cursor-icon",
2555 | "libc",
2556 | "log",
2557 | "memmap2",
2558 | "rustix 0.38.44",
2559 | "thiserror 1.0.69",
2560 | "wayland-backend",
2561 | "wayland-client",
2562 | "wayland-csd-frame",
2563 | "wayland-cursor",
2564 | "wayland-protocols",
2565 | "wayland-protocols-wlr",
2566 | "wayland-scanner",
2567 | "xkeysym",
2568 | ]
2569 |
2570 | [[package]]
2571 | name = "smithay-clipboard"
2572 | version = "0.7.2"
2573 | source = "registry+https://github.com/rust-lang/crates.io-index"
2574 | checksum = "cc8216eec463674a0e90f29e0ae41a4db573ec5b56b1c6c1c71615d249b6d846"
2575 | dependencies = [
2576 | "libc",
2577 | "smithay-client-toolkit",
2578 | "wayland-backend",
2579 | ]
2580 |
2581 | [[package]]
2582 | name = "smol_str"
2583 | version = "0.2.2"
2584 | source = "registry+https://github.com/rust-lang/crates.io-index"
2585 | checksum = "dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead"
2586 | dependencies = [
2587 | "serde",
2588 | ]
2589 |
2590 | [[package]]
2591 | name = "spirv"
2592 | version = "0.3.0+sdk-1.3.268.0"
2593 | source = "registry+https://github.com/rust-lang/crates.io-index"
2594 | checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844"
2595 | dependencies = [
2596 | "bitflags 2.9.4",
2597 | ]
2598 |
2599 | [[package]]
2600 | name = "stable_deref_trait"
2601 | version = "1.2.0"
2602 | source = "registry+https://github.com/rust-lang/crates.io-index"
2603 | checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
2604 |
2605 | [[package]]
2606 | name = "static_assertions"
2607 | version = "1.1.0"
2608 | source = "registry+https://github.com/rust-lang/crates.io-index"
2609 | checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
2610 |
2611 | [[package]]
2612 | name = "strict-num"
2613 | version = "0.1.1"
2614 | source = "registry+https://github.com/rust-lang/crates.io-index"
2615 | checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731"
2616 |
2617 | [[package]]
2618 | name = "syn"
2619 | version = "2.0.104"
2620 | source = "registry+https://github.com/rust-lang/crates.io-index"
2621 | checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40"
2622 | dependencies = [
2623 | "proc-macro2",
2624 | "quote",
2625 | "unicode-ident",
2626 | ]
2627 |
2628 | [[package]]
2629 | name = "synstructure"
2630 | version = "0.13.2"
2631 | source = "registry+https://github.com/rust-lang/crates.io-index"
2632 | checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
2633 | dependencies = [
2634 | "proc-macro2",
2635 | "quote",
2636 | "syn",
2637 | ]
2638 |
2639 | [[package]]
2640 | name = "tempfile"
2641 | version = "3.20.0"
2642 | source = "registry+https://github.com/rust-lang/crates.io-index"
2643 | checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1"
2644 | dependencies = [
2645 | "fastrand",
2646 | "getrandom",
2647 | "once_cell",
2648 | "rustix 1.0.7",
2649 | "windows-sys 0.59.0",
2650 | ]
2651 |
2652 | [[package]]
2653 | name = "termcolor"
2654 | version = "1.4.1"
2655 | source = "registry+https://github.com/rust-lang/crates.io-index"
2656 | checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
2657 | dependencies = [
2658 | "winapi-util",
2659 | ]
2660 |
2661 | [[package]]
2662 | name = "thiserror"
2663 | version = "1.0.69"
2664 | source = "registry+https://github.com/rust-lang/crates.io-index"
2665 | checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
2666 | dependencies = [
2667 | "thiserror-impl 1.0.69",
2668 | ]
2669 |
2670 | [[package]]
2671 | name = "thiserror"
2672 | version = "2.0.17"
2673 | source = "registry+https://github.com/rust-lang/crates.io-index"
2674 | checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8"
2675 | dependencies = [
2676 | "thiserror-impl 2.0.17",
2677 | ]
2678 |
2679 | [[package]]
2680 | name = "thiserror-impl"
2681 | version = "1.0.69"
2682 | source = "registry+https://github.com/rust-lang/crates.io-index"
2683 | checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
2684 | dependencies = [
2685 | "proc-macro2",
2686 | "quote",
2687 | "syn",
2688 | ]
2689 |
2690 | [[package]]
2691 | name = "thiserror-impl"
2692 | version = "2.0.17"
2693 | source = "registry+https://github.com/rust-lang/crates.io-index"
2694 | checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913"
2695 | dependencies = [
2696 | "proc-macro2",
2697 | "quote",
2698 | "syn",
2699 | ]
2700 |
2701 | [[package]]
2702 | name = "tiff"
2703 | version = "0.9.1"
2704 | source = "registry+https://github.com/rust-lang/crates.io-index"
2705 | checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e"
2706 | dependencies = [
2707 | "flate2",
2708 | "jpeg-decoder",
2709 | "weezl",
2710 | ]
2711 |
2712 | [[package]]
2713 | name = "tiny-skia"
2714 | version = "0.11.4"
2715 | source = "registry+https://github.com/rust-lang/crates.io-index"
2716 | checksum = "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab"
2717 | dependencies = [
2718 | "arrayref",
2719 | "arrayvec",
2720 | "bytemuck",
2721 | "cfg-if",
2722 | "log",
2723 | "tiny-skia-path",
2724 | ]
2725 |
2726 | [[package]]
2727 | name = "tiny-skia-path"
2728 | version = "0.11.4"
2729 | source = "registry+https://github.com/rust-lang/crates.io-index"
2730 | checksum = "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93"
2731 | dependencies = [
2732 | "arrayref",
2733 | "bytemuck",
2734 | "strict-num",
2735 | ]
2736 |
2737 | [[package]]
2738 | name = "tinystr"
2739 | version = "0.8.1"
2740 | source = "registry+https://github.com/rust-lang/crates.io-index"
2741 | checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b"
2742 | dependencies = [
2743 | "displaydoc",
2744 | "zerovec",
2745 | ]
2746 |
2747 | [[package]]
2748 | name = "toml_datetime"
2749 | version = "0.6.11"
2750 | source = "registry+https://github.com/rust-lang/crates.io-index"
2751 | checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c"
2752 |
2753 | [[package]]
2754 | name = "toml_edit"
2755 | version = "0.22.27"
2756 | source = "registry+https://github.com/rust-lang/crates.io-index"
2757 | checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a"
2758 | dependencies = [
2759 | "indexmap",
2760 | "toml_datetime",
2761 | "winnow",
2762 | ]
2763 |
2764 | [[package]]
2765 | name = "tracing"
2766 | version = "0.1.41"
2767 | source = "registry+https://github.com/rust-lang/crates.io-index"
2768 | checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0"
2769 | dependencies = [
2770 | "pin-project-lite",
2771 | "tracing-attributes",
2772 | "tracing-core",
2773 | ]
2774 |
2775 | [[package]]
2776 | name = "tracing-attributes"
2777 | version = "0.1.30"
2778 | source = "registry+https://github.com/rust-lang/crates.io-index"
2779 | checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903"
2780 | dependencies = [
2781 | "proc-macro2",
2782 | "quote",
2783 | "syn",
2784 | ]
2785 |
2786 | [[package]]
2787 | name = "tracing-core"
2788 | version = "0.1.34"
2789 | source = "registry+https://github.com/rust-lang/crates.io-index"
2790 | checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678"
2791 | dependencies = [
2792 | "once_cell",
2793 | ]
2794 |
2795 | [[package]]
2796 | name = "ttf-parser"
2797 | version = "0.25.1"
2798 | source = "registry+https://github.com/rust-lang/crates.io-index"
2799 | checksum = "d2df906b07856748fa3f6e0ad0cbaa047052d4a7dd609e231c4f72cee8c36f31"
2800 |
2801 | [[package]]
2802 | name = "type-map"
2803 | version = "0.5.1"
2804 | source = "registry+https://github.com/rust-lang/crates.io-index"
2805 | checksum = "cb30dbbd9036155e74adad6812e9898d03ec374946234fbcebd5dfc7b9187b90"
2806 | dependencies = [
2807 | "rustc-hash 2.1.1",
2808 | ]
2809 |
2810 | [[package]]
2811 | name = "uds_windows"
2812 | version = "1.1.0"
2813 | source = "registry+https://github.com/rust-lang/crates.io-index"
2814 | checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9"
2815 | dependencies = [
2816 | "memoffset",
2817 | "tempfile",
2818 | "winapi",
2819 | ]
2820 |
2821 | [[package]]
2822 | name = "unicode-ident"
2823 | version = "1.0.18"
2824 | source = "registry+https://github.com/rust-lang/crates.io-index"
2825 | checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
2826 |
2827 | [[package]]
2828 | name = "unicode-segmentation"
2829 | version = "1.12.0"
2830 | source = "registry+https://github.com/rust-lang/crates.io-index"
2831 | checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493"
2832 |
2833 | [[package]]
2834 | name = "unicode-width"
2835 | version = "0.1.14"
2836 | source = "registry+https://github.com/rust-lang/crates.io-index"
2837 | checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af"
2838 |
2839 | [[package]]
2840 | name = "url"
2841 | version = "2.5.4"
2842 | source = "registry+https://github.com/rust-lang/crates.io-index"
2843 | checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60"
2844 | dependencies = [
2845 | "form_urlencoded",
2846 | "idna",
2847 | "percent-encoding",
2848 | ]
2849 |
2850 | [[package]]
2851 | name = "utf8_iter"
2852 | version = "1.0.4"
2853 | source = "registry+https://github.com/rust-lang/crates.io-index"
2854 | checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
2855 |
2856 | [[package]]
2857 | name = "version_check"
2858 | version = "0.9.5"
2859 | source = "registry+https://github.com/rust-lang/crates.io-index"
2860 | checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
2861 |
2862 | [[package]]
2863 | name = "walkdir"
2864 | version = "2.5.0"
2865 | source = "registry+https://github.com/rust-lang/crates.io-index"
2866 | checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
2867 | dependencies = [
2868 | "same-file",
2869 | "winapi-util",
2870 | ]
2871 |
2872 | [[package]]
2873 | name = "wasi"
2874 | version = "0.14.2+wasi-0.2.4"
2875 | source = "registry+https://github.com/rust-lang/crates.io-index"
2876 | checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3"
2877 | dependencies = [
2878 | "wit-bindgen-rt",
2879 | ]
2880 |
2881 | [[package]]
2882 | name = "wasm-bindgen"
2883 | version = "0.2.100"
2884 | source = "registry+https://github.com/rust-lang/crates.io-index"
2885 | checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5"
2886 | dependencies = [
2887 | "cfg-if",
2888 | "once_cell",
2889 | "rustversion",
2890 | "wasm-bindgen-macro",
2891 | ]
2892 |
2893 | [[package]]
2894 | name = "wasm-bindgen-backend"
2895 | version = "0.2.100"
2896 | source = "registry+https://github.com/rust-lang/crates.io-index"
2897 | checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6"
2898 | dependencies = [
2899 | "bumpalo",
2900 | "log",
2901 | "proc-macro2",
2902 | "quote",
2903 | "syn",
2904 | "wasm-bindgen-shared",
2905 | ]
2906 |
2907 | [[package]]
2908 | name = "wasm-bindgen-futures"
2909 | version = "0.4.50"
2910 | source = "registry+https://github.com/rust-lang/crates.io-index"
2911 | checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61"
2912 | dependencies = [
2913 | "cfg-if",
2914 | "js-sys",
2915 | "once_cell",
2916 | "wasm-bindgen",
2917 | "web-sys",
2918 | ]
2919 |
2920 | [[package]]
2921 | name = "wasm-bindgen-macro"
2922 | version = "0.2.100"
2923 | source = "registry+https://github.com/rust-lang/crates.io-index"
2924 | checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407"
2925 | dependencies = [
2926 | "quote",
2927 | "wasm-bindgen-macro-support",
2928 | ]
2929 |
2930 | [[package]]
2931 | name = "wasm-bindgen-macro-support"
2932 | version = "0.2.100"
2933 | source = "registry+https://github.com/rust-lang/crates.io-index"
2934 | checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de"
2935 | dependencies = [
2936 | "proc-macro2",
2937 | "quote",
2938 | "syn",
2939 | "wasm-bindgen-backend",
2940 | "wasm-bindgen-shared",
2941 | ]
2942 |
2943 | [[package]]
2944 | name = "wasm-bindgen-shared"
2945 | version = "0.2.100"
2946 | source = "registry+https://github.com/rust-lang/crates.io-index"
2947 | checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d"
2948 | dependencies = [
2949 | "unicode-ident",
2950 | ]
2951 |
2952 | [[package]]
2953 | name = "wayland-backend"
2954 | version = "0.3.10"
2955 | source = "registry+https://github.com/rust-lang/crates.io-index"
2956 | checksum = "fe770181423e5fc79d3e2a7f4410b7799d5aab1de4372853de3c6aa13ca24121"
2957 | dependencies = [
2958 | "cc",
2959 | "downcast-rs",
2960 | "rustix 0.38.44",
2961 | "scoped-tls",
2962 | "smallvec",
2963 | "wayland-sys",
2964 | ]
2965 |
2966 | [[package]]
2967 | name = "wayland-client"
2968 | version = "0.31.10"
2969 | source = "registry+https://github.com/rust-lang/crates.io-index"
2970 | checksum = "978fa7c67b0847dbd6a9f350ca2569174974cd4082737054dbb7fbb79d7d9a61"
2971 | dependencies = [
2972 | "bitflags 2.9.4",
2973 | "rustix 0.38.44",
2974 | "wayland-backend",
2975 | "wayland-scanner",
2976 | ]
2977 |
2978 | [[package]]
2979 | name = "wayland-csd-frame"
2980 | version = "0.3.0"
2981 | source = "registry+https://github.com/rust-lang/crates.io-index"
2982 | checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e"
2983 | dependencies = [
2984 | "bitflags 2.9.4",
2985 | "cursor-icon",
2986 | "wayland-backend",
2987 | ]
2988 |
2989 | [[package]]
2990 | name = "wayland-cursor"
2991 | version = "0.31.10"
2992 | source = "registry+https://github.com/rust-lang/crates.io-index"
2993 | checksum = "a65317158dec28d00416cb16705934070aef4f8393353d41126c54264ae0f182"
2994 | dependencies = [
2995 | "rustix 0.38.44",
2996 | "wayland-client",
2997 | "xcursor",
2998 | ]
2999 |
3000 | [[package]]
3001 | name = "wayland-protocols"
3002 | version = "0.32.8"
3003 | source = "registry+https://github.com/rust-lang/crates.io-index"
3004 | checksum = "779075454e1e9a521794fed15886323ea0feda3f8b0fc1390f5398141310422a"
3005 | dependencies = [
3006 | "bitflags 2.9.4",
3007 | "wayland-backend",
3008 | "wayland-client",
3009 | "wayland-scanner",
3010 | ]
3011 |
3012 | [[package]]
3013 | name = "wayland-protocols-plasma"
3014 | version = "0.3.8"
3015 | source = "registry+https://github.com/rust-lang/crates.io-index"
3016 | checksum = "4fd38cdad69b56ace413c6bcc1fbf5acc5e2ef4af9d5f8f1f9570c0c83eae175"
3017 | dependencies = [
3018 | "bitflags 2.9.4",
3019 | "wayland-backend",
3020 | "wayland-client",
3021 | "wayland-protocols",
3022 | "wayland-scanner",
3023 | ]
3024 |
3025 | [[package]]
3026 | name = "wayland-protocols-wlr"
3027 | version = "0.3.8"
3028 | source = "registry+https://github.com/rust-lang/crates.io-index"
3029 | checksum = "1cb6cdc73399c0e06504c437fe3cf886f25568dd5454473d565085b36d6a8bbf"
3030 | dependencies = [
3031 | "bitflags 2.9.4",
3032 | "wayland-backend",
3033 | "wayland-client",
3034 | "wayland-protocols",
3035 | "wayland-scanner",
3036 | ]
3037 |
3038 | [[package]]
3039 | name = "wayland-scanner"
3040 | version = "0.31.6"
3041 | source = "registry+https://github.com/rust-lang/crates.io-index"
3042 | checksum = "896fdafd5d28145fce7958917d69f2fd44469b1d4e861cb5961bcbeebc6d1484"
3043 | dependencies = [
3044 | "proc-macro2",
3045 | "quick-xml 0.37.5",
3046 | "quote",
3047 | ]
3048 |
3049 | [[package]]
3050 | name = "wayland-sys"
3051 | version = "0.31.6"
3052 | source = "registry+https://github.com/rust-lang/crates.io-index"
3053 | checksum = "dbcebb399c77d5aa9fa5db874806ee7b4eba4e73650948e8f93963f128896615"
3054 | dependencies = [
3055 | "dlib",
3056 | "log",
3057 | "once_cell",
3058 | "pkg-config",
3059 | ]
3060 |
3061 | [[package]]
3062 | name = "web-sys"
3063 | version = "0.3.77"
3064 | source = "registry+https://github.com/rust-lang/crates.io-index"
3065 | checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2"
3066 | dependencies = [
3067 | "js-sys",
3068 | "wasm-bindgen",
3069 | ]
3070 |
3071 | [[package]]
3072 | name = "web-time"
3073 | version = "1.1.0"
3074 | source = "registry+https://github.com/rust-lang/crates.io-index"
3075 | checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb"
3076 | dependencies = [
3077 | "js-sys",
3078 | "wasm-bindgen",
3079 | ]
3080 |
3081 | [[package]]
3082 | name = "webbrowser"
3083 | version = "1.0.5"
3084 | source = "registry+https://github.com/rust-lang/crates.io-index"
3085 | checksum = "aaf4f3c0ba838e82b4e5ccc4157003fb8c324ee24c058470ffb82820becbde98"
3086 | dependencies = [
3087 | "core-foundation 0.10.1",
3088 | "jni",
3089 | "log",
3090 | "ndk-context",
3091 | "objc2 0.6.1",
3092 | "objc2-foundation 0.3.1",
3093 | "url",
3094 | "web-sys",
3095 | ]
3096 |
3097 | [[package]]
3098 | name = "weezl"
3099 | version = "0.1.10"
3100 | source = "registry+https://github.com/rust-lang/crates.io-index"
3101 | checksum = "a751b3277700db47d3e574514de2eced5e54dc8a5436a3bf7a0b248b2cee16f3"
3102 |
3103 | [[package]]
3104 | name = "wgpu"
3105 | version = "27.0.1"
3106 | source = "registry+https://github.com/rust-lang/crates.io-index"
3107 | checksum = "bfe68bac7cde125de7a731c3400723cadaaf1703795ad3f4805f187459cd7a77"
3108 | dependencies = [
3109 | "arrayvec",
3110 | "bitflags 2.9.4",
3111 | "cfg-if",
3112 | "cfg_aliases",
3113 | "document-features",
3114 | "hashbrown 0.16.0",
3115 | "js-sys",
3116 | "log",
3117 | "naga",
3118 | "parking_lot",
3119 | "portable-atomic",
3120 | "profiling",
3121 | "raw-window-handle",
3122 | "smallvec",
3123 | "static_assertions",
3124 | "wasm-bindgen",
3125 | "wasm-bindgen-futures",
3126 | "web-sys",
3127 | "wgpu-core",
3128 | "wgpu-hal",
3129 | "wgpu-types",
3130 | ]
3131 |
3132 | [[package]]
3133 | name = "wgpu-core"
3134 | version = "27.0.1"
3135 | source = "registry+https://github.com/rust-lang/crates.io-index"
3136 | checksum = "e3d654c0b6c6335edfca18c11bdaed964def641b8e9997d3a495a2ff4077c922"
3137 | dependencies = [
3138 | "arrayvec",
3139 | "bit-set",
3140 | "bit-vec",
3141 | "bitflags 2.9.4",
3142 | "bytemuck",
3143 | "cfg_aliases",
3144 | "document-features",
3145 | "hashbrown 0.16.0",
3146 | "indexmap",
3147 | "log",
3148 | "naga",
3149 | "once_cell",
3150 | "parking_lot",
3151 | "portable-atomic",
3152 | "profiling",
3153 | "raw-window-handle",
3154 | "rustc-hash 1.1.0",
3155 | "smallvec",
3156 | "thiserror 2.0.17",
3157 | "wgpu-core-deps-apple",
3158 | "wgpu-core-deps-emscripten",
3159 | "wgpu-core-deps-windows-linux-android",
3160 | "wgpu-hal",
3161 | "wgpu-types",
3162 | ]
3163 |
3164 | [[package]]
3165 | name = "wgpu-core-deps-apple"
3166 | version = "27.0.0"
3167 | source = "registry+https://github.com/rust-lang/crates.io-index"
3168 | checksum = "0772ae958e9be0c729561d5e3fd9a19679bcdfb945b8b1a1969d9bfe8056d233"
3169 | dependencies = [
3170 | "wgpu-hal",
3171 | ]
3172 |
3173 | [[package]]
3174 | name = "wgpu-core-deps-emscripten"
3175 | version = "27.0.0"
3176 | source = "registry+https://github.com/rust-lang/crates.io-index"
3177 | checksum = "b06ac3444a95b0813ecfd81ddb2774b66220b264b3e2031152a4a29fda4da6b5"
3178 | dependencies = [
3179 | "wgpu-hal",
3180 | ]
3181 |
3182 | [[package]]
3183 | name = "wgpu-core-deps-windows-linux-android"
3184 | version = "27.0.0"
3185 | source = "registry+https://github.com/rust-lang/crates.io-index"
3186 | checksum = "71197027d61a71748e4120f05a9242b2ad142e3c01f8c1b47707945a879a03c3"
3187 | dependencies = [
3188 | "wgpu-hal",
3189 | ]
3190 |
3191 | [[package]]
3192 | name = "wgpu-hal"
3193 | version = "27.0.2"
3194 | source = "registry+https://github.com/rust-lang/crates.io-index"
3195 | checksum = "2618a2d6b8a5964ecc1ac32a5db56cb3b1e518725fcd773fd9a782e023453f2b"
3196 | dependencies = [
3197 | "android_system_properties",
3198 | "arrayvec",
3199 | "ash",
3200 | "bit-set",
3201 | "bitflags 2.9.4",
3202 | "block",
3203 | "bytemuck",
3204 | "cfg-if",
3205 | "cfg_aliases",
3206 | "core-graphics-types 0.2.0",
3207 | "glow",
3208 | "glutin_wgl_sys",
3209 | "gpu-alloc",
3210 | "gpu-allocator",
3211 | "gpu-descriptor",
3212 | "hashbrown 0.16.0",
3213 | "js-sys",
3214 | "khronos-egl",
3215 | "libc",
3216 | "libloading",
3217 | "log",
3218 | "metal",
3219 | "naga",
3220 | "ndk-sys",
3221 | "objc",
3222 | "once_cell",
3223 | "ordered-float",
3224 | "parking_lot",
3225 | "portable-atomic",
3226 | "portable-atomic-util",
3227 | "profiling",
3228 | "range-alloc",
3229 | "raw-window-handle",
3230 | "renderdoc-sys",
3231 | "smallvec",
3232 | "thiserror 2.0.17",
3233 | "wasm-bindgen",
3234 | "web-sys",
3235 | "wgpu-types",
3236 | "windows 0.58.0",
3237 | "windows-core 0.58.0",
3238 | ]
3239 |
3240 | [[package]]
3241 | name = "wgpu-types"
3242 | version = "27.0.1"
3243 | source = "registry+https://github.com/rust-lang/crates.io-index"
3244 | checksum = "afdcf84c395990db737f2dd91628706cb31e86d72e53482320d368e52b5da5eb"
3245 | dependencies = [
3246 | "bitflags 2.9.4",
3247 | "bytemuck",
3248 | "js-sys",
3249 | "log",
3250 | "thiserror 2.0.17",
3251 | "web-sys",
3252 | ]
3253 |
3254 | [[package]]
3255 | name = "winapi"
3256 | version = "0.3.9"
3257 | source = "registry+https://github.com/rust-lang/crates.io-index"
3258 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
3259 | dependencies = [
3260 | "winapi-i686-pc-windows-gnu",
3261 | "winapi-x86_64-pc-windows-gnu",
3262 | ]
3263 |
3264 | [[package]]
3265 | name = "winapi-i686-pc-windows-gnu"
3266 | version = "0.4.0"
3267 | source = "registry+https://github.com/rust-lang/crates.io-index"
3268 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
3269 |
3270 | [[package]]
3271 | name = "winapi-util"
3272 | version = "0.1.9"
3273 | source = "registry+https://github.com/rust-lang/crates.io-index"
3274 | checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
3275 | dependencies = [
3276 | "windows-sys 0.59.0",
3277 | ]
3278 |
3279 | [[package]]
3280 | name = "winapi-x86_64-pc-windows-gnu"
3281 | version = "0.4.0"
3282 | source = "registry+https://github.com/rust-lang/crates.io-index"
3283 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
3284 |
3285 | [[package]]
3286 | name = "windows"
3287 | version = "0.58.0"
3288 | source = "registry+https://github.com/rust-lang/crates.io-index"
3289 | checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6"
3290 | dependencies = [
3291 | "windows-core 0.58.0",
3292 | "windows-targets 0.52.6",
3293 | ]
3294 |
3295 | [[package]]
3296 | name = "windows"
3297 | version = "0.61.3"
3298 | source = "registry+https://github.com/rust-lang/crates.io-index"
3299 | checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893"
3300 | dependencies = [
3301 | "windows-collections",
3302 | "windows-core 0.61.2",
3303 | "windows-future",
3304 | "windows-link 0.1.3",
3305 | "windows-numerics",
3306 | ]
3307 |
3308 | [[package]]
3309 | name = "windows-collections"
3310 | version = "0.2.0"
3311 | source = "registry+https://github.com/rust-lang/crates.io-index"
3312 | checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8"
3313 | dependencies = [
3314 | "windows-core 0.61.2",
3315 | ]
3316 |
3317 | [[package]]
3318 | name = "windows-core"
3319 | version = "0.58.0"
3320 | source = "registry+https://github.com/rust-lang/crates.io-index"
3321 | checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99"
3322 | dependencies = [
3323 | "windows-implement 0.58.0",
3324 | "windows-interface 0.58.0",
3325 | "windows-result 0.2.0",
3326 | "windows-strings 0.1.0",
3327 | "windows-targets 0.52.6",
3328 | ]
3329 |
3330 | [[package]]
3331 | name = "windows-core"
3332 | version = "0.61.2"
3333 | source = "registry+https://github.com/rust-lang/crates.io-index"
3334 | checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3"
3335 | dependencies = [
3336 | "windows-implement 0.60.0",
3337 | "windows-interface 0.59.1",
3338 | "windows-link 0.1.3",
3339 | "windows-result 0.3.4",
3340 | "windows-strings 0.4.2",
3341 | ]
3342 |
3343 | [[package]]
3344 | name = "windows-future"
3345 | version = "0.2.1"
3346 | source = "registry+https://github.com/rust-lang/crates.io-index"
3347 | checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e"
3348 | dependencies = [
3349 | "windows-core 0.61.2",
3350 | "windows-link 0.1.3",
3351 | "windows-threading",
3352 | ]
3353 |
3354 | [[package]]
3355 | name = "windows-implement"
3356 | version = "0.58.0"
3357 | source = "registry+https://github.com/rust-lang/crates.io-index"
3358 | checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b"
3359 | dependencies = [
3360 | "proc-macro2",
3361 | "quote",
3362 | "syn",
3363 | ]
3364 |
3365 | [[package]]
3366 | name = "windows-implement"
3367 | version = "0.60.0"
3368 | source = "registry+https://github.com/rust-lang/crates.io-index"
3369 | checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836"
3370 | dependencies = [
3371 | "proc-macro2",
3372 | "quote",
3373 | "syn",
3374 | ]
3375 |
3376 | [[package]]
3377 | name = "windows-interface"
3378 | version = "0.58.0"
3379 | source = "registry+https://github.com/rust-lang/crates.io-index"
3380 | checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515"
3381 | dependencies = [
3382 | "proc-macro2",
3383 | "quote",
3384 | "syn",
3385 | ]
3386 |
3387 | [[package]]
3388 | name = "windows-interface"
3389 | version = "0.59.1"
3390 | source = "registry+https://github.com/rust-lang/crates.io-index"
3391 | checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8"
3392 | dependencies = [
3393 | "proc-macro2",
3394 | "quote",
3395 | "syn",
3396 | ]
3397 |
3398 | [[package]]
3399 | name = "windows-link"
3400 | version = "0.1.3"
3401 | source = "registry+https://github.com/rust-lang/crates.io-index"
3402 | checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a"
3403 |
3404 | [[package]]
3405 | name = "windows-link"
3406 | version = "0.2.1"
3407 | source = "registry+https://github.com/rust-lang/crates.io-index"
3408 | checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
3409 |
3410 | [[package]]
3411 | name = "windows-numerics"
3412 | version = "0.2.0"
3413 | source = "registry+https://github.com/rust-lang/crates.io-index"
3414 | checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1"
3415 | dependencies = [
3416 | "windows-core 0.61.2",
3417 | "windows-link 0.1.3",
3418 | ]
3419 |
3420 | [[package]]
3421 | name = "windows-result"
3422 | version = "0.2.0"
3423 | source = "registry+https://github.com/rust-lang/crates.io-index"
3424 | checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e"
3425 | dependencies = [
3426 | "windows-targets 0.52.6",
3427 | ]
3428 |
3429 | [[package]]
3430 | name = "windows-result"
3431 | version = "0.3.4"
3432 | source = "registry+https://github.com/rust-lang/crates.io-index"
3433 | checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6"
3434 | dependencies = [
3435 | "windows-link 0.1.3",
3436 | ]
3437 |
3438 | [[package]]
3439 | name = "windows-strings"
3440 | version = "0.1.0"
3441 | source = "registry+https://github.com/rust-lang/crates.io-index"
3442 | checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10"
3443 | dependencies = [
3444 | "windows-result 0.2.0",
3445 | "windows-targets 0.52.6",
3446 | ]
3447 |
3448 | [[package]]
3449 | name = "windows-strings"
3450 | version = "0.4.2"
3451 | source = "registry+https://github.com/rust-lang/crates.io-index"
3452 | checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57"
3453 | dependencies = [
3454 | "windows-link 0.1.3",
3455 | ]
3456 |
3457 | [[package]]
3458 | name = "windows-sys"
3459 | version = "0.45.0"
3460 | source = "registry+https://github.com/rust-lang/crates.io-index"
3461 | checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
3462 | dependencies = [
3463 | "windows-targets 0.42.2",
3464 | ]
3465 |
3466 | [[package]]
3467 | name = "windows-sys"
3468 | version = "0.52.0"
3469 | source = "registry+https://github.com/rust-lang/crates.io-index"
3470 | checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
3471 | dependencies = [
3472 | "windows-targets 0.52.6",
3473 | ]
3474 |
3475 | [[package]]
3476 | name = "windows-sys"
3477 | version = "0.59.0"
3478 | source = "registry+https://github.com/rust-lang/crates.io-index"
3479 | checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
3480 | dependencies = [
3481 | "windows-targets 0.52.6",
3482 | ]
3483 |
3484 | [[package]]
3485 | name = "windows-sys"
3486 | version = "0.60.2"
3487 | source = "registry+https://github.com/rust-lang/crates.io-index"
3488 | checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb"
3489 | dependencies = [
3490 | "windows-targets 0.53.2",
3491 | ]
3492 |
3493 | [[package]]
3494 | name = "windows-sys"
3495 | version = "0.61.2"
3496 | source = "registry+https://github.com/rust-lang/crates.io-index"
3497 | checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
3498 | dependencies = [
3499 | "windows-link 0.2.1",
3500 | ]
3501 |
3502 | [[package]]
3503 | name = "windows-targets"
3504 | version = "0.42.2"
3505 | source = "registry+https://github.com/rust-lang/crates.io-index"
3506 | checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
3507 | dependencies = [
3508 | "windows_aarch64_gnullvm 0.42.2",
3509 | "windows_aarch64_msvc 0.42.2",
3510 | "windows_i686_gnu 0.42.2",
3511 | "windows_i686_msvc 0.42.2",
3512 | "windows_x86_64_gnu 0.42.2",
3513 | "windows_x86_64_gnullvm 0.42.2",
3514 | "windows_x86_64_msvc 0.42.2",
3515 | ]
3516 |
3517 | [[package]]
3518 | name = "windows-targets"
3519 | version = "0.48.5"
3520 | source = "registry+https://github.com/rust-lang/crates.io-index"
3521 | checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
3522 | dependencies = [
3523 | "windows_aarch64_gnullvm 0.48.5",
3524 | "windows_aarch64_msvc 0.48.5",
3525 | "windows_i686_gnu 0.48.5",
3526 | "windows_i686_msvc 0.48.5",
3527 | "windows_x86_64_gnu 0.48.5",
3528 | "windows_x86_64_gnullvm 0.48.5",
3529 | "windows_x86_64_msvc 0.48.5",
3530 | ]
3531 |
3532 | [[package]]
3533 | name = "windows-targets"
3534 | version = "0.52.6"
3535 | source = "registry+https://github.com/rust-lang/crates.io-index"
3536 | checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
3537 | dependencies = [
3538 | "windows_aarch64_gnullvm 0.52.6",
3539 | "windows_aarch64_msvc 0.52.6",
3540 | "windows_i686_gnu 0.52.6",
3541 | "windows_i686_gnullvm 0.52.6",
3542 | "windows_i686_msvc 0.52.6",
3543 | "windows_x86_64_gnu 0.52.6",
3544 | "windows_x86_64_gnullvm 0.52.6",
3545 | "windows_x86_64_msvc 0.52.6",
3546 | ]
3547 |
3548 | [[package]]
3549 | name = "windows-targets"
3550 | version = "0.53.2"
3551 | source = "registry+https://github.com/rust-lang/crates.io-index"
3552 | checksum = "c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef"
3553 | dependencies = [
3554 | "windows_aarch64_gnullvm 0.53.0",
3555 | "windows_aarch64_msvc 0.53.0",
3556 | "windows_i686_gnu 0.53.0",
3557 | "windows_i686_gnullvm 0.53.0",
3558 | "windows_i686_msvc 0.53.0",
3559 | "windows_x86_64_gnu 0.53.0",
3560 | "windows_x86_64_gnullvm 0.53.0",
3561 | "windows_x86_64_msvc 0.53.0",
3562 | ]
3563 |
3564 | [[package]]
3565 | name = "windows-threading"
3566 | version = "0.1.0"
3567 | source = "registry+https://github.com/rust-lang/crates.io-index"
3568 | checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6"
3569 | dependencies = [
3570 | "windows-link 0.1.3",
3571 | ]
3572 |
3573 | [[package]]
3574 | name = "windows_aarch64_gnullvm"
3575 | version = "0.42.2"
3576 | source = "registry+https://github.com/rust-lang/crates.io-index"
3577 | checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
3578 |
3579 | [[package]]
3580 | name = "windows_aarch64_gnullvm"
3581 | version = "0.48.5"
3582 | source = "registry+https://github.com/rust-lang/crates.io-index"
3583 | checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
3584 |
3585 | [[package]]
3586 | name = "windows_aarch64_gnullvm"
3587 | version = "0.52.6"
3588 | source = "registry+https://github.com/rust-lang/crates.io-index"
3589 | checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
3590 |
3591 | [[package]]
3592 | name = "windows_aarch64_gnullvm"
3593 | version = "0.53.0"
3594 | source = "registry+https://github.com/rust-lang/crates.io-index"
3595 | checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764"
3596 |
3597 | [[package]]
3598 | name = "windows_aarch64_msvc"
3599 | version = "0.42.2"
3600 | source = "registry+https://github.com/rust-lang/crates.io-index"
3601 | checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
3602 |
3603 | [[package]]
3604 | name = "windows_aarch64_msvc"
3605 | version = "0.48.5"
3606 | source = "registry+https://github.com/rust-lang/crates.io-index"
3607 | checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
3608 |
3609 | [[package]]
3610 | name = "windows_aarch64_msvc"
3611 | version = "0.52.6"
3612 | source = "registry+https://github.com/rust-lang/crates.io-index"
3613 | checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
3614 |
3615 | [[package]]
3616 | name = "windows_aarch64_msvc"
3617 | version = "0.53.0"
3618 | source = "registry+https://github.com/rust-lang/crates.io-index"
3619 | checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c"
3620 |
3621 | [[package]]
3622 | name = "windows_i686_gnu"
3623 | version = "0.42.2"
3624 | source = "registry+https://github.com/rust-lang/crates.io-index"
3625 | checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
3626 |
3627 | [[package]]
3628 | name = "windows_i686_gnu"
3629 | version = "0.48.5"
3630 | source = "registry+https://github.com/rust-lang/crates.io-index"
3631 | checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
3632 |
3633 | [[package]]
3634 | name = "windows_i686_gnu"
3635 | version = "0.52.6"
3636 | source = "registry+https://github.com/rust-lang/crates.io-index"
3637 | checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
3638 |
3639 | [[package]]
3640 | name = "windows_i686_gnu"
3641 | version = "0.53.0"
3642 | source = "registry+https://github.com/rust-lang/crates.io-index"
3643 | checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3"
3644 |
3645 | [[package]]
3646 | name = "windows_i686_gnullvm"
3647 | version = "0.52.6"
3648 | source = "registry+https://github.com/rust-lang/crates.io-index"
3649 | checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
3650 |
3651 | [[package]]
3652 | name = "windows_i686_gnullvm"
3653 | version = "0.53.0"
3654 | source = "registry+https://github.com/rust-lang/crates.io-index"
3655 | checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11"
3656 |
3657 | [[package]]
3658 | name = "windows_i686_msvc"
3659 | version = "0.42.2"
3660 | source = "registry+https://github.com/rust-lang/crates.io-index"
3661 | checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
3662 |
3663 | [[package]]
3664 | name = "windows_i686_msvc"
3665 | version = "0.48.5"
3666 | source = "registry+https://github.com/rust-lang/crates.io-index"
3667 | checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
3668 |
3669 | [[package]]
3670 | name = "windows_i686_msvc"
3671 | version = "0.52.6"
3672 | source = "registry+https://github.com/rust-lang/crates.io-index"
3673 | checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
3674 |
3675 | [[package]]
3676 | name = "windows_i686_msvc"
3677 | version = "0.53.0"
3678 | source = "registry+https://github.com/rust-lang/crates.io-index"
3679 | checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d"
3680 |
3681 | [[package]]
3682 | name = "windows_x86_64_gnu"
3683 | version = "0.42.2"
3684 | source = "registry+https://github.com/rust-lang/crates.io-index"
3685 | checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
3686 |
3687 | [[package]]
3688 | name = "windows_x86_64_gnu"
3689 | version = "0.48.5"
3690 | source = "registry+https://github.com/rust-lang/crates.io-index"
3691 | checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
3692 |
3693 | [[package]]
3694 | name = "windows_x86_64_gnu"
3695 | version = "0.52.6"
3696 | source = "registry+https://github.com/rust-lang/crates.io-index"
3697 | checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
3698 |
3699 | [[package]]
3700 | name = "windows_x86_64_gnu"
3701 | version = "0.53.0"
3702 | source = "registry+https://github.com/rust-lang/crates.io-index"
3703 | checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba"
3704 |
3705 | [[package]]
3706 | name = "windows_x86_64_gnullvm"
3707 | version = "0.42.2"
3708 | source = "registry+https://github.com/rust-lang/crates.io-index"
3709 | checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
3710 |
3711 | [[package]]
3712 | name = "windows_x86_64_gnullvm"
3713 | version = "0.48.5"
3714 | source = "registry+https://github.com/rust-lang/crates.io-index"
3715 | checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
3716 |
3717 | [[package]]
3718 | name = "windows_x86_64_gnullvm"
3719 | version = "0.52.6"
3720 | source = "registry+https://github.com/rust-lang/crates.io-index"
3721 | checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
3722 |
3723 | [[package]]
3724 | name = "windows_x86_64_gnullvm"
3725 | version = "0.53.0"
3726 | source = "registry+https://github.com/rust-lang/crates.io-index"
3727 | checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57"
3728 |
3729 | [[package]]
3730 | name = "windows_x86_64_msvc"
3731 | version = "0.42.2"
3732 | source = "registry+https://github.com/rust-lang/crates.io-index"
3733 | checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
3734 |
3735 | [[package]]
3736 | name = "windows_x86_64_msvc"
3737 | version = "0.48.5"
3738 | source = "registry+https://github.com/rust-lang/crates.io-index"
3739 | checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
3740 |
3741 | [[package]]
3742 | name = "windows_x86_64_msvc"
3743 | version = "0.52.6"
3744 | source = "registry+https://github.com/rust-lang/crates.io-index"
3745 | checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
3746 |
3747 | [[package]]
3748 | name = "windows_x86_64_msvc"
3749 | version = "0.53.0"
3750 | source = "registry+https://github.com/rust-lang/crates.io-index"
3751 | checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486"
3752 |
3753 | [[package]]
3754 | name = "winit"
3755 | version = "0.30.12"
3756 | source = "registry+https://github.com/rust-lang/crates.io-index"
3757 | checksum = "c66d4b9ed69c4009f6321f762d6e61ad8a2389cd431b97cb1e146812e9e6c732"
3758 | dependencies = [
3759 | "ahash",
3760 | "android-activity",
3761 | "atomic-waker",
3762 | "bitflags 2.9.4",
3763 | "block2",
3764 | "bytemuck",
3765 | "calloop",
3766 | "cfg_aliases",
3767 | "concurrent-queue",
3768 | "core-foundation 0.9.4",
3769 | "core-graphics",
3770 | "cursor-icon",
3771 | "dpi",
3772 | "js-sys",
3773 | "libc",
3774 | "memmap2",
3775 | "ndk",
3776 | "objc2 0.5.2",
3777 | "objc2-app-kit 0.2.2",
3778 | "objc2-foundation 0.2.2",
3779 | "objc2-ui-kit",
3780 | "orbclient",
3781 | "percent-encoding",
3782 | "pin-project",
3783 | "raw-window-handle",
3784 | "redox_syscall 0.4.1",
3785 | "rustix 0.38.44",
3786 | "sctk-adwaita",
3787 | "smithay-client-toolkit",
3788 | "smol_str",
3789 | "tracing",
3790 | "unicode-segmentation",
3791 | "wasm-bindgen",
3792 | "wasm-bindgen-futures",
3793 | "wayland-backend",
3794 | "wayland-client",
3795 | "wayland-protocols",
3796 | "wayland-protocols-plasma",
3797 | "web-sys",
3798 | "web-time",
3799 | "windows-sys 0.52.0",
3800 | "x11-dl",
3801 | "x11rb",
3802 | "xkbcommon-dl",
3803 | ]
3804 |
3805 | [[package]]
3806 | name = "winnow"
3807 | version = "0.7.11"
3808 | source = "registry+https://github.com/rust-lang/crates.io-index"
3809 | checksum = "74c7b26e3480b707944fc872477815d29a8e429d2f93a1ce000f5fa84a15cbcd"
3810 | dependencies = [
3811 | "memchr",
3812 | ]
3813 |
3814 | [[package]]
3815 | name = "wit-bindgen-rt"
3816 | version = "0.39.0"
3817 | source = "registry+https://github.com/rust-lang/crates.io-index"
3818 | checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1"
3819 | dependencies = [
3820 | "bitflags 2.9.4",
3821 | ]
3822 |
3823 | [[package]]
3824 | name = "writeable"
3825 | version = "0.6.1"
3826 | source = "registry+https://github.com/rust-lang/crates.io-index"
3827 | checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb"
3828 |
3829 | [[package]]
3830 | name = "x11-dl"
3831 | version = "2.21.0"
3832 | source = "registry+https://github.com/rust-lang/crates.io-index"
3833 | checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f"
3834 | dependencies = [
3835 | "libc",
3836 | "once_cell",
3837 | "pkg-config",
3838 | ]
3839 |
3840 | [[package]]
3841 | name = "x11rb"
3842 | version = "0.13.1"
3843 | source = "registry+https://github.com/rust-lang/crates.io-index"
3844 | checksum = "5d91ffca73ee7f68ce055750bf9f6eca0780b8c85eff9bc046a3b0da41755e12"
3845 | dependencies = [
3846 | "as-raw-xcb-connection",
3847 | "gethostname",
3848 | "libc",
3849 | "libloading",
3850 | "once_cell",
3851 | "rustix 0.38.44",
3852 | "x11rb-protocol",
3853 | ]
3854 |
3855 | [[package]]
3856 | name = "x11rb-protocol"
3857 | version = "0.13.1"
3858 | source = "registry+https://github.com/rust-lang/crates.io-index"
3859 | checksum = "ec107c4503ea0b4a98ef47356329af139c0a4f7750e621cf2973cd3385ebcb3d"
3860 |
3861 | [[package]]
3862 | name = "xcursor"
3863 | version = "0.3.10"
3864 | source = "registry+https://github.com/rust-lang/crates.io-index"
3865 | checksum = "bec9e4a500ca8864c5b47b8b482a73d62e4237670e5b5f1d6b9e3cae50f28f2b"
3866 |
3867 | [[package]]
3868 | name = "xkbcommon-dl"
3869 | version = "0.4.2"
3870 | source = "registry+https://github.com/rust-lang/crates.io-index"
3871 | checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5"
3872 | dependencies = [
3873 | "bitflags 2.9.4",
3874 | "dlib",
3875 | "log",
3876 | "once_cell",
3877 | "xkeysym",
3878 | ]
3879 |
3880 | [[package]]
3881 | name = "xkeysym"
3882 | version = "0.2.1"
3883 | source = "registry+https://github.com/rust-lang/crates.io-index"
3884 | checksum = "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56"
3885 |
3886 | [[package]]
3887 | name = "xml-rs"
3888 | version = "0.8.27"
3889 | source = "registry+https://github.com/rust-lang/crates.io-index"
3890 | checksum = "6fd8403733700263c6eb89f192880191f1b83e332f7a20371ddcf421c4a337c7"
3891 |
3892 | [[package]]
3893 | name = "yoke"
3894 | version = "0.8.0"
3895 | source = "registry+https://github.com/rust-lang/crates.io-index"
3896 | checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc"
3897 | dependencies = [
3898 | "serde",
3899 | "stable_deref_trait",
3900 | "yoke-derive",
3901 | "zerofrom",
3902 | ]
3903 |
3904 | [[package]]
3905 | name = "yoke-derive"
3906 | version = "0.8.0"
3907 | source = "registry+https://github.com/rust-lang/crates.io-index"
3908 | checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6"
3909 | dependencies = [
3910 | "proc-macro2",
3911 | "quote",
3912 | "syn",
3913 | "synstructure",
3914 | ]
3915 |
3916 | [[package]]
3917 | name = "zbus"
3918 | version = "5.8.0"
3919 | source = "registry+https://github.com/rust-lang/crates.io-index"
3920 | checksum = "597f45e98bc7e6f0988276012797855613cd8269e23b5be62cc4e5d28b7e515d"
3921 | dependencies = [
3922 | "async-broadcast",
3923 | "async-executor",
3924 | "async-io",
3925 | "async-lock",
3926 | "async-process",
3927 | "async-recursion",
3928 | "async-task",
3929 | "async-trait",
3930 | "blocking",
3931 | "enumflags2",
3932 | "event-listener",
3933 | "futures-core",
3934 | "futures-lite",
3935 | "hex",
3936 | "nix",
3937 | "ordered-stream",
3938 | "serde",
3939 | "serde_repr",
3940 | "tracing",
3941 | "uds_windows",
3942 | "windows-sys 0.59.0",
3943 | "winnow",
3944 | "zbus_macros",
3945 | "zbus_names",
3946 | "zvariant",
3947 | ]
3948 |
3949 | [[package]]
3950 | name = "zbus-lockstep"
3951 | version = "0.5.1"
3952 | source = "registry+https://github.com/rust-lang/crates.io-index"
3953 | checksum = "29e96e38ded30eeab90b6ba88cb888d70aef4e7489b6cd212c5e5b5ec38045b6"
3954 | dependencies = [
3955 | "zbus_xml",
3956 | "zvariant",
3957 | ]
3958 |
3959 | [[package]]
3960 | name = "zbus-lockstep-macros"
3961 | version = "0.5.1"
3962 | source = "registry+https://github.com/rust-lang/crates.io-index"
3963 | checksum = "dc6821851fa840b708b4cbbaf6241868cabc85a2dc22f426361b0292bfc0b836"
3964 | dependencies = [
3965 | "proc-macro2",
3966 | "quote",
3967 | "syn",
3968 | "zbus-lockstep",
3969 | "zbus_xml",
3970 | "zvariant",
3971 | ]
3972 |
3973 | [[package]]
3974 | name = "zbus_macros"
3975 | version = "5.8.0"
3976 | source = "registry+https://github.com/rust-lang/crates.io-index"
3977 | checksum = "e5c8e4e14dcdd9d97a98b189cd1220f30e8394ad271e8c987da84f73693862c2"
3978 | dependencies = [
3979 | "proc-macro-crate",
3980 | "proc-macro2",
3981 | "quote",
3982 | "syn",
3983 | "zbus_names",
3984 | "zvariant",
3985 | "zvariant_utils",
3986 | ]
3987 |
3988 | [[package]]
3989 | name = "zbus_names"
3990 | version = "4.2.0"
3991 | source = "registry+https://github.com/rust-lang/crates.io-index"
3992 | checksum = "7be68e64bf6ce8db94f63e72f0c7eb9a60d733f7e0499e628dfab0f84d6bcb97"
3993 | dependencies = [
3994 | "serde",
3995 | "static_assertions",
3996 | "winnow",
3997 | "zvariant",
3998 | ]
3999 |
4000 | [[package]]
4001 | name = "zbus_xml"
4002 | version = "5.0.2"
4003 | source = "registry+https://github.com/rust-lang/crates.io-index"
4004 | checksum = "589e9a02bfafb9754bb2340a9e3b38f389772684c63d9637e76b1870377bec29"
4005 | dependencies = [
4006 | "quick-xml 0.36.2",
4007 | "serde",
4008 | "static_assertions",
4009 | "zbus_names",
4010 | "zvariant",
4011 | ]
4012 |
4013 | [[package]]
4014 | name = "zerocopy"
4015 | version = "0.8.26"
4016 | source = "registry+https://github.com/rust-lang/crates.io-index"
4017 | checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f"
4018 | dependencies = [
4019 | "zerocopy-derive",
4020 | ]
4021 |
4022 | [[package]]
4023 | name = "zerocopy-derive"
4024 | version = "0.8.26"
4025 | source = "registry+https://github.com/rust-lang/crates.io-index"
4026 | checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181"
4027 | dependencies = [
4028 | "proc-macro2",
4029 | "quote",
4030 | "syn",
4031 | ]
4032 |
4033 | [[package]]
4034 | name = "zerofrom"
4035 | version = "0.1.6"
4036 | source = "registry+https://github.com/rust-lang/crates.io-index"
4037 | checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5"
4038 | dependencies = [
4039 | "zerofrom-derive",
4040 | ]
4041 |
4042 | [[package]]
4043 | name = "zerofrom-derive"
4044 | version = "0.1.6"
4045 | source = "registry+https://github.com/rust-lang/crates.io-index"
4046 | checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502"
4047 | dependencies = [
4048 | "proc-macro2",
4049 | "quote",
4050 | "syn",
4051 | "synstructure",
4052 | ]
4053 |
4054 | [[package]]
4055 | name = "zerotrie"
4056 | version = "0.2.2"
4057 | source = "registry+https://github.com/rust-lang/crates.io-index"
4058 | checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595"
4059 | dependencies = [
4060 | "displaydoc",
4061 | "yoke",
4062 | "zerofrom",
4063 | ]
4064 |
4065 | [[package]]
4066 | name = "zerovec"
4067 | version = "0.11.2"
4068 | source = "registry+https://github.com/rust-lang/crates.io-index"
4069 | checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428"
4070 | dependencies = [
4071 | "yoke",
4072 | "zerofrom",
4073 | "zerovec-derive",
4074 | ]
4075 |
4076 | [[package]]
4077 | name = "zerovec-derive"
4078 | version = "0.11.1"
4079 | source = "registry+https://github.com/rust-lang/crates.io-index"
4080 | checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f"
4081 | dependencies = [
4082 | "proc-macro2",
4083 | "quote",
4084 | "syn",
4085 | ]
4086 |
4087 | [[package]]
4088 | name = "zvariant"
4089 | version = "5.6.0"
4090 | source = "registry+https://github.com/rust-lang/crates.io-index"
4091 | checksum = "d91b3680bb339216abd84714172b5138a4edac677e641ef17e1d8cb1b3ca6e6f"
4092 | dependencies = [
4093 | "endi",
4094 | "enumflags2",
4095 | "serde",
4096 | "winnow",
4097 | "zvariant_derive",
4098 | "zvariant_utils",
4099 | ]
4100 |
4101 | [[package]]
4102 | name = "zvariant_derive"
4103 | version = "5.6.0"
4104 | source = "registry+https://github.com/rust-lang/crates.io-index"
4105 | checksum = "3a8c68501be459a8dbfffbe5d792acdd23b4959940fc87785fb013b32edbc208"
4106 | dependencies = [
4107 | "proc-macro-crate",
4108 | "proc-macro2",
4109 | "quote",
4110 | "syn",
4111 | "zvariant_utils",
4112 | ]
4113 |
4114 | [[package]]
4115 | name = "zvariant_utils"
4116 | version = "3.2.0"
4117 | source = "registry+https://github.com/rust-lang/crates.io-index"
4118 | checksum = "e16edfee43e5d7b553b77872d99bc36afdda75c223ca7ad5e3fbecd82ca5fc34"
4119 | dependencies = [
4120 | "proc-macro2",
4121 | "quote",
4122 | "serde",
4123 | "static_assertions",
4124 | "syn",
4125 | "winnow",
4126 | ]
4127 |
--------------------------------------------------------------------------------