@bornengine/engine 0.4.16 → 0.5.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.
Files changed (62) hide show
  1. package/README.md +24 -14
  2. package/native/android/Cargo.lock +577 -28
  3. package/native/android/Cargo.toml +2 -0
  4. package/native/android/src/lib.rs +39 -3
  5. package/native/ios/Cargo.lock +573 -24
  6. package/native/ios/Cargo.toml +2 -0
  7. package/native/ios/src/lib.rs +72 -9
  8. package/native/ios/src/text_input.rs +48 -0
  9. package/native/linux/Cargo.lock +623 -35
  10. package/native/linux/Cargo.toml +3 -0
  11. package/native/macos/Cargo.lock +630 -35
  12. package/native/macos/Cargo.toml +3 -0
  13. package/native/shared/Cargo.lock +430 -27
  14. package/native/shared/Cargo.toml +5 -0
  15. package/native/shared/build.rs +41 -1
  16. package/native/shared/src/engine.rs +54 -2
  17. package/native/shared/src/ffi.rs +54 -1
  18. package/native/shared/src/ffi_core/mod.rs +2 -0
  19. package/native/shared/src/ffi_core/ui.rs +182 -0
  20. package/native/shared/src/input.rs +317 -12
  21. package/native/shared/src/lib.rs +1 -0
  22. package/native/shared/src/renderer/mod.rs +47 -201
  23. package/native/shared/src/renderer/texture_store.rs +5 -0
  24. package/native/shared/src/renderer/ui_pass.rs +742 -0
  25. package/native/shared/src/textures.rs +2 -0
  26. package/native/shared/src/ui/commands.rs +213 -0
  27. package/native/shared/src/ui/egui.rs +1282 -0
  28. package/native/shared/src/ui/imgui.rs +1056 -0
  29. package/native/shared/src/ui/input.rs +173 -0
  30. package/native/shared/src/ui/mod.rs +252 -0
  31. package/native/shared/src/ui/responses.rs +61 -0
  32. package/native/tvos/Cargo.lock +576 -27
  33. package/native/tvos/Cargo.toml +2 -0
  34. package/native/visionos/Cargo.lock +571 -22
  35. package/native/visionos/Cargo.toml +2 -0
  36. package/native/watchos/src/ffi_stubs.rs +27 -0
  37. package/native/web/Cargo.lock +346 -11
  38. package/native/web/Cargo.toml +6 -0
  39. package/native/web/bloom_glue.js +84 -11
  40. package/native/web/build.sh +150 -34
  41. package/native/web/src/lib.rs +2 -0
  42. package/native/web/src/ui_ffi.rs +148 -0
  43. package/native/windows/Cargo.lock +638 -38
  44. package/native/windows/Cargo.toml +3 -0
  45. package/native/windows/src/lib.rs +50 -1
  46. package/native/windows/src/windows_text.rs +69 -0
  47. package/package.json +91 -2
  48. package/src/debug-ui/index.ts +4 -0
  49. package/src/debug-ui/types.ts +1 -0
  50. package/src/game/adapters/audio-source-component.ts +67 -0
  51. package/src/game/adapters/rigid-body-component.ts +69 -0
  52. package/src/game/adapters/scene-node-component.ts +49 -0
  53. package/src/game/game-component.ts +89 -0
  54. package/src/game/game-object.ts +338 -0
  55. package/src/game/game-scene.ts +303 -0
  56. package/src/game/index.ts +7 -0
  57. package/src/game/transform.ts +315 -0
  58. package/src/index.ts +27 -0
  59. package/src/ui/api.ts +240 -0
  60. package/src/ui/index.ts +5 -0
  61. package/src/ui/opcodes.ts +66 -0
  62. package/src/ui/types.ts +82 -0
@@ -2,12 +2,33 @@
2
2
  # It is not intended for manual editing.
3
3
  version = 4
4
4
 
5
+ [[package]]
6
+ name = "accesskit"
7
+ version = "0.24.1"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "d3b7f7f85a7e5f68090000ed7622545829afd484d210358702ae4cb97dd0c320"
10
+ dependencies = [
11
+ "uuid",
12
+ ]
13
+
5
14
  [[package]]
6
15
  name = "adler2"
7
16
  version = "2.0.1"
8
17
  source = "registry+https://github.com/rust-lang/crates.io-index"
9
18
  checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
10
19
 
20
+ [[package]]
21
+ name = "ahash"
22
+ version = "0.8.12"
23
+ source = "registry+https://github.com/rust-lang/crates.io-index"
24
+ checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75"
25
+ dependencies = [
26
+ "cfg-if",
27
+ "once_cell",
28
+ "version_check",
29
+ "zerocopy",
30
+ ]
31
+
11
32
  [[package]]
