@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/alpha.d.ts +337 -58
- package/dist/beta.d.ts +337 -58
- package/dist/index.bundled.d.ts +337 -58
- package/dist/index.js +161 -108
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/dist/playground/sdk/dcl-sdk.package.json +14 -14
- package/dist/playground/snippets/raycast-hit-many.ts +7 -4
- package/dist/playground/snippets/raycast-hit.ts +9 -4
- package/dist/playground-assets.d.ts +337 -58
- package/etc/playground-assets.api.json +591 -152
- package/etc/playground-assets.api.md +48 -64
- package/package.json +17 -17
package/dist/index.bundled.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
|
|
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
|
|
3268
|
+
/** the "weight" of this animation (see below, default: 1.0) */
|
|
3237
3269
|
weight?: number | undefined;
|
|
3238
|
-
/** default
|
|
3270
|
+
/** the playback speed (default: 1.0) */
|
|
3239
3271
|
speed?: number | undefined;
|
|
3240
|
-
/** default
|
|
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
|
|
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
|
|
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
|
|
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
|
-
/**
|
|
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
|
|
3400
|
+
/** visible name (default: "NPC") */
|
|
3299
3401
|
name?: string | undefined;
|
|
3300
|
-
/** default
|
|
3402
|
+
/** shape URN (default "urn:decentraland:off-chain:base-avatars:BaseFemale") */
|
|
3301
3403
|
bodyShape?: string | undefined;
|
|
3302
|
-
/**
|
|
3404
|
+
/** RGB (default [0.6, 0.462, 0.356]) */
|
|
3303
3405
|
skinColor?: PBColor3 | undefined;
|
|
3304
|
-
/**
|
|
3406
|
+
/** RGB (default [0.283, 0.142, 0]) */
|
|
3305
3407
|
hairColor?: PBColor3 | undefined;
|
|
3306
|
-
/**
|
|
3408
|
+
/** RGB (default [0.6, 0.462, 0.356]) */
|
|
3307
3409
|
eyeColor?: PBColor3 | undefined;
|
|
3410
|
+
/** current emote animations */
|
|
3308
3411
|
expressionTriggerId?: string | undefined;
|
|
3309
|
-
/**
|
|
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
|
-
*
|
|
3314
|
-
*
|
|
3315
|
-
*
|
|
3316
|
-
*
|
|
3317
|
-
*
|
|
3318
|
-
*
|
|
3319
|
-
*
|
|
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
|
|
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
|
-
/**
|
|
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
|
|
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
|
|
3624
|
+
/** (default 1.0) */
|
|
3473
3625
|
radiusTop?: number | undefined;
|
|
3474
|
-
/** default
|
|
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
|
|
3687
|
+
/** (default 1.0) */
|
|
3521
3688
|
radiusTop?: number | undefined;
|
|
3522
|
-
/** default
|
|
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
|
|
3724
|
+
/** the frame style (default NFT_CLASSIC) */
|
|
3545
3725
|
style?: NftFrameType | undefined;
|
|
3546
|
-
/**
|
|
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
|
|
3767
|
+
/** key/button in use (default IA_ANY) */
|
|
3570
3768
|
button?: InputAction | undefined;
|
|
3571
|
-
/** default
|
|
3769
|
+
/** feedback on hover (default 'Interact') */
|
|
3572
3770
|
hoverText?: string | undefined;
|
|
3573
|
-
/** default
|
|
3771
|
+
/** range of interaction (default 10) */
|
|
3574
3772
|
maxDistance?: number | undefined;
|
|
3575
|
-
/** default
|
|
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
|
-
|
|
3615
|
-
|
|
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
|
|
3625
|
-
|
|
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
|
|
3891
|
+
/** the font (default F_SANS_SERIF) */
|
|
3636
3892
|
font?: Font | undefined;
|
|
3637
|
-
/** default
|
|
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
|
|
3897
|
+
/** X and Y alignment (default TAM_CENTER_CENTER) */
|
|
3641
3898
|
textAlign?: TextAlignMode | undefined;
|
|
3642
|
-
/** default
|
|
3899
|
+
/** available horizontal space (default 1) */
|
|
3643
3900
|
width?: number | undefined;
|
|
3644
|
-
/** default
|
|
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
|
-
/**
|
|
3911
|
+
/** extra distance between lines (default 0) */
|
|
3651
3912
|
lineSpacing?: number | undefined;
|
|
3652
|
-
/**
|
|
3913
|
+
/** maximum number of lines to display */
|
|
3653
3914
|
lineCount?: number | undefined;
|
|
3654
|
-
/**
|
|
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
|
|
3925
|
+
/** drop shadow color (default [1.0, 1.0, 1.0]) */
|
|
3661
3926
|
shadowColor?: PBColor3 | undefined;
|
|
3662
|
-
/** default
|
|
3927
|
+
/** outline stroke color (default [1.0, 1.0, 1.0]) */
|
|
3663
3928
|
outlineColor?: PBColor3 | undefined;
|
|
3664
|
-
/** default
|
|
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
|
|
4006
|
+
/** RGBA color (default: opaque white) */
|
|
3741
4007
|
color?: PBColor4 | undefined;
|
|
3742
|
-
/** default
|
|
4008
|
+
/** alignment within the bounds (default: center) */
|
|
3743
4009
|
textAlign?: TextAlignMode | undefined;
|
|
3744
|
-
/** default
|
|
4010
|
+
/** font for the text (default: sans-serif) */
|
|
3745
4011
|
font?: Font | undefined;
|
|
3746
|
-
/** default
|
|
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
|
-
/**
|
|
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
|
-
|
|
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
|
|
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> = {
|