incanto 0.72.0 → 0.74.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.
- package/bin/incanto-check.mjs +114 -42
- package/bin/incanto-verify.mjs +9 -2
- package/dist/2d.d.ts +29 -4
- package/dist/2d.js +3 -3
- package/dist/3d.d.ts +137 -15
- package/dist/3d.js +6 -6
- package/dist/{agent8-BqZ0_O1u.js → agent8-CHTT4unP.js} +1 -1
- package/dist/{audio-player-ioZ7VKC6.d.ts → audio-player-BOrk4eQx.d.ts} +1 -1
- package/dist/{behavior-Bf9P9oB2.d.ts → behavior-J1cmVah0.d.ts} +8 -0
- package/dist/{create-game-CmFAtLZp.js → create-game-BAiA-FjP.js} +7 -7
- package/dist/{create-game-C9rWqqAC.js → create-game-ssvGvP7W.js} +7 -7
- package/dist/debug.d.ts +1 -1
- package/dist/debug.js +1 -1
- package/dist/editor.js +965 -893
- package/dist/{environment-presets-BeHoaGhy.js → environment-presets-BkqlWewf.js} +277 -60
- package/dist/{gameplay-BlQe-M07.js → gameplay-Bxe1sMVT.js} +611 -39
- package/dist/gameplay.d.ts +141 -7
- package/dist/gameplay.js +2 -2
- package/dist/index.d.ts +6 -4
- package/dist/index.js +6 -6
- package/dist/{loader-CBfQzB6S.d.ts → loader-BAeWMYfF.d.ts} +1 -1
- package/dist/net.d.ts +2 -2
- package/dist/net.js +2 -2
- package/dist/{physics-2d-DrIgTlLk.js → physics-2d-C-SfvjzH.js} +94 -11
- package/dist/{physics-3d-BzOCw1VS.js → physics-3d-rOzeg890.js} +202 -15
- package/dist/{picking-C9McVJrO.js → picking-BMV34Pjl.js} +2 -2
- package/dist/react.d.ts +1 -1
- package/dist/react.js +1 -1
- package/dist/{register-5IYfooAN.js → register-CjociOtt.js} +19 -4
- package/dist/{register-C8HuRkOf.js → register-DRQyZKGU.js} +45 -9
- package/dist/{replay-datiAE-b.js → replay-B6BbgGM_.js} +42 -6
- package/dist/{replay-CBEChqXq.d.ts → replay-wZK5Ok5c.d.ts} +1 -1
- package/dist/{save-slots-CEuJPUle.js → save-slots-CEUGeLuB.js} +11 -2
- package/dist/{split-screen-Bm5DTElG.js → split-screen-BxZ5rBe7.js} +4 -4
- package/dist/{split-screen-DkqLng6q.d.ts → split-screen-D6sx8z3Z.d.ts} +2 -2
- package/dist/{sprite-animation-CqR2o3SA.js → sprite-animation-Bz3DHD_4.js} +1 -1
- package/dist/{src-DRSsRleD.js → src-CqtvYtSN.js} +1 -1
- package/dist/{test-Djuq3Vhq.js → test-CEl0y2Sw.js} +162 -30
- package/dist/test.d.ts +56 -5
- package/dist/test.js +2 -2
- package/dist/{touch-BnCyPA0G.js → touch-CioTZB-y.js} +1 -1
- package/dist/vite.js +3 -3
- package/editor/assets/{agent8-CMKz2cax.js → agent8-BlzturGi.js} +1 -1
- package/editor/assets/{debug-DLrQm-az.js → debug-BMUi8usj.js} +1 -1
- package/editor/assets/{index-BEKuxYcE.js → index-CrUCQoaB.js} +53 -53
- package/editor/index.html +1 -1
- package/package.json +1 -1
- package/schemas/scene.schema.json +634 -10
- package/skills/incanto-3d-character.md +113 -5
- package/skills/incanto-assets.md +9 -3
- package/skills/incanto-behaviors-and-scripts.md +26 -2
- package/skills/incanto-building-2d-games.md +9 -0
- package/skills/incanto-building-3d-games.md +45 -0
- package/skills/incanto-editor.md +6 -1
- package/skills/incanto-environment.md +7 -2
- package/skills/incanto-game-feel.md +16 -11
- package/skills/incanto-gameplay-behaviors.md +179 -16
- package/skills/incanto-node-reference.md +124 -45
- package/skills/incanto-physics-and-input.md +67 -5
- package/skills/incanto-scene-json-authoring.md +9 -3
- package/skills/incanto-verifying-your-game.md +19 -2
- package/templates-app/beacon-isle-3d/PROJECT/Status.md +8 -0
- package/templates-app/beacon-isle-3d/PROJECT/Structure.md +3 -0
- package/templates-app/beacon-isle-3d/package.json +1 -1
- package/templates-app/beacon-isle-3d/src/game.scene.json +136 -0
- package/templates-app/beacon-isle-3d/verify.ts +144 -0
- package/templates-app/molehill-2d/package.json +1 -1
- package/templates-app/platformer-2d/PROJECT/Status.md +7 -0
- package/templates-app/platformer-2d/PROJECT/Structure.md +3 -0
- package/templates-app/platformer-2d/package.json +1 -1
- package/templates-app/platformer-2d/src/game.scene.json +126 -0
- package/templates-app/platformer-2d/verify.ts +54 -0
- package/templates-app/star-survivor/package.json +1 -1
- package/templates-app/tps-3d/PROJECT/Context.md +1 -1
- package/templates-app/tps-3d/PROJECT/Status.md +40 -1
- package/templates-app/tps-3d/PROJECT/Structure.md +19 -0
- package/templates-app/tps-3d/package.json +1 -1
- package/templates-app/tps-3d/src/behaviors.ts +9 -0
- package/templates-app/tps-3d/src/cover.scene.json +26 -0
- package/templates-app/tps-3d/src/game.scene.json +331 -75
- package/templates-app/tps-3d/src/main.ts +14 -0
- package/templates-app/tps-3d/src/pillar.scene.json +25 -0
- package/templates-app/tps-3d/verify.ts +582 -3
- package/templates-app/village-quest-3d/package.json +1 -1
|
@@ -55,7 +55,7 @@ Methods: `play(name)` · `stop()`
|
|
|
55
55
|
| `visible` | `true` | boolean |
|
|
56
56
|
| `renderOrder` | `0` | number |
|
|
57
57
|
| `orderGroup` | `"default"` | one of: `background` `terrain` `default` `characters` `effects` `overlay` |
|
|
58
|
-
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes |
|
|
58
|
+
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes, or boolean or number |
|
|
59
59
|
| `texture` | `""` | string |
|
|
60
60
|
| `size` | `[1,1]` | array |
|
|
61
61
|
| `billboard` | `"y"` | one of: `y` `full` `none` |
|
|
@@ -106,7 +106,7 @@ Methods: `overlapping(group?)`
|
|
|
106
106
|
| `visible` | `true` | boolean |
|
|
107
107
|
| `renderOrder` | `0` | number |
|
|
108
108
|
| `orderGroup` | `"default"` | one of: `background` `terrain` `default` `characters` `effects` `overlay` |
|
|
109
|
-
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes |
|
|
109
|
+
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes, or boolean or number |
|
|
110
110
|
| `collider` | `{}` | object |
|
|
111
111
|
| `enabled` | `true` | boolean |
|
|
112
112
|
|
|
@@ -148,7 +148,7 @@ Reads: `playing: boolean`
|
|
|
148
148
|
| `visible` | `true` | boolean |
|
|
149
149
|
| `renderOrder` | `0` | number |
|
|
150
150
|
| `orderGroup` | `"default"` | one of: `background` `terrain` `default` `characters` `effects` `overlay` |
|
|
151
|
-
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes |
|
|
151
|
+
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes, or boolean or number |
|
|
152
152
|
| `mode` | `"screen"` | one of: `screen` `y` `none` |
|
|
153
153
|
|
|
154
154
|
## `BoneAttachment3D` — `incanto/3d`
|
|
@@ -162,7 +162,7 @@ Reads: `playing: boolean`
|
|
|
162
162
|
| `visible` | `true` | boolean |
|
|
163
163
|
| `renderOrder` | `0` | number |
|
|
164
164
|
| `orderGroup` | `"default"` | one of: `background` `terrain` `default` `characters` `effects` `overlay` |
|
|
165
|
-
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes |
|
|
165
|
+
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes, or boolean or number |
|
|
166
166
|
| `target` | `""` | node path · **required** |
|
|
167
167
|
| `bone` | `""` | string |
|
|
168
168
|
|
|
@@ -181,7 +181,7 @@ Reads: `attachedBone: Object3D | null`
|
|
|
181
181
|
| `visible` | `true` | boolean |
|
|
182
182
|
| `renderOrder` | `0` | number |
|
|
183
183
|
| `orderGroup` | `"default"` | one of: `background` `terrain` `default` `characters` `effects` `overlay` |
|
|
184
|
-
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes |
|
|
184
|
+
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes, or boolean or number |
|
|
185
185
|
| `target` | `""` | node path · **required** |
|
|
186
186
|
| `bone` | `"Head"` | string |
|
|
187
187
|
| `lookAt` | `""` | node path |
|
|
@@ -223,7 +223,7 @@ Reads: `effectiveZoom: number`
|
|
|
223
223
|
| `visible` | `true` | boolean |
|
|
224
224
|
| `renderOrder` | `0` | number |
|
|
225
225
|
| `orderGroup` | `"default"` | one of: `background` `terrain` `default` `characters` `effects` `overlay` |
|
|
226
|
-
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes |
|
|
226
|
+
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes, or boolean or number |
|
|
227
227
|
| `fov` | `60` | number |
|
|
228
228
|
| `near` | `0.1` | number |
|
|
229
229
|
| `far` | `1000` | number |
|
|
@@ -247,6 +247,7 @@ Reads: `effectiveZoom: number`
|
|
|
247
247
|
| `stickToGround` | `true` | boolean |
|
|
248
248
|
| `slopeLimitDeg` | `45` | number |
|
|
249
249
|
| `stepHeight` | `35` | number |
|
|
250
|
+
| `collideWithCharacters` | `true` | boolean |
|
|
250
251
|
|
|
251
252
|
Signals: `triggerEnter(other)` · `triggerExit(other)`
|
|
252
253
|
|
|
@@ -263,13 +264,14 @@ Methods: `moveAndSlide()` · `isOnWall()` · `wallSide()` · `isOnCeiling()` ·
|
|
|
263
264
|
| `visible` | `true` | boolean |
|
|
264
265
|
| `renderOrder` | `0` | number |
|
|
265
266
|
| `orderGroup` | `"default"` | one of: `background` `terrain` `default` `characters` `effects` `overlay` |
|
|
266
|
-
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes |
|
|
267
|
+
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes, or boolean or number |
|
|
267
268
|
| `collider` | `{}` | object |
|
|
268
269
|
| `enabled` | `true` | boolean |
|
|
269
270
|
| `velocity` | `[0,0,0]` | array |
|
|
270
271
|
| `stickToGround` | `true` | boolean |
|
|
271
272
|
| `slopeLimitDeg` | `45` | number |
|
|
272
273
|
| `stepHeight` | `0.35` | number |
|
|
274
|
+
| `collideWithCharacters` | `true` | boolean |
|
|
273
275
|
|
|
274
276
|
Signals: `triggerEnter(other)` · `triggerExit(other)`
|
|
275
277
|
|
|
@@ -307,7 +309,7 @@ Signals: `movementStateChanged(state)`
|
|
|
307
309
|
| `visible` | `true` | boolean |
|
|
308
310
|
| `renderOrder` | `0` | number |
|
|
309
311
|
| `orderGroup` | `"default"` | one of: `background` `terrain` `default` `characters` `effects` `overlay` |
|
|
310
|
-
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes |
|
|
312
|
+
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes, or boolean or number |
|
|
311
313
|
| `view` | `"free"` | one of: `free` `firstPerson` `quarter` `side` |
|
|
312
314
|
| `camDistance` | `4` | number |
|
|
313
315
|
| `eyeHeight` | `0.64` | number |
|
|
@@ -320,6 +322,8 @@ Signals: `movementStateChanged(state)`
|
|
|
320
322
|
| `jumpCutMultiplier` | `1` | number |
|
|
321
323
|
| `maxJumps` | `1` | number |
|
|
322
324
|
| `airControl` | `0.2` | number |
|
|
325
|
+
| `wallJumpImpulse` | `[0,0]` | array |
|
|
326
|
+
| `wallSlideSpeed` | `0` | number |
|
|
323
327
|
| `fallGravity` | `2.5` | number |
|
|
324
328
|
| `floatHeight` | `0.01` | number |
|
|
325
329
|
| `stepHeight` | `0.35` | number |
|
|
@@ -339,7 +343,7 @@ Signals: `movementStateChanged(state)`
|
|
|
339
343
|
| `skinYawOffset` | `0` | number |
|
|
340
344
|
| `animations` | `{}` | object |
|
|
341
345
|
|
|
342
|
-
Signals: `movementStateChanged(state)`
|
|
346
|
+
Signals: `movementStateChanged(state)` · `wallJumped`
|
|
343
347
|
|
|
344
348
|
## `ColorRect2D` — `incanto/2d`
|
|
345
349
|
|
|
@@ -370,7 +374,7 @@ Methods: `free()`
|
|
|
370
374
|
| `visible` | `true` | boolean |
|
|
371
375
|
| `renderOrder` | `0` | number |
|
|
372
376
|
| `orderGroup` | `"default"` | one of: `background` `terrain` `default` `characters` `effects` `overlay` |
|
|
373
|
-
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes |
|
|
377
|
+
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes, or boolean or number |
|
|
374
378
|
| `color` | `"#ffffff"` | string |
|
|
375
379
|
| `intensity` | `1` | number |
|
|
376
380
|
| `castShadow` | `false` | boolean |
|
|
@@ -389,7 +393,7 @@ Methods: `free()`
|
|
|
389
393
|
| `visible` | `true` | boolean |
|
|
390
394
|
| `renderOrder` | `0` | number |
|
|
391
395
|
| `orderGroup` | `"default"` | one of: `background` `terrain` `default` `characters` `effects` `overlay` |
|
|
392
|
-
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes |
|
|
396
|
+
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes, or boolean or number |
|
|
393
397
|
| `density` | `"sparse"` | one of: `lush` `sparse` `none`, or number |
|
|
394
398
|
| `area` | `[20,20]` | array |
|
|
395
399
|
| `seed` | `1` | number |
|
|
@@ -398,7 +402,7 @@ Methods: `free()`
|
|
|
398
402
|
| `height` | `0.45` | number |
|
|
399
403
|
| `clustering` | `0.6` | number |
|
|
400
404
|
| `sway` | `0.5` | number |
|
|
401
|
-
| `drape` | `null` | any JSON — see the skill for the accepted shapes |
|
|
405
|
+
| `drape` | `null` | any JSON — see the skill for the accepted shapes, or boolean |
|
|
402
406
|
| `avoidWater` | `true` | boolean |
|
|
403
407
|
| `terrain` | `""` | node path |
|
|
404
408
|
|
|
@@ -415,7 +419,7 @@ Methods: `free()`
|
|
|
415
419
|
| `visible` | `true` | boolean |
|
|
416
420
|
| `renderOrder` | `2` | number |
|
|
417
421
|
| `orderGroup` | `"default"` | one of: `background` `terrain` `default` `characters` `effects` `overlay` |
|
|
418
|
-
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes |
|
|
422
|
+
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes, or boolean or number |
|
|
419
423
|
| `kind` | `"grass"` | one of: `grass` `flowers` `reeds` |
|
|
420
424
|
| `style` | `"mesh"` | one of: `blades` `simple` `mesh` `tufts` |
|
|
421
425
|
| `tuftStyle` | `"grass"` | one of: `grass` `fern` |
|
|
@@ -434,7 +438,7 @@ Methods: `free()`
|
|
|
434
438
|
| `coverage` | `0.85` | number |
|
|
435
439
|
| `flowers` | `0` | number |
|
|
436
440
|
| `seed` | `1` | number |
|
|
437
|
-
| `drape` | `null` | any JSON — see the skill for the accepted shapes |
|
|
441
|
+
| `drape` | `null` | any JSON — see the skill for the accepted shapes, or boolean |
|
|
438
442
|
| `avoidWater` | `true` | boolean |
|
|
439
443
|
| `terrain` | `""` | node path |
|
|
440
444
|
|
|
@@ -461,14 +465,14 @@ Methods: `focusables()` · `focus(widget)`
|
|
|
461
465
|
| `visible` | `true` | boolean |
|
|
462
466
|
| `renderOrder` | `0` | number |
|
|
463
467
|
| `orderGroup` | `"default"` | one of: `background` `terrain` `default` `characters` `effects` `overlay` |
|
|
464
|
-
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes |
|
|
468
|
+
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes, or boolean or number |
|
|
465
469
|
| `mesh` | `"box"` | one of: `box` `sphere` `capsule` `plane` `cylinder` `gem` |
|
|
466
470
|
| `size` | `[1,1,1]` | array |
|
|
467
471
|
| `material` | `{}` | object |
|
|
468
472
|
| `transforms` | `[]` | array |
|
|
469
473
|
| `castShadow` | `false` | boolean |
|
|
470
474
|
| `receiveShadow` | `false` | boolean |
|
|
471
|
-
| `collider` | `null` | any JSON — see the skill for the accepted shapes |
|
|
475
|
+
| `collider` | `null` | any JSON — see the skill for the accepted shapes, or object |
|
|
472
476
|
|
|
473
477
|
Methods: `free()`
|
|
474
478
|
|
|
@@ -492,7 +496,7 @@ Reads: `instanceCount: number`
|
|
|
492
496
|
| `length` | `0` | number |
|
|
493
497
|
| `stiffness` | `50` | number |
|
|
494
498
|
| `damping` | `5` | number |
|
|
495
|
-
| `collide` | `null` | any JSON — see the skill for the accepted shapes |
|
|
499
|
+
| `collide` | `null` | any JSON — see the skill for the accepted shapes, or boolean |
|
|
496
500
|
|
|
497
501
|
## `Joint3D` — `incanto/3d`
|
|
498
502
|
|
|
@@ -505,7 +509,7 @@ Reads: `instanceCount: number`
|
|
|
505
509
|
| `visible` | `true` | boolean |
|
|
506
510
|
| `renderOrder` | `0` | number |
|
|
507
511
|
| `orderGroup` | `"default"` | one of: `background` `terrain` `default` `characters` `effects` `overlay` |
|
|
508
|
-
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes |
|
|
512
|
+
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes, or boolean or number |
|
|
509
513
|
| `type` | `"spherical"` | one of: `fixed` `spherical` `rope` `spring` |
|
|
510
514
|
| `target` | `""` | node path · **required** |
|
|
511
515
|
| `anchor` | `[0,0,0]` | array |
|
|
@@ -513,7 +517,7 @@ Reads: `instanceCount: number`
|
|
|
513
517
|
| `length` | `0` | number |
|
|
514
518
|
| `stiffness` | `50` | number |
|
|
515
519
|
| `damping` | `5` | number |
|
|
516
|
-
| `collide` | `null` | any JSON — see the skill for the accepted shapes |
|
|
520
|
+
| `collide` | `null` | any JSON — see the skill for the accepted shapes, or boolean |
|
|
517
521
|
|
|
518
522
|
## `Label` — `incanto/2d`
|
|
519
523
|
|
|
@@ -546,7 +550,7 @@ Methods: `free()`
|
|
|
546
550
|
| `visible` | `true` | boolean |
|
|
547
551
|
| `renderOrder` | `0` | number |
|
|
548
552
|
| `orderGroup` | `"default"` | one of: `background` `terrain` `default` `characters` `effects` `overlay` |
|
|
549
|
-
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes |
|
|
553
|
+
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes, or boolean or number |
|
|
550
554
|
| `texture` | `""` | string |
|
|
551
555
|
| `size` | `[1,1]` | array |
|
|
552
556
|
| `billboard` | `"full"` | one of: `y` `full` `none` |
|
|
@@ -577,7 +581,7 @@ Methods: `free()`
|
|
|
577
581
|
| `visible` | `true` | boolean |
|
|
578
582
|
| `renderOrder` | `0` | number |
|
|
579
583
|
| `orderGroup` | `"default"` | one of: `background` `terrain` `default` `characters` `effects` `overlay` |
|
|
580
|
-
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes |
|
|
584
|
+
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes, or boolean or number |
|
|
581
585
|
| `sections` | `[]` | array |
|
|
582
586
|
| `slices` | `24` | number |
|
|
583
587
|
| `smooth` | `4` | number |
|
|
@@ -598,7 +602,7 @@ Methods: `free()`
|
|
|
598
602
|
| `visible` | `true` | boolean |
|
|
599
603
|
| `renderOrder` | `0` | number |
|
|
600
604
|
| `orderGroup` | `"default"` | one of: `background` `terrain` `default` `characters` `effects` `overlay` |
|
|
601
|
-
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes |
|
|
605
|
+
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes, or boolean or number |
|
|
602
606
|
| `mesh` | `"box"` | one of: `box` `sphere` `capsule` `plane` `cylinder` `gem` |
|
|
603
607
|
| `size` | `[1,1,1]` | array |
|
|
604
608
|
| `material` | `{}` | object |
|
|
@@ -618,7 +622,7 @@ Methods: `free()`
|
|
|
618
622
|
| `visible` | `true` | boolean |
|
|
619
623
|
| `renderOrder` | `0` | number |
|
|
620
624
|
| `orderGroup` | `"default"` | one of: `background` `terrain` `default` `characters` `effects` `overlay` |
|
|
621
|
-
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes |
|
|
625
|
+
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes, or boolean or number |
|
|
622
626
|
| `model` | `""` | string |
|
|
623
627
|
| `animation` | `""` | string |
|
|
624
628
|
| `targetHeight` | `0` | number |
|
|
@@ -685,7 +689,7 @@ Reads: `effectiveRenderOrder: number`
|
|
|
685
689
|
| `visible` | `true` | boolean |
|
|
686
690
|
| `renderOrder` | `0` | number |
|
|
687
691
|
| `orderGroup` | `"default"` | one of: `background` `terrain` `default` `characters` `effects` `overlay` |
|
|
688
|
-
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes |
|
|
692
|
+
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes, or boolean or number |
|
|
689
693
|
|
|
690
694
|
Methods: `applyGroundSnap()` · `free()`
|
|
691
695
|
|
|
@@ -702,7 +706,7 @@ Reads: `effectiveRenderOrder: number`
|
|
|
702
706
|
| `visible` | `true` | boolean |
|
|
703
707
|
| `renderOrder` | `0` | number |
|
|
704
708
|
| `orderGroup` | `"default"` | one of: `background` `terrain` `default` `characters` `effects` `overlay` |
|
|
705
|
-
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes |
|
|
709
|
+
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes, or boolean or number |
|
|
706
710
|
| `color` | `"#ffffff"` | string |
|
|
707
711
|
| `intensity` | `1` | number |
|
|
708
712
|
| `range` | `0` | number |
|
|
@@ -757,7 +761,7 @@ Reads: `aliveCount: number`
|
|
|
757
761
|
| `visible` | `true` | boolean |
|
|
758
762
|
| `renderOrder` | `0` | number |
|
|
759
763
|
| `orderGroup` | `"effects"` | one of: `background` `terrain` `default` `characters` `effects` `overlay` |
|
|
760
|
-
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes |
|
|
764
|
+
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes, or boolean or number |
|
|
761
765
|
| `preset` | `"custom"` | one of: `custom` `fire` `smoke` `sparks` `fireworks` `explosion` `flash` `lightning` `rain` `snow` `magic` |
|
|
762
766
|
| `emitting` | `true` | boolean |
|
|
763
767
|
| `worldSpace` | `false` | boolean |
|
|
@@ -792,7 +796,7 @@ Reads: `aliveCount: number`
|
|
|
792
796
|
| Prop | Default | Kind |
|
|
793
797
|
|---|---|---|
|
|
794
798
|
| `target` | `".."` | node path |
|
|
795
|
-
| `below` | `null` | any JSON — see the skill for the accepted shapes |
|
|
799
|
+
| `below` | `null` | any JSON — see the skill for the accepted shapes, or number |
|
|
796
800
|
| `to` | `[]` | array |
|
|
797
801
|
| `resetVelocity` | `true` | boolean |
|
|
798
802
|
|
|
@@ -818,6 +822,8 @@ Signals: `respawned`
|
|
|
818
822
|
| `restitution` | `0` | number |
|
|
819
823
|
| `linearVelocity` | `[0,0]` | array |
|
|
820
824
|
| `angularVelocity` | `0` | number |
|
|
825
|
+
| `linearDamping` | `0` | number |
|
|
826
|
+
| `angularDamping` | `0` | number |
|
|
821
827
|
|
|
822
828
|
Signals: `triggerEnter(other)` · `triggerExit(other)`
|
|
823
829
|
|
|
@@ -836,7 +842,7 @@ Reads: `velocity: number[]`
|
|
|
836
842
|
| `visible` | `true` | boolean |
|
|
837
843
|
| `renderOrder` | `0` | number |
|
|
838
844
|
| `orderGroup` | `"default"` | one of: `background` `terrain` `default` `characters` `effects` `overlay` |
|
|
839
|
-
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes |
|
|
845
|
+
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes, or boolean or number |
|
|
840
846
|
| `collider` | `{}` | object |
|
|
841
847
|
| `enabled` | `true` | boolean |
|
|
842
848
|
| `mass` | `1` | number |
|
|
@@ -846,6 +852,8 @@ Reads: `velocity: number[]`
|
|
|
846
852
|
| `restitution` | `0` | number |
|
|
847
853
|
| `linearVelocity` | `[0,0,0]` | array |
|
|
848
854
|
| `angularVelocity` | `[0,0,0]` | array |
|
|
855
|
+
| `linearDamping` | `0` | number |
|
|
856
|
+
| `angularDamping` | `0` | number |
|
|
849
857
|
|
|
850
858
|
Signals: `triggerEnter(other)` · `triggerExit(other)`
|
|
851
859
|
|
|
@@ -864,7 +872,7 @@ Reads: `velocity: number[]`
|
|
|
864
872
|
| `visible` | `true` | boolean |
|
|
865
873
|
| `renderOrder` | `0` | number |
|
|
866
874
|
| `orderGroup` | `"default"` | one of: `background` `terrain` `default` `characters` `effects` `overlay` |
|
|
867
|
-
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes |
|
|
875
|
+
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes, or boolean or number |
|
|
868
876
|
| `path` | `[]` | array |
|
|
869
877
|
| `width` | `6` | number |
|
|
870
878
|
| `widths` | `[]` | array |
|
|
@@ -885,6 +893,27 @@ Reads: `velocity: number[]`
|
|
|
885
893
|
|
|
886
894
|
Methods: `sampleAt(x, z)` · `fallsAt()` · `free()`
|
|
887
895
|
|
|
896
|
+
## `SpotLight3D` — `incanto/3d`
|
|
897
|
+
|
|
898
|
+
| Prop | Default | Kind |
|
|
899
|
+
|---|---|---|
|
|
900
|
+
| `position` | `[0,0,0]` | array |
|
|
901
|
+
| `rotation` | `[0,0,0]` | array |
|
|
902
|
+
| `static` | `false` | boolean |
|
|
903
|
+
| `scale` | `[1,1,1]` | array |
|
|
904
|
+
| `visible` | `true` | boolean |
|
|
905
|
+
| `renderOrder` | `0` | number |
|
|
906
|
+
| `orderGroup` | `"default"` | one of: `background` `terrain` `default` `characters` `effects` `overlay` |
|
|
907
|
+
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes, or boolean or number |
|
|
908
|
+
| `color` | `"#ffffff"` | string |
|
|
909
|
+
| `intensity` | `1` | number |
|
|
910
|
+
| `range` | `0` | number |
|
|
911
|
+
| `coneDeg` | `60` | number |
|
|
912
|
+
| `penumbra` | `0.3` | number |
|
|
913
|
+
| `castShadow` | `false` | boolean |
|
|
914
|
+
| `shadowMapSize` | `1024` | number |
|
|
915
|
+
| `lookAt` | `""` | node path |
|
|
916
|
+
|
|
888
917
|
## `Sprite2D` — `incanto/2d`
|
|
889
918
|
|
|
890
919
|
| Prop | Default | Kind |
|
|
@@ -916,7 +945,7 @@ Methods: `free()`
|
|
|
916
945
|
| `visible` | `true` | boolean |
|
|
917
946
|
| `renderOrder` | `0` | number |
|
|
918
947
|
| `orderGroup` | `"default"` | one of: `background` `terrain` `default` `characters` `effects` `overlay` |
|
|
919
|
-
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes |
|
|
948
|
+
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes, or boolean or number |
|
|
920
949
|
| `texture` | `""` | string |
|
|
921
950
|
| `size` | `[1,1]` | array |
|
|
922
951
|
| `billboard` | `"y"` | one of: `y` `full` `none` |
|
|
@@ -944,6 +973,8 @@ Methods: `free()`
|
|
|
944
973
|
| `visible` | `true` | boolean |
|
|
945
974
|
| `collider` | `{}` | object |
|
|
946
975
|
| `enabled` | `true` | boolean |
|
|
976
|
+
| `friction` | `0.5` | number |
|
|
977
|
+
| `restitution` | `0` | number |
|
|
947
978
|
|
|
948
979
|
Signals: `triggerEnter(other)` · `triggerExit(other)`
|
|
949
980
|
|
|
@@ -958,9 +989,11 @@ Signals: `triggerEnter(other)` · `triggerExit(other)`
|
|
|
958
989
|
| `visible` | `true` | boolean |
|
|
959
990
|
| `renderOrder` | `0` | number |
|
|
960
991
|
| `orderGroup` | `"default"` | one of: `background` `terrain` `default` `characters` `effects` `overlay` |
|
|
961
|
-
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes |
|
|
992
|
+
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes, or boolean or number |
|
|
962
993
|
| `collider` | `{}` | object |
|
|
963
994
|
| `enabled` | `true` | boolean |
|
|
995
|
+
| `friction` | `0.5` | number |
|
|
996
|
+
| `restitution` | `0` | number |
|
|
964
997
|
|
|
965
998
|
Signals: `triggerEnter(other)` · `triggerExit(other)`
|
|
966
999
|
|
|
@@ -975,7 +1008,7 @@ Signals: `triggerEnter(other)` · `triggerExit(other)`
|
|
|
975
1008
|
| `visible` | `true` | boolean |
|
|
976
1009
|
| `renderOrder` | `0` | number |
|
|
977
1010
|
| `orderGroup` | `"terrain"` | one of: `background` `terrain` `default` `characters` `effects` `overlay` |
|
|
978
|
-
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes |
|
|
1011
|
+
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes, or boolean or number |
|
|
979
1012
|
| `size` | `[200,200]` | array |
|
|
980
1013
|
| `maxHeight` | `28` | number |
|
|
981
1014
|
| `seed` | `1` | number |
|
|
@@ -984,12 +1017,12 @@ Signals: `triggerEnter(other)` · `triggerExit(other)`
|
|
|
984
1017
|
| `roughness` | `0.5` | number |
|
|
985
1018
|
| `detail` | `4` | number |
|
|
986
1019
|
| `flatThreshold` | `0.95` | number |
|
|
987
|
-
| `islandEdge` | `null` | any JSON — see the skill for the accepted shapes |
|
|
1020
|
+
| `islandEdge` | `null` | any JSON — see the skill for the accepted shapes, or boolean |
|
|
988
1021
|
| `layers` | `[]` | array |
|
|
989
1022
|
| `textureBase` | `"https://agent8-games.verse8.io/assets/3D/default/textures/terrain"` | string |
|
|
990
1023
|
| `basins` | `[]` | array |
|
|
991
1024
|
| `channels` | `[]` | array |
|
|
992
|
-
| `wetline` | `null` | any JSON — see the skill for the accepted shapes |
|
|
1025
|
+
| `wetline` | `null` | any JSON — see the skill for the accepted shapes, or object |
|
|
993
1026
|
|
|
994
1027
|
Methods: `heightAt(x, z)` · `resolvedLayers()` · `free()`
|
|
995
1028
|
|
|
@@ -1029,6 +1062,8 @@ Signals: `timeout`
|
|
|
1029
1062
|
|
|
1030
1063
|
Methods: `start(time?)` · `stop()`
|
|
1031
1064
|
|
|
1065
|
+
Reads: `timeLeft: number`
|
|
1066
|
+
|
|
1032
1067
|
## `Trail3D` — `incanto/3d`
|
|
1033
1068
|
|
|
1034
1069
|
| Prop | Default | Kind |
|
|
@@ -1040,7 +1075,7 @@ Methods: `start(time?)` · `stop()`
|
|
|
1040
1075
|
| `visible` | `true` | boolean |
|
|
1041
1076
|
| `renderOrder` | `0` | number |
|
|
1042
1077
|
| `orderGroup` | `"default"` | one of: `background` `terrain` `default` `characters` `effects` `overlay` |
|
|
1043
|
-
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes |
|
|
1078
|
+
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes, or boolean or number |
|
|
1044
1079
|
| `width` | `0.3` | number |
|
|
1045
1080
|
| `color` | `"#ffffff"` | string |
|
|
1046
1081
|
| `opacity` | `0.8` | number |
|
|
@@ -1064,7 +1099,7 @@ Reads: `pointCount: number`
|
|
|
1064
1099
|
| `visible` | `true` | boolean |
|
|
1065
1100
|
| `renderOrder` | `0` | number |
|
|
1066
1101
|
| `orderGroup` | `"default"` | one of: `background` `terrain` `default` `characters` `effects` `overlay` |
|
|
1067
|
-
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes |
|
|
1102
|
+
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes, or boolean or number |
|
|
1068
1103
|
| `tier` | `"medium"` | one of: `simple` `medium` `high` |
|
|
1069
1104
|
| `type` | `"conifer"` | one of: `conifer` `broadleaf` `dead` `bush` |
|
|
1070
1105
|
| `seed` | `1` | number |
|
|
@@ -1077,7 +1112,7 @@ Reads: `pointCount: number`
|
|
|
1077
1112
|
| `leafFadeStart` | `0` | number |
|
|
1078
1113
|
| `leafFadeEnd` | `0` | number |
|
|
1079
1114
|
| `leafShadows` | `true` | boolean |
|
|
1080
|
-
| `drape` | `null` | any JSON — see the skill for the accepted shapes |
|
|
1115
|
+
| `drape` | `null` | any JSON — see the skill for the accepted shapes, or boolean |
|
|
1081
1116
|
| `terrain` | `""` | node path |
|
|
1082
1117
|
|
|
1083
1118
|
Methods: `free()`
|
|
@@ -1387,7 +1422,7 @@ Signals: `dragStarted` · `dragCancelled` · `droppedOn` · `dropped` · `change
|
|
|
1387
1422
|
| `visible` | `true` | boolean |
|
|
1388
1423
|
| `renderOrder` | `0` | number |
|
|
1389
1424
|
| `orderGroup` | `"default"` | one of: `background` `terrain` `default` `characters` `effects` `overlay` |
|
|
1390
|
-
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes |
|
|
1425
|
+
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes, or boolean or number |
|
|
1391
1426
|
| `voxels` | `[]` | array |
|
|
1392
1427
|
|
|
1393
1428
|
Signals: `blocksChanged`
|
|
@@ -1405,7 +1440,7 @@ Methods: `blockCount()` · `tileAt(x, y, z)` · `setBlocks(blocks)` · `addBlock
|
|
|
1405
1440
|
| `visible` | `true` | boolean |
|
|
1406
1441
|
| `renderOrder` | `1` | number |
|
|
1407
1442
|
| `orderGroup` | `"default"` | one of: `background` `terrain` `default` `characters` `effects` `overlay` |
|
|
1408
|
-
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes |
|
|
1443
|
+
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes, or boolean or number |
|
|
1409
1444
|
| `size` | `[40,40]` | array |
|
|
1410
1445
|
| `color` | `"#2a6fbe"` | string |
|
|
1411
1446
|
| `opacity` | `0.8` | number |
|
|
@@ -1419,7 +1454,7 @@ Methods: `blockCount()` · `tileAt(x, y, z)` · `setBlocks(blocks)` · `addBlock
|
|
|
1419
1454
|
| `mirrorInterval` | `33` | number |
|
|
1420
1455
|
| `swellSteepness` | `0.35` | number |
|
|
1421
1456
|
| `foam` | `true` | boolean |
|
|
1422
|
-
| `reflectivity` | `null` | any JSON — see the skill for the accepted shapes |
|
|
1457
|
+
| `reflectivity` | `null` | any JSON — see the skill for the accepted shapes, or number |
|
|
1423
1458
|
| `interaction` | `true` | boolean |
|
|
1424
1459
|
| `splash` | `true` | boolean |
|
|
1425
1460
|
| `sunDirection` | `[0.5,0.8,0.3]` | array |
|
|
@@ -1452,7 +1487,7 @@ Methods: `underwaterAt(camX, camY, camZ)` · `free()` · `heightAt(x, z)`
|
|
|
1452
1487
|
| `visible` | `true` | boolean |
|
|
1453
1488
|
| `renderOrder` | `0` | number |
|
|
1454
1489
|
| `orderGroup` | `"default"` | one of: `background` `terrain` `default` `characters` `effects` `overlay` |
|
|
1455
|
-
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes |
|
|
1490
|
+
| `snapToGround` | `null` | any JSON — see the skill for the accepted shapes, or boolean or number |
|
|
1456
1491
|
| `size` | `[2,1,1]` | array |
|
|
1457
1492
|
| `enabled` | `true` | boolean |
|
|
1458
1493
|
|
|
@@ -1492,16 +1527,31 @@ Methods: `shake(magnitude, seconds?)`
|
|
|
1492
1527
|
| Prop | Default | Kind |
|
|
1493
1528
|
|---|---|---|
|
|
1494
1529
|
| `enabled` | `true` | boolean |
|
|
1495
|
-
| `target` | `""` | node path
|
|
1530
|
+
| `target` | `""` | node path |
|
|
1531
|
+
| `targetGroup` | `""` | string |
|
|
1532
|
+
| `retargetEvery` | `0.25` | number |
|
|
1496
1533
|
| `speed` | `60` | number |
|
|
1497
1534
|
| `stopRange` | `0` | number |
|
|
1498
1535
|
| `loseRange` | `0` | number |
|
|
1499
1536
|
| `moveParent` | `false` | boolean |
|
|
1537
|
+
| `ground` | `null` | any JSON — see the skill for the accepted shapes, or boolean |
|
|
1500
1538
|
| `facePath` | `""` | node path |
|
|
1501
1539
|
| `turnSpeed` | `100` | number |
|
|
1502
1540
|
|
|
1503
1541
|
Signals: `reachedTarget` · `lostTarget`
|
|
1504
1542
|
|
|
1543
|
+
### `Checkpoint`
|
|
1544
|
+
|
|
1545
|
+
| Prop | Default | Kind |
|
|
1546
|
+
|---|---|---|
|
|
1547
|
+
| `enabled` | `true` | boolean |
|
|
1548
|
+
| `respawn` | `""` | node path · **required** |
|
|
1549
|
+
| `group` | `"player"` | string |
|
|
1550
|
+
| `once` | `true` | boolean |
|
|
1551
|
+
| `dropBelow` | `0` | number |
|
|
1552
|
+
|
|
1553
|
+
Signals: `activated`
|
|
1554
|
+
|
|
1505
1555
|
### `Clickable`
|
|
1506
1556
|
|
|
1507
1557
|
| Prop | Default | Kind |
|
|
@@ -1626,7 +1676,7 @@ Methods: `gameOver(text?, color?)` · `win(text?, color?)` · `pause()` · `resu
|
|
|
1626
1676
|
|
|
1627
1677
|
Signals: `damaged(amount, current)` · `healed(amount, current)` · `died` · `revived` · `healthChanged`
|
|
1628
1678
|
|
|
1629
|
-
Methods: `damage(n)` · `heal(n)` · `revive(hp?)` · `reviveFull()` · `kill()` · `announce()`
|
|
1679
|
+
Methods: `damage(n)` · `protect(seconds)` · `heal(n)` · `revive(hp?)` · `reviveFull()` · `kill()` · `announce()`
|
|
1630
1680
|
|
|
1631
1681
|
Reads: `isDead: boolean` · `invulnerableRemaining: number`
|
|
1632
1682
|
|
|
@@ -1638,8 +1688,11 @@ Reads: `isDead: boolean` · `invulnerableRemaining: number`
|
|
|
1638
1688
|
| `action` | `"interact"` | string |
|
|
1639
1689
|
| `range` | `2` | number |
|
|
1640
1690
|
| `actorGroup` | `"player"` | string |
|
|
1691
|
+
| `prompt` | `""` | string |
|
|
1692
|
+
| `focus` | `"any"` | one of: `any` `nearest` `facing` |
|
|
1693
|
+
| `coneDeg` | `40` | number |
|
|
1641
1694
|
|
|
1642
|
-
Signals: `interacted(actor)`
|
|
1695
|
+
Signals: `interacted(actor)` · `focused` · `unfocused`
|
|
1643
1696
|
|
|
1644
1697
|
### `Lifetime`
|
|
1645
1698
|
|
|
@@ -1685,6 +1738,9 @@ Methods: `start()`
|
|
|
1685
1738
|
| `enabled` | `true` | boolean |
|
|
1686
1739
|
| `speed` | `120` | number |
|
|
1687
1740
|
| `loop` | `false` | boolean |
|
|
1741
|
+
| `moveParent` | `false` | boolean |
|
|
1742
|
+
| `facePath` | `""` | node path |
|
|
1743
|
+
| `turnSpeed` | `100` | number |
|
|
1688
1744
|
|
|
1689
1745
|
Signals: `waypointReached` · `arrived`
|
|
1690
1746
|
|
|
@@ -1734,7 +1790,7 @@ Methods: `names()` · `make(name)`
|
|
|
1734
1790
|
|---|---|---|
|
|
1735
1791
|
| `enabled` | `true` | boolean |
|
|
1736
1792
|
| `speed` | `300` | number |
|
|
1737
|
-
| `direction` | `null` | any JSON — see the skill for the accepted shapes |
|
|
1793
|
+
| `direction` | `null` | any JSON — see the skill for the accepted shapes, or array or string |
|
|
1738
1794
|
| `gravity` | `0` | number |
|
|
1739
1795
|
|
|
1740
1796
|
Methods: `aim(direction?)`
|
|
@@ -1770,6 +1826,8 @@ Signals: `scoreChanged(score)` · `won` · `lost` · `lifeLost(lives)` · `lives
|
|
|
1770
1826
|
|
|
1771
1827
|
Methods: `addScore(n)` · `setScore(value)` · `loseLife()` · `announce()`
|
|
1772
1828
|
|
|
1829
|
+
Reads: `won: boolean` · `lost: boolean`
|
|
1830
|
+
|
|
1773
1831
|
### `Spawner`
|
|
1774
1832
|
|
|
1775
1833
|
| Prop | Default | Kind |
|
|
@@ -1781,6 +1839,7 @@ Methods: `addScore(n)` · `setScore(value)` · `loseLife()` · `announce()`
|
|
|
1781
1839
|
| `at` | `[]` | array |
|
|
1782
1840
|
| `autoStart` | `true` | boolean |
|
|
1783
1841
|
| `total` | `0` | number |
|
|
1842
|
+
| `into` | `""` | node path |
|
|
1784
1843
|
|
|
1785
1844
|
Signals: `spawned(node)` · `finished`
|
|
1786
1845
|
|
|
@@ -1788,6 +1847,24 @@ Methods: `start()` · `stop()` · `spawn()`
|
|
|
1788
1847
|
|
|
1789
1848
|
Reads: `liveCount: number`
|
|
1790
1849
|
|
|
1850
|
+
### `Turret`
|
|
1851
|
+
|
|
1852
|
+
| Prop | Default | Kind |
|
|
1853
|
+
|---|---|---|
|
|
1854
|
+
| `enabled` | `true` | boolean |
|
|
1855
|
+
| `targetGroup` | `"enemy"` | string |
|
|
1856
|
+
| `range` | `6` | number |
|
|
1857
|
+
| `damage` | `10` | number |
|
|
1858
|
+
| `cooldown` | `0.6` | number |
|
|
1859
|
+
| `shelf` | `""` | node path |
|
|
1860
|
+
| `prefab` | `""` | string |
|
|
1861
|
+
| `muzzle` | `[]` | array |
|
|
1862
|
+
| `into` | `""` | node path |
|
|
1863
|
+
| `facePath` | `""` | node path |
|
|
1864
|
+
| `turnSpeed` | `100` | number |
|
|
1865
|
+
|
|
1866
|
+
Signals: `acquired` · `fired` · `lost`
|
|
1867
|
+
|
|
1791
1868
|
### `Wander`
|
|
1792
1869
|
|
|
1793
1870
|
| Prop | Default | Kind |
|
|
@@ -1809,6 +1886,8 @@ Signals: `spawned(node)` · `waveStarted(index)` · `waveCleared(index)` · `all
|
|
|
1809
1886
|
|
|
1810
1887
|
Methods: `start()`
|
|
1811
1888
|
|
|
1889
|
+
Reads: `wave: number` · `waveCount: number`
|
|
1890
|
+
|
|
1812
1891
|
### `ZombieAI`
|
|
1813
1892
|
|
|
1814
1893
|
| Prop | Default | Kind |
|