@bornengine/engine 0.4.16 → 0.5.0

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 +216 -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
@@ -14,6 +14,8 @@ jolt = ["bloom-shared/jolt"]
14
14
  # unaffected; pure-2D games opt out via Perry feature forwarding.
15
15
  models3d = ["bloom-shared/models3d"]
16
16
  image-extras = ["bloom-shared/image-extras"]
17
+ hot-reload = ["bloom-shared/hot-reload"]
18
+ dev = ["hot-reload"]
17
19
 
18
20
  # Match perry-runtime's panic strategy so the final perry-driven link
19
21
  # doesn't see two copies of rust_eh_personality (and friends) from two
@@ -13,6 +13,33 @@
13
13
  }
14
14
  #[no_mangle] pub extern "C" fn bloom_resize(_p0: f64, _p1: f64, _p2: f64, _p3: f64) {
15
15
  }
16
+ #[no_mangle] pub extern "C" fn bloom_ui_command(_p0: f64, _p1: f64, _p2: f64, _p3: f64, _p4: f64, _p5: f64, _p6: f64, _p7: i64) -> f64 {
17
+ 0.0
18
+ }
19
+ #[no_mangle] pub extern "C" fn bloom_ui_scratch_reset(_p0: f64) {
20
+ }
21
+ #[no_mangle] pub extern "C" fn bloom_ui_scratch_push_f64(_p0: f64, _p1: f64) {
22
+ }
23
+ #[no_mangle] pub extern "C" fn bloom_ui_scratch_command(_p0: f64, _p1: f64, _p2: f64, _p3: f64, _p4: i64) -> f64 {
24
+ 0.0
25
+ }
26
+ #[no_mangle] pub extern "C" fn bloom_ui_inject_text(_p0: i64) {
27
+ }
28
+ #[no_mangle] pub extern "C" fn bloom_ui_response(_p0: f64, _p1: f64, _p2: f64) -> f64 {
29
+ 0.0
30
+ }
31
+ #[no_mangle] pub extern "C" fn bloom_ui_response_text(_p0: f64, _p1: f64) -> i64 {
32
+ 0
33
+ }
34
+ #[no_mangle] pub extern "C" fn bloom_ui_is_available(_p0: f64) -> f64 {
35
+ 0.0
36
+ }
37
+ #[no_mangle] pub extern "C" fn bloom_ui_wants_input(_p0: f64, _p1: f64) -> f64 {
38
+ 0.0
39
+ }
40
+ #[no_mangle] pub extern "C" fn bloom_ui_take_keyboard_request(_p0: f64) -> f64 {
41
+ 0.0
42
+ }
16
43
  #[no_mangle] pub extern "C" fn bloom_take_screenshot(_p0: i64) {
17
44
  }
18
45
  #[no_mangle] pub extern "C" fn bloom_set_env_clear_from_hdr(_p0: i64) {
@@ -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"
@@ -73,9 +94,9 @@ checksum = "b71798fca2c1fe1086445a7258a4bc81e6e49dcd24c8d0dd9a1e57395b603f51"
73
94
 
74
95
  [[package]]
75
96
  name = "bitflags"
76
- version = "2.11.1"
97
+ version = "2.13.2"
77
98
  source = "registry+https://github.com/rust-lang/crates.io-index"
78
- checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3"
99
+ checksum = "3ded4057c258ba199e2d26386d3af3780957ecaee6c4ef4041c6b4b8b97c0b06"
79
100
 
80
101
  [[package]]
81
102
  name = "block2"
