ballistics-engine 0.13.13 → 0.18.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 392c86bc7948bf853f890393b2653c36387fafcfcd5978c7a48c3b3da920b95e
4
- data.tar.gz: 8bfc92047143b9ae259ffb32d3646b6cce7b06304e292b638320aca35a60e870
3
+ metadata.gz: 5ceb838d5c7bd550ec64861d73c9f1722210243880c69cb490e08818e98851a6
4
+ data.tar.gz: b37c284f503388cb8ffc9a75f6881099f433c328d10c55d5986178221c2d9659
5
5
  SHA512:
6
- metadata.gz: b84ca707355d1d3ff3e7031271c1bc633aef5b59f334a8922c430f3a4e69022a7e2a7b564d1f8da5ac98cdec4a31572daaf328f296b513736cad70fc17ce3f2a
7
- data.tar.gz: 86010f94a4ab629b38e2c68ccfd1a86ccc238963930196f3bac26269202f3e5299525a84b3030d04d5756c795f4bd31dac3a50ea5d44841061c6caac3642c83a
6
+ metadata.gz: 5b115df2429d2b82210f85845c244e743a710caf43e90ba9fc2d00c0af1093547d750eb320805680ef4dfa57696d1fc96d8ab0cf2b596654d4786bfb154fbe5a
7
+ data.tar.gz: 7db5d5dd3131f99a2cf3dba5808c926d6e54e2da29085fe6e300a4b9ff75595c707e401b4200ef35b808beca2f784fe1fb8f5132bae5bdb3b327a4a6cef17889
data/Cargo.lock CHANGED
@@ -84,25 +84,27 @@ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
84
84
 
85
85
  [[package]]
86
86
  name = "ballistics-engine"
87
- version = "0.13.12"
87
+ version = "0.18.1"
88
88
  source = "registry+https://github.com/rust-lang/crates.io-index"
