incanto 0.65.0 → 0.67.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 (88) hide show
  1. package/bin/_behaviors-loader.mjs +87 -0
  2. package/bin/incanto-editor.mjs +39 -2
  3. package/bin/incanto-feel.mjs +4 -1
  4. package/bin/incanto-frame.mjs +52 -3
  5. package/bin/incanto-logs.mjs +33 -3
  6. package/bin/incanto-multiplay.mjs +50 -1
  7. package/bin/incanto-play.mjs +3 -1
  8. package/bin/incanto-playtest.mjs +3 -25
  9. package/bin/incanto-verify.mjs +15 -2
  10. package/dist/2d.d.ts +76 -4
  11. package/dist/2d.js +3 -3
  12. package/dist/3d.d.ts +213 -14
  13. package/dist/3d.js +6 -6
  14. package/dist/{audio-player-BrEHwbK1.d.ts → audio-player-BNUHo0JF.d.ts} +1 -1
  15. package/dist/{behavior-CmMuQ6CL.d.ts → behavior-ZnfzKDo3.d.ts} +58 -1
  16. package/dist/{create-game-DIyh5Zy9.js → create-game-DMetd3vR.js} +14 -8
  17. package/dist/{create-game-W2xzTJhs.js → create-game-FAXdHta3.js} +138 -11
  18. package/dist/debug.d.ts +1 -1
  19. package/dist/debug.js +3 -2
  20. package/dist/{duplicate-CqSAtdrh.js → duplicate-B8QnX2-r.js} +1 -1
  21. package/dist/editor.js +7 -2
  22. package/dist/{environment-presets-BvHs6HEk.js → environment-presets-C-5g2pMh.js} +113 -9
  23. package/dist/{gameplay-D-H986A4.js → gameplay-CGSv-9XR.js} +295 -12
  24. package/dist/gameplay.d.ts +102 -6
  25. package/dist/gameplay.js +2 -2
  26. package/dist/index.d.ts +50 -6
  27. package/dist/index.js +7 -6
  28. package/dist/{loader-CTB441z4.d.ts → loader-DyT30ArB.d.ts} +1 -1
  29. package/dist/{loader-lQDCwNag.js → loader-KZESOZmE.js} +148 -1
  30. package/dist/net.d.ts +2 -2
  31. package/dist/net.js +1 -1
  32. package/dist/{physics-2d-CmnunaR2.js → physics-2d-_B6zj3zU.js} +57 -4
  33. package/dist/{physics-3d-DULB1lD1.js → physics-3d-i1IeAY0F.js} +74 -5
  34. package/dist/{quiet-rapier-BAJ4K94N.js → quiet-rapier-C6fW4zcW.js} +14 -1
  35. package/dist/react.d.ts +1 -1
  36. package/dist/react.js +1 -1
  37. package/dist/{register-CgeR4ckF.js → register-Cs53CY7s.js} +110 -16
  38. package/dist/{register-DO5_Qp0Q.js → register-vIxU3Xbv.js} +38 -4
  39. package/dist/rendering-options-ByAdi8PF.js +184 -0
  40. package/dist/{replay-CEw2xAhG.js → replay-BkpDV51O.js} +4 -3
  41. package/dist/{replay-CThvwkcQ.d.ts → replay-D0GcEHYU.d.ts} +1 -1
  42. package/dist/{split-screen-DxZzC1nm.d.ts → split-screen-DD5eYIgW.d.ts} +2 -2
  43. package/dist/{split-screen-gb0c3xdb.js → split-screen-DS8RaUV_.js} +2 -2
  44. package/dist/{src-DYffzHbd.js → src-BLlsGJW9.js} +1 -1
  45. package/dist/{teardown-BordHL9o.js → teardown-LB9cTnXJ.js} +2 -2
  46. package/dist/{test-CXZuXs8k.js → test-81uZ967a.js} +127 -24
  47. package/dist/test.d.ts +7 -5
  48. package/dist/test.js +2 -2
  49. package/dist/{touch-DESwnpOc.js → touch-DEAmqGdf.js} +30 -186
  50. package/dist/vite.d.ts +0 -7
  51. package/dist/vite.js +13 -3
  52. package/editor/assets/{agent8-DO5qzIOD.js → agent8-C2jtNKbx.js} +1 -1
  53. package/editor/assets/debug-DoU3KeqS.js +3 -0
  54. package/editor/assets/{index-CqEUVaPN.js → index-CNqHojcC.js} +92 -92
  55. package/editor/index.html +1 -1
  56. package/package.json +1 -1
  57. package/schemas/scene.schema.json +20 -1
  58. package/skills/incanto-building-3d-games.md +19 -0
  59. package/skills/incanto-editor.md +5 -1
  60. package/skills/incanto-environment.md +2 -2
  61. package/skills/incanto-gameplay-behaviors.md +86 -7
  62. package/skills/incanto-hud.md +14 -1
  63. package/skills/incanto-multiplayer.md +14 -0
  64. package/skills/incanto-node-reference.md +60 -2
  65. package/skills/incanto-performance.md +35 -0
  66. package/skills/incanto-physics-and-input.md +69 -0
  67. package/skills/incanto-playtesting.md +15 -1
  68. package/skills/incanto-save-slots.md +21 -1
  69. package/skills/incanto-verifying-your-game.md +19 -0
  70. package/skills/incanto-web-integration.md +24 -3
  71. package/skills/incanto-your-first-game.md +4 -4
  72. package/templates-app/beacon-isle-3d/package.json +1 -1
  73. package/templates-app/beacon-isle-3d/src/game.scene.json +38 -19
  74. package/templates-app/platformer-2d/package.json +1 -1
  75. package/templates-app/platformer-2d/src/game.scene.json +99 -53
  76. package/templates-app/star-survivor/package.json +1 -1
  77. package/templates-app/star-survivor/src/game.scene.json +31 -17
  78. package/templates-app/tps-3d/package.json +1 -1
  79. package/templates-app/tps-3d/src/game.scene.json +14 -8
  80. package/templates-app/village-quest-3d/package.json +1 -1
  81. package/templates-app/village-quest-3d/src/grove.scene.json +20 -11
  82. package/templates-app/village-quest-3d/src/village.scene.json +10 -7
  83. package/editor/assets/debug-DntG9CVD.js +0 -3
  84. package/templates-app/beacon-isle-3d/coverage.json +0 -9
  85. package/templates-app/platformer-2d/coverage.json +0 -5
  86. package/templates-app/star-survivor/coverage.json +0 -5
  87. package/templates-app/tps-3d/coverage.json +0 -5
  88. package/templates-app/village-quest-3d/coverage.json +0 -9