12
33
  name = "allocator-api2"
13
34
  version = "0.2.21"
@@ -79,9 +100,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
79
100
 
80
101
  [[package]]
81
102
  name = "bitflags"
82
- version = "2.11.0"
103
+ version = "2.13.2"
83
104
  source = "registry+https://github.com/rust-lang/crates.io-index"
84
- checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af"
105
+ checksum = "3ded4057c258ba199e2d26386d3af3780957ecaee6c4ef4041c6b4b8b97c0b06"
85
106
 
86
107
  [[package]]
87
108
  name = "block2"
@@ -99,11 +120,15 @@ dependencies = [
99
120
  "bytemuck",
100
121
  "cmake",
101
122
  "earcutr",
123
+ "egui",
124
+ "egui-wgpu",
102
125
  "fontdue",
103
126
  "gltf",
104
127
  "half",
105
128
  "image",
106
129
  "image_dds",
130
+ "imgui",
131
+ "imgui-wgpu",
107
132
  "lewton",
108
133
  "libc",
109
134
  "minimp3",
@@ -111,7 +136,7 @@ dependencies = [
111
136
  "pollster",
112
137
  "raw-window-handle",
113
138
  "web-sys",
114
- "web-time",
139
+ "web-time 0.2.4",
115
140
  "wgpu",
116
141
  ]
117
142
 
@@ -175,6 +200,12 @@ version = "0.2.1"
175
200
  source = "registry+https://github.com/rust-lang/crates.io-index"
176
201
  checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
177
202
 
203
+ [[package]]
204
+ name = "chlorine"
205
+ version = "1.0.13"
206
+ source = "registry+https://github.com/rust-lang/crates.io-index"
207
+ checksum = "c00d31b1d19317b4777ec879192d3745bd97d05262b4b19cb1dda284b9d22f19"
208
+
178
209
  [[package]]
179
210
  name = "cmake"
180
211
  version = "0.1.58"
@@ -195,6 +226,15 @@ dependencies = [
195
226
  "unicode-width",
196
227
  ]
197
228
 
229
+ [[package]]
230
+ name = "color"
231
+ version = "0.3.3"
232
+ source = "registry+https://github.com/rust-lang/crates.io-index"
233
+ checksum = "2ec7c5eb7a16992b1904d76c517d170ab353b0e0b3d5a0c81a8a0cd1037893cf"
234
+ dependencies = [
235
+ "bytemuck",
236
+ ]
237
+
198
238
  [[package]]
199
239
  name = "crc32fast"
200
240
  version = "1.5.0"
@@ -231,7 +271,7 @@ version = "0.5.2"
231
271
  source = "registry+https://github.com/rust-lang/crates.io-index"
232
272
  checksum = "479dfe1e6737aa9e96c6ac7b69689dc4c32da8383f2c12744739d76afa8b66c4"
233
273
  dependencies = [
234
- "bitflags 2.11.0",
274
+ "bitflags 2.13.2",
235
275
  "byteorder",
236
276
  "enum-primitive-derive",
237
277
  "num-traits",
@@ -243,7 +283,7 @@ version = "0.3.1"
243
283
  source = "registry+https://github.com/rust-lang/crates.io-index"
244
284
  checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38"
245
285
  dependencies = [
246
- "bitflags 2.11.0",
286
+ "bitflags 2.13.2",
247
287
  "objc2",
248
288
  ]
249
289
 
@@ -271,16 +311,72 @@ version = "0.4.3"
271
311
  source = "registry+https://github.com/rust-lang/crates.io-index"
272
312
  checksum = "79127ed59a85d7687c409e9978547cffb7dc79675355ed22da6b66fd5f6ead01"
273
313
  dependencies = [
274
- "itertools",
314
+ "itertools 0.11.0",
275
315
  "num-traits",
276
316
  ]
277
317
 
318
+ [[package]]
319
+ name = "ecolor"
320
+ version = "0.35.0"
321
+ source = "registry+https://github.com/rust-lang/crates.io-index"
322
+ checksum = "6758be723a3f298bbfda4db75748bc2ba0abafe096b6383c7c32da264764fbc3"
323
+ dependencies = [
324
+ "bytemuck",
325
+ "emath",
326
+ ]
327
+
328
+ [[package]]
329
+ name = "egui"
330
+ version = "0.35.0"
331
+ source = "registry+https://github.com/rust-lang/crates.io-index"
332
+ checksum = "2796c98d50b79631281d516343a6f6e93c0666462ca36e2c93b39f25d7793325"
333
+ dependencies = [
334
+ "accesskit",
335
+ "ahash",
336
+ "bitflags 2.13.2",
337
+ "emath",
338
+ "epaint",
339
+ "itertools 0.14.0",
340
+ "log",
341
+ "nohash-hasher",
342
+ "profiling",
343
+ "smallvec",
344
+ "unicode-segmentation",
345
+ ]
346
+
347
+ [[package]]
348
+ name = "egui-wgpu"
349
+ version = "0.35.0"
350
+ source = "registry+https://github.com/rust-lang/crates.io-index"
351
+ checksum = "d2e6cfac0725563555fa4f91e9f799b9d7c6c5dd831fca6abc8234afc64b7a34"
352
+ dependencies = [
353
+ "ahash",
354
+ "bytemuck",
355
+ "document-features",
356
+ "epaint",
357
+ "log",
358
+ "profiling",
359
+ "thiserror 2.0.18",
360
+ "type-map",
361
+ "web-time 1.1.0",
362
+ "wgpu",
363
+ ]
364
+
278
365
  [[package]]
279
366
  name = "either"
280
367
  version = "1.15.0"
281
368
  source = "registry+https://github.com/rust-lang/crates.io-index"
282
369
  checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
283
370
 
371
+ [[package]]
372
+ name = "emath"
373
+ version = "0.35.0"
374
+ source = "registry+https://github.com/rust-lang/crates.io-index"
375
+ checksum = "cd4ec073c9898516584d8c6cfdcee95b530b3d941cd5031ef4050aa36812308b"
376
+ dependencies = [
377
+ "bytemuck",
378
+ ]
379
+
284
380
  [[package]]
285
381
  name = "enum-primitive-derive"
286
382
  version = "0.2.2"
@@ -292,12 +388,52 @@ dependencies = [
292
388
  "syn 1.0.109",
293
389
  ]
294
390
 
391
+ [[package]]
392
+ name = "epaint"
393
+ version = "0.35.0"
394
+ source = "registry+https://github.com/rust-lang/crates.io-index"
395
+ checksum = "4e60a8888b51da911df23918fd7301359b1d43a406a0ff3b8863af093dd7fc6c"
396
+ dependencies = [
397
+ "ahash",
398
+ "bytemuck",
399
+ "ecolor",
400
+ "emath",
401
+ "epaint_default_fonts",
402
+ "font-types",
403
+ "harfrust",
404
+ "log",
405
+ "nohash-hasher",
406
+ "parking_lot",
407
+ "profiling",
408
+ "self_cell",
409
+ "skrifa",
410
+ "smallvec",
411
+ "unicode-general-category",
412
+ "unicode-segmentation",
413
+ "vello_cpu",
414
+ ]
415
+
416
+ [[package]]
417
+ name = "epaint_default_fonts"
418
+ version = "0.35.0"
419
+ source = "registry+https://github.com/rust-lang/crates.io-index"
420
+ checksum = "13ee4e1f553a3584c301f3a56ff1a775f1384781396cea301c8d952e9b93f560"
421
+
295
422
  [[package]]
296
423
  name = "equivalent"
297
424
  version = "1.0.2"
298
425
  source = "registry+https://github.com/rust-lang/crates.io-index"
299
426
  checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
300
427
 
428
+ [[package]]
429
+ name = "euclid"
430
+ version = "0.22.14"
431
+ source = "registry+https://github.com/rust-lang/crates.io-index"
432
+ checksum = "f1a05365e3b1c6d1650318537c7460c6923f1abdd272ad6842baa2b509957a06"
433
+ dependencies = [
434
+ "num-traits",
435
+ ]
436
+
301
437
  [[package]]
302
438
  name = "fdeflate"
303
439
  version = "0.3.7"
@@ -307,6 +443,12 @@ dependencies = [
307
443
  "simd-adler32",
308
444
  ]
309
445
 
446
+ [[package]]
447
+ name = "fearless_simd"
448
+ version = "0.4.1"
449
+ source = "registry+https://github.com/rust-lang/crates.io-index"
450
+ checksum = "b97b65636e5b9ef369943878ac74335ba1c55c1cb6adbf1e2c293c624248d693"
451
+
310
452
  [[package]]
311
453
  name = "filetime"
312
454
  version = "0.2.27"
@@ -346,6 +488,15 @@ version = "0.2.0"
346
488
  source = "registry+https://github.com/rust-lang/crates.io-index"
347
489
  checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb"
348
490
 
491
+ [[package]]
492
+ name = "font-types"
493
+ version = "0.11.3"
494
+ source = "registry+https://github.com/rust-lang/crates.io-index"
495
+ checksum = "5b38ad915f6dadd993ced50848a8291a543bd41ca62bc10740d5e64e2ab4cfd7"
496
+ dependencies = [
497
+ "bytemuck",
498
+ ]
499
+
349
500
  [[package]]
350
501
  name = "fontdue"
351
502
  version = "0.9.3"
@@ -400,6 +551,22 @@ dependencies = [
400
551
  "xml-rs",
401
552
  ]
402
553
 
554
+ [[package]]
555
+ name = "glifo"
556
+ version = "0.1.1"
557
+ source = "registry+https://github.com/rust-lang/crates.io-index"
558
+ checksum = "d99fc21d493812643aae86d53b7bbd02f376434a90317e8a790bc209fdd6605e"
559
+ dependencies = [
560
+ "bytemuck",
561
+ "foldhash 0.2.0",
562
+ "hashbrown 0.17.1",
563
+ "log",
564
+ "peniko",
565
+ "skrifa",
566
+ "smallvec",
567
+ "vello_common",
568
+ ]
569
+
403
570
  [[package]]
404
571
  name = "glow"
405
572
  version = "0.17.0"
@@ -480,7 +647,7 @@ version = "0.3.2"
480
647
  source = "registry+https://github.com/rust-lang/crates.io-index"
481
648
  checksum = "b89c83349105e3732062a895becfc71a8f921bb71ecbbdd8ff99263e3b53a0ca"
482
649
  dependencies = [
483
- "bitflags 2.11.0",
650
+ "bitflags 2.13.2",
484
651
  "gpu-descriptor-types",
485
652
  "hashbrown 0.15.5",
486
653
  ]
@@ -491,7 +658,16 @@ version = "0.2.0"
491
658
  source = "registry+https://github.com/rust-lang/crates.io-index"
492
659
  checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91"
493
660
  dependencies = [
494
- "bitflags 2.11.0",
661
+ "bitflags 2.13.2",
662
+ ]
663
+
664
+ [[package]]
665
+ name = "guillotiere"
666
+ version = "0.7.0"
667
+ source = "registry+https://github.com/rust-lang/crates.io-index"
668
+ checksum = "6b17e70c989c36bad147b27a58d148c0741c51448aa5653436547323e524d0ab"
669
+ dependencies = [
670
+ "euclid",
495
671
  ]
496
672
 
497
673
  [[package]]
@@ -507,6 +683,18 @@ dependencies = [
507
683
  "zerocopy",
508
684
  ]
509
685
 
686
+ [[package]]
687
+ name = "harfrust"
688
+ version = "0.7.0"
689
+ source = "registry+https://github.com/rust-lang/crates.io-index"
690
+ checksum = "0431e8e389aa0f1e72bb9d1c2db8957a1a7a3580e8ed97db819c14837aac9b3e"
691
+ dependencies = [
692
+ "bitflags 2.13.2",
693
+ "bytemuck",
694
+ "read-fonts",
695
+ "smallvec",
696
+ ]
697
+
510
698
  [[package]]
511
699
  name = "hashbrown"
512
700
  version = "0.15.5"
@@ -529,6 +717,15 @@ dependencies = [
529
717
  "foldhash 0.2.0",
530
718
  ]
531
719
 
720
+ [[package]]
721
+ name = "hashbrown"
722
+ version = "0.17.1"
723
+ source = "registry+https://github.com/rust-lang/crates.io-index"
724
+ checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a"
725
+ dependencies = [
726
+ "foldhash 0.2.0",
727
+ ]
728
+
532
729
  [[package]]
533
730
  name = "hexf-parse"
534
731
  version = "0.2.1"
@@ -564,6 +761,44 @@ dependencies = [
564
761
  "thiserror 1.0.69",
565
762
  ]
566
763
 
764
+ [[package]]
765
+ name = "imgui"
766
+ version = "0.12.0"
767
+ source = "registry+https://github.com/rust-lang/crates.io-index"
768
+ checksum = "8addafa5cecf0515812226e806913814e02ce38d10215778082af5174abe5669"
769
+ dependencies = [
770
+ "bitflags 1.3.2",
771
+ "cfg-if",
772
+ "imgui-sys",
773
+ "mint",
774
+ "parking_lot",
775
+ ]
776
+
777
+ [[package]]
778
+ name = "imgui-sys"
779
+ version = "0.12.0"
780
+ source = "registry+https://github.com/rust-lang/crates.io-index"
781
+ checksum = "ead193f9f4b60398e8b8f4ab1483e2321640d87aeebdaa3e5f44c55633ccd804"
782
+ dependencies = [
783
+ "cc",
784
+ "cfg-if",
785
+ "chlorine",
786
+ "mint",
787
+ ]
788
+
789
+ [[package]]
790
+ name = "imgui-wgpu"
791
+ version = "0.28.0"
792
+ source = "registry+https://github.com/rust-lang/crates.io-index"
793
+ checksum = "ff3c0b94f4662fe4aeb3751ccc703189352c8ee9d61bb796fd812faa0e074408"
794
+ dependencies = [
795
+ "bytemuck",
796
+ "imgui",
797
+ "log",
798
+ "smallvec",
799
+ "wgpu",
800
+ ]
801
+
567
802
  [[package]]
568
803
  name = "indexmap"
569
804
  version = "2.13.0"
@@ -609,6 +844,15 @@ dependencies = [
609
844
  "either",
610
845
  ]
611
846
 
847
+ [[package]]
848
+ name = "itertools"
849
+ version = "0.14.0"
850
+ source = "registry+https://github.com/rust-lang/crates.io-index"
851
+ checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285"
852
+ dependencies = [
853
+ "either",
854
+ ]
855
+
612
856
  [[package]]
613
857
  name = "itoa"
614
858
  version = "1.0.17"
@@ -668,6 +912,18 @@ dependencies = [
668
912
  "libc",
669
913
  ]
670
914
 
915
+ [[package]]
916
+ name = "kurbo"
917
+ version = "0.13.1"
918
+ source = "registry+https://github.com/rust-lang/crates.io-index"
919
+ checksum = "4b60dfc32f652b926df6192e55525b16d186c69d47876c3ead4da5cc9f8450e2"
920
+ dependencies = [
921
+ "arrayvec",
922
+ "euclid",
923
+ "polycool",
924
+ "smallvec",
925
+ ]
926
+
671
927
  [[package]]
672
928
  name = "lazy_static"
673
929
  version = "1.5.0"
@@ -713,12 +969,18 @@ version = "0.1.16"
713
969
  source = "registry+https://github.com/rust-lang/crates.io-index"
714
970
  checksum = "e02f3bb43d335493c96bf3fd3a321600bf6bd07ed34bc64118e9293bdffea46c"
715
971
  dependencies = [
716
- "bitflags 2.11.0",
972
+ "bitflags 2.13.2",
717
973
  "libc",
718
974
  "plain",
719
975
  "redox_syscall 0.7.4",
720
976
  ]
721
977
 
978
+ [[package]]
979
+ name = "linebender_resource_handle"
980
+ version = "0.1.1"
981
+ source = "registry+https://github.com/rust-lang/crates.io-index"
982
+ checksum = "d4a5ff6bcca6c4867b1c4fd4ef63e4db7436ef363e0ad7531d1558856bae64f4"
983
+
722
984
  [[package]]
723
985
  name = "litrs"
724
986
  version = "1.0.0"
@@ -736,9 +998,9 @@ dependencies = [
736
998
 
737
999
  [[package]]
738
1000
  name = "log"
739
- version = "0.4.29"
1001
+ version = "0.4.34"
740
1002
  source = "registry+https://github.com/rust-lang/crates.io-index"
741
- checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897"
1003
+ checksum = "f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6"
742
1004
 
743
1005
  [[package]]
744
1006
  name = "mach2"
@@ -785,6 +1047,12 @@ dependencies = [
785
1047
  "simd-adler32",
786
1048
  ]
787
1049
 
1050
+ [[package]]
1051
+ name = "mint"
1052
+ version = "0.5.9"
1053
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1054
+ checksum = "e53debba6bda7a793e5f99b8dacf19e626084f525f7829104ba9898f367d85ff"
1055
+
788
1056
  [[package]]
789
1057
  name = "mio"
790
1058
  version = "0.8.11"
@@ -815,7 +1083,7 @@ checksum = "aa2630921705b9b01dcdd0b6864b9562ca3c1951eecd0f0c4f5f04f61e412647"
815
1083
  dependencies = [
816
1084
  "arrayvec",
817
1085
  "bit-set",
818
- "bitflags 2.11.0",
1086
+ "bitflags 2.13.2",
819
1087
  "cfg-if",
820
1088
  "cfg_aliases",
821
1089
  "codespan-reporting",
@@ -827,7 +1095,7 @@ dependencies = [
827
1095
  "log",
828
1096
  "num-traits",
829
1097
  "once_cell",
830
- "rustc-hash",
1098
+ "rustc-hash 1.1.0",
831
1099
  "spirv",
832
1100
  "thiserror 2.0.18",
833
1101
  "unicode-ident",
@@ -842,13 +1110,19 @@ dependencies = [
842
1110
  "jni-sys",
843
1111
  ]
844
1112
 
1113
+ [[package]]
1114
+ name = "nohash-hasher"
1115
+ version = "0.2.0"
1116
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1117
+ checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451"
1118
+
845
1119
  [[package]]
846
1120
  name = "notify"
847
1121
  version = "6.1.1"
848
1122
  source = "registry+https://github.com/rust-lang/crates.io-index"
849
1123
  checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d"
850
1124
  dependencies = [
851
- "bitflags 2.11.0",
1125
+ "bitflags 2.13.2",
852
1126
  "crossbeam-channel",
853
1127
  "filetime",
854
1128
  "fsevent-sys",
@@ -886,7 +1160,7 @@ version = "0.3.2"
886
1160
  source = "registry+https://github.com/rust-lang/crates.io-index"
887
1161
  checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536"
888
1162
  dependencies = [
889
- "bitflags 2.11.0",
1163
+ "bitflags 2.13.2",
890
1164
  "dispatch2",
891
1165
  "objc2",
892
1166
  ]
@@ -903,7 +1177,7 @@ version = "0.3.2"
903
1177
  source = "registry+https://github.com/rust-lang/crates.io-index"
904
1178
  checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272"
905
1179
  dependencies = [
906
- "bitflags 2.11.0",
1180
+ "bitflags 2.13.2",
907
1181
  "objc2",
908
1182
  "objc2-core-foundation",
909
1183
  ]
@@ -914,7 +1188,7 @@ version = "0.3.2"
914
1188
  source = "registry+https://github.com/rust-lang/crates.io-index"
915
1189
  checksum = "a0125f776a10d00af4152d74616409f0d4a2053a6f57fa5b7d6aa2854ac04794"
916
1190
  dependencies = [
917
- "bitflags 2.11.0",
1191
+ "bitflags 2.13.2",
918
1192
  "block2",
919
1193
  "objc2",
920
1194
  "objc2-foundation",
@@ -926,7 +1200,7 @@ version = "0.3.2"
926
1200
  source = "registry+https://github.com/rust-lang/crates.io-index"
927
1201
  checksum = "96c1358452b371bf9f104e21ec536d37a650eb10f7ee379fff67d2e08d537f1f"
928
1202
  dependencies = [
929
- "bitflags 2.11.0",
1203
+ "bitflags 2.13.2",
930
1204
  "objc2",
931
1205
  "objc2-core-foundation",
932
1206
  "objc2-foundation",
@@ -980,6 +1254,19 @@ dependencies = [
980
1254
  "windows-link",
981
1255
  ]
982
1256
 
1257
+ [[package]]
1258
+ name = "peniko"
1259
+ version = "0.6.1"
1260
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1261
+ checksum = "839c8299360d2e998bdb106dc0a6cd71dcc5f4df51df1b620361bf50e283cca6"
1262
+ dependencies = [
1263
+ "bytemuck",
1264
+ "color",
1265
+ "kurbo",
1266
+ "linebender_resource_handle",
1267
+ "smallvec",
1268
+ ]
1269
+
983
1270
  [[package]]
984
1271
  name = "pin-project-lite"
985
1272
  version = "0.2.17"
@@ -1004,7 +1291,7 @@ version = "0.18.1"
1004
1291
  source = "registry+https://github.com/rust-lang/crates.io-index"
1005
1292
  checksum = "60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61"
1006
1293
  dependencies = [
1007
- "bitflags 2.11.0",
1294
+ "bitflags 2.13.2",
1008
1295
  "crc32fast",
1009
1296
  "fdeflate",
1010
1297
  "flate2",
@@ -1017,6 +1304,15 @@ version = "0.4.0"
1017
1304
  source = "registry+https://github.com/rust-lang/crates.io-index"
1018
1305
  checksum = "2f3a9f18d041e6d0e102a0a46750538147e5e8992d3b4873aaafee2520b00ce3"
1019
1306
 
1307
+ [[package]]
1308
+ name = "polycool"
1309
+ version = "0.4.0"
1310
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1311
+ checksum = "50596ddc09eb5ad5f75cacd40209568e66df71baf86e1499a0e99c4cff12a5a6"
1312
+ dependencies = [
1313
+ "arrayvec",
1314
+ ]
1315
+
1020
1316
  [[package]]
1021
1317
  name = "portable-atomic"
1022
1318
  version = "1.13.1"
@@ -1092,13 +1388,23 @@ dependencies = [
1092
1388
  "objc2-quartz-core",
1093
1389
  ]
1094
1390
 
1391
+ [[package]]
1392
+ name = "read-fonts"
1393
+ version = "0.39.2"
1394
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1395
+ checksum = "c4ed38b89c2c77ff968c524145ad65fb010f38af5c7a224b53b81d47ac2daa81"
1396
+ dependencies = [
1397
+ "bytemuck",
1398
+ "font-types",
1399
+ ]
1400
+
1095
1401
  [[package]]
1096
1402
  name = "redox_syscall"
1097
1403
  version = "0.5.18"
1098
1404
  source = "registry+https://github.com/rust-lang/crates.io-index"
1099
1405
  checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d"
1100
1406
  dependencies = [
1101
- "bitflags 2.11.0",
1407
+ "bitflags 2.13.2",
1102
1408
  ]
1103
1409
 
1104
1410
  [[package]]
@@ -1107,7 +1413,7 @@ version = "0.7.4"
1107
1413
  source = "registry+https://github.com/rust-lang/crates.io-index"
1108
1414
  checksum = "f450ad9c3b1da563fb6948a8e0fb0fb9269711c9c73d9ea1de5058c79c8d643a"
1109
1415
  dependencies = [
1110
- "bitflags 2.11.0",
1416
+ "bitflags 2.13.2",
1111
1417
  ]
1112
1418
 
1113
1419
  [[package]]
@@ -1122,6 +1428,12 @@ version = "1.1.0"
1122
1428
  source = "registry+https://github.com/rust-lang/crates.io-index"
1123
1429
  checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
1124
1430
 
1431
+ [[package]]
1432
+ name = "rustc-hash"
1433
+ version = "2.1.3"
1434
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1435
+ checksum = "6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d"
1436
+
1125
1437
  [[package]]
1126
1438
  name = "rustversion"
1127
1439
  version = "1.0.22"
@@ -1143,6 +1455,12 @@ version = "1.2.0"
1143
1455
  source = "registry+https://github.com/rust-lang/crates.io-index"
1144
1456
  checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
1145
1457
 
1458
+ [[package]]
1459
+ name = "self_cell"
1460
+ version = "1.3.0"
1461
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1462
+ checksum = "2ab42ca02749e120097e328d91d415325bdf43b1c72c4c8badf37375fe40a813"
1463
+
1146
1464
  [[package]]
1147
1465
  name = "serde"
1148
1466
  version = "1.0.228"
@@ -1198,6 +1516,16 @@ version = "0.3.8"
1198
1516
  source = "registry+https://github.com/rust-lang/crates.io-index"
1199
1517
  checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2"
1200
1518
 
1519
+ [[package]]
1520
+ name = "skrifa"
1521
+ version = "0.42.1"
1522
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1523
+ checksum = "0c34617370ae968efb7161bb2beb517d9084659aae19e24b89e3db25b46e4564"
1524
+ dependencies = [
1525
+ "bytemuck",
1526
+ "read-fonts",
1527
+ ]
1528
+
1201
1529
  [[package]]
1202
1530
  name = "slab"
1203
1531
  version = "0.4.12"
@@ -1236,7 +1564,7 @@ version = "0.4.0+sdk-1.4.341.0"
1236
1564
  source = "registry+https://github.com/rust-lang/crates.io-index"
1237
1565
  checksum = "d9571ea910ebd84c86af4b3ed27f9dbdc6ad06f17c5f96146b2b671e2976744f"
1238
1566
  dependencies = [
1239
- "bitflags 2.11.0",
1567
+ "bitflags 2.13.2",
1240
1568
  ]
1241
1569
 
1242
1570
  [[package]]
@@ -1337,12 +1665,33 @@ version = "0.21.1"
1337
1665
  source = "registry+https://github.com/rust-lang/crates.io-index"
1338
1666
  checksum = "2c591d83f69777866b9126b24c6dd9a18351f177e49d625920d19f989fd31cf8"
1339
1667
 
1668
+ [[package]]
1669
+ name = "type-map"
1670
+ version = "0.5.1"
1671
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1672
+ checksum = "cb30dbbd9036155e74adad6812e9898d03ec374946234fbcebd5dfc7b9187b90"
1673
+ dependencies = [
1674
+ "rustc-hash 2.1.3",
1675
+ ]
1676
+
1677
+ [[package]]
1678
+ name = "unicode-general-category"
1679
+ version = "1.1.0"
1680
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1681
+ checksum = "0b993bddc193ae5bd0d623b49ec06ac3e9312875fdae725a975c51db1cc1677f"
1682
+
1340
1683
  [[package]]
1341
1684
  name = "unicode-ident"
1342
1685
  version = "1.0.24"
1343
1686
  source = "registry+https://github.com/rust-lang/crates.io-index"
1344
1687
  checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
1345
1688
 
1689
+ [[package]]
1690
+ name = "unicode-segmentation"
1691
+ version = "1.13.3"
1692
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1693
+ checksum = "c6f5d3c3b1bf09027a88a6bc961fc00497d651009560b5463668dc81b0fa87a8"
1694
+
1346
1695
  [[package]]
1347
1696
  name = "unicode-width"
1348
1697
  version = "0.1.14"
@@ -1355,6 +1704,40 @@ version = "2.1.3"
1355
1704
  source = "registry+https://github.com/rust-lang/crates.io-index"
1356
1705
  checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da"
1357
1706
 
1707
+ [[package]]
1708
+ name = "uuid"
1709
+ version = "1.26.1"
1710
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1711
+ checksum = "2ef6dac1e96601b4fb3acccccff2139741fcb757cb9a36089bf5be91cfb285ce"
1712
+
1713
+ [[package]]
1714
+ name = "vello_common"
1715
+ version = "0.0.9"
1716
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1717
+ checksum = "19d672facaa2d697285a786cd9d44d614cd2ce54cdc022504bf339f8fff3b750"
1718
+ dependencies = [
1719
+ "bytemuck",
1720
+ "fearless_simd",
1721
+ "guillotiere",
1722
+ "hashbrown 0.17.1",
1723
+ "log",
1724
+ "peniko",
1725
+ "smallvec",
1726
+ "thiserror 2.0.18",
1727
+ ]
1728
+
1729
+ [[package]]
1730
+ name = "vello_cpu"
1731
+ version = "0.0.9"
1732
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1733
+ checksum = "588691169aed86b5c8fb487266afee01323234e6fd0a3f2aaec0eaa8e4007f23"
1734
+ dependencies = [
1735
+ "bytemuck",
1736
+ "glifo",
1737
+ "hashbrown 0.17.1",
1738
+ "vello_common",
1739
+ ]
1740
+
1358
1741
  [[package]]
1359
1742
  name = "version_check"
1360
1743
  version = "0.9.5"
@@ -1468,6 +1851,16 @@ dependencies = [
1468
1851
  "wasm-bindgen",
1469
1852
  ]
1470
1853
 
1854
+ [[package]]
1855
+ name = "web-time"
1856
+ version = "1.1.0"
1857
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1858
+ checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb"
1859
+ dependencies = [
1860
+ "js-sys",
1861
+ "wasm-bindgen",
1862
+ ]
1863
+
1471
1864
  [[package]]
1472
1865
  name = "wgpu"
1473
1866
  version = "29.0.1"
@@ -1475,7 +1868,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1475
1868
  checksum = "72c239a9a747bbd379590985bac952c2e53cb19873f7072b3370c6a6a8e06837"
1476
1869
  dependencies = [
1477
1870
  "arrayvec",
1478
- "bitflags 2.11.0",
1871
+ "bitflags 2.13.2",
1479
1872
  "bytemuck",
1480
1873
  "cfg-if",
1481
1874
  "cfg_aliases",
@@ -1507,7 +1900,7 @@ dependencies = [
1507
1900
  "arrayvec",
1508
1901
  "bit-set",
1509
1902
  "bit-vec",
1510
- "bitflags 2.11.0",
1903
+ "bitflags 2.13.2",
1511
1904
  "bytemuck",
1512
1905
  "cfg_aliases",
1513
1906
  "document-features",
@@ -1520,11 +1913,12 @@ dependencies = [
1520
1913
  "portable-atomic",
1521
1914
  "profiling",
1522
1915
  "raw-window-handle",
1523
- "rustc-hash",
1916
+ "rustc-hash 1.1.0",
1524
1917
  "smallvec",
1525
1918
  "thiserror 2.0.18",
1526
1919
  "wgpu-core-deps-apple",
1527
1920
  "wgpu-core-deps-emscripten",
1921
+ "wgpu-core-deps-wasm",
1528
1922
  "wgpu-core-deps-windows-linux-android",
1529
1923
  "wgpu-hal",
1530
1924
  "wgpu-naga-bridge",
@@ -1549,6 +1943,15 @@ dependencies = [
1549
1943
  "wgpu-hal",
1550
1944
  ]
1551
1945
 
1946
+ [[package]]
1947
+ name = "wgpu-core-deps-wasm"
1948
+ version = "29.0.4"
1949
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1950
+ checksum = "af1fb1798be2a912497d4c224f72d39bb0cb34af50e8bcc29865bc339c943059"
1951
+ dependencies = [
1952
+ "wgpu-hal",
1953
+ ]
1954
+
1552
1955
  [[package]]
1553
1956
  name = "wgpu-core-deps-windows-linux-android"
1554
1957
  version = "29.0.0"
@@ -1568,7 +1971,7 @@ dependencies = [
1568
1971
  "arrayvec",
1569
1972
  "ash",
1570
1973
  "bit-set",
1571
- "bitflags 2.11.0",
1974
+ "bitflags 2.13.2",
1572
1975
  "block2",
1573
1976
  "bytemuck",
1574
1977
  "cfg-if",
@@ -1627,7 +2030,7 @@ version = "29.0.1"
1627
2030
  source = "registry+https://github.com/rust-lang/crates.io-index"
1628
2031
  checksum = "ec2675540fb1a5cfa5ef122d3d5f390e2c75711a0b946410f2d6ac3a0f77d1f6"
1629
2032
  dependencies = [
1630
- "bitflags 2.11.0",
2033
+ "bitflags 2.13.2",
1631
2034
  "bytemuck",
1632
2035
  "js-sys",
1633
2036
  "log",