@dcl/playground-assets 7.1.4-4491693391.commit-569ecab → 7.1.4-4495128859.commit-9f954df

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/dist/beta.d.ts CHANGED
@@ -89,6 +89,7 @@ export declare const AudioSource: LastWriteWinElementSetComponentDefinition<PBAu
89
89
  /** @public */
90
90
  export declare const AudioStream: LastWriteWinElementSetComponentDefinition<PBAudioStream>;
91
91
 
92
+ /** AvatarAnchorPointType determines the part of the avatar's body that anchors the Entity. */
92
93
  /**
93
94
  * @public
94
95
  */
@@ -105,11 +106,14 @@ export declare const AvatarAttach: LastWriteWinElementSetComponentDefinition<PBA
105
106
  /** @public */
106
107
  export declare const AvatarModifierArea: LastWriteWinElementSetComponentDefinition<PBAvatarModifierArea>;
107
108
 
109
+ /** AvatarModifierType is an effect that should be applied to avatars inside the region. */
108
110
  /**
109
111
  * @public
110
112
  */
111
113
  export declare const enum AvatarModifierType {
114
+ /** AMT_HIDE_AVATARS - avatars are invisible */
112
115
  AMT_HIDE_AVATARS = 0,
116
+ /** AMT_DISABLE_PASSPORTS - selecting (e.g. clicking) an avatar will not bring up their profile. */
113
117
  AMT_DISABLE_PASSPORTS = 1
114
118
  }
115
119
 