89
- checksum = "681e91da134bd0dda795774e64c62e3bf72194b8928f5c8ab4489ad836bc7f7b"
89
+ checksum = "5b8e1900d46c4d975ca549bf9e2014fd39ba033af915ea01b9ca43afaeb205b0"
90
90
  dependencies = [
91
91
  "clap",
92
+ "clap_complete",
92
93
  "csv",
94
+ "dirs",
93
95
  "getrandom",
94
96
  "js-sys",
95
97
  "nalgebra",
96
98
  "ndarray",
97
99
  "ndarray-npy",
98
- "once_cell",
99
100
  "rand",
100
101
  "rand_distr",
101
102
  "rayon",
102
103
  "serde",
103
104
  "serde-wasm-bindgen",
104
105
  "serde_json",
105
- "thiserror",
106
+ "strsim",
107
+ "thiserror 2.0.18",
106
108
  "wasm-bindgen",
107
109
  "wasm-bindgen-futures",
108
110
  "web-sys",
@@ -110,7 +112,7 @@ dependencies = [
110
112
 
111
113
  [[package]]
112
114
  name = "ballistics-engine-rb"
113
- version = "0.13.12"
115
+ version = "0.18.1"
114
116
  dependencies = [
115
117
  "ballistics-engine",
116
118
  "magnus",
@@ -118,16 +120,14 @@ dependencies = [
118
120
 
119
121
  [[package]]
120
122
  name = "bindgen"
121
- version = "0.69.5"
123
+ version = "0.72.1"
122
124
  source = "registry+https://github.com/rust-lang/crates.io-index"
123
- checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088"
125
+ checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895"
124
126
  dependencies = [
125
127
  "bitflags",
126
128
  "cexpr",
127
129
  "clang-sys",
128
130
  "itertools",
129
- "lazy_static",
130
- "lazycell",
131
131
  "proc-macro2",
132
132
  "quote",
133
133
  "regex",
@@ -153,9 +153,9 @@ dependencies = [
153
153
 
154
154
  [[package]]
155
155
  name = "bumpalo"
156
- version = "3.19.0"
156
+ version = "3.19.1"
157
157
  source = "registry+https://github.com/rust-lang/crates.io-index"
158
- checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43"
158
+ checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510"
159
159
 
160
160
  [[package]]
161
161
  name = "bytemuck"
@@ -197,9 +197,9 @@ dependencies = [
197
197
 
198
198
  [[package]]
199
199
  name = "clap"
200
- version = "4.5.53"
200
+ version = "4.5.54"
201
201
  source = "registry+https://github.com/rust-lang/crates.io-index"
202
- checksum = "c9e340e012a1bf4935f5282ed1436d1489548e8f72308207ea5df0e23d2d03f8"
202
+ checksum = "c6e6ff9dcd79cff5cd969a17a545d79e84ab086e444102a591e288a8aa3ce394"
203
203
  dependencies = [
204
204
  "clap_builder",
205
205
  "clap_derive",
@@ -207,9 +207,9 @@ dependencies = [
207
207
 
208
208
  [[package]]
209
209
  name = "clap_builder"
210
- version = "4.5.53"
210
+ version = "4.5.54"
211
211
  source = "registry+https://github.com/rust-lang/crates.io-index"
212
- checksum = "d76b5d13eaa18c901fd2f7fca939fefe3a0727a953561fefdf3b2922b8569d00"
212
+ checksum = "fa42cf4d2b7a41bc8f663a7cab4031ebafa1bf3875705bfaf8466dc60ab52c00"
213
213
  dependencies = [
214
214
  "anstream",
215
215
  "anstyle",
@@ -217,6 +217,15 @@ dependencies = [
217
217
  "strsim",
218
218
  ]
219
219
 
220
+ [[package]]
221
+ name = "clap_complete"
222
+ version = "4.6.5"
223
+ source = "registry+https://github.com/rust-lang/crates.io-index"
224
+ checksum = "e0a7a9bfdb35811f9e59832f0f05975114d2251b415fb534108e6f34060fd772"
225
+ dependencies = [
226
+ "clap",
227
+ ]
228
+
220
229
  [[package]]
221
230
  name = "clap_derive"
222
231
  version = "4.5.49"
@@ -231,9 +240,9 @@ dependencies = [
231
240
 
232
241
  [[package]]
233
242
  name = "clap_lex"
234
- version = "0.7.6"
243
+ version = "0.7.7"
235
244
  source = "registry+https://github.com/rust-lang/crates.io-index"
236
- checksum = "a1d728cc89cf3aee9ff92b05e62b19ee65a02b5702cff7d5a377e32c6ae29d8d"
245
+ checksum = "c3e64b0cc0439b12df2fa678eae89a1c56a529fd067a9115f7827f1fffd22b32"
237
246
 
238
247
  [[package]]
239
248
  name = "colorchoice"
@@ -325,6 +334,27 @@ dependencies = [
325
334
  "crypto-common",
326
335
  ]
327
336
 
337
+ [[package]]
338
+ name = "dirs"
339
+ version = "6.0.0"
340
+ source = "registry+https://github.com/rust-lang/crates.io-index"
341
+ checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e"
342
+ dependencies = [
343
+ "dirs-sys",
344
+ ]
345
+
346
+ [[package]]
347
+ name = "dirs-sys"
348
+ version = "0.5.0"
349
+ source = "registry+https://github.com/rust-lang/crates.io-index"
350
+ checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab"
351
+ dependencies = [
352
+ "libc",
353
+ "option-ext",
354
+ "redox_users",
355
+ "windows-sys",
356
+ ]
357
+
328
358
  [[package]]
329
359
  name = "either"
330
360
  version = "1.15.0"
@@ -333,14 +363,39 @@ checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
333
363
 
334
364
  [[package]]
335
365
  name = "flate2"
336
- version = "1.1.7"
366
+ version = "1.1.8"
337
367
  source = "registry+https://github.com/rust-lang/crates.io-index"
338
- checksum = "a2152dbcb980c05735e2a651d96011320a949eb31a0c8b38b72645ce97dec676"
368
+ checksum = "b375d6465b98090a5f25b1c7703f3859783755aa9a80433b36e0379a3ec2f369"
339
369
  dependencies = [
340
370
  "crc32fast",
341
371
  "miniz_oxide",
342
372
  ]
343
373
 
374
+ [[package]]
375
+ name = "futures-core"
376
+ version = "0.3.31"
377
+ source = "registry+https://github.com/rust-lang/crates.io-index"
378
+ checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e"
379
+
380
+ [[package]]
381
+ name = "futures-task"
382
+ version = "0.3.31"
383
+ source = "registry+https://github.com/rust-lang/crates.io-index"
384
+ checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988"
385
+
386
+ [[package]]
387
+ name = "futures-util"
388
+ version = "0.3.31"
389
+ source = "registry+https://github.com/rust-lang/crates.io-index"
390
+ checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81"
391
+ dependencies = [
392
+ "futures-core",
393
+ "futures-task",
394
+ "pin-project-lite",
395
+ "pin-utils",
396
+ "slab",
397
+ ]
398
+
344
399
  [[package]]
345
400
  name = "generic-array"
346
401
  version = "0.14.7"
@@ -353,9 +408,9 @@ dependencies = [
353
408
 
354
409
  [[package]]
355
410
  name = "getrandom"
356
- version = "0.2.16"
411
+ version = "0.2.17"
357
412
  source = "registry+https://github.com/rust-lang/crates.io-index"
358
- checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592"
413
+ checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0"
359
414
  dependencies = [
360
415
  "cfg-if",
361
416
  "js-sys",
@@ -456,9 +511,9 @@ checksum = "8babf46d4c1c9d92deac9f7be466f76dfc4482b6452fc5024b5e8daf6ffeb3ee"
456
511
 
457
512
  [[package]]
458
513
  name = "glam"
459
- version = "0.30.9"
514
+ version = "0.30.10"
460
515
  source = "registry+https://github.com/rust-lang/crates.io-index"
461
- checksum = "bd47b05dddf0005d850e5644cae7f2b14ac3df487979dbfff3b56f20b1a6ae46"
516
+ checksum = "19fc433e8437a212d1b6f1e68c7824af3aed907da60afa994e7f542d18d12aa9"
462
517
 
463
518
  [[package]]
464
519
  name = "glob"
@@ -489,15 +544,15 @@ dependencies = [
489
544
 
490
545
  [[package]]
491
546
  name = "itoa"
492
- version = "1.0.15"
547
+ version = "1.0.17"
493
548
  source = "registry+https://github.com/rust-lang/crates.io-index"
494
- checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
549
+ checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2"
495
550
 
496
551
  [[package]]
497
552
  name = "js-sys"
498
- version = "0.3.83"
553
+ version = "0.3.85"
499
554
  source = "registry+https://github.com/rust-lang/crates.io-index"
500
- checksum = "464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8"
555
+ checksum = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3"
501
556
  dependencies = [
502
557
  "once_cell",
503
558
  "wasm-bindgen",
@@ -509,17 +564,11 @@ version = "1.5.0"
509
564
  source = "registry+https://github.com/rust-lang/crates.io-index"
510
565
  checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
511
566
 
512
- [[package]]
513
- name = "lazycell"
514
- version = "1.3.0"
515
- source = "registry+https://github.com/rust-lang/crates.io-index"
516
- checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
517
-
518
567
  [[package]]
519
568
  name = "libc"
520
- version = "0.2.178"
569
+ version = "0.2.180"
521
570
  source = "registry+https://github.com/rust-lang/crates.io-index"
522
- checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091"
571
+ checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc"
523
572
 
524
573
  [[package]]
525
574
  name = "libloading"
@@ -533,9 +582,18 @@ dependencies = [
533
582
 
534
583
  [[package]]
535
584
  name = "libm"
536
- version = "0.2.15"
585
+ version = "0.2.16"
537
586
  source = "registry+https://github.com/rust-lang/crates.io-index"
538
- checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de"
587
+ checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981"
588
+
589
+ [[package]]
590
+ name = "libredox"
591
+ version = "0.1.17"
592
+ source = "registry+https://github.com/rust-lang/crates.io-index"
593
+ checksum = "f02ab6bace2054fb888a3c16f990117b579d14a3088e472d63c6011fa185c9d3"
594
+ dependencies = [
595
+ "libc",
596
+ ]
539
597
 
540
598
  [[package]]
541
599
  name = "magnus"
@@ -614,7 +672,7 @@ dependencies = [
614
672
  "glam 0.27.0",
615
673
  "glam 0.28.0",
616
674
  "glam 0.29.3",
617
- "glam 0.30.9",
675
+ "glam 0.30.10",
618
676
  "matrixmultiply",
619
677
  "nalgebra-macros",
620
678
  "num-complex",
@@ -733,6 +791,12 @@ version = "1.70.2"
733
791
  source = "registry+https://github.com/rust-lang/crates.io-index"
734
792
  checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe"
735
793
 
794
+ [[package]]
795
+ name = "option-ext"
796
+ version = "0.2.0"
797
+ source = "registry+https://github.com/rust-lang/crates.io-index"
798
+ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
799
+
736
800
  [[package]]
737
801
  name = "paste"
738
802
  version = "1.0.15"
@@ -741,9 +805,9 @@ checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
741
805
 
742
806
  [[package]]
743
807
  name = "pest"
744
- version = "2.8.4"
808
+ version = "2.8.5"
745
809
  source = "registry+https://github.com/rust-lang/crates.io-index"
746
- checksum = "cbcfd20a6d4eeba40179f05735784ad32bdaef05ce8e8af05f180d45bb3e7e22"
810
+ checksum = "2c9eb05c21a464ea704b53158d358a31e6425db2f63a1a7312268b05fe2b75f7"
747
811
  dependencies = [
748
812
  "memchr",
749
813
  "ucd-trie",
@@ -751,9 +815,9 @@ dependencies = [
751
815
 
752
816
  [[package]]
753
817
  name = "pest_derive"
754
- version = "2.8.4"
818
+ version = "2.8.5"
755
819
  source = "registry+https://github.com/rust-lang/crates.io-index"
756
- checksum = "51f72981ade67b1ca6adc26ec221be9f463f2b5839c7508998daa17c23d94d7f"
820
+ checksum = "68f9dbced329c441fa79d80472764b1a2c7e57123553b8519b36663a2fb234ed"
757
821
  dependencies = [
758
822
  "pest",
759
823
  "pest_generator",
@@ -761,9 +825,9 @@ dependencies = [
761
825
 
762
826
  [[package]]
763
827
  name = "pest_generator"
764
- version = "2.8.4"
828
+ version = "2.8.5"
765
829
  source = "registry+https://github.com/rust-lang/crates.io-index"
766
- checksum = "dee9efd8cdb50d719a80088b76f81aec7c41ed6d522ee750178f83883d271625"
830
+ checksum = "3bb96d5051a78f44f43c8f712d8e810adb0ebf923fc9ed2655a7f66f63ba8ee5"
767
831
  dependencies = [
768
832
  "pest",
769
833
  "pest_meta",
@@ -774,14 +838,26 @@ dependencies = [
774
838
 
775
839
  [[package]]
776
840
  name = "pest_meta"
777
- version = "2.8.4"
841
+ version = "2.8.5"
778
842
  source = "registry+https://github.com/rust-lang/crates.io-index"
779
- checksum = "bf1d70880e76bdc13ba52eafa6239ce793d85c8e43896507e43dd8984ff05b82"
843
+ checksum = "602113b5b5e8621770cfd490cfd90b9f84ab29bd2b0e49ad83eb6d186cef2365"
780
844
  dependencies = [
781
845
  "pest",
782
846
  "sha2",
783
847
  ]
784
848
 
849
+ [[package]]
850
+ name = "pin-project-lite"
851
+ version = "0.2.16"
852
+ source = "registry+https://github.com/rust-lang/crates.io-index"
853
+ checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b"
854
+
855
+ [[package]]
856
+ name = "pin-utils"
857
+ version = "0.1.0"
858
+ source = "registry+https://github.com/rust-lang/crates.io-index"
859
+ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
860
+
785
861
  [[package]]
786
862
  name = "ppv-lite86"
787
863
  version = "0.2.21"
@@ -793,9 +869,9 @@ dependencies = [
793
869
 
794
870
  [[package]]
795
871
  name = "proc-macro2"
796
- version = "1.0.103"
872
+ version = "1.0.106"
797
873
  source = "registry+https://github.com/rust-lang/crates.io-index"
798
- checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8"
874
+ checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
799
875
  dependencies = [
800
876
  "unicode-ident",
801
877
  ]
@@ -815,9 +891,9 @@ dependencies = [
815
891
 
816
892
  [[package]]
817
893
  name = "quote"
818
- version = "1.0.42"
894
+ version = "1.0.44"
819
895
  source = "registry+https://github.com/rust-lang/crates.io-index"
820
- checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f"
896
+ checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4"
821
897
  dependencies = [
822
898
  "proc-macro2",
823
899
  ]
@@ -890,18 +966,18 @@ dependencies = [
890
966
 
891
967
  [[package]]
892
968
  name = "rb-sys"
893
- version = "0.9.119"
969
+ version = "0.9.128"
894
970
  source = "registry+https://github.com/rust-lang/crates.io-index"
895
- checksum = "4519fc8de033923105f512c504a8f27714ef38648ccc30969362194c50b2ed08"
971
+ checksum = "45ca28513560e56cfb79a62b1fce363c73af170a182024ce880c77ee9429920a"
896
972
  dependencies = [
897
973
  "rb-sys-build",
898
974
  ]
899
975
 
900
976
  [[package]]
901
977
  name = "rb-sys-build"
902
- version = "0.9.119"
978
+ version = "0.9.128"
903
979
  source = "registry+https://github.com/rust-lang/crates.io-index"
904
- checksum = "2e0109499e06c85f56df4abad7d9c642ea8a2dd821d1d7132b4d1b69534677f3"
980
+ checksum = "ce04b2c55eff3a21aaa623fcc655d94373238e72cac6b3e1a3641ff31649f99a"
905
981
  dependencies = [
906
982
  "bindgen",
907
983
  "lazy_static",
@@ -914,9 +990,20 @@ dependencies = [
914
990
 
915
991
  [[package]]
916
992
  name = "rb-sys-env"
917
- version = "0.2.2"
993
+ version = "0.2.3"
918
994
  source = "registry+https://github.com/rust-lang/crates.io-index"
919
- checksum = "08f8d2924cf136a1315e2b4c7460a39f62ef11ee5d522df9b2750fab55b868b6"
995
+ checksum = "cca7ad6a7e21e72151d56fe2495a259b5670e204c3adac41ee7ef676ea08117a"
996
+
997
+ [[package]]
998
+ name = "redox_users"
999
+ version = "0.5.2"
1000
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1001
+ checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac"
1002
+ dependencies = [
1003
+ "getrandom",
1004
+ "libredox",
1005
+ "thiserror 2.0.18",
1006
+ ]
920
1007
 
921
1008
  [[package]]
922
1009
  name = "regex"
@@ -949,9 +1036,9 @@ checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58"
949
1036
 
950
1037
  [[package]]
951
1038
  name = "rustc-hash"
952
- version = "1.1.0"
1039
+ version = "2.1.2"
953
1040
  source = "registry+https://github.com/rust-lang/crates.io-index"
954
- checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
1041
+ checksum = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe"
955
1042
 
956
1043
  [[package]]
957
1044
  name = "rustversion"
@@ -961,9 +1048,9 @@ checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
961
1048
 
962
1049
  [[package]]
963
1050
  name = "ryu"
964
- version = "1.0.20"
1051
+ version = "1.0.22"
965
1052
  source = "registry+https://github.com/rust-lang/crates.io-index"
966
- checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
1053
+ checksum = "a50f4cf475b65d88e057964e0e9bb1f0aa9bbb2036dc65c64596b42932536984"
967
1054
 
968
1055
  [[package]]
969
1056
  name = "safe_arch"
@@ -1023,15 +1110,15 @@ dependencies = [
1023
1110
 
1024
1111
  [[package]]
1025
1112
  name = "serde_json"
1026
- version = "1.0.145"
1113
+ version = "1.0.149"
1027
1114
  source = "registry+https://github.com/rust-lang/crates.io-index"
1028
- checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c"
1115
+ checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86"
1029
1116
  dependencies = [
1030
1117
  "itoa",
1031
1118
  "memchr",
1032
- "ryu",
1033
1119
  "serde",
1034
1120
  "serde_core",
1121
+ "zmij",
1035
1122
  ]
1036
1123
 
1037
1124
  [[package]]
@@ -1047,9 +1134,9 @@ dependencies = [
1047
1134
 
1048
1135
  [[package]]
1049
1136
  name = "shell-words"
1050
- version = "1.1.0"
1137
+ version = "1.1.1"
1051
1138
  source = "registry+https://github.com/rust-lang/crates.io-index"
1052
- checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde"
1139
+ checksum = "dc6fe69c597f9c37bfeeeeeb33da3530379845f10be461a66d16d03eca2ded77"
1053
1140
 
1054
1141
  [[package]]
1055
1142
  name = "shlex"
@@ -1072,9 +1159,15 @@ dependencies = [
1072
1159
 
1073
1160
  [[package]]
1074
1161
  name = "simd-adler32"
1075
- version = "0.3.7"
1162
+ version = "0.3.8"
1076
1163
  source = "registry+https://github.com/rust-lang/crates.io-index"
1077
- checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
1164
+ checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2"
1165
+
1166
+ [[package]]
1167
+ name = "slab"
1168
+ version = "0.4.11"
1169
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1170
+ checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589"
1078
1171
 
1079
1172
  [[package]]
1080
1173
  name = "strsim"
@@ -1084,9 +1177,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
1084
1177
 
1085
1178
  [[package]]
1086
1179
  name = "syn"
1087
- version = "2.0.111"
1180
+ version = "2.0.114"
1088
1181
  source = "registry+https://github.com/rust-lang/crates.io-index"
1089
- checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87"
1182
+ checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a"
1090
1183
  dependencies = [
1091
1184
  "proc-macro2",
1092
1185
  "quote",
@@ -1099,7 +1192,16 @@ version = "1.0.69"
1099
1192
  source = "registry+https://github.com/rust-lang/crates.io-index"
1100
1193
  checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
1101
1194
  dependencies = [
1102
- "thiserror-impl",
1195
+ "thiserror-impl 1.0.69",
1196
+ ]
1197
+
1198
+ [[package]]
1199
+ name = "thiserror"
1200
+ version = "2.0.18"
1201
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1202
+ checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4"
1203
+ dependencies = [
1204
+ "thiserror-impl 2.0.18",
1103
1205
  ]
1104
1206
 
1105
1207
  [[package]]
@@ -1113,6 +1215,17 @@ dependencies = [
1113
1215
  "syn",
1114
1216
  ]
1115
1217
 
1218
+ [[package]]
1219
+ name = "thiserror-impl"
1220
+ version = "2.0.18"
1221
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1222
+ checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5"
1223
+ dependencies = [
1224
+ "proc-macro2",
1225
+ "quote",
1226
+ "syn",
1227
+ ]
1228
+
1116
1229
  [[package]]
1117
1230
  name = "typenum"
1118
1231
  version = "1.19.0"
@@ -1151,9 +1264,9 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
1151
1264
 
1152
1265
  [[package]]
1153
1266
  name = "wasm-bindgen"
1154
- version = "0.2.106"
1267
+ version = "0.2.108"
1155
1268
  source = "registry+https://github.com/rust-lang/crates.io-index"
1156
- checksum = "0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd"
1269
+ checksum = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566"
1157
1270
  dependencies = [
1158
1271
  "cfg-if",
1159
1272
  "once_cell",
@@ -1164,11 +1277,12 @@ dependencies = [
1164
1277
 
1165
1278
  [[package]]
1166
1279
  name = "wasm-bindgen-futures"
1167
- version = "0.4.56"
1280
+ version = "0.4.58"
1168
1281
  source = "registry+https://github.com/rust-lang/crates.io-index"
1169
- checksum = "836d9622d604feee9e5de25ac10e3ea5f2d65b41eac0d9ce72eb5deae707ce7c"
1282
+ checksum = "70a6e77fd0ae8029c9ea0063f87c46fde723e7d887703d74ad2616d792e51e6f"
1170
1283
  dependencies = [
1171
1284
  "cfg-if",
1285
+ "futures-util",
1172
1286
  "js-sys",
1173
1287
  "once_cell",
1174
1288
  "wasm-bindgen",
@@ -1177,9 +1291,9 @@ dependencies = [
1177
1291
 
1178
1292
  [[package]]
1179
1293
  name = "wasm-bindgen-macro"
1180
- version = "0.2.106"
1294
+ version = "0.2.108"
1181
1295
  source = "registry+https://github.com/rust-lang/crates.io-index"
1182
- checksum = "48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3"
1296
+ checksum = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608"
1183
1297
  dependencies = [
1184
1298
  "quote",
1185
1299
  "wasm-bindgen-macro-support",
@@ -1187,9 +1301,9 @@ dependencies = [
1187
1301
 
1188
1302
  [[package]]
1189
1303
  name = "wasm-bindgen-macro-support"
1190
- version = "0.2.106"
1304
+ version = "0.2.108"
1191
1305
  source = "registry+https://github.com/rust-lang/crates.io-index"
1192
- checksum = "cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40"
1306
+ checksum = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55"
1193
1307
  dependencies = [
1194
1308
  "bumpalo",
1195
1309
  "proc-macro2",
@@ -1200,18 +1314,18 @@ dependencies = [
1200
1314
 
1201
1315
  [[package]]
1202
1316
  name = "wasm-bindgen-shared"
1203
- version = "0.2.106"
1317
+ version = "0.2.108"
1204
1318
  source = "registry+https://github.com/rust-lang/crates.io-index"
1205
- checksum = "cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4"
1319
+ checksum = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12"
1206
1320
  dependencies = [
1207
1321
  "unicode-ident",
1208
1322
  ]
1209
1323
 
1210
1324
  [[package]]
1211
1325
  name = "web-sys"
1212
- version = "0.3.83"
1326
+ version = "0.3.85"
1213
1327
  source = "registry+https://github.com/rust-lang/crates.io-index"
1214
- checksum = "9b32828d774c412041098d182a8b38b16ea816958e07cf40eec2bc080ae137ac"
1328
+ checksum = "312e32e551d92129218ea9a2452120f4aabc03529ef03e4d0d82fb2780608598"
1215
1329
  dependencies = [
1216
1330
  "js-sys",
1217
1331
  "wasm-bindgen",
@@ -1244,18 +1358,18 @@ dependencies = [
1244
1358
 
1245
1359
  [[package]]
1246
1360
  name = "zerocopy"
1247
- version = "0.8.31"
1361
+ version = "0.8.33"
1248
1362
  source = "registry+https://github.com/rust-lang/crates.io-index"
1249
- checksum = "fd74ec98b9250adb3ca554bdde269adf631549f51d8a8f8f0a10b50f1cb298c3"
1363
+ checksum = "668f5168d10b9ee831de31933dc111a459c97ec93225beb307aed970d1372dfd"
1250
1364
  dependencies = [
1251
1365
  "zerocopy-derive",
1252
1366
  ]
1253
1367
 
1254
1368
  [[package]]
1255
1369
  name = "zerocopy-derive"
1256
- version = "0.8.31"
1370
+ version = "0.8.33"
1257
1371
  source = "registry+https://github.com/rust-lang/crates.io-index"
1258
- checksum = "d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a"
1372
+ checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1"
1259
1373
  dependencies = [
1260
1374
  "proc-macro2",
1261
1375
  "quote",
@@ -1271,5 +1385,11 @@ dependencies = [
1271
1385
  "byteorder",
1272
1386
  "crc32fast",
1273
1387
  "flate2",
1274
- "thiserror",
1388
+ "thiserror 1.0.69",
1275
1389
  ]
1390
+
1391
+ [[package]]
1392
+ name = "zmij"
1393
+ version = "1.0.16"
1394
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1395
+ checksum = "dfcd145825aace48cff44a8844de64bf75feec3080e0aa5cdbde72961ae51a65"
data/Cargo.toml CHANGED
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "ballistics-engine-rb"
3
- version = "0.13.13"
3
+ version = "0.18.1"
4
4
  edition = "2021"
5
5
  authors = ["Alex Jokela <email@tinycomputers.io>"]
6
6
  description = "Ruby bindings for ballistics-engine"
@@ -12,7 +12,7 @@ name = "ballistics_engine_rb"
12
12
  crate-type = ["cdylib"]
13
13
 
14
14
  [dependencies]
15
- ballistics-engine = "0.13.13"
15
+ ballistics-engine = { version = "0.18.1", default-features = false }
16
16
  magnus = "0.8"
17
17
 
18
18
  [profile.release]
data/extconf.rb ADDED
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "mkmf"
4
+ require "rb_sys/mkmf"
5
+
6
+ # Build the Rust cdylib and install it as "ballistics_engine_rb.{so,bundle}".
7
+ # The target name must match the crate's [lib] name so the magnus-generated
8
+ # Init_ballistics_engine_rb symbol lines up with `require "ballistics_engine_rb"`.
9
+ create_rust_makefile("ballistics_engine_rb")
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "ballistics_engine_rb"
3
+ require "ballistics_engine_rb"
4
4
 
5
5
  # Top-level module for the BallisticsEngine gem
6
6
  module BallisticsEngine
data/src/lib.rs CHANGED
@@ -77,22 +77,24 @@ fn solve_trajectory(ruby: &magnus::Ruby, inputs_hash: RHash) -> Result<RHash, Er
77
77
  let humidity: f64 = atm_hash.lookup2("humidity_percent", 50.0)?;
78
78
  let altitude_ft: f64 = atm_hash.lookup2("altitude_feet", 0.0)?;
79
79
 
80
- // Convert to Celsius and other SI units
80
+ // Convert to the units AtmosphericConditions expects.
81
81
  let temp_c = (temp_f - 32.0) * 5.0 / 9.0;
82
- let pressure_pa = pressure_inhg * 3386.389;
82
+ // pressure is hectopascals (hPa/millibars), NOT pascals. 1 inHg = 33.8639 hPa.
83
+ // (Passing Pa here over-states air density ~100x and crushes the trajectory.)
84
+ let pressure_hpa = pressure_inhg * 33.8639;
83
85
  let altitude_m = altitude_ft * 0.3048;
84
86
 
85
87
  AtmosphericConditions {
86
88
  temperature: temp_c,
87
- pressure: pressure_pa,
89
+ pressure: pressure_hpa,
88
90
  humidity,
89
91
  altitude: altitude_m,
90
92
  }
91
93
  } else {
92
94
  // Standard ICAO atmosphere
93
95
  AtmosphericConditions {
94
- temperature: 15.0, // 15°C (59°F)
95
- pressure: 101325.0, // 1 atm in Pa
96
+ temperature: 15.0, // 15°C (59°F)
97
+ pressure: 1013.25, // 1 atm in hPa (NOT Pa)
96
98
  humidity: 50.0,
97
99
  altitude: 0.0,
98
100
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ballistics-engine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.13
4
+ version: 0.18.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Jokela
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-12-05 00:00:00.000000000 Z
11
+ date: 2026-06-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rb_sys
@@ -59,7 +59,7 @@ email:
59
59
  - email@tinycomputers.io
60
60
  executables: []
61
61
  extensions:
62
- - Cargo.toml
62
+ - extconf.rb
63
63
  extra_rdoc_files: []
64
64
  files:
65
65
  - Cargo.lock
@@ -67,6 +67,7 @@ files:
67
67
  - LICENSE
68
68
  - LICENSE-APACHE
69
69
  - README.md
70
+ - extconf.rb
70
71
  - lib/ballistics_engine.rb
71
72
  - src/lib.rs
72
73
  homepage: https://github.com/ajokela/ballistics-engine-rb