@@ -37,7 +37,7 @@
37
37
  "frameWidth": 192,
38
38
  "frameHeight": 192,
39
39
  "filter": "nearest",
40
- "source": "built-in catalog 'medieval-knight' \u2014 idle 0-5, move 6-11, attack 12-17. URL injected in main.ts so the art ships with the package."
40
+ "source": "built-in catalog 'medieval-knight' — idle 0-5, move 6-11, attack 12-17. URL injected in main.ts so the art ships with the package."
41
41
  },
42
42
  "goblin": {
43
43
  "type": "spritesheet",
@@ -45,19 +45,19 @@
45
45
  "frameWidth": 192,
46
46
  "frameHeight": 192,
47
47
  "filter": "nearest",
48
- "source": "built-in catalog 'goblin' \u2014 idle 0-6, move 7-12. URL injected in main.ts."
48
+ "source": "built-in catalog 'goblin' — idle 0-6, move 7-12. URL injected in main.ts."
49
49
  },
50
50
  "coin": {
51
51
  "type": "texture",
52
52
  "url": "incanto/assets/items/coin.png",
53
53
  "filter": "nearest",
54
- "source": "built-in catalog 'coin' \u2014 gold collectible. URL injected in main.ts."
54
+ "source": "built-in catalog 'coin' — gold collectible. URL injected in main.ts."
55
55
  },
56
56
  "gem": {
57
57
  "type": "texture",
58
58
  "url": "incanto/assets/items/gem.png",
59
59
  "filter": "nearest",
60
- "source": "built-in catalog 'gem' \u2014 valuable collectible. URL injected in main.ts."
60
+ "source": "built-in catalog 'gem' — valuable collectible. URL injected in main.ts."
61
61
  }
62
62
  },
63
63
  "root": {
@@ -86,7 +86,8 @@
86
86
  "props": {
87
87
  "factor": 0.96
88
88
  }
89
- }
89
+ },
90
+ "uid": "n_8s4fwe02mmjaf6o4"
90
91
  },
