pyforge3d 1.0.0__tar.gz → 2.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. pyforge3d-2.1.0/Cargo.lock +793 -0
  2. pyforge3d-2.1.0/Cargo.toml +3 -0
  3. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/PKG-INFO +35 -62
  4. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/pyproject.toml +16 -25
  5. pyforge3d-2.1.0/src/forge3d/__init__.py +226 -0
  6. pyforge3d-2.1.0/src/forge3d/_core.pyi +56 -0
  7. pyforge3d-2.1.0/src/forge3d/animation/__init__.py +19 -0
  8. pyforge3d-2.1.0/src/forge3d/animation/clip.py +117 -0
  9. pyforge3d-2.1.0/src/forge3d/animation/ik_fabrik.py +106 -0
  10. pyforge3d-2.1.0/src/forge3d/animation/player.py +90 -0
  11. pyforge3d-2.1.0/src/forge3d/animation/skeleton.py +79 -0
  12. pyforge3d-2.1.0/src/forge3d/animation/system.py +53 -0
  13. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/app.py +13 -14
  14. pyforge3d-2.1.0/src/forge3d/audio/__init__.py +14 -0
  15. pyforge3d-2.1.0/src/forge3d/audio/clip.py +79 -0
  16. pyforge3d-2.1.0/src/forge3d/audio/null_driver.py +52 -0
  17. pyforge3d-2.1.0/src/forge3d/audio/openal_driver.py +128 -0
  18. pyforge3d-2.1.0/src/forge3d/audio/source.py +36 -0
  19. pyforge3d-2.1.0/src/forge3d/audio/system.py +131 -0
  20. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/backend.py +28 -0
  21. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/camera.py +67 -19
  22. pyforge3d-2.1.0/src/forge3d/character.py +157 -0
  23. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/collision/detection.py +50 -10
  24. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/collision/gjk.py +2 -4
  25. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/collision/heightfield.py +14 -14
  26. pyforge3d-2.1.0/src/forge3d/collision/layers.py +56 -0
  27. pyforge3d-2.1.0/src/forge3d/collision/raycast.py +188 -0
  28. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/constraints/__init__.py +2 -0
  29. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/constraints/base.py +19 -16
  30. pyforge3d-2.1.0/src/forge3d/constraints/joint_type.py +31 -0
  31. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/constraints/joints.py +78 -49
  32. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/contact/solver.py +157 -43
  33. pyforge3d-2.1.0/src/forge3d/ecs/__init__.py +42 -0
  34. pyforge3d-2.1.0/src/forge3d/ecs/bridge.py +73 -0
  35. pyforge3d-2.1.0/src/forge3d/ecs/component.py +56 -0
  36. pyforge3d-2.1.0/src/forge3d/ecs/entity.py +126 -0
  37. pyforge3d-2.1.0/src/forge3d/ecs/serialization.py +103 -0
  38. pyforge3d-2.1.0/src/forge3d/ecs/system.py +161 -0
  39. pyforge3d-2.1.0/src/forge3d/ecs/transform.py +93 -0
  40. pyforge3d-2.1.0/src/forge3d/editor/__init__.py +15 -0
  41. pyforge3d-2.1.0/src/forge3d/editor/editor_app.py +201 -0
  42. pyforge3d-2.1.0/src/forge3d/editor/gizmo.py +157 -0
  43. pyforge3d-2.1.0/src/forge3d/editor/layout.py +125 -0
  44. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/errors.py +6 -16
  45. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/events.py +47 -5
  46. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/facade.py +666 -59
  47. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/input.py +96 -20
  48. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/io/world_snapshot.py +143 -28
  49. pyforge3d-2.1.0/src/forge3d/particle/__init__.py +15 -0
  50. pyforge3d-2.1.0/src/forge3d/particle/emitter.py +76 -0
  51. pyforge3d-2.1.0/src/forge3d/particle/presets.py +25 -0
  52. pyforge3d-2.1.0/src/forge3d/particle/system.py +221 -0
  53. pyforge3d-2.1.0/src/forge3d/profiler.py +112 -0
  54. pyforge3d-2.1.0/src/forge3d/render/__init__.py +6 -0
  55. pyforge3d-2.1.0/src/forge3d/render/deferred/renderer.py +598 -0
  56. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/render/hq/raytracer.py +4 -10
  57. pyforge3d-2.1.0/src/forge3d/render/passes/__init__.py +0 -0
  58. pyforge3d-2.1.0/src/forge3d/render/passes/base.py +24 -0
  59. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/render/realtime/meshes.py +76 -0
  60. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/render/realtime/renderer.py +150 -6
  61. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/render/realtime/shaders.py +11 -0
  62. pyforge3d-2.1.0/src/forge3d/render/realtime/window_renderer.py +745 -0
  63. pyforge3d-2.1.0/src/forge3d/render/shaders/bloom_down.frag +12 -0
  64. pyforge3d-2.1.0/src/forge3d/render/shaders/bloom_up.frag +15 -0
  65. pyforge3d-2.1.0/src/forge3d/render/shaders/fullscreen.vert +9 -0
  66. pyforge3d-2.1.0/src/forge3d/render/shaders/gbuffer.frag +25 -0
  67. pyforge3d-2.1.0/src/forge3d/render/shaders/gbuffer.vert +21 -0
  68. pyforge3d-2.1.0/src/forge3d/render/shaders/lighting.frag +126 -0
  69. pyforge3d-2.1.0/src/forge3d/render/shaders/pbr.wgsl +88 -0
  70. pyforge3d-2.1.0/src/forge3d/render/shaders/shadow.frag +2 -0
  71. pyforge3d-2.1.0/src/forge3d/render/shaders/shadow.vert +8 -0
  72. pyforge3d-2.1.0/src/forge3d/render/shaders/ssao.frag +42 -0
  73. pyforge3d-2.1.0/src/forge3d/render/shaders/ssao_blur.frag +15 -0
  74. pyforge3d-2.1.0/src/forge3d/render/shaders/tonemap.frag +23 -0
  75. pyforge3d-2.1.0/src/forge3d/render/shaders/update_particles.comp +61 -0
  76. pyforge3d-2.1.0/src/forge3d/render/snapshot.py +163 -0
  77. pyforge3d-2.1.0/src/forge3d/render/wgpu_backend/__init__.py +5 -0
  78. pyforge3d-2.1.0/src/forge3d/render/wgpu_backend/pipeline.py +154 -0
  79. pyforge3d-2.1.0/src/forge3d/render/wgpu_backend/renderer.py +313 -0
  80. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/robot/presets.py +6 -6
  81. pyforge3d-2.1.0/src/forge3d/scene/__init__.py +7 -0
  82. pyforge3d-2.1.0/src/forge3d/scene/manager.py +81 -0
  83. pyforge3d-2.1.0/src/forge3d/scene/node.py +132 -0
  84. pyforge3d-2.1.0/src/forge3d/scene/prefab.py +149 -0
  85. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/sim/world.py +33 -13
  86. pyforge3d-2.1.0/src/forge3d/ui/__init__.py +16 -0
  87. pyforge3d-2.1.0/src/forge3d/ui/backend.py +74 -0
  88. pyforge3d-2.1.0/src/forge3d/ui/canvas.py +130 -0
  89. pyforge3d-2.1.0/src/forge3d/ui/panels.py +193 -0
  90. pyforge3d-2.1.0/src/forge3d/ui/system.py +57 -0
  91. pyforge3d-2.1.0/src/forge3d/viewer.py +302 -0
  92. pyforge3d-2.1.0/src/forge3d_core/Cargo.toml +21 -0
  93. pyforge3d-2.1.0/src/forge3d_core/benches/physics_bench.rs +9 -0
  94. pyforge3d-2.1.0/src/forge3d_core/src/bvh.rs +215 -0
  95. pyforge3d-2.1.0/src/forge3d_core/src/gjk_epa.rs +240 -0
  96. pyforge3d-2.1.0/src/forge3d_core/src/lib.rs +15 -0
  97. pyforge3d-2.1.0/src/forge3d_core/src/math_simd.rs +108 -0
  98. pyforge3d-2.1.0/src/forge3d_core/src/pgs_solver.rs +139 -0
  99. pyforge3d-1.0.0/.claude/settings.json +0 -66
  100. pyforge3d-1.0.0/.claude/settings.local.json +0 -9
  101. pyforge3d-1.0.0/.gitignore +0 -27
  102. pyforge3d-1.0.0/.readthedocs.yaml +0 -16
  103. pyforge3d-1.0.0/CHANGELOG.md +0 -164
  104. pyforge3d-1.0.0/CLAUDE.md +0 -77
  105. pyforge3d-1.0.0/CONTRIBUTING.md +0 -69
  106. pyforge3d-1.0.0/assets/arm_6dof.py +0 -82
  107. pyforge3d-1.0.0/assets/models/cube.obj +0 -50
  108. pyforge3d-1.0.0/assets/models/tetrahedron.obj +0 -20
  109. pyforge3d-1.0.0/demos/README.md +0 -117
  110. pyforge3d-1.0.0/demos/interactive_robot.py +0 -428
  111. pyforge3d-1.0.0/demos/physics_showcase.py +0 -365
  112. pyforge3d-1.0.0/demos/training_watch.py +0 -901
  113. pyforge3d-1.0.0/examples/01_falling_box_realtime.py +0 -17
  114. pyforge3d-1.0.0/examples/02_bounce_hq_video.py +0 -22
  115. pyforge3d-1.0.0/examples/02_bouncing_ball.py +0 -23
  116. pyforge3d-1.0.0/examples/03_robot_interactive.py +0 -51
  117. pyforge3d-1.0.0/examples/04_friction_grasp.py +0 -76
  118. pyforge3d-1.0.0/mkdocs.yml +0 -107
  119. pyforge3d-1.0.0/src/forge3d/__init__.py +0 -105
  120. pyforge3d-1.0.0/src/forge3d/collision/layers.py +0 -38
  121. pyforge3d-1.0.0/src/forge3d/render/__init__.py +0 -1
  122. pyforge3d-1.0.0/src/forge3d/render/snapshot.py +0 -91
  123. pyforge3d-1.0.0/src/forge3d/viewer.py +0 -235
  124. pyforge3d-1.0.0/training_output/demo_run/final_model.zip +0 -0
  125. pyforge3d-1.0.0/training_output/demo_run/progress.csv +0 -92
  126. pyforge3d-1.0.0/training_output/reach_ppo/final_model.zip +0 -0
  127. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/LICENSE +0 -0
  128. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/README.md +0 -0
  129. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/collision/__init__.py +0 -0
  130. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/collision/epa.py +0 -0
  131. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/contact/__init__.py +0 -0
  132. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/dynamics/__init__.py +0 -0
  133. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/dynamics/aba.py +0 -0
  134. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/dynamics/crba.py +0 -0
  135. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/dynamics/model.py +0 -0
  136. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/dynamics/rnea.py +0 -0
  137. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/io/__init__.py +0 -0
  138. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/io/mesh_data.py +0 -0
  139. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/io/obj_loader.py +0 -0
  140. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/logging.py +0 -0
  141. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/math/__init__.py +0 -0
  142. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/math/inertia.py +0 -0
  143. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/math/quaternion.py +0 -0
  144. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/math/se3.py +0 -0
  145. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/math/spatial.py +0 -0
  146. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/model/__init__.py +0 -0
  147. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/model/kinematics.py +0 -0
  148. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/model/robot_config.py +0 -0
  149. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/model/urdf_loader.py +0 -0
  150. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/py.typed +0 -0
  151. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/recorder.py +0 -0
  152. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/render/base.py +0 -0
  153. /pyforge3d-1.0.0/assets/.gitkeep → /pyforge3d-2.1.0/src/forge3d/render/deferred/__init__.py +0 -0
  154. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/render/hq/__init__.py +0 -0
  155. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/render/hq/renderer.py +0 -0
  156. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/render/hq/scene.py +0 -0
  157. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/render/realtime/__init__.py +0 -0
  158. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/render/realtime/context.py +0 -0
  159. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/robot/__init__.py +0 -0
  160. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/robot/robot.py +0 -0
  161. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/sim/__init__.py +0 -0
  162. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/sim/domain_rand.py +0 -0
  163. {pyforge3d-1.0.0 → pyforge3d-2.1.0}/src/forge3d/sim/jax_batch.py +0 -0