@@ -93,6 +114,8 @@ dependencies = [
93
114
  "bytemuck",
94
115
  "cmake",
95
116
  "earcutr",
117
+ "egui",
118
+ "egui-wgpu",
96
119
  "fontdue",
97
120
  "gltf",
98
121
  "half",
@@ -102,7 +125,7 @@ dependencies = [
102
125
  "libc",
103
126
  "raw-window-handle",
104
127
  "web-sys",
105
- "web-time",
128
+ "web-time 0.2.4",
106
129
  "wgpu",
107
130
  ]
108
131
 
@@ -199,6 +222,15 @@ dependencies = [
199
222
  "unicode-width",
200
223
  ]
201
224
 
225
+ [[package]]
226
+ name = "color"
227
+ version = "0.3.3"
228
+ source = "registry+https://github.com/rust-lang/crates.io-index"
229
+ checksum = "2ec7c5eb7a16992b1904d76c517d170ab353b0e0b3d5a0c81a8a0cd1037893cf"
230
+ dependencies = [
231
+ "bytemuck",
232
+ ]
233
+
202
234
  [[package]]
203
235
  name = "console_error_panic_hook"
204
236
  version = "0.1.7"
@@ -270,16 +302,72 @@ version = "0.4.3"
270
302
  source = "registry+https://github.com/rust-lang/crates.io-index"
271
303
  checksum = "79127ed59a85d7687c409e9978547cffb7dc79675355ed22da6b66fd5f6ead01"
272
304
  dependencies = [
273
- "itertools",
305
+ "itertools 0.11.0",
274
306
  "num-traits",
275
307
  ]
276
308
 
309
+ [[package]]
310
+ name = "ecolor"
311
+ version = "0.35.0"
312
+ source = "registry+https://github.com/rust-lang/crates.io-index"
313
+ checksum = "6758be723a3f298bbfda4db75748bc2ba0abafe096b6383c7c32da264764fbc3"
314
+ dependencies = [
315
+ "bytemuck",
316
+ "emath",
317
+ ]
318
+
319
+ [[package]]
320
+ name = "egui"
321
+ version = "0.35.0"
322
+ source = "registry+https://github.com/rust-lang/crates.io-index"
323
+ checksum = "2796c98d50b79631281d516343a6f6e93c0666462ca36e2c93b39f25d7793325"
324
+ dependencies = [
325
+ "accesskit",
326
+ "ahash",
327
+ "bitflags",
328
+ "emath",
329
+ "epaint",
330
+ "itertools 0.14.0",
331
+ "log",
332
+ "nohash-hasher",
333
+ "profiling",
334
+ "smallvec",
335
+ "unicode-segmentation",
336
+ ]
337
+
338
+ [[package]]
339
+ name = "egui-wgpu"
340
+ version = "0.35.0"
341
+ source = "registry+https://github.com/rust-lang/crates.io-index"
342
+ checksum = "d2e6cfac0725563555fa4f91e9f799b9d7c6c5dd831fca6abc8234afc64b7a34"
343
+ dependencies = [
344
+ "ahash",
345
+ "bytemuck",
346
+ "document-features",
347
+ "epaint",
348
+ "log",
349
+ "profiling",
350
+ "thiserror 2.0.18",
351
+ "type-map",
352
+ "web-time 1.1.0",
353
+ "wgpu",
354
+ ]
355
+
277
356
  [[package]]
278
357
  name = "either"
279
358
  version = "1.15.0"
280
359
  source = "registry+https://github.com/rust-lang/crates.io-index"
281
360
  checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
282
361
 
362
+ [[package]]
363
+ name = "emath"
364
+ version = "0.35.0"
365
+ source = "registry+https://github.com/rust-lang/crates.io-index"
366
+ checksum = "cd4ec073c9898516584d8c6cfdcee95b530b3d941cd5031ef4050aa36812308b"
367
+ dependencies = [
368
+ "bytemuck",
369
+ ]
370
+
283
371
  [[package]]
284
372
  name = "enum-primitive-derive"
285
373
  version = "0.2.2"
@@ -291,12 +379,52 @@ dependencies = [
291
379
  "syn 1.0.109",
292
380
  ]
293
381
 
382
+ [[package]]
383
+ name = "epaint"
384
+ version = "0.35.0"
385
+ source = "registry+https://github.com/rust-lang/crates.io-index"
386
+ checksum = "4e60a8888b51da911df23918fd7301359b1d43a406a0ff3b8863af093dd7fc6c"
387
+ dependencies = [
388
+ "ahash",
389
+ "bytemuck",
390
+ "ecolor",
391
+ "emath",
392
+ "epaint_default_fonts",
393
+ "font-types",
394
+ "harfrust",
395
+ "log",
396
+ "nohash-hasher",
397
+ "parking_lot",
398
+ "profiling",
399
+ "self_cell",
400
+ "skrifa",
401
+ "smallvec",
402
+ "unicode-general-category",
403
+ "unicode-segmentation",
404
+ "vello_cpu",
405
+ ]
406
+
407
+ [[package]]
408
+ name = "epaint_default_fonts"
409
+ version = "0.35.0"
410
+ source = "registry+https://github.com/rust-lang/crates.io-index"
411
+ checksum = "13ee4e1f553a3584c301f3a56ff1a775f1384781396cea301c8d952e9b93f560"
412
+
294
413
  [[package]]
295
414
  name = "equivalent"
296
415
  version = "1.0.2"
297
416
  source = "registry+https://github.com/rust-lang/crates.io-index"
298
417
  checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
299
418
 
419
+ [[package]]
420
+ name = "euclid"
421
+ version = "0.22.14"
422
+ source = "registry+https://github.com/rust-lang/crates.io-index"
423
+ checksum = "f1a05365e3b1c6d1650318537c7460c6923f1abdd272ad6842baa2b509957a06"
424
+ dependencies = [
425
+ "num-traits",
426
+ ]
427
+
300
428
  [[package]]
301
429
  name = "fdeflate"
302
430
  version = "0.3.7"
@@ -306,6 +434,12 @@ dependencies = [
306
434
  "simd-adler32",
307
435
  ]
308
436
 
437
+ [[package]]
438
+ name = "fearless_simd"
439
+ version = "0.4.1"
440
+ source = "registry+https://github.com/rust-lang/crates.io-index"
441
+ checksum = "b97b65636e5b9ef369943878ac74335ba1c55c1cb6adbf1e2c293c624248d693"
442
+
309
443
  [[package]]
310
444
  name = "find-msvc-tools"
311
445
  version = "0.1.9"
@@ -334,6 +468,15 @@ version = "0.2.0"
334
468
  source = "registry+https://github.com/rust-lang/crates.io-index"
335
469
  checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb"
336
470
 
471
+ [[package]]
472
+ name = "font-types"
473
+ version = "0.11.3"
474
+ source = "registry+https://github.com/rust-lang/crates.io-index"
475
+ checksum = "5b38ad915f6dadd993ced50848a8291a543bd41ca62bc10740d5e64e2ab4cfd7"
476
+ dependencies = [
477
+ "bytemuck",
478
+ ]
479
+
337
480
  [[package]]
338
481
  name = "fontdue"
339
482
  version = "0.9.3"
@@ -379,6 +522,22 @@ dependencies = [
379
522
  "xml-rs",
380
523
  ]
381
524
 
525
+ [[package]]
526
+ name = "glifo"
527
+ version = "0.1.1"
528
+ source = "registry+https://github.com/rust-lang/crates.io-index"
529
+ checksum = "d99fc21d493812643aae86d53b7bbd02f376434a90317e8a790bc209fdd6605e"
530
+ dependencies = [
531
+ "bytemuck",
532
+ "foldhash 0.2.0",
533
+ "hashbrown 0.17.1",
534
+ "log",
535
+ "peniko",
536
+ "skrifa",
537
+ "smallvec",
538
+ "vello_common",
539
+ ]
540
+
382
541
  [[package]]
383
542
  name = "glow"
384
543
  version = "0.17.0"
@@ -473,6 +632,15 @@ dependencies = [
473
632
  "bitflags",
474
633
  ]
475
634
 
635
+ [[package]]
636
+ name = "guillotiere"
637
+ version = "0.7.0"
638
+ source = "registry+https://github.com/rust-lang/crates.io-index"
639
+ checksum = "6b17e70c989c36bad147b27a58d148c0741c51448aa5653436547323e524d0ab"
640
+ dependencies = [
641
+ "euclid",
642
+ ]
643
+
476
644
  [[package]]
477
645
  name = "half"
478
646
  version = "2.7.1"
@@ -486,6 +654,18 @@ dependencies = [
486
654
  "zerocopy",
487
655
  ]
488
656
 
657
+ [[package]]
658
+ name = "harfrust"
659
+ version = "0.7.0"
660
+ source = "registry+https://github.com/rust-lang/crates.io-index"
661
+ checksum = "0431e8e389aa0f1e72bb9d1c2db8957a1a7a3580e8ed97db819c14837aac9b3e"
662
+ dependencies = [
663
+ "bitflags",
664
+ "bytemuck",
665
+ "read-fonts",
666
+ "smallvec",
667
+ ]
668
+
489
669
  [[package]]
490
670
  name = "hashbrown"
491
671
  version = "0.15.5"
@@ -510,9 +690,12 @@ dependencies = [
510
690
 
511
691
  [[package]]
512
692
  name = "hashbrown"
513
- version = "0.17.0"
693
+ version = "0.17.1"
514
694
  source = "registry+https://github.com/rust-lang/crates.io-index"
515
- checksum = "4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51"
695
+ checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a"
696
+ dependencies = [
697
+ "foldhash 0.2.0",
698
+ ]
516
699
 
517
700
  [[package]]
518
701
  name = "hexf-parse"
@@ -556,7 +739,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
556
739
  checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9"
557
740
  dependencies = [
558
741
  "equivalent",
559
- "hashbrown 0.17.0",
742
+ "hashbrown 0.17.1",
560
743
  ]
561
744
 
562
745
  [[package]]
@@ -574,6 +757,15 @@ dependencies = [
574
757
  "either",
575
758
  ]
576
759
 
760
+ [[package]]
761
+ name = "itertools"
762
+ version = "0.14.0"
763
+ source = "registry+https://github.com/rust-lang/crates.io-index"
764
+ checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285"
765
+ dependencies = [
766
+ "either",
767
+ ]
768
+
577
769
  [[package]]
578
770
  name = "itoa"
579
771
  version = "1.0.18"
@@ -637,6 +829,18 @@ version = "3.1.0"
637
829
  source = "registry+https://github.com/rust-lang/crates.io-index"
638
830
  checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc"
639
831
 
832
+ [[package]]
833
+ name = "kurbo"
834
+ version = "0.13.1"
835
+ source = "registry+https://github.com/rust-lang/crates.io-index"
836
+ checksum = "4b60dfc32f652b926df6192e55525b16d186c69d47876c3ead4da5cc9f8450e2"
837
+ dependencies = [
838
+ "arrayvec",
839
+ "euclid",
840
+ "polycool",
841
+ "smallvec",
842
+ ]
843
+
640
844
  [[package]]
641
845
  name = "lazy_static"
642
846
  version = "1.5.0"
@@ -676,6 +880,12 @@ version = "0.2.16"
676
880
  source = "registry+https://github.com/rust-lang/crates.io-index"
677
881
  checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981"
678
882
 
883
+ [[package]]
884
+ name = "linebender_resource_handle"
885
+ version = "0.1.1"
886
+ source = "registry+https://github.com/rust-lang/crates.io-index"
887
+ checksum = "d4a5ff6bcca6c4867b1c4fd4ef63e4db7436ef363e0ad7531d1558856bae64f4"
888
+
679
889
  [[package]]
680
890
  name = "litrs"
681
891
  version = "1.0.0"
@@ -693,9 +903,9 @@ dependencies = [
693
903
 
694
904
  [[package]]
695
905
  name = "log"
696
- version = "0.4.29"
906
+ version = "0.4.34"
697
907
  source = "registry+https://github.com/rust-lang/crates.io-index"
698
- checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897"
908
+ checksum = "f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6"
699
909
 
700
910
  [[package]]
701
911
  name = "memchr"
@@ -743,7 +953,7 @@ dependencies = [
743
953
  "log",
744
954
  "num-traits",
745
955
  "once_cell",
746
- "rustc-hash",
956
+ "rustc-hash 1.1.0",
747
957
  "spirv",
748
958
  "thiserror 2.0.18",
749
959
  "unicode-ident",
@@ -758,6 +968,12 @@ dependencies = [
758
968
  "jni-sys 0.3.1",
759
969
  ]
760
970
 
971
+ [[package]]
972
+ name = "nohash-hasher"
973
+ version = "0.2.0"
974
+ source = "registry+https://github.com/rust-lang/crates.io-index"
975
+ checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451"
976
+
761
977
  [[package]]
762
978
  name = "num-traits"
763
979
  version = "0.2.19"
@@ -877,6 +1093,19 @@ dependencies = [
877
1093
  "windows-link",
878
1094
  ]
879
1095
 
1096
+ [[package]]
1097
+ name = "peniko"
1098
+ version = "0.6.1"
1099
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1100
+ checksum = "839c8299360d2e998bdb106dc0a6cd71dcc5f4df51df1b620361bf50e283cca6"
1101
+ dependencies = [
1102
+ "bytemuck",
1103
+ "color",
1104
+ "kurbo",
1105
+ "linebender_resource_handle",
1106
+ "smallvec",
1107
+ ]
1108
+
880
1109
  [[package]]
881
1110
  name = "pin-project-lite"
882
1111
  version = "0.2.17"
@@ -902,6 +1131,15 @@ dependencies = [
902
1131
  "miniz_oxide",
903
1132
  ]
904
1133
 
1134
+ [[package]]
1135
+ name = "polycool"
1136
+ version = "0.4.0"
1137
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1138
+ checksum = "50596ddc09eb5ad5f75cacd40209568e66df71baf86e1499a0e99c4cff12a5a6"
1139
+ dependencies = [
1140
+ "arrayvec",
1141
+ ]
1142
+
905
1143
  [[package]]
906
1144
  name = "portable-atomic"
907
1145
  version = "1.13.1"
@@ -977,6 +1215,16 @@ dependencies = [
977
1215
  "objc2-quartz-core",
978
1216
  ]
979
1217
 
1218
+ [[package]]
1219
+ name = "read-fonts"
1220
+ version = "0.39.2"
1221
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1222
+ checksum = "c4ed38b89c2c77ff968c524145ad65fb010f38af5c7a224b53b81d47ac2daa81"
1223
+ dependencies = [
1224
+ "bytemuck",
1225
+ "font-types",
1226
+ ]
1227
+
980
1228
  [[package]]
981
1229
  name = "redox_syscall"
982
1230
  version = "0.5.18"
@@ -998,6 +1246,12 @@ version = "1.1.0"
998
1246
  source = "registry+https://github.com/rust-lang/crates.io-index"
999
1247
  checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
1000
1248
 
1249
+ [[package]]
1250
+ name = "rustc-hash"
1251
+ version = "2.1.3"
1252
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1253
+ checksum = "6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d"
1254
+
1001
1255
  [[package]]
1002
1256
  name = "rustversion"
1003
1257
  version = "1.0.22"
@@ -1010,6 +1264,12 @@ version = "1.2.0"
1010
1264
  source = "registry+https://github.com/rust-lang/crates.io-index"
1011
1265
  checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
1012
1266
 
1267
+ [[package]]
1268
+ name = "self_cell"
1269
+ version = "1.3.0"
1270
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1271
+ checksum = "2ab42ca02749e120097e328d91d415325bdf43b1c72c4c8badf37375fe40a813"
1272
+
1013
1273
  [[package]]
1014
1274
  name = "serde"
1015
1275
  version = "1.0.228"
@@ -1065,6 +1325,16 @@ version = "0.3.9"
1065
1325
  source = "registry+https://github.com/rust-lang/crates.io-index"
1066
1326
  checksum = "703d5c7ef118737c72f1af64ad2f6f8c5e1921f818cdcb97b8fe6fc69bf66214"
1067
1327
 
1328
+ [[package]]
1329
+ name = "skrifa"
1330
+ version = "0.42.1"
1331
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1332
+ checksum = "0c34617370ae968efb7161bb2beb517d9084659aae19e24b89e3db25b46e4564"
1333
+ dependencies = [
1334
+ "bytemuck",
1335
+ "read-fonts",
1336
+ ]
1337
+
1068
1338
  [[package]]
1069
1339
  name = "slab"
1070
1340
  version = "0.4.12"
@@ -1193,12 +1463,33 @@ version = "0.21.1"
1193
1463
  source = "registry+https://github.com/rust-lang/crates.io-index"
1194
1464
  checksum = "2c591d83f69777866b9126b24c6dd9a18351f177e49d625920d19f989fd31cf8"
1195
1465
 
1466
+ [[package]]
1467
+ name = "type-map"
1468
+ version = "0.5.1"
1469
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1470
+ checksum = "cb30dbbd9036155e74adad6812e9898d03ec374946234fbcebd5dfc7b9187b90"
1471
+ dependencies = [
1472
+ "rustc-hash 2.1.3",
1473
+ ]
1474
+
1475
+ [[package]]
1476
+ name = "unicode-general-category"
1477
+ version = "1.1.0"
1478
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1479
+ checksum = "0b993bddc193ae5bd0d623b49ec06ac3e9312875fdae725a975c51db1cc1677f"
1480
+
1196
1481
  [[package]]
1197
1482
  name = "unicode-ident"
1198
1483
  version = "1.0.24"
1199
1484
  source = "registry+https://github.com/rust-lang/crates.io-index"
1200
1485
  checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
1201
1486
 
1487
+ [[package]]
1488
+ name = "unicode-segmentation"
1489
+ version = "1.13.3"
1490
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1491
+ checksum = "c6f5d3c3b1bf09027a88a6bc961fc00497d651009560b5463668dc81b0fa87a8"
1492
+
1202
1493
  [[package]]
1203
1494
  name = "unicode-width"
1204
1495
  version = "0.2.2"
@@ -1211,6 +1502,40 @@ version = "2.1.3"
1211
1502
  source = "registry+https://github.com/rust-lang/crates.io-index"
1212
1503
  checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da"
1213
1504
 
1505
+ [[package]]
1506
+ name = "uuid"
1507
+ version = "1.26.1"
1508
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1509
+ checksum = "2ef6dac1e96601b4fb3acccccff2139741fcb757cb9a36089bf5be91cfb285ce"
1510
+
1511
+ [[package]]
1512
+ name = "vello_common"
1513
+ version = "0.0.9"
1514
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1515
+ checksum = "19d672facaa2d697285a786cd9d44d614cd2ce54cdc022504bf339f8fff3b750"
1516
+ dependencies = [
1517
+ "bytemuck",
1518
+ "fearless_simd",
1519
+ "guillotiere",
1520
+ "hashbrown 0.17.1",
1521
+ "log",
1522
+ "peniko",
1523
+ "smallvec",
1524
+ "thiserror 2.0.18",
1525
+ ]
1526
+
1527
+ [[package]]
1528
+ name = "vello_cpu"
1529
+ version = "0.0.9"
1530
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1531
+ checksum = "588691169aed86b5c8fb487266afee01323234e6fd0a3f2aaec0eaa8e4007f23"
1532
+ dependencies = [
1533
+ "bytemuck",
1534
+ "glifo",
1535
+ "hashbrown 0.17.1",
1536
+ "vello_common",
1537
+ ]
1538
+
1214
1539
  [[package]]
1215
1540
  name = "version_check"
1216
1541
  version = "0.9.5"
@@ -1304,6 +1629,16 @@ dependencies = [
1304
1629
  "wasm-bindgen",
1305
1630
  ]
1306
1631
 
1632
+ [[package]]
1633
+ name = "web-time"
1634
+ version = "1.1.0"
1635
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1636
+ checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb"
1637
+ dependencies = [
1638
+ "js-sys",
1639
+ "wasm-bindgen",
1640
+ ]
1641
+
1307
1642
  [[package]]
1308
1643
  name = "wgpu"
1309
1644
  version = "29.0.1"
@@ -1356,7 +1691,7 @@ dependencies = [
1356
1691
  "portable-atomic",
1357
1692
  "profiling",
1358
1693
  "raw-window-handle",
1359
- "rustc-hash",
1694
+ "rustc-hash 1.1.0",
1360
1695
  "smallvec",
1361
1696
  "thiserror 2.0.18",
1362
1697
  "wgpu-core-deps-apple",
@@ -15,6 +15,12 @@ jolt = ["bloom-shared/jolt"]
15
15
  models3d = ["bloom-shared/models3d"]
16
16
  image-extras = ["bloom-shared/image-extras"]
17
17
 
18
+ [package.metadata.wasm-pack.profile.dev]
19
+ wasm-opt = false
20
+
21
+ [package.metadata.wasm-pack.profile.release]
22
+ wasm-opt = ["-Oz"]
23
+
18
24
  [dependencies]
19
25
  bloom-shared = { path = "../shared", default-features = false, features = ["web"] }
20
26
  wasm-bindgen = "0.2"