91
92
  {
92
93
  "name": "Sun",
@@ -103,7 +104,8 @@
103
104
  "props": {
104
105
  "factor": 0.94
105
106
  }
106
- }
107
+ },
108
+ "uid": "n_io1e5nqi1q9p0aor"
107
109
  },
108
110
  {
109
111
  "name": "Cloud1",
@@ -121,7 +123,8 @@
121
123
  "props": {
122
124
  "factor": 0.9
123
125
  }
124
- }
126
+ },
127
+ "uid": "n_u9sglddcy0spenib"
125
128
  },
126
129
  {
127
130
  "name": "Cloud2",
@@ -139,7 +142,8 @@
139
142
  "props": {
140
143
  "factor": 0.9
141
144
  }
142
- }
145
+ },
146
+ "uid": "n_oeoy2ytk9y8tfqal"
143
147
  },
144
148
  {
145
149
  "name": "Cloud3",
@@ -157,7 +161,8 @@
157
161
  "props": {
158
162
  "factor": 0.9
159
163
  }
160
- }
164
+ },
165
+ "uid": "n_glne90a03zy5os5g"
161
166
  },
162
167
  {
163
168
  "name": "CastleFarLayer",
@@ -263,7 +268,8 @@
263
268
  "anchor": [0.5, 0.5]
264
269
  }
265
270
  }
266
- ]
271
+ ],
272
+ "uid": "n_z5d947phu1kzc1n9"
267
273
  },
268
274
  {
269
275
  "name": "CastleNearLayer",
@@ -539,7 +545,8 @@
539
545
  "anchor": [0.5, 0.5]
540
546
  }
541
547
  }
542
- ]
548
+ ],
549
+ "uid": "n_y8xgx8pdy46yi5zb"
543
550
  },
544
551
  {
545
552
  "name": "GroundA",
@@ -827,7 +834,8 @@
827
834
  "color": "#ffd166"
828
835
  }
829
836
  }
830
- ]
837
+ ],
838
+ "uid": "n_sf07oapcipaog0b6"
831
839
  },
832
840
  {
833
841
  "name": "Lift",
@@ -867,7 +875,8 @@
867
875
  "color": "#ffd166"
868
876
  }
869
877
  }
870
- ]
878
+ ],
879
+ "uid": "n_vfuh862g8bfg7swp"
871
880
  },
872
881
  {
873
882
  "name": "Spikes1",
@@ -1041,9 +1050,11 @@
1041
1050
  "type": "Node2D",
1042
1051
  "script": {
1043
1052
  "name": "GoblinSkin"
1044
- }
1053
+ },
1054
+ "uid": "n_uuc954ct6jzjzzlp"
1045
1055
  }
1046
- ]
1056
+ ],
1057
+ "uid": "n_e7bhbakm4c5z78w2"
1047
1058
  },
1048
1059
  {
1049
1060
  "name": "Gob2",
@@ -1088,9 +1099,11 @@
1088
1099
  "type": "Node2D",
1089
1100
  "script": {
1090
1101
  "name": "GoblinSkin"
1091
- }
1102
+ },
1103
+ "uid": "n_ujbgnk7ixsicswwc"
1092
1104
  }
1093
- ]
1105
+ ],
1106
+ "uid": "n_x7fy5n98xwc5stmz"
1094
1107
  },
1095
1108
  {
1096
1109
  "name": "Gob3",
@@ -1135,9 +1148,11 @@
1135
1148
  "type": "Node2D",
1136
1149
  "script": {
1137
1150
  "name": "GoblinSkin"
1138
- }
1151
+ },
1152
+ "uid": "n_3kmb1qlhckw4xnhz"
1139
1153
  }
1140
- ]
1154
+ ],
1155
+ "uid": "n_zrfw1p1gamdfhg6u"
1141
1156
  },
1142
1157
  {
1143
1158
  "name": "Coins",
@@ -1179,9 +1194,11 @@
1179
1194
  "frequency": 1.1,
1180
1195
  "mode": "position"
1181
1196
  }
1182
- }
1197
+ },
1198
+ "uid": "n_5vv5sh2bce9a0rfc"
1183
1199
  }
1184
- ]
1200
+ ],
1201
+ "uid": "n_wq8d9ugbrst7vpg8"
1185
1202
  },
