@datamoc/mw_games 0.41.0 → 0.42.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 (51) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/REFERENCE.md +16 -3
  3. package/api-surface.json +24 -0
  4. package/dist/audio/MidiRender.d.ts +3 -1
  5. package/dist/audio/MidiRender.d.ts.map +1 -1
  6. package/dist/audio/MidiRender.js +3 -1
  7. package/dist/audio/MidiRender.js.map +1 -1
  8. package/dist/audio/SoundFont.d.ts +35 -2
  9. package/dist/audio/SoundFont.d.ts.map +1 -1
  10. package/dist/audio/SoundFont.js +43 -7
  11. package/dist/audio/SoundFont.js.map +1 -1
  12. package/dist/audio/index.d.ts +2 -2
  13. package/dist/audio/index.d.ts.map +1 -1
  14. package/dist/audio/index.js +1 -1
  15. package/dist/audio/index.js.map +1 -1
  16. package/dist/core/DialogueText.d.ts +25 -0
  17. package/dist/core/DialogueText.d.ts.map +1 -1
  18. package/dist/core/DialogueText.js +25 -0
  19. package/dist/core/DialogueText.js.map +1 -1
  20. package/dist/core/Motion.d.ts +20 -0
  21. package/dist/core/Motion.d.ts.map +1 -1
  22. package/dist/core/Motion.js +20 -0
  23. package/dist/core/Motion.js.map +1 -1
  24. package/dist/core/Save.d.ts +31 -0
  25. package/dist/core/Save.d.ts.map +1 -1
  26. package/dist/core/Save.js +31 -0
  27. package/dist/core/Save.js.map +1 -1
  28. package/dist/core/Twee.d.ts +34 -0
  29. package/dist/core/Twee.d.ts.map +1 -1
  30. package/dist/core/Twee.js +34 -0
  31. package/dist/core/Twee.js.map +1 -1
  32. package/dist/mw_games.global.js +11 -11
  33. package/dist/physics/XpbdWorld.d.ts +45 -0
  34. package/dist/physics/XpbdWorld.d.ts.map +1 -1
  35. package/dist/physics/XpbdWorld.js +45 -0
  36. package/dist/physics/XpbdWorld.js.map +1 -1
  37. package/dist/two-d/ui/theme.d.ts +18 -0
  38. package/dist/two-d/ui/theme.d.ts.map +1 -1
  39. package/dist/two-d/ui/theme.js.map +1 -1
  40. package/dist/version.d.ts +1 -1
  41. package/dist/version.js +1 -1
  42. package/package.json +8 -1
  43. package/sbom.cdx.json +466 -6
  44. package/tools/compile-resources.d.mts +6 -0
  45. package/tools/compile-resources.mjs +50 -14
  46. package/tools/emit-page.d.mts +3 -0
  47. package/tools/emit-page.mjs +15 -2
  48. package/tools/svg-optimise.d.mts +8 -0
  49. package/tools/svg-optimise.mjs +45 -0
  50. package/tools/vite.mjs +1 -0
  51. package/tools.md +4 -2
package/sbom.cdx.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "bomFormat": "CycloneDX",
3
3
  "specVersion": "1.6",
4
- "serialNumber": "urn:uuid:7beea397-6b3f-5407-9845-ff23cf264305",
4
+ "serialNumber": "urn:uuid:d84e1ae6-4f60-52e2-ba6e-2d20240cc411",
5
5
  "version": 1,
6
6
  "metadata": {
7
7
  "tools": {
@@ -10,16 +10,16 @@
10
10
  "type": "application",
11
11
  "group": "datamoc",
12
12
  "name": "tools/sbom.mjs",
13
- "version": "0.41.0"
13
+ "version": "0.42.0"
14
14
  }
15
15
  ]
16
16
  },