@@ -0,0 +1,793 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 4
4
+
5
+ [[package]]
6
+ name = "aho-corasick"
7
+ version = "1.1.4"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301"
10
+ dependencies = [
11
+ "memchr",
12
+ ]
13
+
14
+ [[package]]
15
+ name = "anes"
16
+ version = "0.1.6"
17
+ source = "registry+https://github.com/rust-lang/crates.io-index"
18
+ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
19
+
20
+ [[package]]
21
+ name = "anstyle"
22
+ version = "1.0.14"
23
+ source = "registry+https://github.com/rust-lang/crates.io-index"
24
+ checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000"
25
+
26
+ [[package]]
27
+ name = "autocfg"
28
+ version = "1.5.1"
29
+ source = "registry+https://github.com/rust-lang/crates.io-index"
30
+ checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
31
+
32
+ [[package]]
33
+ name = "bumpalo"
34
+ version = "3.20.3"
35
+ source = "registry+https://github.com/rust-lang/crates.io-index"
36
+ checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649"
37
+
38
+ [[package]]
39
+ name = "cast"
40
+ version = "0.3.0"
41
+ source = "registry+https://github.com/rust-lang/crates.io-index"
42
+ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
43
+
44
+ [[package]]
45
+ name = "cfg-if"
46
+ version = "1.0.4"
47
+ source = "registry+https://github.com/rust-lang/crates.io-index"
48
+ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
49
+
50
+ [[package]]
51
+ name = "ciborium"
52
+ version = "0.2.2"
53
+ source = "registry+https://github.com/rust-lang/crates.io-index"
54
+ checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e"
55
+ dependencies = [
56
+ "ciborium-io",
57
+ "ciborium-ll",
58
+ "serde",
59
+ ]
60
+
61
+ [[package]]
62
+ name = "ciborium-io"
63
+ version = "0.2.2"
64
+ source = "registry+https://github.com/rust-lang/crates.io-index"
65
+ checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757"
66
+
67
+ [[package]]
68
+ name = "ciborium-ll"
69
+ version = "0.2.2"
70
+ source = "registry+https://github.com/rust-lang/crates.io-index"
71
+ checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9"
72
+ dependencies = [
73
+ "ciborium-io",
74
+ "half",
75
+ ]
76
+
77
+ [[package]]
78
+ name = "clap"
79
+ version = "4.6.1"
80
+ source = "registry+https://github.com/rust-lang/crates.io-index"
81
+ checksum = "1ddb117e43bbf7dacf0a4190fef4d345b9bad68dfc649cb349e7d17d28428e51"
82
+ dependencies = [
83
+ "clap_builder",
84
+ ]
85
+
86
+ [[package]]
87
+ name = "clap_builder"
88
+ version = "4.6.0"
89
+ source = "registry+https://github.com/rust-lang/crates.io-index"
90
+ checksum = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f"
91
+ dependencies = [
92
+ "anstyle",
93
+ "clap_lex",
94
+ ]
95
+
96
+ [[package]]
97
+ name = "clap_lex"
98
+ version = "1.1.0"
99
+ source = "registry+https://github.com/rust-lang/crates.io-index"
100
+ checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9"
101
+
102
+ [[package]]
103
+ name = "criterion"
104
+ version = "0.5.1"
105
+ source = "registry+https://github.com/rust-lang/crates.io-index"
106
+ checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f"
107
+ dependencies = [
108
+ "anes",
109
+ "cast",
110
+ "ciborium",
111
+ "clap",
112
+ "criterion-plot",
113
+ "is-terminal",
114
+ "itertools",
115
+ "num-traits",
116
+ "once_cell",
117
+ "oorandom",
118
+ "plotters",
119
+ "rayon",
120
+ "regex",
121
+ "serde",
122
+ "serde_derive",
123
+ "serde_json",
124
+ "tinytemplate",
125
+ "walkdir",
126
+ ]
127
+
128
+ [[package]]
129
+ name = "criterion-plot"
130
+ version = "0.5.0"
131
+ source = "registry+https://github.com/rust-lang/crates.io-index"
132
+ checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1"
133
+ dependencies = [
134
+ "cast",
135
+ "itertools",
136
+ ]
137
+
138
+ [[package]]
139
+ name = "crossbeam-deque"
140
+ version = "0.8.6"
141
+ source = "registry+https://github.com/rust-lang/crates.io-index"
142
+ checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51"
143
+ dependencies = [
144
+ "crossbeam-epoch",
145
+ "crossbeam-utils",
146
+ ]
147
+
148
+ [[package]]
149
+ name = "crossbeam-epoch"
150
+ version = "0.9.18"
151
+ source = "registry+https://github.com/rust-lang/crates.io-index"
152
+ checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
153
+ dependencies = [
154
+ "crossbeam-utils",
155
+ ]
156
+
157
+ [[package]]
158
+ name = "crossbeam-utils"
159
+ version = "0.8.21"
160
+ source = "registry+https://github.com/rust-lang/crates.io-index"
161
+ checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
162
+
163
+ [[package]]
164
+ name = "crunchy"
165
+ version = "0.2.4"
166
+ source = "registry+https://github.com/rust-lang/crates.io-index"
167
+ checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5"
168
+
169
+ [[package]]
170
+ name = "either"
171
+ version = "1.16.0"
172
+ source = "registry+https://github.com/rust-lang/crates.io-index"
173
+ checksum = "91622ff5e7162018101f2fea40d6ebf4a78bbe5a49736a2020649edf9693679e"
174
+
175
+ [[package]]
176
+ name = "forge3d_core"
177
+ version = "0.1.0"
178
+ dependencies = [
179
+ "criterion",
180
+ "glam",
181
+ "numpy",
182
+ "pyo3",
183
+ "rayon",
184
+ ]
185
+
186
+ [[package]]
187
+ name = "futures-core"
188
+ version = "0.3.32"
189
+ source = "registry+https://github.com/rust-lang/crates.io-index"
190
+ checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d"
191
+
192
+ [[package]]
193
+ name = "futures-task"
194
+ version = "0.3.32"
195
+ source = "registry+https://github.com/rust-lang/crates.io-index"
196
+ checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393"
197
+
198
+ [[package]]
199
+ name = "futures-util"
200
+ version = "0.3.32"
201
+ source = "registry+https://github.com/rust-lang/crates.io-index"
202
+ checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6"
203
+ dependencies = [
204
+ "futures-core",
205
+ "futures-task",
206
+ "pin-project-lite",
207
+ "slab",
208
+ ]
209
+
210
+ [[package]]
211
+ name = "glam"
212
+ version = "0.29.3"
213
+ source = "registry+https://github.com/rust-lang/crates.io-index"
214
+ checksum = "8babf46d4c1c9d92deac9f7be466f76dfc4482b6452fc5024b5e8daf6ffeb3ee"
215
+
216
+ [[package]]
217
+ name = "half"
218
+ version = "2.7.1"
219
+ source = "registry+https://github.com/rust-lang/crates.io-index"
220
+ checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b"
221
+ dependencies = [
222
+ "cfg-if",
223
+ "crunchy",
224
+ "zerocopy",
225
+ ]
226
+
227
+ [[package]]
228
+ name = "heck"
229
+ version = "0.5.0"
230
+ source = "registry+https://github.com/rust-lang/crates.io-index"
231
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
232
+
233
+ [[package]]
234
+ name = "hermit-abi"
235
+ version = "0.5.2"
236
+ source = "registry+https://github.com/rust-lang/crates.io-index"
237
+ checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c"
238
+
239
+ [[package]]
240
+ name = "indoc"
241
+ version = "2.0.7"
242
+ source = "registry+https://github.com/rust-lang/crates.io-index"
243
+ checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706"
244
+ dependencies = [
245
+ "rustversion",
246
+ ]
247
+
248
+ [[package]]
249
+ name = "is-terminal"
250
+ version = "0.4.17"
251
+ source = "registry+https://github.com/rust-lang/crates.io-index"
252
+ checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46"
253
+ dependencies = [
254
+ "hermit-abi",
255
+ "libc",
256
+ "windows-sys",
257
+ ]
258
+
259
+ [[package]]
260
+ name = "itertools"
261
+ version = "0.10.5"
262
+ source = "registry+https://github.com/rust-lang/crates.io-index"
263
+ checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
264
+ dependencies = [
265
+ "either",
266
+ ]
267
+
268
+ [[package]]
269
+ name = "itoa"
270
+ version = "1.0.18"
271
+ source = "registry+https://github.com/rust-lang/crates.io-index"
272
+ checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
273
+
274
+ [[package]]
275
+ name = "js-sys"
276
+ version = "0.3.99"
277
+ source = "registry+https://github.com/rust-lang/crates.io-index"
278
+ checksum = "142bc4740e452c1e57ade0cbc129f139c9093e354346f0872ef985f4f5cf5f11"
279
+ dependencies = [
280
+ "cfg-if",
281
+ "futures-util",
282
+ "once_cell",
283
+ "wasm-bindgen",
284
+ ]
285
+
286
+ [[package]]
287
+ name = "libc"
288
+ version = "0.2.186"
289
+ source = "registry+https://github.com/rust-lang/crates.io-index"
290
+ checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66"
291
+
292
+ [[package]]
293
+ name = "matrixmultiply"
294
+ version = "0.3.10"
295
+ source = "registry+https://github.com/rust-lang/crates.io-index"
296
+ checksum = "a06de3016e9fae57a36fd14dba131fccf49f74b40b7fbdb472f96e361ec71a08"
297
+ dependencies = [
298
+ "autocfg",
299
+ "rawpointer",
300
+ ]
301
+
302
+ [[package]]
303
+ name = "memchr"
304
+ version = "2.8.1"
305
+ source = "registry+https://github.com/rust-lang/crates.io-index"
306
+ checksum = "6b947ae49db0d222b1dbc6b113ce7248a3fc3a6ca21b696717bfc000ba4484d8"
307
+
308
+ [[package]]
309
+ name = "memoffset"
310
+ version = "0.9.1"
311
+ source = "registry+https://github.com/rust-lang/crates.io-index"
312
+ checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
313
+ dependencies = [
314
+ "autocfg",
315
+ ]
316
+
317
+ [[package]]
318
+ name = "ndarray"
319
+ version = "0.16.1"
320
+ source = "registry+https://github.com/rust-lang/crates.io-index"
321
+ checksum = "882ed72dce9365842bf196bdeedf5055305f11fc8c03dee7bb0194a6cad34841"
322
+ dependencies = [
323
+ "matrixmultiply",
324
+ "num-complex",
325
+ "num-integer",
326
+ "num-traits",
327
+ "portable-atomic",
328
+ "portable-atomic-util",
329
+ "rawpointer",
330
+ ]
331
+
332
+ [[package]]
333
+ name = "num-complex"
334
+ version = "0.4.6"
335
+ source = "registry+https://github.com/rust-lang/crates.io-index"
336
+ checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495"
337
+ dependencies = [
338
+ "num-traits",
339
+ ]
340
+
341
+ [[package]]
342
+ name = "num-integer"
343
+ version = "0.1.46"
344
+ source = "registry+https://github.com/rust-lang/crates.io-index"
345
+ checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
346
+ dependencies = [
347
+ "num-traits",
348
+ ]
349
+
350
+ [[package]]
351
+ name = "num-traits"
352
+ version = "0.2.19"
353
+ source = "registry+https://github.com/rust-lang/crates.io-index"
354
+ checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
355
+ dependencies = [
356
+ "autocfg",
357
+ ]
358
+
359
+ [[package]]
360
+ name = "numpy"
361
+ version = "0.25.0"
362
+ source = "registry+https://github.com/rust-lang/crates.io-index"
363
+ checksum = "29f1dee9aa8d3f6f8e8b9af3803006101bb3653866ef056d530d53ae68587191"
364
+ dependencies = [
365
+ "libc",
366
+ "ndarray",
367
+ "num-complex",
368
+ "num-integer",
369
+ "num-traits",
370
+ "pyo3",
371
+ "pyo3-build-config",
372
+ "rustc-hash",
373
+ ]
374
+
375
+ [[package]]
376
+ name = "once_cell"
377
+ version = "1.21.4"
378
+ source = "registry+https://github.com/rust-lang/crates.io-index"
379
+ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
380
+
381
+ [[package]]
382
+ name = "oorandom"
383
+ version = "11.1.5"
384
+ source = "registry+https://github.com/rust-lang/crates.io-index"
385
+ checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e"
386
+
387
+ [[package]]
388
+ name = "pin-project-lite"
389
+ version = "0.2.17"
390
+ source = "registry+https://github.com/rust-lang/crates.io-index"
391
+ checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd"
392
+
393
+ [[package]]
394
+ name = "plotters"
395
+ version = "0.3.7"
396
+ source = "registry+https://github.com/rust-lang/crates.io-index"
397
+ checksum = "5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747"
398
+ dependencies = [
399
+ "num-traits",
400
+ "plotters-backend",
401
+ "plotters-svg",
402
+ "wasm-bindgen",
403
+ "web-sys",
404
+ ]
405
+
406
+ [[package]]
407
+ name = "plotters-backend"
408
+ version = "0.3.7"
409
+ source = "registry+https://github.com/rust-lang/crates.io-index"
410
+ checksum = "df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a"
411
+
412
+ [[package]]
413
+ name = "plotters-svg"
414
+ version = "0.3.7"
415
+ source = "registry+https://github.com/rust-lang/crates.io-index"
416
+ checksum = "51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670"
417
+ dependencies = [
418
+ "plotters-backend",
419
+ ]
420
+
421
+ [[package]]
422
+ name = "portable-atomic"
423
+ version = "1.13.1"
424
+ source = "registry+https://github.com/rust-lang/crates.io-index"
425
+ checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49"
426
+
427
+ [[package]]
428
+ name = "portable-atomic-util"
429
+ version = "0.2.7"
430
+ source = "registry+https://github.com/rust-lang/crates.io-index"
431
+ checksum = "c2a106d1259c23fac8e543272398ae0e3c0b8d33c88ed73d0cc71b0f1d902618"
432
+ dependencies = [
433
+ "portable-atomic",
434
+ ]
435
+
436
+ [[package]]
437
+ name = "proc-macro2"
438
+ version = "1.0.106"
439
+ source = "registry+https://github.com/rust-lang/crates.io-index"
440
+ checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
441
+ dependencies = [
442
+ "unicode-ident",
443
+ ]
444
+
445
+ [[package]]
446
+ name = "pyo3"
447
+ version = "0.25.1"
448
+ source = "registry+https://github.com/rust-lang/crates.io-index"
449
+ checksum = "8970a78afe0628a3e3430376fc5fd76b6b45c4d43360ffd6cdd40bdde72b682a"
450
+ dependencies = [
451
+ "indoc",
452
+ "libc",
453
+ "memoffset",
454
+ "once_cell",
455
+ "portable-atomic",
456
+ "pyo3-build-config",
457
+ "pyo3-ffi",
458
+ "pyo3-macros",
459
+ "unindent",
460
+ ]
461
+
462
+ [[package]]
463
+ name = "pyo3-build-config"
464
+ version = "0.25.1"
465
+ source = "registry+https://github.com/rust-lang/crates.io-index"
466
+ checksum = "458eb0c55e7ece017adeba38f2248ff3ac615e53660d7c71a238d7d2a01c7598"
467
+ dependencies = [
468
+ "once_cell",
469
+ "target-lexicon",
470
+ ]
471
+
472
+ [[package]]
473
+ name = "pyo3-ffi"
474
+ version = "0.25.1"
475
+ source = "registry+https://github.com/rust-lang/crates.io-index"
476
+ checksum = "7114fe5457c61b276ab77c5055f206295b812608083644a5c5b2640c3102565c"
477
+ dependencies = [
478
+ "libc",
479
+ "pyo3-build-config",
480
+ ]
481
+
482
+ [[package]]
483
+ name = "pyo3-macros"
484
+ version = "0.25.1"
485
+ source = "registry+https://github.com/rust-lang/crates.io-index"
486
+ checksum = "a8725c0a622b374d6cb051d11a0983786448f7785336139c3c94f5aa6bef7e50"
487
+ dependencies = [
488
+ "proc-macro2",
489
+ "pyo3-macros-backend",
490
+ "quote",
491
+ "syn",
492
+ ]
493
+
494
+ [[package]]
495
+ name = "pyo3-macros-backend"
496
+ version = "0.25.1"
497
+ source = "registry+https://github.com/rust-lang/crates.io-index"
498
+ checksum = "4109984c22491085343c05b0dbc54ddc405c3cf7b4374fc533f5c3313a572ccc"
499
+ dependencies = [
500
+ "heck",
501
+ "proc-macro2",
502
+ "pyo3-build-config",
503
+ "quote",
504
+ "syn",
505
+ ]
506
+
507
+ [[package]]
508
+ name = "quote"
509
+ version = "1.0.45"
510
+ source = "registry+https://github.com/rust-lang/crates.io-index"
511
+ checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924"
512
+ dependencies = [
513
+ "proc-macro2",
514
+ ]
515
+
516
+ [[package]]
517
+ name = "rawpointer"
518
+ version = "0.2.1"
519
+ source = "registry+https://github.com/rust-lang/crates.io-index"
520
+ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3"
521
+
522
+ [[package]]
523
+ name = "rayon"
524
+ version = "1.12.0"
525
+ source = "registry+https://github.com/rust-lang/crates.io-index"
526
+ checksum = "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d"
527
+ dependencies = [
528
+ "either",
529
+ "rayon-core",
530
+ ]
531
+
532
+ [[package]]
533
+ name = "rayon-core"
534
+ version = "1.13.0"
535
+ source = "registry+https://github.com/rust-lang/crates.io-index"
536
+ checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91"
537
+ dependencies = [
538
+ "crossbeam-deque",
539
+ "crossbeam-utils",
540
+ ]
541
+
542
+ [[package]]
543
+ name = "regex"
544
+ version = "1.12.3"
545
+ source = "registry+https://github.com/rust-lang/crates.io-index"
546
+ checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276"
547
+ dependencies = [
548
+ "aho-corasick",
549
+ "memchr",
550
+ "regex-automata",
551
+ "regex-syntax",
552
+ ]
553
+
554
+ [[package]]
555
+ name = "regex-automata"
556
+ version = "0.4.14"
557
+ source = "registry+https://github.com/rust-lang/crates.io-index"
558
+ checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f"
559
+ dependencies = [
560
+ "aho-corasick",
561
+ "memchr",
562
+ "regex-syntax",
563
+ ]
564
+
565
+ [[package]]
566
+ name = "regex-syntax"
567
+ version = "0.8.10"
568
+ source = "registry+https://github.com/rust-lang/crates.io-index"
569
+ checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a"
570
+
571
+ [[package]]
572
+ name = "rustc-hash"
573
+ version = "2.1.2"
574
+ source = "registry+https://github.com/rust-lang/crates.io-index"
575
+ checksum = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe"
576
+
577
+ [[package]]
578
+ name = "rustversion"
579
+ version = "1.0.22"
580
+ source = "registry+https://github.com/rust-lang/crates.io-index"
581
+ checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
582
+
583
+ [[package]]
584
+ name = "same-file"
585
+ version = "1.0.6"
586
+ source = "registry+https://github.com/rust-lang/crates.io-index"
587
+ checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
588
+ dependencies = [
589
+ "winapi-util",
590
+ ]
591
+
592
+ [[package]]
593
+ name = "serde"
594
+ version = "1.0.228"
595
+ source = "registry+https://github.com/rust-lang/crates.io-index"
596
+ checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
597
+ dependencies = [
598
+ "serde_core",
599
+ "serde_derive",
600
+ ]
601
+
602
+ [[package]]
603
+ name = "serde_core"
604
+ version = "1.0.228"
605
+ source = "registry+https://github.com/rust-lang/crates.io-index"
606
+ checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
607
+ dependencies = [
608
+ "serde_derive",
609
+ ]
610
+
611
+ [[package]]
612
+ name = "serde_derive"
613
+ version = "1.0.228"
614
+ source = "registry+https://github.com/rust-lang/crates.io-index"
615
+ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
616
+ dependencies = [
617
+ "proc-macro2",
618
+ "quote",
619
+ "syn",
620
+ ]
621
+
622
+ [[package]]
623
+ name = "serde_json"
624
+ version = "1.0.150"
625
+ source = "registry+https://github.com/rust-lang/crates.io-index"
626
+ checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9"
627
+ dependencies = [
628
+ "itoa",
629
+ "memchr",
630
+ "serde",
631
+ "serde_core",
632
+ "zmij",
633
+ ]
634
+
635
+ [[package]]
636
+ name = "slab"
637
+ version = "0.4.12"
638
+ source = "registry+https://github.com/rust-lang/crates.io-index"
639
+ checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5"
640
+
641
+ [[package]]
642
+ name = "syn"
643
+ version = "2.0.117"
644
+ source = "registry+https://github.com/rust-lang/crates.io-index"
645
+ checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99"
646
+ dependencies = [
647
+ "proc-macro2",
648
+ "quote",
649
+ "unicode-ident",
650
+ ]
651
+
652
+ [[package]]
653
+ name = "target-lexicon"
654
+ version = "0.13.5"
655
+ source = "registry+https://github.com/rust-lang/crates.io-index"
656
+ checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
657
+
658
+ [[package]]
659
+ name = "tinytemplate"
660
+ version = "1.2.1"
661
+ source = "registry+https://github.com/rust-lang/crates.io-index"
662
+ checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
663
+ dependencies = [
664
+ "serde",
665
+ "serde_json",
666
+ ]
667
+
668
+ [[package]]
669
+ name = "unicode-ident"
670
+ version = "1.0.24"
671
+ source = "registry+https://github.com/rust-lang/crates.io-index"
672
+ checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
673
+
674
+ [[package]]
675
+ name = "unindent"
676
+ version = "0.2.4"
677
+ source = "registry+https://github.com/rust-lang/crates.io-index"
678
+ checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3"
679
+
680
+ [[package]]
681
+ name = "walkdir"
682
+ version = "2.5.0"
683
+ source = "registry+https://github.com/rust-lang/crates.io-index"
684
+ checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
685
+ dependencies = [
686
+ "same-file",
687
+ "winapi-util",
688
+ ]
689
+
690
+ [[package]]
691
+ name = "wasm-bindgen"
692
+ version = "0.2.122"
693
+ source = "registry+https://github.com/rust-lang/crates.io-index"
694
+ checksum = "3ed04576f974d2b2fba0f38c51dbc5518011e38c36bf1143164be765528fd409"
695
+ dependencies = [
696
+ "cfg-if",
697
+ "once_cell",
698
+ "rustversion",
699
+ "wasm-bindgen-macro",
700
+ "wasm-bindgen-shared",
701
+ ]
702
+
703
+ [[package]]
704
+ name = "wasm-bindgen-macro"
705
+ version = "0.2.122"
706
+ source = "registry+https://github.com/rust-lang/crates.io-index"
707
+ checksum = "916151b09da36bd82f6615cbf3a419e2f0ba23a03c6160e8e92eb6bd4aa1dec6"
708
+ dependencies = [
709
+ "quote",
710
+ "wasm-bindgen-macro-support",
711
+ ]
712
+
713
+ [[package]]
714
+ name = "wasm-bindgen-macro-support"
715
+ version = "0.2.122"
716
+ source = "registry+https://github.com/rust-lang/crates.io-index"
717
+ checksum = "299047362ccbfce148b67ab7e73349f77748e00c8296f9542adfad2ad82c5c5e"
718
+ dependencies = [
719
+ "bumpalo",
720
+ "proc-macro2",
721
+ "quote",
722
+ "syn",
723
+ "wasm-bindgen-shared",
724
+ ]
725
+
726
+ [[package]]
727
+ name = "wasm-bindgen-shared"
728
+ version = "0.2.122"
729
+ source = "registry+https://github.com/rust-lang/crates.io-index"
730
+ checksum = "9a929b2c61f11ba3e9bc35b50c1f25cb38e0e892c0c231ae2b8cf78d5dad4437"
731
+ dependencies = [
732
+ "unicode-ident",
733
+ ]
734
+
735
+ [[package]]
736
+ name = "web-sys"
737
+ version = "0.3.99"
738
+ source = "registry+https://github.com/rust-lang/crates.io-index"
739
+ checksum = "6d621441cfc37b84979402712047321980c178f299193a3589d05b99e8763436"
740
+ dependencies = [
741
+ "js-sys",
742
+ "wasm-bindgen",
743
+ ]
744
+
745
+ [[package]]
746
+ name = "winapi-util"
747
+ version = "0.1.11"
748
+ source = "registry+https://github.com/rust-lang/crates.io-index"
749
+ checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
750
+ dependencies = [
751
+ "windows-sys",
752
+ ]
753
+
754
+ [[package]]
755
+ name = "windows-link"
756
+ version = "0.2.1"
757
+ source = "registry+https://github.com/rust-lang/crates.io-index"
758
+ checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
759
+
760
+ [[package]]
761
+ name = "windows-sys"
762
+ version = "0.61.2"
763
+ source = "registry+https://github.com/rust-lang/crates.io-index"
764
+ checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
765
+ dependencies = [
766
+ "windows-link",
767
+ ]
768
+
769
+ [[package]]
770
+ name = "zerocopy"
771
+ version = "0.8.50"
772
+ source = "registry+https://github.com/rust-lang/crates.io-index"
773
+ checksum = "3b065d4f0e55f82fae73202e189638116a87c55ab6b8e6c2721e13dd9d854ad1"
774
+ dependencies = [
775
+ "zerocopy-derive",
776
+ ]
777
+
778
+ [[package]]
779
+ name = "zerocopy-derive"
780
+ version = "0.8.50"
781
+ source = "registry+https://github.com/rust-lang/crates.io-index"
782
+ checksum = "0b631b19d36a892ab55420c92dbc83ccd79274f25be714855d3074aa71cab639"
783
+ dependencies = [
784
+ "proc-macro2",
785
+ "quote",
786
+ "syn",
787
+ ]
788
+
789
+ [[package]]
790
+ name = "zmij"
791
+ version = "1.0.21"
792
+ source = "registry+https://github.com/rust-lang/crates.io-index"
793
+ checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"