1186
1203
  {
1187
1204
  "name": "Coin2",
@@ -1216,9 +1233,11 @@
1216
1233
  "frequency": 1.1,
1217
1234
  "mode": "position"
1218
1235
  }
1219
- }
1236
+ },
1237
+ "uid": "n_6nl39pc8x81zzfvz"
1220
1238
  }
1221
- ]
1239
+ ],
1240
+ "uid": "n_xopvplhty8l2ydcl"
1222
1241
  },
1223
1242
  {
1224
1243
  "name": "Coin3",
@@ -1253,9 +1272,11 @@
1253
1272
  "frequency": 1.1,
1254
1273
  "mode": "position"
1255
1274
  }
1256
- }
1275
+ },
1276
+ "uid": "n_pieptsthsss398x8"
1257
1277
  }
1258
- ]
1278
+ ],
1279
+ "uid": "n_2h6mru0fxp39x70o"
1259
1280
  },
1260
1281
  {
1261
1282
  "name": "Coin4",
@@ -1290,9 +1311,11 @@
1290
1311
  "frequency": 1.1,
1291
1312
  "mode": "position"
1292
1313
  }
1293
- }
1314
+ },
1315
+ "uid": "n_m5ye4ukey1gs9ri5"
1294
1316
  }
1295
- ]
1317
+ ],
1318
+ "uid": "n_du6tra9442zrc8tx"
1296
1319
  },
1297
1320
  {
1298
1321
  "name": "Coin5",
@@ -1327,9 +1350,11 @@
1327
1350
  "frequency": 1.1,
1328
1351
  "mode": "position"
1329
1352
  }
1330
- }
1353
+ },
1354
+ "uid": "n_mq7njocxg7qlw3dx"
1331
1355
  }
1332
- ]
1356
+ ],
1357
+ "uid": "n_uu6i3uwtlzsh1vft"
1333
1358
  },
1334
1359
  {
1335
1360
  "name": "Coin6",
@@ -1364,9 +1389,11 @@
1364
1389
  "frequency": 1.1,
1365
1390
  "mode": "position"
1366
1391
  }
1367
- }
1392
+ },
1393
+ "uid": "n_zj0kivs2h857q5e7"
1368
1394
  }
1369
- ]
1395
+ ],
1396
+ "uid": "n_tp127zrp3ch4b25i"
1370
1397
  },
1371
1398
  {
1372
1399
  "name": "Coin7",
@@ -1401,9 +1428,11 @@
1401
1428
  "frequency": 1.1,
1402
1429
  "mode": "position"
1403
1430
  }
1404
- }
1431
+ },
1432
+ "uid": "n_joega2rmwl1i2d6d"
1405
1433
  }
1406
- ]
1434
+ ],
1435
+ "uid": "n_cd5iiio55efypp8v"
1407
1436
  },
1408
1437
  {
1409
1438
  "name": "Coin8",
@@ -1438,9 +1467,11 @@
1438
1467
  "frequency": 1.1,
1439
1468
  "mode": "position"
1440
1469
  }
1441
- }
1470
+ },
1471
+ "uid": "n_zr79uqirzpuftjxx"
1442
1472
  }
1443
- ]
1473
+ ],
1474
+ "uid": "n_61i9ty82m2dxshpo"
1444
1475
  },
1445
1476
  {
1446
1477
  "name": "Coin9",
@@ -1475,9 +1506,11 @@
1475
1506
  "frequency": 1.1,
1476
1507
  "mode": "position"
1477
1508
  }
1478
- }
1509
+ },
1510
+ "uid": "n_3umxgv0yreehqbs6"
1479
1511
  }
1480
- ]
1512
+ ],
1513
+ "uid": "n_kiwir1wrpzuwzvg7"
1481
1514
  },
1482
1515
  {
1483
1516
  "name": "Coin10",
@@ -1512,9 +1545,11 @@
1512
1545
  "frequency": 1.1,
1513
1546
  "mode": "position"
1514
1547
  }
1515
- }
1548
+ },
1549
+ "uid": "n_rhmo04zqmdtg5tvi"
1516
1550
  }
1517
- ]
1551
+ ],
1552
+ "uid": "n_oj1mt1w1k2969kvc"
1518
1553
  },