17
17
  "component": {
18
18
  "type": "library",
19
- "bom-ref": "pkg:npm/%40datamoc/mw_games@0.41.0",
19
+ "bom-ref": "pkg:npm/%40datamoc/mw_games@0.42.0",
20
20
  "name": "@datamoc/mw_games",
21
- "version": "0.41.0",
22
- "purl": "pkg:npm/%40datamoc/mw_games@0.41.0",
21
+ "version": "0.42.0",
22
+ "purl": "pkg:npm/%40datamoc/mw_games@0.42.0",
23
23
  "description": "A local-file game framework: renderer-free game logic, drawn through PixiJS in 2D or Babylon.js in 3D, with mobile and desktop packaging.",
24
24
  "licenses": [
25
25
  {
@@ -2089,6 +2089,27 @@
2089
2089
  }
2090
2090
  ]
2091
2091
  },
2092
+ {
2093
+ "type": "library",
2094
+ "bom-ref": "pkg:npm/boolbase@1.0.0",
2095
+ "name": "boolbase",
2096
+ "version": "1.0.0",
2097
+ "purl": "pkg:npm/boolbase@1.0.0",
2098
+ "scope": "excluded",
2099
+ "hashes": [
2100
+ {
2101
+ "alg": "SHA-512",
2102
+ "content": "25939203b328f6c34607cf948d283374bb68916024cb5cdbced3375912c26d9ef4ff771300d99098e751ef2da0f89d1ed965f2c32d724b8ebcb58f88aeea84c3"
2103
+ }
2104
+ ],
2105
+ "licenses": [
2106
+ {
2107
+ "license": {
2108
+ "id": "ISC"
2109
+ }
2110
+ }
2111
+ ]
2112
+ },
2092
2113
  {
2093
2114
  "type": "library",
2094
2115
  "bom-ref": "pkg:npm/bplist-creator@0.1.0",
@@ -2257,6 +2278,27 @@
2257
2278
  }
2258
2279
  ]
2259
2280
  },
2281
+ {
2282
+ "type": "library",
2283
+ "bom-ref": "pkg:npm/commander@11.1.0",
2284
+ "name": "commander",
2285
+ "version": "11.1.0",
2286
+ "purl": "pkg:npm/commander@11.1.0",
2287
+ "scope": "excluded",
2288
+ "hashes": [
2289
+ {
2290
+ "alg": "SHA-512",
2291
+ "content": "c8f55abdfc82711866a2b0bbad69641e7d796f8c03560566040ee457841506c17b92fffd4ca2406c05d54f1bd39f03fc1c72a34422430a529b7228984bba740d"
2292
+ }
2293
+ ],
2294
+ "licenses": [
2295
+ {
2296
+ "license": {
2297
+ "id": "MIT"
2298
+ }
2299
+ }
2300
+ ]
2301
+ },
2260
2302
  {
2261
2303
  "type": "library",
2262
2304
  "bom-ref": "pkg:npm/commander@12.1.0",
@@ -2299,6 +2341,111 @@
2299
2341
  }
2300
2342
  ]
2301
2343
  },