@@ -203,6 +207,7 @@ export declare interface BaseComponent<T> {
203
207
  /** @public */
204
208
  export declare const Billboard: LastWriteWinElementSetComponentDefinition<PBBillboard>;
205
209
 
210
+ /** BillboardMode indicates one or more axis for automatic rotation, in OR-able bit flag form. */
206
211
  /**
207
212
  * @public
208
213
  */
@@ -211,6 +216,7 @@ export declare const enum BillboardMode {
211
216
  BM_X = 1,
212
217
  BM_Y = 2,
213
218
  BM_Z = 4,
219
+ /** BM_ALL - bitwise combination BM_X | BM_Y | BM_Z */
214
220
  BM_ALL = 7
215
221
  }
216
222
 
@@ -361,18 +367,39 @@ export declare const CameraModeArea: LastWriteWinElementSetComponentDefinition<P
361
367
  */
362
368
  export declare const enum CameraType {
363
369
  CT_FIRST_PERSON = 0,
364
- CT_THIRD_PERSON = 1
370
+ CT_THIRD_PERSON = 1,
371
+ /** CT_CINEMATIC - controlled by the scene */
372
+ CT_CINEMATIC = 2
365
373
  }
366
374
 
367
375
  export declare type Children = unknown;
368
376
 
377
+ /** ColliderLayer determines the kind of collision to detect, in OR-able bit flag form. */
369
378
  /**
370
379
  * @public
371
380
  */
372
381
  export declare const enum ColliderLayer {
382
+ /** CL_NONE - no collisions */
373
383
  CL_NONE = 0,
384
+ /** CL_POINTER - collisions with the player's pointer ray (e.g. mouse cursor hovering) */
374
385
  CL_POINTER = 1,
375
- CL_PHYSICS = 2
386
+ /** CL_PHYSICS - collision affecting your player's physics i.e. walls, floor, moving platfroms */
387
+ CL_PHYSICS = 2,
388
+ /** CL_VISIBLE_MESHES - all visible meshes, use with extreme care since the performance penalty is high */
389
+ CL_VISIBLE_MESHES = 4,
390
+ CL_RESERVED2 = 8,
391
+ CL_RESERVED3 = 16,
392
+ CL_RESERVED4 = 32,
393
+ CL_RESERVED5 = 64,
394
+ CL_RESERVED6 = 128,
395
+ CL_CUSTOM1 = 256,
396
+ CL_CUSTOM2 = 512,
397
+ CL_CUSTOM3 = 1024,
398
+ CL_CUSTOM4 = 2048,
399
+ CL_CUSTOM5 = 4096,
400
+ CL_CUSTOM6 = 8192,
401
+ CL_CUSTOM7 = 16384,
402
+ CL_CUSTOM8 = 32768
376
403
  }
377
404
 
378
405
  /**
@@ -3064,6 +3091,7 @@ export declare class MessageBus {
3064
3091
  private flush;
3065
3092
  }
3066
3093
 
3094
+ /** NftFrameType is a predefined framing style for the image. */
3067
3095
  /**
3068
3096
  * @public
3069
3097
  */
@@ -3226,123 +3254,229 @@ export declare const onVideoEvent: Observable<{
3226
3254
  */
3227
3255
  export declare type OverflowType = 'hidden' | 'scroll' | 'visible';
3228
3256
 
3257
+ /** AnimationState indicates the status and configuration of one available animation. */
3229
3258
  /**
3230
3259
  * @public
3231
3260
  */
3232
3261
  export declare interface PBAnimationState {
3262
+ /** the identifier for this animation, to use in scene code */
3233
3263
  name: string;
3264
+ /** the animation path in the `files` array of the scene manifest */
3234
3265
  clip: string;
3266
+ /** whether this animation is currently playing */
3235
3267
  playing?: boolean | undefined;
3236
- /** default=1.0s */
3268
+ /** the "weight" of this animation (see below, default: 1.0) */
3237
3269
  weight?: number | undefined;
3238
- /** default=1.0 */
3270
+ /** the playback speed (default: 1.0) */
3239
3271
  speed?: number | undefined;
3240
- /** default=true */
3272
+ /** whether the animation repeats until stopped (default: true) */
3241
3273
  loop?: boolean | undefined;
3274
+ /** whether the Entity is restored to its prior state when done */
3242
3275
  shouldReset?: boolean | undefined;
3243
3276
  }
3244
3277
 
3278
+ /**
3279
+ * The Animator component is a container for multiple potential animations an Entity can display,
3280
+ * separately or at the same time. It can be used to start, stop or blend animations; as well as
3281
+ * to inspect their playback state.
3282
+ *
3283
+ * Animations have a `weight` property, which determines how pronounced the animation will be. This
3284
+ * can be adjusted to blend animations together, or gracefully transition from one to the next.
3285
+ */
3245
3286
  /**
3246
3287
  * @public
3247
3288
  */
3248
3289
  export declare interface PBAnimator {
3290
+ /** a collection of animations and their current state */
3249
3291
  states: PBAnimationState[];
3250
3292
  }
3251
3293
 
3294
+ /**
3295
+ * The AudioSource component can play an audio clips bundled with the scene, controlling some
3296
+ * of the behavior.
3297
+ *
3298
+ * In each AudioSource instance, the sound is spatially located at the associated entity’s position,
3299
+ * given by its Transform.
3300
+ *
3301
+ * Note that the `audio_clip_url` is not actually a URL, but rather the path of a file bundled with
3302
+ * the scene and declared in its manifest. The name was chosen because the URL use-case will
3303
+ * eventually be supported.
3304
+ */
3252
3305
  /**
3253
3306
  * @public
3254
3307
  */
3255
3308
  export declare interface PBAudioSource {
3309
+ /** whether the clip is currently playing. */
3256
3310
  playing?: boolean | undefined;
3257
- /** default=1.0f */
3311
+ /** the audio volume (default: 1.0). */
3258
3312
  volume?: number | undefined;
3313
+ /** whether the clip should restart when finished. */
3259
3314
  loop?: boolean | undefined;
3260
- /** default=1.0f */
3315
+ /** the audio pitch (default: 1.0). */
3261
3316
  pitch?: number | undefined;
3317
+ /** the clip path as given in the `files` array of the scene's manifest. */
3262
3318
  audioClipUrl: string;
3263
3319
  }
3264
3320
 
3321
+ /**
3322
+ * The AudioStream component can play external audio clips given a URL, streaming it in real-time.
3323
+ *
3324
+ * Despite being attached to a particular entity, the sound is not affected by its position.
3325
+ */
3265
3326
  /**
3266
3327
  * @public
3267
3328
  */
3268
3329
  export declare interface PBAudioStream {
3330
+ /** whether the clip is currently playing */
3269
3331
  playing?: boolean | undefined;
3270
- /** default=1.0f */
3332
+ /** the audio volume (default: 1.0) */
3271
3333
  volume?: number | undefined;
3334
+ /** the audio stream HTTP URL */
3272
3335
  url: string;
3273
3336
  }
3274
3337
 
3338
+ /**
3339
+ * The AvatarAttach component automatically repositions an Entity to maintain the same position and
3340
+ * rotation relative to some part of an avatar, called the "anchor point". The Entity
3341
+ * will follow this anchor as it moves.
3342
+ *
3343
+ * The Entity's own Transform is overridden by this component. To offset position and adjust scale,
3344
+ * add a child to the anchored Entity and set a Transform on it instead.
3345
+ *
3346
+ * AvatarAnchorPointType indicates which part of the avatar the Entity must follow.
3347
+ */
3275
3348
  /**
3276
3349
  * @public
3277
3350
  */
3278
3351
  export declare interface PBAvatarAttach {
3279
- /** default's to current player avatar id if not provided */
3352
+ /** the user ID of the avatar (default: local user) */
3280
3353
  avatarId?: string | undefined;
3354
+ /** the anchor point. */
3281
3355
  anchorPointId: AvatarAnchorPointType;
3282
3356
  }
3283
3357
 
3358
+ /**
3359
+ * The AvatarModifierArea component can be attached to an Entity to define a region of space where
3360
+ * avatar behavior changes.
3361
+ *
3362
+ * The Entity's Transform position determines the center-point of the region, while its size is
3363
+ * given as a vector in the `area` property below. The Transform rotation is applied, but the scale
3364
+ * is ignored.
3365
+ *
3366
+ * The modifier effect is only applied to avatars inside the region. It does not affect how players
3367
+ * standing inside it see avatars on the other side of the boundary.
3368
+ *
3369
+ * Note that, while commonly used to delineate a 2D area in a scene (hence the name), the region
3370
+ * is actually a 3D volume.
3371
+ */
3284
3372
  /**
3285
3373
  * @public
3286
3374
  */
3287
3375
  export declare interface PBAvatarModifierArea {
3376
+ /** the 3D size of the region */
3288
3377
  area: PBVector3 | undefined;
3378
+ /** user IDs that can enter and remain unaffected */
3289
3379
  excludeIds: string[];
3380
+ /** list of modifiers to apply */
3290
3381
  modifiers: AvatarModifierType[];
3291
3382
  }
3292
3383
 
3384
+ /**
3385
+ * The AvatarShape component contains the information required to draw and animate avatar, acting as
3386
+ * a simplified GLTF container for this specific case.
3387
+ *
3388
+ * All fields (except ID) are optional have reasonable default values. In the case of `wearables`,
3389
+ * each slot on the Avatar's body that is not explicitly included in the list has its own default.
3390
+ *
3391
+ * Note that, while AvatarShape can be attached to any Entity, it's only actually used in the global
3392
+ * Avatar Scene. Other requirements are usually better served by GLTFs.
3393
+ */
3293
3394
  /**
3294
3395
  * @public
3295
3396
  */
3296
3397
  export declare interface PBAvatarShape {
3398
+ /** the user ID */
3297
3399
  id: string;
3298
- /** default = NPC */
3400
+ /** visible name (default: "NPC") */
3299
3401
  name?: string | undefined;
3300
- /** default = urn:decentraland:off-chain:base-avatars:BaseFemale */
3402
+ /** shape URN (default "urn:decentraland:off-chain:base-avatars:BaseFemale") */
3301
3403
  bodyShape?: string | undefined;
3302
- /** default = decentraland.common.Color3(R = 0.6f, G = 0.462f, B = 0.356f) */
3404
+ /** RGB (default [0.6, 0.462, 0.356]) */
3303
3405
  skinColor?: PBColor3 | undefined;
3304
- /** default = decentraland.common.Color3(R = 0.283f, G = 0.142f, B = 0f) */
3406
+ /** RGB (default [0.283, 0.142, 0]) */
3305
3407
  hairColor?: PBColor3 | undefined;
3306
- /** default = decentraland.common.Color3(R = 0.6f, G = 0.462f, B = 0.356f) */
3408
+ /** RGB (default [0.6, 0.462, 0.356]) */
3307
3409
  eyeColor?: PBColor3 | undefined;
3410
+ /** current emote animations */
3308
3411
  expressionTriggerId?: string | undefined;
3309
- /** default = timestamp */
3412
+ /** start of emote animations (in the same order) */
3310
3413
  expressionTriggerTimestamp?: number | undefined;
3414
+ /** whether to display the floating voice chat icon */
3311
3415
  talking?: boolean | undefined;
3312
3416
  /**
3313
- * default = ["urn:decentraland:off-chain:base-avatars:f_eyes_00",
3314
- * "urn:decentraland:off-chain:base-avatars:f_eyebrows_00",
3315
- * "urn:decentraland:off-chain:base-avatars:f_mouth_00"
3316
- * "urn:decentraland:off-chain:base-avatars:standard_hair",
3317
- * "urn:decentraland:off-chain:base-avatars:f_simple_yellow_tshirt",
3318
- * "urn:decentraland:off-chain:base-avatars:f_brown_trousers",
3319
- * "urn:decentraland:off-chain:base-avatars:bun_shoes"]
3417
+ * Wearable URNs, one for each body slot.
3418
+ * Default values for each unspecified slot:
3419
+ * Eyes : "urn:decentraland:off-chain:base-avatars:f_eyes_00",
3420
+ * Eyebrows: "urn:decentraland:off-chain:base-avatars:f_eyebrows_00",
3421
+ * Mouth : "urn:decentraland:off-chain:base-avatars:f_mouth_00"
3422
+ * Hair : "urn:decentraland:off-chain:base-avatars:standard_hair",
3423
+ * Shirt : "urn:decentraland:off-chain:base-avatars:f_simple_yellow_tshirt",
3424
+ * Trousers: "urn:decentraland:off-chain:base-avatars:f_brown_trousers",
3425
+ * Shoes : "urn:decentraland:off-chain:base-avatars:bun_shoes"]
3320
3426
  */
3321
3427
  wearables: string[];
3322
- /** default = [] */
3428
+ /** available emotes (default empty) */
3323
3429
  emotes: string[];
3324
3430
  }
3325
3431
 
3432
+ /**
3433
+ * The Billboard component makes an Entity automatically reorient its rotation to face the camera.
3434
+ * As the name indicates, it’s used to display in-game billboards and frequently combined with
3435
+ * the TextShape component.
3436
+ *
3437
+ * Billboard only affects the Entity's rotation. Its scale and position are still determined by its
3438
+ * Transform.
3439
+ */
3326
3440
  /**
3327
3441
  * @public
3328
3442
  */
3329
3443
  export declare interface PBBillboard {
3330
- /** default=BM_ALL */
3444
+ /** the BillboardMode (default: BM_ALL) */
3331
3445
  billboardMode?: BillboardMode | undefined;
3332
3446
  }
3333
3447
 
3448
+ /**
3449
+ * The CameraMode component can be used to determine whether the player is using a first-person o
3450
+ * third-person view.
3451
+ */
3334
3452
  /**
3335
3453
  * @public
3336
3454
  */
3337
3455
  export declare interface PBCameraMode {
3456
+ /** the camera type (1st-person or 3rd-person) */
3338
3457
  mode: CameraType;
3339
3458
  }
3340
3459
 
3460
+ /**
3461
+ * The CameraModeArea component can be attached to an Entity to define a region of space where
3462
+ * the player's camera mode (1st-person or 3rd-person) is overridden.
3463
+ *
3464
+ * The Entity's Transform position determines the center-point of the region, while its size is
3465
+ * given as a vector in the `area` property below. The Transform rotation is applied, but the scale
3466
+ * is ignored.
3467
+ *
3468
+ * When players leave the region, their previous setting is restored.
3469
+ *
3470
+ * Note that, while commonly used to delineate a 2D area in a scene (hence the name), the region
3471
+ * is actually a 3D volume.
3472
+ */
3341
3473
  /**
3342
3474
  * @public
3343
3475
  */
3344
3476
  export declare interface PBCameraModeArea {
3477
+ /** the 3D size of the region */
3345
3478
  area: PBVector3 | undefined;
3479
+ /** the camera mode to enforce */
3346
3480
  mode: CameraType;
3347
3481
  }
3348
3482
 
@@ -3365,11 +3499,17 @@ export declare interface PBColor4 {
3365
3499
  a: number;
3366
3500
  }
3367
3501
 
3502
+ /**
3503
+ * GltfContainer loads a GLTF file (and any additional files packaged inside) attached to an Entity.
3504
+ *
3505
+ * This allows the use of custom models, materials, collision boundaries and shapes that can't be
3506
+ * achieved using MeshRenderer, MeshCollider and other standard components.
3507
+ */
3368
3508
  /**
3369
3509
  * @public
3370
3510
  */
3371
3511
  export declare interface PBGltfContainer {
3372
- /** which file to load */
3512
+ /** the GLTF file path as listed in the scene's manifest. */
3373
3513
  src: string;
3374
3514
  }
3375
3515
 
@@ -3438,11 +3578,21 @@ export declare interface PBMaterial_UnlitMaterial {
3438
3578
  diffuseColor?: PBColor4 | undefined;
3439
3579
  }
3440
3580
 
3581
+ /**
3582
+ * The MeshCollider component provides basic collision detection between Entities and Avatars. It
3583
+ * can behave like a cube, a plane, a sphere or a cylinder.
3584
+ *
3585
+ * The Entity's Transform affects the MeshCollider, scaling it and rotating it appropriately. If
3586
+ * the Transform for the collision mesh must be different than the Transform for rendering the Entity,
3587
+ * two different Entities must be used.
3588
+ *
3589
+ * More complex shapes require the use of a `GltfContainer` component.
3590
+ */
3441
3591
  /**
3442
3592
  * @public
3443
3593
  */
3444
3594
  export declare interface PBMeshCollider {
3445
- /** default = ColliderLayer.Physics | ColliderLayer.Pointer */
3595
+ /** enabled ColliderLayers (default CL_POINTER | CL_PHYSICS) */
3446
3596
  collisionMask?: number | undefined;
3447
3597
  mesh?: {
3448
3598
  $case: "box";
@@ -3459,34 +3609,48 @@ export declare interface PBMeshCollider {
3459
3609
  };
3460
3610
  }
3461
3611
 
3612
+ /** BoxMesh is a prism shape that contains the Entity. */
3462
3613
  /**
3463
3614
  * @public
3464
3615
  */
3465
3616
  export declare interface PBMeshCollider_BoxMesh {
3466
3617
  }
3467
3618
 
3619
+ /** CylinderMesh is a truncated cone shape that contains the Entity. */
3468
3620
  /**
3469
3621
  * @public
3470
3622
  */
3471
3623
  export declare interface PBMeshCollider_CylinderMesh {
3472
- /** default=1.0 */
3624
+ /** (default 1.0) */
3473
3625
  radiusTop?: number | undefined;
3474
- /** default=1.0 */
3626
+ /** (default 1.0) */
3475
3627
  radiusBottom?: number | undefined;
3476
3628
  }
3477
3629
 
3630
+ /** PlaneMesh is a 2D rectangle described by the Entity's Transform. */
3478
3631
  /**
3479
3632
  * @public
3480
3633
  */
3481
3634
  export declare interface PBMeshCollider_PlaneMesh {
3482
3635
  }
3483
3636
 
3637
+ /** SphereMesh is a sphere shape that contains the Entity. */
3484
3638
  /**
3485
3639
  * @public
3486
3640
  */
3487
3641
  export declare interface PBMeshCollider_SphereMesh {
3488
3642
  }
3489
3643
 
3644
+ /**
3645
+ * The MeshRenderer component renders a basic geometric shape for an Entity. It can be a cube, a
3646
+ * plane, a sphere or a cylinder.
3647
+ *
3648
+ * The cube and plane variants can include a UV texture mapping, so specific areas of a material
3649
+ * texture are rendered on different faces of the shape. They are serialized as a sequence of 2D
3650
+ * `float` coordinates, one for each corner of each side of each face.
3651
+ *
3652
+ * More complex shapes require the use of a `GltfContainer` component.
3653
+ */
3490
3654
  /**
3491
3655
  * @public
3492
3656
  */
@@ -3506,51 +3670,83 @@ export declare interface PBMeshRenderer {
3506
3670
  };
3507
3671
  }
3508
3672
 
3673
+ /** BoxMesh renders a prism shape. */
3509
3674
  /**
3510
3675
  * @public
3511
3676
  */
3512
3677
  export declare interface PBMeshRenderer_BoxMesh {
3678
+ /** 96-value texture map (2D * 6 faces * 2 sides * 4 vertices) */
3513
3679
  uvs: number[];
3514
3680
  }
3515
3681
 
3682
+ /** CylinderMesh renders a truncated cone shape. */
3516
3683
  /**
3517
3684
  * @public
3518
3685
  */
3519
3686
  export declare interface PBMeshRenderer_CylinderMesh {
3520
- /** default=1.0 */
3687
+ /** (default 1.0) */
3521
3688
  radiusTop?: number | undefined;
3522
- /** default=1.0 */
3689
+ /** (default 1.0) */
3523
3690
  radiusBottom?: number | undefined;
3524
3691
  }
3525
3692
 
3693
+ /** PlaneMesh renders a 2D rectangular shape. */
3526
3694
  /**
3527
3695
  * @public
3528
3696
  */
3529
3697
  export declare interface PBMeshRenderer_PlaneMesh {
3698
+ /** 16-value texture map (2D * 1 face * 2 sides * 4 vertices) */
3530
3699
  uvs: number[];
3531
3700
  }
3532
3701
 
3702
+ /** SphereMesh renders a spherical shape. */
3533
3703
  /**
3534
3704
  * @public
3535
3705
  */
3536
3706
  export declare interface PBMeshRenderer_SphereMesh {
3537
3707
  }
3538
3708
 
3709
+ /**
3710
+ * The NftShape component renders a framed picture from an NFT. It supports PNG, JPEG and GIF files.
3711
+ *
3712
+ * The `src` field is the URI of the NFT, which includes its parent contract and index, using
3713
+ * the `https:` or `ethereum:` schemes.
3714
+ *
3715
+ * The picture frame can have several different styles, plus a background color for images that have
3716
+ * transparent pixels.
3717
+ */
3539
3718
  /**
3540
3719
  * @public
3541
3720
  */
3542
3721
  export declare interface PBNftShape {
3722
+ /** the URI of the NFT */
3543
3723
  src: string;
3544
- /** default = PictureFrameStyle.Classic */
3724
+ /** the frame style (default NFT_CLASSIC) */
3545
3725
  style?: NftFrameType | undefined;
3546
- /** default = decentraland.common.Color3(0.6404918, 0.611472, 0.8584906) */
3726
+ /** RGB background (default [0.6404918, 0.611472, 0.8584906]) */
3547
3727
  color?: PBColor3 | undefined;
3548
3728
  }
3549
3729
 
3730
+ /**
3731
+ * PointerEvents adds configurable pointer-based interactions to the attached Entity.
3732
+ *
3733
+ * Events that match the criteria defined in the PointerEvents structure are reported back to the
3734
+ * Entity via the PointerEventsResult component.
3735
+ *
3736
+ * Some examples of events that can be detected:
3737
+ * - Pointer hovering over the Entity.
3738
+ * - Held mouse button released over the Entity.
3739
+ * - Controller button pressed while targeting the Entity.
3740
+ * - Key pressed while targeting the Entity, but only in close range.
3741
+ *
3742
+ * It also supports simple visual feedback when interactions occur, by showing floating text.
3743
+ * More sophisticated feedback requires the use of other components.
3744
+ */
3550
3745
  /**
3551
3746
  * @public
3552
3747
  */
3553
3748
  export declare interface PBPointerEvents {
3749
+ /** the list of relevant events to detect */
3554
3750
  pointerEvents: PBPointerEvents_Entry[];
3555
3751
  }
3556
3752
 
@@ -3558,7 +3754,9 @@ export declare interface PBPointerEvents {
3558
3754
  * @public
3559
3755
  */
3560
3756
  export declare interface PBPointerEvents_Entry {
3757
+ /** the kind of interaction to detect */
3561
3758
  eventType: PointerEventType;
3759
+ /** additional configuration for this detection */
3562
3760
  eventInfo: PBPointerEvents_Info | undefined;
3563
3761
  }
3564
3762
 
@@ -3566,13 +3764,13 @@ export declare interface PBPointerEvents_Entry {
3566
3764
  * @public
3567
3765
  */
3568
3766
  export declare interface PBPointerEvents_Info {
3569
- /** default=InputAction.ANY */
3767
+ /** key/button in use (default IA_ANY) */
3570
3768
  button?: InputAction | undefined;
3571
- /** default='Interact' */
3769
+ /** feedback on hover (default 'Interact') */
3572
3770
  hoverText?: string | undefined;
3573
- /** default=10 */
3771
+ /** range of interaction (default 10) */
3574
3772
  maxDistance?: number | undefined;
3575
- /** default=true */
3773
+ /** enable or disable hover text (default true) */
3576
3774
  showFeedback?: boolean | undefined;
3577
3775
  }
3578
3776
 
@@ -3591,10 +3789,15 @@ export declare interface PBPointerEventsResult {
3591
3789
  analog?: number | undefined;
3592
3790
  }
3593
3791
 
3792
+ /**
3793
+ * PointerLock indicates whether the mouse pointer is automatically following the camera’s point of
3794
+ * focus (locked), or can move freely on the screen (unlocked).
3795
+ */
3594
3796
  /**
3595
3797
  * @public
3596
3798
  */
3597
3799
  export declare interface PBPointerLock {
3800
+ /** whether the pointer is locked */
3598
3801
  isPointerLocked: boolean;
3599
3802
  }
3600
3803
 
@@ -3607,61 +3810,123 @@ export declare interface PBPosition {
3607
3810
  z: number;
3608
3811
  }
3609
3812
 
3813
+ /**
3814
+ * The PBRaycast component and PBRaycastResult are defined in https://adr.decentraland.org/adr/ADR-200
3815
+ *
3816
+ * The Raycast component allows scenes to request raycasting from the game engine. The results will
3817
+ * be available in a RaycastResult component set later on the same Entity.
3818
+ */
3610
3819
  /**
3611
3820
  * @public
3612
3821
  */
3613
3822
  export declare interface PBRaycast {
3614
- origin: PBVector3 | undefined;
3615
- direction: PBVector3 | undefined;
3823
+ /** Correlation ID, defined by the scene and used internally by the scene */
3824
+ timestamp?: number | undefined;
3825
+ /**
3826
+ * How much to offset the starting point of the ray, relative to the entity's transform.
3827
+ * Defaults to vec3(0,0,0)
3828
+ */
3829
+ originOffset?: PBVector3 | undefined;
3830
+ direction?: {
3831
+ $case: "localDirection";
3832
+ localDirection: PBVector3;
3833
+ } | {
3834
+ $case: "globalDirection";
3835
+ globalDirection: PBVector3;
3836
+ } | {
3837
+ $case: "globalTarget";
3838
+ globalTarget: PBVector3;
3839
+ } | {
3840
+ $case: "targetEntity";
3841
+ targetEntity: number;
3842
+ };
3843
+ /** Maximum length of the ray in virtual meters (global space) */
3616
3844
  maxDistance: number;
3845
+ /** the RaycastQueryType behavior */
3617
3846
  queryType: RaycastQueryType;
3847
+ /**
3848
+ * Indicates the renderer to perform the raycast on every scene tick (ADR-148),
3849
+ * otherwise it will be performed only once, defaults to false
3850
+ */
3851
+ continuous?: boolean | undefined;
3852
+ /** Collision mask, by default all bits are 1 (0xFFFF_FFFF) */
3853
+ collisionMask?: number | undefined;
3618
3854
  }
3619
3855
 
3856
+ /**
3857
+ * The PBRaycast component and PBRaycastResult are defined in https://adr.decentraland.org/adr/ADR-200
3858
+ *
3859
+ * The RaycastResult component is added to an Entity when the results of a previously attached
3860
+ * Raycast component are available. It contains information about the ray and any objects it
3861
+ * collided with.
3862
+ */
3620
3863
  /**
3621
3864
  * @public
3622
3865
  */
3623
3866
  export declare interface PBRaycastResult {
3624
- timestamp: number;
3625
- origin: PBVector3 | undefined;
3867
+ /** timestamp is a correlation id, copied from the PBRaycast */
3868
+ timestamp?: number | undefined;
3869
+ /** the starting point of the ray in global coordinates */
3870
+ globalOrigin: PBVector3 | undefined;
3871
+ /** the direction vector of the ray in global coordinates */
3626
3872
  direction: PBVector3 | undefined;
3873
+ /** zero or more hits */
3627
3874
  hits: RaycastHit[];
3628
3875
  }
3629
3876
 
3877
+ /**
3878
+ * The TextShape component renders customizable floating text.
3879
+ *
3880
+ * The position and rotation of the text are defined by the Entity's Transform, while its size
3881
+ * can either scale with the Transform or be fixed by a font size.
3882
+ *
3883
+ * Several options can be configured, including color, padding, line spacing and drop shadows.
3884
+ */
3630
3885
  /**
3631
3886
  * @public
3632
3887
  */
3633
3888
  export declare interface PBTextShape {
3889
+ /** the content */
3634
3890
  text: string;
3635
- /** default=F_SANS_SERIF */
3891
+ /** the font (default F_SANS_SERIF) */
3636
3892
  font?: Font | undefined;
3637
- /** default=10 */
3893
+ /** the font size (default 10) */
3638
3894
  fontSize?: number | undefined;
3895
+ /** override `font_size` to automatically fit in `width`/`height` */
3639
3896
  fontAutoSize?: boolean | undefined;
3640
- /** default=TAM_CENTER_CENTER */
3897
+ /** X and Y alignment (default TAM_CENTER_CENTER) */
3641
3898
  textAlign?: TextAlignMode | undefined;
3642
- /** default=1 */
3899
+ /** available horizontal space (default 1) */
3643
3900
  width?: number | undefined;
3644
- /** default=1 */
3901
+ /** available vertical space (default 1) */
3645
3902
  height?: number | undefined;
3903
+ /** distance from text to top border (default 0) */
3646
3904
  paddingTop?: number | undefined;
3905
+ /** distance from text to right border (default 0) */
3647
3906
  paddingRight?: number | undefined;
3907
+ /** distance from text to bottom border (default 0) */
3648
3908
  paddingBottom?: number | undefined;
3909
+ /** distance from text to left border (default 0) */
3649
3910
  paddingLeft?: number | undefined;
3650
- /** The amount of additional spacing to add between each lines of text. */
3911
+ /** extra distance between lines (default 0) */
3651
3912
  lineSpacing?: number | undefined;
3652
- /** Allows control over how many lines of text are displayed. */
3913
+ /** maximum number of lines to display */
3653
3914
  lineCount?: number | undefined;
3654
- /** Enables text wrapping */
3915
+ /** wrap text when the border is reached (default false) */
3655
3916
  textWrapping?: boolean | undefined;
3917
+ /** blurriness of the drop shadow (default 0) */
3656
3918
  shadowBlur?: number | undefined;
3919
+ /** horizontal length of the shadow (default 0) */
3657
3920
  shadowOffsetX?: number | undefined;
3921
+ /** vertical length of the shadow (default 0) */
3658
3922
  shadowOffsetY?: number | undefined;
3923
+ /** width of the stroke outlining each letter (default 0) */
3659
3924
  outlineWidth?: number | undefined;
3660
- /** default=(1.0,1.0,1.0) */
3925
+ /** drop shadow color (default [1.0, 1.0, 1.0]) */
3661
3926
  shadowColor?: PBColor3 | undefined;
3662
- /** default=(1.0,1.0,1.0) */
3927
+ /** outline stroke color (default [1.0, 1.0, 1.0]) */
3663
3928
  outlineColor?: PBColor3 | undefined;
3664
- /** default=(1.0,1.0,1.0) */
3929
+ /** text color (default [1.0, 1.0, 1.0]) */
3665
3930
  textColor?: PBColor4 | undefined;
3666
3931
  }
3667
3932
 
@@ -3736,14 +4001,15 @@ export declare interface PBUiInputResult {
3736
4001
  * @public
3737
4002
  */
3738
4003
  export declare interface PBUiText {
4004
+ /** the text content */
3739
4005
  value: string;
3740
- /** default=(1.0,1.0,1.0,1.0) */
4006
+ /** RGBA color (default: opaque white) */
3741
4007
  color?: PBColor4 | undefined;
3742
- /** default='center' */
4008
+ /** alignment within the bounds (default: center) */
3743
4009
  textAlign?: TextAlignMode | undefined;
3744
- /** default=0 */
4010
+ /** font for the text (default: sans-serif) */
3745
4011
  font?: Font | undefined;
3746
- /** default=10 */
4012
+ /** size of the text (default: 10) */
3747
4013
  fontSize?: number | undefined;
3748
4014
  }
3749
4015
 
@@ -4040,6 +4306,7 @@ export declare interface PointerEventsSystem {
4040
4306
  */
4041
4307
  export declare const pointerEventsSystem: PointerEventsSystem;
4042
4308
 
4309
+ /** PointerEventType is a kind of interaction that can be detected. */
4043
4310
  /**
4044
4311
  * @public
4045
4312
  */
@@ -4436,26 +4703,38 @@ export declare const RAD2DEG: number;
4436
4703
  /** @public */
4437
4704
  export declare const Raycast: LastWriteWinElementSetComponentDefinition<PBRaycast>;
4438
4705
 
4439
- /** Position will be relative to the scene */
4706
+ /** RaycastHit contains information about the intersection of a ray with a mesh. */
4440
4707
  /**
4441
4708
  * @public
4442
4709
  */
4443
4710
  export declare interface RaycastHit {
4711
+ /** Position will be relative to the scene */
4444
4712
  position: PBVector3 | undefined;
4445
- origin: PBVector3 | undefined;
4713
+ /** the starting point of the ray in global coordinates */
4714
+ globalOrigin: PBVector3 | undefined;
4715
+ /** the direction vector of the ray in global coordinates */
4446
4716
  direction: PBVector3 | undefined;
4717
+ /** normal of the hit surface in global coordinates */
4447
4718
  normalHit: PBVector3 | undefined;
4719
+ /** the distance between the ray origin and the hit position */
4448
4720
  length: number;
4721
+ /** mesh name, if collision happened inside a GltfContainer */
4449
4722
  meshName?: string | undefined;
4723
+ /** the ID of the Entity that has the impacted mesh attached */
4450
4724
  entityId?: number | undefined;
4451
4725
  }
4452
4726
 
4727
+ /** RaycastQueryType indicates whether the ray should stop on the first collition, or continue. */
4453
4728
  /**
4454
4729
  * @public
4455
4730
  */
4456
4731
  export declare const enum RaycastQueryType {
4732
+ /** RQT_HIT_FIRST - Pick the first (not necessarily the closest) hit within the range */
4457
4733
  RQT_HIT_FIRST = 0,
4458
- RQT_QUERY_ALL = 1
4734
+ /** RQT_QUERY_ALL - Pick all hits within the range */
4735
+ RQT_QUERY_ALL = 1,
4736
+ /** RQT_NONE - Do not perform the raycast, only set the raycast result with empty hits */
4737
+ RQT_NONE = 2
4459
4738
  }
4460
4739
 
4461
4740
  export declare type RaycastResponsePayload<T> = {