1519
1554
  {
1520
1555
  "name": "Coin11",
@@ -1549,9 +1584,11 @@
1549
1584
  "frequency": 1.1,
1550
1585
  "mode": "position"
1551
1586
  }
1552
- }
1587
+ },
1588
+ "uid": "n_xuclkqerz63mv8vb"
1553
1589
  }
1554
- ]
1590
+ ],
1591
+ "uid": "n_o7bgy9m9u8rasljg"
1555
1592
  },
1556
1593
  {
1557
1594
  "name": "Coin12",
@@ -1586,9 +1623,11 @@
1586
1623
  "frequency": 1.1,
1587
1624
  "mode": "position"
1588
1625
  }
1589
- }
1626
+ },
1627
+ "uid": "n_uuegetn54zqs9bof"
1590
1628
  }
1591
- ]
1629
+ ],
1630
+ "uid": "n_hxub1s4s6cgvredd"
1592
1631
  }
1593
1632
  ]
1594
1633
  },
@@ -1625,9 +1664,11 @@
1625
1664
  "frequency": 0.9,
1626
1665
  "mode": "position"
1627
1666
  }
1628
- }
1667
+ },
1668
+ "uid": "n_vqc3id2780ba623r"
1629
1669
  }
1630
- ]
1670
+ ],
1671
+ "uid": "n_6a6rs0myo1q0rlxe"
1631
1672
  },
1632
1673
  {
1633
1674
  "name": "Gem2",
@@ -1662,9 +1703,11 @@
1662
1703
  "frequency": 0.9,
1663
1704
  "mode": "position"
1664
1705
  }
1665
- }
1706
+ },
1707
+ "uid": "n_jnnqf3j7hygbeoaj"
1666
1708
  }
1667
- ]
1709
+ ],
1710
+ "uid": "n_s022vg0kuqj75it6"
1668
1711
  },
1669
1712
  {
1670
1713
  "name": "Player",
@@ -1720,7 +1763,8 @@
1720
1763
  }
1721
1764
  }
1722
1765
  }
1723
- ]
1766
+ ],
1767
+ "uid": "n_h5em8g8jljkl2xtq"
1724
1768
  },
1725
1769
  {
1726
1770
  "name": "Camera",
@@ -1736,7 +1780,8 @@
1736
1780
  "lookahead": 90,
1737
1781
  "limits": [480, 210, 2320, 348]
1738
1782
  }
1739
- }
1783
+ },
1784
+ "uid": "n_9shnryenkaqcr3l2"
1740
1785
  },
1741
1786
  {
1742
1787
  "name": "SfxJump",
@@ -1816,7 +1861,7 @@
1816
1861
  "type": "Label",
1817
1862
  "props": {
1818
1863
  "position": [20, 30],
1819
- "text": "\u25c6 0",
1864
+ "text": "◆ 0",
1820
1865
  "fontSize": 26,
1821
1866
  "color": "#ffd166"
1822
1867
  }
@@ -1826,7 +1871,7 @@
1826
1871
  "type": "Label",
1827
1872
  "props": {
1828
1873
  "position": [20, 64],
1829
- "text": "\u2665\u2665\u2665",
1874
+ "text": "♥♥♥",
1830
1875
  "fontSize": 26,
1831
1876
  "color": "#ff6b81"
1832
1877
  }
@@ -1846,12 +1891,13 @@
1846
1891
  "type": "Label",
1847
1892
  "props": {
1848
1893
  "position": [20, 100],
1849
- "text": "A/D run \u00b7 Space jump (double-jump!) \u00b7 stomp goblins \u00b7 reach the gold flag",
1894
+ "text": "A/D run · Space jump (double-jump!) · stomp goblins · reach the gold flag",
1850
1895
  "fontSize": 15,
1851
1896
  "color": "#1d2a44"
1852
1897
  }
1853
1898
  }
1854
- ]
1899
+ ],
1900
+ "uid": "n_ng718r3uiw1madux"
1855
1901
  },
1856
1902
  {
1857
1903
  "name": "BannerLayer",
@@ -11,7 +11,7 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@dimforge/rapier2d-compat": "0.19.3",
14
- "incanto": "^0.65.0",
14
+ "incanto": "^0.67.0",
15
15
  "three": "^0.184.0"
16
16
  },