2344
+ {
2345
+ "type": "library",
2346
+ "bom-ref": "pkg:npm/css-select@6.0.0",
2347
+ "name": "css-select",
2348
+ "version": "6.0.0",
2349
+ "purl": "pkg:npm/css-select@6.0.0",
2350
+ "scope": "excluded",
2351
+ "hashes": [
2352
+ {
2353
+ "alg": "SHA-512",
2354
+ "content": "ad965548b95ef2fd3e118f100240d6aca86982de920393ad1ec8019ec8fa65a2dbe5d98354e5940ed422b5df72771c6f12385ec0db9d4ba793554eee3b2cef5f"
2355
+ }
2356
+ ],
2357
+ "licenses": [
2358
+ {
2359
+ "license": {
2360
+ "id": "BSD-2-Clause"
2361
+ }
2362
+ }
2363
+ ]
2364
+ },
2365
+ {
2366
+ "type": "library",
2367
+ "bom-ref": "pkg:npm/css-tree@2.2.1",
2368
+ "name": "css-tree",
2369
+ "version": "2.2.1",
2370
+ "purl": "pkg:npm/css-tree@2.2.1",
2371
+ "scope": "excluded",
2372
+ "hashes": [
2373
+ {
2374
+ "alg": "SHA-512",
2375
+ "content": "380d2620bcc67359023824897ab39ea83c434381ce87e1bc35b38914e4e0382ce9c3b7c206e6e4d1f132c69f0080e2ff8ef2e0600fee57470c6dee3712517524"
2376
+ }
2377
+ ],
2378
+ "licenses": [
2379
+ {
2380
+ "license": {
2381
+ "id": "MIT"
2382
+ }
2383
+ }
2384
+ ]
2385
+ },
2386
+ {
2387
+ "type": "library",
2388
+ "bom-ref": "pkg:npm/css-tree@3.2.1",
2389
+ "name": "css-tree",
2390
+ "version": "3.2.1",
2391
+ "purl": "pkg:npm/css-tree@3.2.1",
2392
+ "scope": "excluded",
2393
+ "hashes": [
2394
+ {
2395
+ "alg": "SHA-512",
2396
+ "content": "5fbb2343371e521bb5bbb63fca5ad1645536152e8b462155a7aaca2cf836df2df1ddcdc338a030b97183a7e3c01a387a0929c28d8780ba5f29713f1b025fa548"
2397
+ }
2398
+ ],
2399
+ "licenses": [
2400
+ {
2401
+ "license": {
2402
+ "id": "MIT"
2403
+ }
2404
+ }
2405
+ ]
2406
+ },
2407
+ {
2408
+ "type": "library",
2409
+ "bom-ref": "pkg:npm/css-what@7.0.0",
2410
+ "name": "css-what",
2411
+ "version": "7.0.0",
2412
+ "purl": "pkg:npm/css-what@7.0.0",
2413
+ "scope": "excluded",
2414
+ "hashes": [
2415
+ {
2416
+ "alg": "SHA-512",
2417
+ "content": "c03e68cf9c626cc38f1f3cb5dc2c869a8801de985dbdc0da079b745bf36be59d8efda81c07c6303b3e9ed8bb29d74a4d0f30680cef6755add11acff606db691d"
2418
+ }
2419
+ ],
2420
+ "licenses": [
2421
+ {
2422
+ "license": {
2423
+ "id": "BSD-2-Clause"
2424
+ }
2425
+ }
2426
+ ]
2427
+ },
2428
+ {
2429
+ "type": "library",
2430
+ "bom-ref": "pkg:npm/csso@5.0.5",
2431
+ "name": "csso",
2432
+ "version": "5.0.5",
2433
+ "purl": "pkg:npm/csso@5.0.5",
2434
+ "scope": "excluded",
2435
+ "hashes": [
2436
+ {
2437
+ "alg": "SHA-512",
2438
+ "content": "d0baeb4ad3ce7498fe48f082ac6873af2c9c2e3c1c81448706dc4d03c6880f17f418bb1187570a621074d06775943392e32187ebdf92367d77f9359b54711315"
2439
+ }
2440
+ ],
2441
+ "licenses": [
2442
+ {
2443
+ "license": {
2444
+ "id": "MIT"
2445
+ }
2446
+ }
2447
+ ]
2448
+ },
2302
2449
  {
2303
2450
  "type": "library",
2304
2451
  "bom-ref": "pkg:npm/debug@4.4.3",
@@ -2362,6 +2509,90 @@
2362
2509
  }
2363
2510
  ]
2364
2511
  },