17
17
  "devDependencies": {
@@ -32,7 +32,7 @@
32
32
  "frameWidth": 192,
33
33
  "frameHeight": 192,
34
34
  "filter": "nearest",
35
- "source": "built-in 'medieval-knight' \u2014 idle 0-5, move 6-11. URL injected in main.ts."
35
+ "source": "built-in 'medieval-knight' — idle 0-5, move 6-11. URL injected in main.ts."
36
36
  },
37
37
  "goblin": {
38
38
  "type": "spritesheet",
@@ -40,7 +40,7 @@
40
40
  "frameWidth": 192,
41
41
  "frameHeight": 192,
42
42
  "filter": "nearest",
43
- "source": "built-in 'goblin' \u2014 idle 0-6, move 7-12. URL injected in main.ts."
43
+ "source": "built-in 'goblin' — idle 0-6, move 7-12. URL injected in main.ts."
44
44
  },
45
45
  "ghost": {
46
46
  "type": "spritesheet",
@@ -48,7 +48,7 @@
48
48
  "frameWidth": 112,
49
49
  "frameHeight": 128,
50
50
  "filter": "nearest",
51
- "source": "built-in 'ghost' \u2014 idle 0-5, move 6-11. URL injected in main.ts."
51
+ "source": "built-in 'ghost' — idle 0-5, move 6-11. URL injected in main.ts."
52
52
  }
53
53
  },
54
54
  "root": {
@@ -76,7 +76,8 @@
76
76
  "cell": 200,
77
77
  "lines": 26
78
78
  }
79
- }
79
+ },
80
+ "uid": "n_gyoazhctbyg011uf"
80
81
  },
81
82
  {
82
83
  "name": "Player",
@@ -127,7 +128,8 @@
127
128
  },
128
129
  "uid": "n_bk99wi475y8y1c1g"
129
130
  }
130
- ]
131
+ ],
132
+ "uid": "n_xnwc91u08q2deb34"
131
133
  },
132
134
  {
133
135
  "name": "GoblinSpawner",
@@ -197,14 +199,16 @@
197
199
  "speed": 62,
198
200
  "moveParent": true
199
201
  }
200
- }
202
+ },
203
+ "uid": "n_pyb54alv0xh0gvn4"
201
204
  },
202
205
  {
203
206
  "name": "Face",
204
207
  "type": "Node2D",
205
208
  "script": {
206
209
  "name": "EnemyFace"
207
- }
210
+ },
211
+ "uid": "n_uww78ofvpq4ecg8k"
208
212
  },
209
213
  {
210
214
  "name": "Hit",
@@ -223,7 +227,8 @@
223
227
  "oncePerTarget": false,
224
228
  "repeatEvery": 0.5
225
229
  }
226
- }
230
+ },
231
+ "uid": "n_ginsxe3jwhnivcps"
227
232
  },
228
233
  {
229
234
  "name": "Drop",
@@ -234,12 +239,14 @@
234
239
  "xp": 1,
235
240
  "color": "#ff8a5b"
236
241
  }
237
- }
242
+ },
243
+ "uid": "n_ik9ixyv3h463m3bj"
238
244
  }
239
245
  ],
240
246
  "uid": "n_la5pj943qw63cztp"
241
247
  }
242
- ]
248
+ ],
249
+ "uid": "n_28y9rya6vgc6k2fe"
243
250
  },
244
251
  {
245
252
  "name": "GhostSpawner",
@@ -310,14 +317,16 @@
310
317
  "speed": 98,
311
318
  "moveParent": true
312
319
  }
313
- }
320
+ },
321
+ "uid": "n_runap60ko5ppsjjz"
314
322
  },
315
323
  {
316
324
  "name": "Face",
317
325
  "type": "Node2D",
318
326
  "script": {
319
327
  "name": "EnemyFace"
320
- }
328
+ },
329
+ "uid": "n_wkgtjkvevrhj9z9q"
321
330
  },
322
331
  {
323
332
  "name": "Hit",
@@ -336,7 +345,8 @@
336
345
  "oncePerTarget": false,
337
346
  "repeatEvery": 0.5
338
347
  }
339
- }
348
+ },
349
+ "uid": "n_qhvl3puoq1ar87qr"
340
350
  },
341
351
  {
342
352
  "name": "Drop",
@@ -347,12 +357,14 @@
347
357
  "xp": 2,
348
358
  "color": "#8fd0ff"
349
359
  }