2512
+ {
2513
+ "type": "library",
2514
+ "bom-ref": "pkg:npm/dom-serializer@2.0.0",
2515
+ "name": "dom-serializer",
2516
+ "version": "2.0.0",
2517
+ "purl": "pkg:npm/dom-serializer@2.0.0",
2518
+ "scope": "excluded",
2519
+ "hashes": [
2520
+ {
2521
+ "alg": "SHA-512",
2522
+ "content": "c08900af28aab7f9d5e4440aa90a68dd24e848e57d2740e76c9ab02bb5affd3adcf76cc801867816532ef893c55b50df185b7cd594c21a00c469b7df5de2f226"
2523
+ }
2524
+ ],
2525
+ "licenses": [
2526
+ {
2527
+ "license": {
2528
+ "id": "MIT"
2529
+ }
2530
+ }
2531
+ ]
2532
+ },
2533
+ {
2534
+ "type": "library",
2535
+ "bom-ref": "pkg:npm/domelementtype@2.3.0",
2536
+ "name": "domelementtype",
2537
+ "version": "2.3.0",
2538
+ "purl": "pkg:npm/domelementtype@2.3.0",
2539
+ "scope": "excluded",
2540
+ "hashes": [
2541
+ {
2542
+ "alg": "SHA-512",
2543
+ "content": "38b113063eb0d0eb1a801c1d5e73dd37472731f17da2937af5ca3eed9adb7cf1ab7693d5341523d36b298ba07537bc0284b4223e7e02487ff326f5f0e7a8261f"
2544
+ }
2545
+ ],
2546
+ "licenses": [
2547
+ {
2548
+ "license": {
2549
+ "id": "BSD-2-Clause"
2550
+ }
2551
+ }
2552
+ ]
2553
+ },
2554
+ {
2555
+ "type": "library",
2556
+ "bom-ref": "pkg:npm/domhandler@5.0.3",
2557
+ "name": "domhandler",
2558
+ "version": "5.0.3",
2559
+ "purl": "pkg:npm/domhandler@5.0.3",
2560
+ "scope": "excluded",
2561
+ "hashes": [
2562
+ {
2563
+ "alg": "SHA-512",
2564
+ "content": "720c25bffd621508859d4f7a5d78113a1f314de7adb272620ec4dced36022c577dfbf58d908a8f4f188cffca5277c548ae15c64dfd4dcb5ab586ab95a83241e7"
2565
+ }
2566
+ ],
2567
+ "licenses": [
2568
+ {
2569
+ "license": {
2570
+ "id": "BSD-2-Clause"
2571
+ }
2572
+ }
2573
+ ]
2574
+ },
2575
+ {
2576
+ "type": "library",
2577
+ "bom-ref": "pkg:npm/domutils@3.2.2",
2578
+ "name": "domutils",
2579
+ "version": "3.2.2",
2580
+ "purl": "pkg:npm/domutils@3.2.2",
2581
+ "scope": "excluded",
2582
+ "hashes": [
2583
+ {
2584
+ "alg": "SHA-512",
2585
+ "content": "ea464ac946a3943baa9472955f5c3b832b258fd30f217cc8162cffac6bb7e6e0b5c0c8be90c850c06865e25b7dba70bd55bf4836763d677fd9037f8584048b6b"
2586
+ }
2587
+ ],
2588
+ "licenses": [
2589
+ {
2590
+ "license": {
2591
+ "id": "BSD-2-Clause"
2592
+ }
2593
+ }
2594
+ ]
2595
+ },
2365
2596
  {
2366
2597
  "type": "library",
2367
2598
  "bom-ref": "pkg:npm/earcut@3.2.4",
@@ -2425,6 +2656,27 @@
2425
2656
  }
2426
2657
  ]
2427
2658
  },
2659
+ {
2660
+ "type": "library",
2661
+ "bom-ref": "pkg:npm/entities@4.5.0",
2662
+ "name": "entities",
2663
+ "version": "4.5.0",
2664
+ "purl": "pkg:npm/entities@4.5.0",
2665
+ "scope": "excluded",
2666
+ "hashes": [
2667
+ {
2668
+ "alg": "SHA-512",
2669
+ "content": "5748631f87463e1f40a39a74328458e8156ab700a3873eaf2392d3f00279e47fb883dff8bdb1f1d48e787d2d17b9c94b8431c0acf40288c8c3c6368bf1f3f187"
2670
+ }
2671
+ ],
2672
+ "licenses": [
2673
+ {
2674
+ "license": {
2675
+ "id": "BSD-2-Clause"
2676
+ }
2677
+ }
2678
+ ]
2679
+ },
2428
2680
  {
2429
2681
  "type": "library",
2430
2682
  "bom-ref": "pkg:npm/env-paths@2.2.1",
@@ -3160,6 +3412,48 @@
3160
3412
  }
3161
3413
  ]
3162
3414
  },
3415
+ {
3416
+ "type": "library",
3417
+ "bom-ref": "pkg:npm/mdn-data@2.0.28",
3418
+ "name": "mdn-data",
3419
+ "version": "2.0.28",
3420
+ "purl": "pkg:npm/mdn-data@2.0.28",
3421
+ "scope": "excluded",
3422
+ "hashes": [
3423
+ {
3424
+ "alg": "SHA-512",
3425
+ "content": "6b294873b67dcb8cb31d800936e1121b785f842fb421ba7f30032268e66036fe29984745c9f6618619f2e0c36201f59d050d5143699f0d698cd71f12bc6ca9f2"
3426
+ }
3427
+ ],
3428
+ "licenses": [
3429
+ {
3430
+ "license": {
3431
+ "id": "CC0-1.0"
3432
+ }
3433
+ }
3434
+ ]
3435
+ },
3436
+ {
3437
+ "type": "library",
3438
+ "bom-ref": "pkg:npm/mdn-data@2.27.1",
3439
+ "name": "mdn-data",
3440
+ "version": "2.27.1",
3441
+ "purl": "pkg:npm/mdn-data@2.27.1",
3442
+ "scope": "excluded",
3443
+ "hashes": [
3444
+ {
3445
+ "alg": "SHA-512",
3446
+ "content": "f58b9b9edddef00d0e2b0c58497ca12f29865b8b02b9f70b1ba55d88375419590f869a8bc65bcfe6f975f7cde0423265deda9baccef7d668da65a3faf00828b1"
3447
+ }
3448
+ ],
3449
+ "licenses": [
3450
+ {
3451
+ "license": {
3452
+ "id": "CC0-1.0"
3453
+ }
3454
+ }
3455
+ ]
3456
+ },
3163
3457
  {
3164
3458
  "type": "library",
3165
3459
  "bom-ref": "pkg:npm/minimatch@10.2.6",
@@ -3307,6 +3601,27 @@
3307
3601
  }
3308
3602
  ]
3309
3603
  },
3604
+ {
3605
+ "type": "library",
3606
+ "bom-ref": "pkg:npm/nth-check@2.1.1",
3607
+ "name": "nth-check",
3608
+ "version": "2.1.1",
3609
+ "purl": "pkg:npm/nth-check@2.1.1",
3610
+ "scope": "excluded",
3611
+ "hashes": [
3612
+ {
3613
+ "alg": "SHA-512",
3614
+ "content": "96a8eb8e668ea009d67cc9813cbf97367ca7661dbeb30c625f7594134b38c841c8ea6f80c2b2b65193a2988465dd7ff841cb55a92f008998c5ab2386acc5dbff"
3615
+ }
3616
+ ],
3617
+ "licenses": [
3618
+ {
3619
+ "license": {
3620
+ "id": "BSD-2-Clause"
3621
+ }
3622
+ }
3623
+ ]
3624
+ },
3310
3625
  {
3311
3626
  "type": "library",
3312
3627
  "bom-ref": "pkg:npm/open@8.4.2",
@@ -3748,6 +4063,27 @@
3748
4063
  }
3749
4064
  ]
3750
4065
  },