350
- }
360
+ },
361
+ "uid": "n_ldwl2f8oqqnmv0uc"
351
362
  }
352
363
  ],
353
364
  "uid": "n_2ntnqo7i21w7ci8x"
354
365
  }
355
- ]
366
+ ],
367
+ "uid": "n_dywyxuosw77s1c2z"
356
368
  },
357
369
  {
358
370
  "name": "Director",
@@ -364,7 +376,8 @@
364
376
  "ringMin": 380,
365
377
  "ringMax": 560
366
378
  }
367
- }
379
+ },
380
+ "uid": "n_ogqmx4zzhsrcrqk7"
368
381
  },
369
382
  {
370
383
  "name": "Camera",
@@ -378,7 +391,8 @@
378
391
  "target": "/root/Player",
379
392
  "smoothing": 0.86
380
393
  }
381
- }
394
+ },
395
+ "uid": "n_2c36byg8q2ob5w7l"
382
396
  },
383
397
  {
384
398
  "name": "SfxShoot",
@@ -13,7 +13,7 @@
13
13
  "@dimforge/rapier2d-compat": "0.19.3",
14
14
  "@dimforge/rapier3d-compat": "0.19.3",
15
15
  "@pixiv/three-vrm": "^3.5.3",
16
- "incanto": "^0.65.0",
16
+ "incanto": "^0.67.0",
17
17
  "three": "^0.184.0"
18
18
  },
19
19
  "devDependencies": {
@@ -108,7 +108,8 @@
108
108
  "props": {
109
109
  "pausePanelPath": "%PauseMenu"
110
110
  }
111
- }
111
+ },
112
+ "uid": "n_ofc39vdgsw837grt"
112
113
  },
113
114
  {
114
115
  "name": "Arena",
@@ -437,7 +438,8 @@
437
438
  },
438
439
  "script": {
439
440
  "name": "Shoot"
440
- }
441
+ },
442
+ "uid": "n_ltyrn17s5l9tizgp"
441
443
  },
442
444
  {
443
445
  "name": "Skin",
@@ -613,7 +615,8 @@
613
615
  "stopRange": 1.8,
614
616
  "moveParent": true
615
617
  }
616
- }
618
+ },
619
+ "uid": "n_9qza6f0diwm3b24n"
617
620
  },
618
621
  {
619
622
  "name": "Hit",
@@ -632,7 +635,8 @@
632
635
  "oncePerTarget": false,
633
636
  "repeatEvery": 0.5
634
637
  }
635
- }
638
+ },
639
+ "uid": "n_ddva4c9vmu703s1w"
636
640
  },
637
641
  {
638
642
  "name": "Growl",
@@ -652,7 +656,8 @@
652
656
  ],
653
657
  "uid": "n_17sotvbult7pgelw"
654
658
  }
655
- ]
659
+ ],
660
+ "uid": "n_1q2910pbbzvfucv2"
656
661
  },
657
662
  {
658
663
  "name": "Grove",
@@ -671,7 +676,8 @@
671
676
  "type": "Node",
672
677
  "script": {
673
678
  "name": "HudUpdater"
674
- }
679
+ },
680
+ "uid": "n_ihn045f8ag1zraa2"
675
681
  },
676
682
  {
677
683
  "name": "HUD",
@@ -699,7 +705,7 @@
699
705
  "name": "ResumeHint",
700
706
  "type": "UiText",
701
707
  "props": {
702
- "text": "Esc to resume \u00b7 R to restart",
708
+ "text": "Esc to resume · R to restart",
703
709
  "size": 13,
704
710
  "color": "#c9d2dd"
705
711
  }
@@ -722,7 +728,7 @@
722
728
  "signal": "lifeLost",
723
729
  "from": "/root",
724
730
  "to": "Player",
725
- "handler": "revive"
731
+ "handler": "reviveFull"
726
732
  },
727
733
  {
728
734
  "signal": "damaged",
@@ -13,7 +13,7 @@
13
13
  "@dimforge/rapier2d-compat": "0.19.3",
14
14
  "@dimforge/rapier3d-compat": "0.19.3",
15
15
  "@pixiv/three-vrm": "^3.5.3",
16
- "incanto": "^0.65.0",
16
+ "incanto": "^0.67.0",
17
17
  "three": "^0.184.0"
18
18
  },
19
19
  "devDependencies": {