4066
+ {
4067
+ "type": "library",
4068
+ "bom-ref": "pkg:npm/sax@1.6.1",
4069
+ "name": "sax",
4070
+ "version": "1.6.1",
4071
+ "purl": "pkg:npm/sax@1.6.1",
4072
+ "scope": "excluded",
4073
+ "hashes": [
4074
+ {
4075
+ "alg": "SHA-512",
4076
+ "content": "e36b415702d69da42f5b9cdce076d9ad3b9671c1020997c18bdd850eec2dab16ac1fe25b3c1dff14e29bd66db6d8ae364785b1bb1cf332c4ecc1fce0b52bbae1"
4077
+ }
4078
+ ],
4079
+ "licenses": [
4080
+ {
4081
+ "license": {
4082
+ "id": "BlueOak-1.0.0"
4083
+ }
4084
+ }
4085
+ ]
4086
+ },
3751
4087
  {
3752
4088
  "type": "library",
3753
4089
  "bom-ref": "pkg:npm/semver@7.8.5",
@@ -4063,6 +4399,27 @@
4063
4399
  }
4064
4400
  ]
4065
4401
  },
4402
+ {
4403
+ "type": "library",
4404
+ "bom-ref": "pkg:npm/svgo@4.1.0",
4405
+ "name": "svgo",
4406
+ "version": "4.1.0",
4407
+ "purl": "pkg:npm/svgo@4.1.0",
4408
+ "scope": "excluded",
4409
+ "hashes": [
4410
+ {
4411
+ "alg": "SHA-512",
4412
+ "content": "6e4c674e0d64494d20ba12019a26c0e94521ad098f540d57b102cdfb294277e516cdb9cb93248e717a729359ab974e5ffa971a0b1d9e1dbfaca7a060319597f9"
4413
+ }
4414
+ ],
4415
+ "licenses": [
4416
+ {
4417
+ "license": {
4418
+ "id": "MIT"
4419
+ }
4420
+ }
4421
+ ]
4422
+ },
4066
4423
  {
4067
4424
  "type": "library",
4068
4425
  "bom-ref": "pkg:npm/tar@7.5.22",
@@ -4601,7 +4958,7 @@
4601
4958
  ]
4602
4959
  },
4603
4960
  {
4604
- "ref": "pkg:npm/%40datamoc/mw_games@0.41.0",
4961
+ "ref": "pkg:npm/%40datamoc/mw_games@0.42.0",
4605
4962
  "dependsOn": [
4606
4963
  "pkg:npm/%40babylonjs/core@9.31.0",
4607
4964
  "pkg:npm/%40babylonjs/loaders@9.31.0",
@@ -4619,6 +4976,7 @@
4619
4976
  "pkg:npm/prettier@3.9.10",
4620
4977
  "pkg:npm/rot-js@2.2.1",
4621
4978
  "pkg:npm/sharp@0.35.5",
4979
+ "pkg:npm/svgo@4.1.0",
4622
4980
  "pkg:npm/typescript@7.0.2",
4623
4981
  "pkg:npm/vite@8.3.4",
4624
4982
  "pkg:npm/ws@8.22.0"
@@ -5078,6 +5436,10 @@
5078
5436
  "ref": "pkg:npm/big-integer@1.6.52",
5079
5437
  "dependsOn": []
5080
5438
  },
5439
+ {
5440
+ "ref": "pkg:npm/boolbase@1.0.0",
5441
+ "dependsOn": []
5442
+ },
5081
5443
  {
5082
5444
  "ref": "pkg:npm/bplist-creator@0.1.0",
5083
5445
  "dependsOn": [
@@ -5120,6 +5482,10 @@
5120
5482
  "ref": "pkg:npm/color-name@1.1.4",
5121
5483
  "dependsOn": []
5122
5484
  },
5485
+ {
5486
+ "ref": "pkg:npm/commander@11.1.0",
5487
+ "dependsOn": []
5488
+ },
5123
5489
  {
5124
5490
  "ref": "pkg:npm/commander@12.1.0",
5125
5491
  "dependsOn": []
@@ -5132,6 +5498,40 @@
5132
5498
  "pkg:npm/which@2.0.2"
5133
5499
  ]
5134
5500
  },
5501
+ {
5502
+ "ref": "pkg:npm/css-select@6.0.0",
5503
+ "dependsOn": [
5504
+ "pkg:npm/boolbase@1.0.0",
5505
+ "pkg:npm/css-what@7.0.0",
5506
+ "pkg:npm/domhandler@5.0.3",
5507
+ "pkg:npm/domutils@3.2.2",
5508
+ "pkg:npm/nth-check@2.1.1"
5509
+ ]
5510
+ },
5511
+ {
5512
+ "ref": "pkg:npm/css-tree@2.2.1",
5513
+ "dependsOn": [
5514
+ "pkg:npm/mdn-data@2.0.28",
5515
+ "pkg:npm/source-map-js@1.2.2"
5516
+ ]
5517
+ },
5518
+ {
5519
+ "ref": "pkg:npm/css-tree@3.2.1",
5520
+ "dependsOn": [
5521
+ "pkg:npm/mdn-data@2.27.1",
5522
+ "pkg:npm/source-map-js@1.2.2"
5523
+ ]
5524
+ },
5525
+ {
5526
+ "ref": "pkg:npm/css-what@7.0.0",
5527
+ "dependsOn": []
5528
+ },
5529
+ {
5530
+ "ref": "pkg:npm/csso@5.0.5",
5531
+ "dependsOn": [
5532
+ "pkg:npm/css-tree@2.2.1"
5533
+ ]
5534
+ },
5135
5535
  {
5136
5536
  "ref": "pkg:npm/debug@4.4.3",
5137
5537
  "dependsOn": [
@@ -5146,6 +5546,32 @@
5146
5546
  "ref": "pkg:npm/detect-libc@2.1.2",
5147
5547
  "dependsOn": []
5148
5548
  },
5549
+ {
5550
+ "ref": "pkg:npm/dom-serializer@2.0.0",
5551
+ "dependsOn": [
5552
+ "pkg:npm/domelementtype@2.3.0",
5553
+ "pkg:npm/domhandler@5.0.3",
5554
+ "pkg:npm/entities@4.5.0"
5555
+ ]
5556
+ },
5557
+ {
5558
+ "ref": "pkg:npm/domelementtype@2.3.0",
5559
+ "dependsOn": []
5560
+ },
5561
+ {
5562
+ "ref": "pkg:npm/domhandler@5.0.3",
5563
+ "dependsOn": [
5564
+ "pkg:npm/domelementtype@2.3.0"
5565
+ ]
5566
+ },
5567
+ {
5568
+ "ref": "pkg:npm/domutils@3.2.2",
5569
+ "dependsOn": [
5570
+ "pkg:npm/dom-serializer@2.0.0",
5571
+ "pkg:npm/domelementtype@2.3.0",
5572
+ "pkg:npm/domhandler@5.0.3"
5573
+ ]
5574
+ },
5149
5575
  {
5150
5576
  "ref": "pkg:npm/earcut@3.2.4",
5151
5577
  "dependsOn": []
@@ -5160,6 +5586,10 @@
5160
5586
  "ref": "pkg:npm/emoji-regex@8.0.0",
5161
5587
  "dependsOn": []
5162
5588
  },
5589
+ {
5590
+ "ref": "pkg:npm/entities@4.5.0",
5591
+ "dependsOn": []
5592
+ },
5163
5593
  {
5164
5594
  "ref": "pkg:npm/env-paths@2.2.1",
5165
5595
  "dependsOn": []
@@ -5337,6 +5767,14 @@
5337
5767
  "ref": "pkg:npm/lru-cache@11.5.3",
5338
5768
  "dependsOn": []
5339
5769
  },
5770
+ {
5771
+ "ref": "pkg:npm/mdn-data@2.0.28",
5772
+ "dependsOn": []
5773
+ },
5774
+ {
5775
+ "ref": "pkg:npm/mdn-data@2.27.1",
5776
+ "dependsOn": []
5777
+ },
5340
5778
  {
5341
5779
  "ref": "pkg:npm/minimatch@10.2.6",
5342
5780
  "dependsOn": [
@@ -5381,6 +5819,12 @@
5381
5819
  "pkg:npm/yauzl@2.10.0"
5382
5820
  ]
5383
5821
  },
5822
+ {
5823
+ "ref": "pkg:npm/nth-check@2.1.1",
5824
+ "dependsOn": [
5825
+ "pkg:npm/boolbase@1.0.0"
5826
+ ]
5827
+ },
5384
5828
  {
5385
5829
  "ref": "pkg:npm/open@8.4.2",
5386
5830
  "dependsOn": [
@@ -5519,6 +5963,10 @@
5519
5963
  "ref": "pkg:npm/sax@1.1.4",
5520
5964
  "dependsOn": []
5521
5965
  },
5966
+ {
5967
+ "ref": "pkg:npm/sax@1.6.1",
5968
+ "dependsOn": []
5969
+ },
5522
5970
  {
5523
5971
  "ref": "pkg:npm/semver@7.8.5",
5524
5972
  "dependsOn": []
@@ -5626,6 +6074,18 @@
5626
6074
  "pkg:npm/ansi-regex@5.0.1"
5627
6075
  ]
5628
6076
  },
6077
+ {
6078
+ "ref": "pkg:npm/svgo@4.1.0",
6079
+ "dependsOn": [
6080
+ "pkg:npm/commander@11.1.0",
6081
+ "pkg:npm/css-select@6.0.0",
6082
+ "pkg:npm/css-tree@3.2.1",
6083
+ "pkg:npm/css-what@7.0.0",
6084
+ "pkg:npm/csso@5.0.5",
6085
+ "pkg:npm/picocolors@1.1.1",
6086
+ "pkg:npm/sax@1.6.1"
6087
+ ]
6088
+ },
5629
6089
  {
5630
6090
  "ref": "pkg:npm/tar@7.5.22",
5631
6091
  "dependsOn": [
@@ -12,6 +12,8 @@ export interface CompileResourcesOptions {
12
12
  toWebp?: boolean;
13
13
  webpLossless?: boolean;
14
14
  webpQuality?: number;
15
+ /** minify embedded `.svg` assets through the optional `svgo` package (version 4 or newer); false by default */
16
+ svgo?: boolean;
15
17
  /** Subset an embedded `.sf2` to the programs the embedded `.mid`/`.midi` files use. Default true; `false` embeds every SoundFont whole. */
16
18
  soundFont?: boolean;
17
19
  /** Explicit `{ bank, program }` list to subset a SoundFont to, overriding the MIDI-derived list. */
@@ -29,6 +31,8 @@ export interface CompileResourcesResult {
29
31
  rawBytes: number;
30
32
  embeddedBytes: number;
31
33
  webpConverted: number;
34
+ /** SVG assets embedded smaller than their source because of `svgo` */
35
+ svgOptimised: number;
32
36
  skipped: number;
33
37
  /** the `CREDITS.txt` text when the asset folder holds a `credits.json`, else null */
34
38
  credits: string | null;
@@ -50,6 +54,8 @@ export interface SoundFontEmbed {
50
54
  programs: number | null;
51
55
  rawBytes: number;
52
56
  embeddedBytes: number;
57
+ /** the programs the game's MIDI files ask for that this font does not carry; empty when none */
58
+ missing: SoundFontUsage[];
53
59
  }
54
60
 
55
61
  /** parses a `--soundfont-usage=bank:program,...` CLI value; undefined when the flag is absent */