@dcl/playground-assets 7.7.9 → 7.7.10-13859848918.commit-407cb6b

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 CHANGED
@@ -178,11 +178,32 @@ export declare const AvatarAttach: LastWriteWinElementSetComponentDefinition<PBA
178
178
  /** @public */
179
179
  export declare const AvatarBase: LastWriteWinElementSetComponentDefinition<PBAvatarBase>;
180
180
 
181
+ /**
182
+ * @public
183
+ */
184
+ export declare const enum AvatarControlType {
185
+ /** CCT_NONE - avatar cannot move */
186
+ CCT_NONE = 0,
187
+ /** CCT_RELATIVE - avatar moves relative to the camera origin */
188
+ CCT_RELATIVE = 1,
189
+ /** CCT_TANK - avatar moves like a tank: left/right rotate the player, forward/backward advance/retreat the player */
190
+ CCT_TANK = 2
191
+ }
192
+
181
193
  /** @public */
182
194
  export declare const AvatarEmoteCommand: GrowOnlyValueSetComponentDefinition<PBAvatarEmoteCommand>;
183
195
 
184
- /** @public */
185
- export declare const AvatarEquippedData: LastWriteWinElementSetComponentDefinition<PBAvatarEquippedData>;
196
+ export declare const AvatarEquippedData: AvatarEquippedDataComponentDefinitionExtended;
197
+
198
+ /**
199
+ * @public
200
+ */
201
+ export declare interface AvatarEquippedDataComponentDefinitionExtended extends LastWriteWinElementSetComponentDefinition<AvatarEquippedDataType> {
202
+ }
203
+
204
+ export declare type AvatarEquippedDataType = Omit<PBAvatarEquippedData, 'forceRender'> & {
205
+ forceRender?: string[] | undefined;
206
+ };
186
207
 
187
208
  /** @public */
188
209
  export declare const AvatarModifierArea: LastWriteWinElementSetComponentDefinition<PBAvatarModifierArea>;
@@ -198,8 +219,48 @@ export declare const enum AvatarModifierType {
198
219
  AMT_DISABLE_PASSPORTS = 1
199
220
  }
200
221
 
201
- /** @public */
202
- export declare const AvatarShape: LastWriteWinElementSetComponentDefinition<PBAvatarShape>;
222
+ /**
223
+ * @public
224
+ */
225
+ export declare interface AvatarMovementSettings {
226
+ controlMode?: AvatarControlType | undefined;
227
+ /** if not explicitly set, the following properties default to user's preference settings */
228
+ runSpeed?: number | undefined;
229
+ /** how fast the player gets up to speed or comes to rest. higher = more responsive */
230
+ friction?: number | undefined;
231
+ /** how fast the player accelerates vertically when not on a solid surface, in m/s. should normally be negative */
232
+ gravity?: number | undefined;
233
+ /** how high the player can jump, in meters. should normally be positive. gravity must have the same sign for jumping to be possible */
234
+ jumpHeight?: number | undefined;
235
+ /** max fall speed in m/s. should normally be negative */
236
+ maxFallSpeed?: number | undefined;
237
+ /** speed the player turns in tank mode, in radians/s */
238
+ turnSpeed?: number | undefined;
239
+ /** speed the player walks at, in m/s */
240
+ walkSpeed?: number | undefined;
241
+ /** whether to allow player to move at a slower speed (e.g. with a walk-key or when using a gamepad/joystick). defaults to true */
242
+ allowWeightedMovement?: boolean | undefined;
243
+ }
244
+
245
+ /**
246
+ * @public
247
+ */
248
+ export declare namespace AvatarMovementSettings {
249
+ export function encode(message: AvatarMovementSettings, writer?: _m0.Writer): _m0.Writer;
250
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): AvatarMovementSettings;
251
+ }
252
+
253
+ export declare const AvatarShape: AvatarShapeComponentDefinitionExtended;
254
+
255
+ /**
256
+ * @public
257
+ */
258
+ export declare interface AvatarShapeComponentDefinitionExtended extends LastWriteWinElementSetComponentDefinition<AvatarShapeType> {
259
+ }
260
+
261
+ export declare type AvatarShapeType = Omit<PBAvatarShape, 'forceRender'> & {
262
+ forceRender?: string[] | undefined;
263
+ };
203
264
 
204
265
  /**
205
266
  * @public
@@ -462,6 +523,12 @@ export declare interface ByteBuffer {
462
523
  */
463
524
  export declare type Callback = () => void;
464
525
 
526
+ /** @public */
527
+ export declare const CameraLayer: LastWriteWinElementSetComponentDefinition<PBCameraLayer>;
528
+
529
+ /** @public */
530
+ export declare const CameraLayers: LastWriteWinElementSetComponentDefinition<PBCameraLayers>;
531
+
465
532
  /** @public */
466
533
  export declare const CameraMode: LastWriteWinElementSetComponentDefinition<PBCameraMode>;
467
534
 
@@ -519,6 +586,39 @@ export declare const enum CameraType {
519
586
 
520
587
  export declare type Children = ReactEcs.JSX.ReactNode;
521
588
 
589
+ /**
590
+ * @public
591
+ */
592
+ export declare interface CinematicSettings {
593
+ /** Entity that defines the cinematic camera transform. */
594
+ cameraEntity: number;
595
+ /**
596
+ * Position -> camera's position
597
+ * Rotation -> camera's direction
598
+ * scale.z -> zoom level
599
+ * scale.x and scale.y -> unused
600
+ */
601
+ allowManualRotation?: boolean | undefined;
602
+ /** how far the camera can rotate around the y-axis / look left/right, in radians. default unrestricted */
603
+ yawRange?: number | undefined;
604
+ /** how far the camera can rotate around the x-axis / look up-down, in radians. default unrestricted */
605
+ pitchRange?: number | undefined;
606
+ /** note: cameras can never look up/down further than Vec3::Y */
607
+ rollRange?: number | undefined;
608
+ /** minimum zoom level. must be greater than 0. defaults to the input zoom level */
609
+ zoomMin?: number | undefined;
610
+ /** maximum zoom level. must be greater than 0. defaults to the input zoom level */
611
+ zoomMax?: number | undefined;
612
+ }
613
+
614
+ /**
615
+ * @public
616
+ */
617
+ export declare namespace CinematicSettings {
618
+ export function encode(message: CinematicSettings, writer?: _m0.Writer): _m0.Writer;
619
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): CinematicSettings;
620
+ }
621
+
522
622
  /** ColliderLayer determines the kind of collision to detect, in OR-able bit flag form. */
523
623
  /**
524
624
  * @public
@@ -1292,12 +1392,18 @@ export declare const componentDefinitionByName: {
1292
1392
  "core::AvatarModifierArea": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarModifierArea>>;
1293
1393
  "core::AvatarShape": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarShape>>;
1294
1394
  "core::Billboard": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBBillboard>>;
1395
+ "core::CameraLayer": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraLayer>>;
1396
+ "core::CameraLayers": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraLayers>>;
1295
1397
  "core::CameraMode": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraMode>>;
1296
1398
  "core::CameraModeArea": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraModeArea>>;
1297
1399
  "core::EngineInfo": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBEngineInfo>>;
1400
+ "core::GlobalLight": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGlobalLight>>;
1298
1401
  "core::GltfContainer": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainer>>;
1299
1402
  "core::GltfContainerLoadingState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>>;
1403
+ "core::GltfNode": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNode>>;
1404
+ "core::GltfNodeState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNodeState>>;
1300
1405
  "core::InputModifier": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBInputModifier>>;
1406
+ "core::Light": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBLight>>;
1301
1407
  "core::MainCamera": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMainCamera>>;
1302
1408
  "core::Material": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMaterial>>;
1303
1409
  "core::MeshCollider": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMeshCollider>>;
@@ -1307,19 +1413,24 @@ export declare const componentDefinitionByName: {
1307
1413
  "core::PointerEvents": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBPointerEvents>>;
1308
1414
  "core::PointerEventsResult": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBPointerEventsResult>>;
1309
1415
  "core::PointerLock": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBPointerLock>>;
1416
+ "core::PrimaryPointerInfo": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBPrimaryPointerInfo>>;
1310
1417
  "core::Raycast": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBRaycast>>;
1311
1418
  "core::RaycastResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBRaycastResult>>;
1312
1419
  "core::RealmInfo": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBRealmInfo>>;
1420
+ "core::Spotlight": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBSpotlight>>;
1313
1421
  "core::TextShape": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTextShape>>;
1422
+ "core::TextureCamera": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTextureCamera>>;
1314
1423
  "core::Tween": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTween>>;
1315
1424
  "core::TweenSequence": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTweenSequence>>;
1316
1425
  "core::TweenState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTweenState>>;
1317
1426
  "core::UiBackground": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiBackground>>;
1427
+ "core::UiCanvas": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiCanvas>>;
1318
1428
  "core::UiCanvasInformation": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiCanvasInformation>>;
1319
1429
  "core::UiDropdown": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiDropdown>>;
1320
1430
  "core::UiDropdownResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiDropdownResult>>;
1321
1431
  "core::UiInput": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiInput>>;
1322
1432
  "core::UiInputResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiInputResult>>;
1433
+ "core::UiScrollResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiScrollResult>>;
1323
1434
  "core::UiText": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiText>>;
1324
1435
  "core::UiTransform": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiTransform>>;
1325
1436
  "core::VideoEvent": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBVideoEvent>>;
@@ -1890,6 +2001,9 @@ export declare type EntityComponents = {
1890
2001
  onMouseUp: Callback;
1891
2002
  onMouseEnter: Callback;
1892
2003
  onMouseLeave: Callback;
2004
+ onMouseDrag: Callback;
2005
+ onMouseDragLocked: Callback;
2006
+ onMouseDragEnd: Callback;
1893
2007
  };
1894
2008
 
1895
2009
  /** @public */
@@ -2041,6 +2155,9 @@ export declare type GlobalDirectionRaycastSystemOptions = {
2041
2155
  direction?: PBVector3;
2042
2156
  };
2043
2157
 
2158
+ /** @public */
2159
+ export declare const GlobalLight: LastWriteWinElementSetComponentDefinition<PBGlobalLight>;
2160
+
2044
2161
  export declare type GlobalTargetRaycastOptions = RaycastSystemOptions & GlobalTargetRaycastSystemOptions;
2045
2162
 
2046
2163
  export declare type GlobalTargetRaycastSystemOptions = {
@@ -2053,6 +2170,21 @@ export declare const GltfContainer: LastWriteWinElementSetComponentDefinition<PB
2053
2170
  /** @public */
2054
2171
  export declare const GltfContainerLoadingState: LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>;
2055
2172
 
2173
+ /** @public */
2174
+ export declare const GltfNode: LastWriteWinElementSetComponentDefinition<PBGltfNode>;
2175
+
2176
+ /** @public */
2177
+ export declare const GltfNodeState: LastWriteWinElementSetComponentDefinition<PBGltfNodeState>;
2178
+
2179
+ /**
2180
+ * @public
2181
+ */
2182
+ export declare const enum GltfNodeStateValue {
2183
+ GNSV_PENDING = 0,
2184
+ GNSV_FAILED = 1,
2185
+ GNSV_READY = 2
2186
+ }
2187
+
2056
2188
  /**
2057
2189
  * @public
2058
2190
  */
@@ -2656,6 +2788,9 @@ export declare interface LastWriteWinElementSetComponentDefinition<T> extends Ba
2656
2788
  getOrCreateMutable(entity: Entity, initialValue?: T): T;
2657
2789
  }
2658
2790
 
2791
+ /** @public */
2792
+ export declare const Light: LastWriteWinElementSetComponentDefinition<PBLight>;
2793
+
2659
2794
  /**
2660
2795
  * User key event Listeners
2661
2796
  * @public
@@ -2669,6 +2804,12 @@ export declare type Listeners = {
2669
2804
  onMouseEnter?: Callback;
2670
2805
  /** triggered on mouse leave event */
2671
2806
  onMouseLeave?: Callback;
2807
+ /** triggered on mouse drag event */
2808
+ onMouseDrag?: Callback;
2809
+ /** triggered on mouse drag event */
2810
+ onMouseDragLocked?: Callback;
2811
+ /** triggered on mouse drag event */
2812
+ onMouseDragEnd?: Callback;
2672
2813
  };
2673
2814
 
2674
2815
  /**
@@ -3537,6 +3678,14 @@ export declare interface MeshColliderComponentDefinitionExtended extends LastWri
3537
3678
  * @param colliderMask - the set of layer where the collider reacts, default: Physics and Pointer
3538
3679
  */
3539
3680
  setSphere(entity: Entity, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
3681
+ /**
3682
+ * @public
3683
+ * Set a gltf internal mesh in the MeshCollider component
3684
+ * @param entity - entity to create or replace the MeshRenderer component
3685
+ * @param source - the path to the gltf
3686
+ * @param meshName - the name of the mesh in the gltf
3687
+ */
3688
+ setGltfMesh(entity: Entity, source: string, meshName: string, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
3540
3689
  }
3541
3690
 
3542
3691
  export declare const MeshRenderer: MeshRendererComponentDefinitionExtended;
@@ -3573,6 +3722,14 @@ export declare interface MeshRendererComponentDefinitionExtended extends LastWri
3573
3722
  * @param entity - entity to create or replace the MeshRenderer component
3574
3723
  */
3575
3724
  setSphere(entity: Entity): void;
3725
+ /**
3726
+ * @public
3727
+ * Set a gltf internal mesh in the MeshRenderer component
3728
+ * @param entity - entity to create or replace the MeshRenderer component
3729
+ * @param source - the path to the gltf
3730
+ * @param meshName - the name of the mesh in the gltf
3731
+ */
3732
+ setGltfMesh(entity: Entity, source: string, meshName: string): void;
3576
3733
  }
3577
3734
 
3578
3735
  /**
@@ -3985,6 +4142,25 @@ export declare const onVideoEvent: Observable<{
3985
4142
  totalVideoLength: number;
3986
4143
  }>;
3987
4144
 
4145
+ /**
4146
+ * @public
4147
+ */
4148
+ export declare interface Orthographic {
4149
+ /**
4150
+ * vertical extent of the visible range in meters
4151
+ * defaults to 4m
4152
+ */
4153
+ verticalRange?: number | undefined;
4154
+ }
4155
+
4156
+ /**
4157
+ * @public
4158
+ */
4159
+ export declare namespace Orthographic {
4160
+ export function encode(message: Orthographic, writer?: _m0.Writer): _m0.Writer;
4161
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): Orthographic;
4162
+ }
4163
+
3988
4164
  /**
3989
4165
  * @public
3990
4166
  * The overflow property controls what happens to content that is too big to fit into an area
@@ -4211,6 +4387,8 @@ export declare namespace PBAvatarEmoteCommand {
4211
4387
  export declare interface PBAvatarEquippedData {
4212
4388
  wearableUrns: string[];
4213
4389
  emoteUrns: string[];
4390
+ /** slots that will render even if hidden */
4391
+ forceRender: string[];
4214
4392
  }
4215
4393
 
4216
4394
  /**
@@ -4245,6 +4423,9 @@ export declare interface PBAvatarModifierArea {
4245
4423
  excludeIds: string[];
4246
4424
  /** list of modifiers to apply */
4247
4425
  modifiers: AvatarModifierType[];
4426
+ movementSettings?: AvatarMovementSettings | undefined;
4427
+ /** if true, the player will be considered inside the area when they are within 0.3m of the area. default true */
4428
+ useColliderRange?: boolean | undefined;
4248
4429
  }
4249
4430
 
4250
4431
  /**
@@ -4301,6 +4482,8 @@ export declare interface PBAvatarShape {
4301
4482
  wearables: string[];
4302
4483
  /** available emotes (default empty) */
4303
4484
  emotes: string[];
4485
+ /** slots that will render even if hidden */
4486
+ forceRender: string[];
4304
4487
  }
4305
4488
 
4306
4489
  /**
@@ -4335,6 +4518,51 @@ export declare namespace PBBillboard {
4335
4518
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBBillboard;
4336
4519
  }
4337
4520
 
4521
+ /**
4522
+ * @public
4523
+ */
4524
+ export declare interface PBCameraLayer {
4525
+ /**
4526
+ * layer to which these settings apply. must be > 0
4527
+ * Layer 0 is the default "real world" layer viewed by the player and cannot be modified.
4528
+ */
4529
+ layer: number;
4530
+ /** should the sun light affect this layer? default false */
4531
+ directionalLight?: boolean | undefined;
4532
+ /** should this layer show player avatars? default false */
4533
+ showAvatars?: boolean | undefined;
4534
+ /** should this layer show the sky? default false */
4535
+ showSkybox?: boolean | undefined;
4536
+ /** should this layer show distance fog? default false */
4537
+ showFog?: boolean | undefined;
4538
+ /** ambient light overrides for this layer. default -> use same as main camera */
4539
+ ambientColorOverride?: PBColor3 | undefined;
4540
+ ambientBrightnessOverride?: number | undefined;
4541
+ }
4542
+
4543
+ /**
4544
+ * @public
4545
+ */
4546
+ export declare namespace PBCameraLayer {
4547
+ export function encode(message: PBCameraLayer, writer?: _m0.Writer): _m0.Writer;
4548
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBCameraLayer;
4549
+ }
4550
+
4551
+ /**
4552
+ * @public
4553
+ */
4554
+ export declare interface PBCameraLayers {
4555
+ layers: number[];
4556
+ }
4557
+
4558
+ /**
4559
+ * @public
4560
+ */
4561
+ export declare namespace PBCameraLayers {
4562
+ export function encode(message: PBCameraLayers, writer?: _m0.Writer): _m0.Writer;
4563
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBCameraLayers;
4564
+ }
4565
+
4338
4566
  /**
4339
4567
  * The CameraMode component can be used to determine whether the player is using a first-person o
4340
4568
  * third-person view.
@@ -4357,7 +4585,7 @@ export declare namespace PBCameraMode {
4357
4585
 
4358
4586
  /**
4359
4587
  * The CameraModeArea component can be attached to an Entity to define a region of space where
4360
- * the player's camera mode (1st-person or 3rd-person) is overridden.
4588
+ * the player's camera mode (1st-person, 3rd-person or cinematic) is overridden.
4361
4589
  *
4362
4590
  * The Entity's Transform position determines the center-point of the region, while its size is
4363
4591
  * given as a vector in the `area` property below. The Transform rotation is applied, but the scale
@@ -4367,6 +4595,8 @@ export declare namespace PBCameraMode {
4367
4595
  *
4368
4596
  * Note that, while commonly used to delineate a 2D area in a scene (hence the name), the region
4369
4597
  * is actually a 3D volume.
4598
+ *
4599
+ * When mode is set to CtCinematic, the cinematic_settings field must also be provided.
4370
4600
  */
4371
4601
  /**
4372
4602
  * @public
@@ -4376,6 +4606,9 @@ export declare interface PBCameraModeArea {
4376
4606
  area: PBVector3 | undefined;
4377
4607
  /** the camera mode to enforce */
4378
4608
  mode: CameraType;
4609
+ cinematicSettings?: CinematicSettings | undefined;
4610
+ /** if true, the player will be considered inside the area when they are within 0.3m of the area. default true */
4611
+ useColliderRange?: boolean | undefined;
4379
4612
  }
4380
4613
 
4381
4614
  /**
@@ -4447,6 +4680,39 @@ export declare namespace PBEngineInfo {
4447
4680
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBEngineInfo;
4448
4681
  }
4449
4682
 
4683
+ /**
4684
+ * defines the global scene light settings. must be added to the scene root.
4685
+ * to control sunlight color, intensity, shadows etc, you can also add a PBLight to the scene root.
4686
+ */
4687
+ /**
4688
+ * @public
4689
+ */
4690
+ export declare interface PBGlobalLight {
4691
+ /**
4692
+ * the direction the directional light shines in.
4693
+ * default depends on time of day and explorer implementation
4694
+ */
4695
+ direction?: PBVector3 | undefined;
4696
+ /**
4697
+ * ambient light color
4698
+ * default: White
4699
+ */
4700
+ ambientColor?: PBColor3 | undefined;
4701
+ /**
4702
+ * ambient light intensity. the explorer default ambient brightness is multiplied by this non-physical quantity.
4703
+ * default 1
4704
+ */
4705
+ ambientBrightness?: number | undefined;
4706
+ }
4707
+
4708
+ /**
4709
+ * @public
4710
+ */
4711
+ export declare namespace PBGlobalLight {
4712
+ export function encode(message: PBGlobalLight, writer?: _m0.Writer): _m0.Writer;
4713
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGlobalLight;
4714
+ }
4715
+
4450
4716
  /**
4451
4717
  * GltfContainer loads a GLTF file (and any additional files packaged inside) attached to an Entity.
4452
4718
  *
@@ -4482,6 +4748,25 @@ export declare namespace PBGltfContainer {
4482
4748
  */
4483
4749
  export declare interface PBGltfContainerLoadingState {
4484
4750
  currentState: LoadingState;
4751
+ /** all node paths in the gltf, which can be used with a GltfNode to inspect and modify the gltf contents */
4752
+ nodePaths: string[];
4753
+ /** all meshes in the gltf. unnamed meshes will be auto-assigned a name of the form `MeshX` or `MeshX/PrimitiveY` */
4754
+ meshNames: string[];
4755
+ /**
4756
+ * where X is the mesh index and Y is the primitive index (and there is more than 1 primitive). note this may
4757
+ * conflict with manually named meshes - to avoid any issues make sure all your meshes are explicitly named.
4758
+ */
4759
+ materialNames: string[];
4760
+ /**
4761
+ * X is the material index. note this may conflict with manually named materials - to avoid any issues make
4762
+ * sure all your materials are explicitly named.
4763
+ */
4764
+ skinNames: string[];
4765
+ /**
4766
+ * X is the skin index. note this may conflict with manually named skins - to avoid any issues make sure all
4767
+ * your skins are explicitly named.
4768
+ */
4769
+ animationNames: string[];
4485
4770
  }
4486
4771
 
4487
4772
  /**
@@ -4492,6 +4777,77 @@ export declare namespace PBGltfContainerLoadingState {
4492
4777
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfContainerLoadingState;
4493
4778
  }
4494
4779
 
4780
+ /**
4781
+ * a GltfNode links a scene entity with a node from within a gltf, allowing the scene to inspect it or modify it.
4782
+ * This component must be added to a direct child of an entity with a PBGltfContainer component, or
4783
+ * to a direct child of another entity with a GltfNode component, and the referenced gltf node must be a descendent of the gltf node
4784
+ * in the parent.
4785
+ * The name must match the path of one of the nodes within the Gltf. These are available on the GltfContainerLoadingState component.
4786
+ *
4787
+ * The renderer will attach a PBGltfNodeState to the entity describing the state. Once the state is `GNS_READY`,
4788
+ * - the `Transform` will be updated to match the position of the node within the gltf (relative to the gltf root, or the parent node),
4789
+ * - a `MeshRenderer` with a GltfMesh mesh type will be added (if the gltf node has a mesh).
4790
+ * - a `MeshCollider` with a GltfMesh mesh type will be added (if the gltf node has a collider).
4791
+ * - a `Material` component including a GltfMaterial reference will be added (if the gltf node has a material).
4792
+ *
4793
+ * After creation, if an animation moves the node, the `Transform` will be updated.
4794
+ *
4795
+ * From the scene, you can modify various components to alter the gltf node:
4796
+ * - modifying the `Transform` position/rotation/scale will move the node. The position is interpreted relative to the gltf root (or parent node),
4797
+ * regardless of any intermediate gltf node hierarchy.
4798
+ * If an animation is playing, the animation takes priority and the scene entity's position will be updated to match the animation.
4799
+ * - `Visibility` can be added to hide or show the node and it's children in the gltf hierarchy.
4800
+ * - `MeshRenderer` can be added/modified/removed to create/modify/remove a mesh on the node.
4801
+ * - `MeshCollider` can be added/modified/removed to create/modify/remove a collider on the node.
4802
+ * - `Material` can be added or modified to change the material properties. If the gltf node has a material, the original material will be
4803
+ * used as a base, and any gltf features (e.g. occlusion maps) from the gtlf spec that the renderer supports but that are not exposed in the
4804
+ * PBMaterial will be maintained.
4805
+ *
4806
+ * The scene can add additional entities as children to the gltf node, but structural modifications of the gltf are not possible:
4807
+ * - changing the scene hierarchy will not change the gltf node hierarchy. Moving the entity out of the gltf will sever the link and
4808
+ * change the state to `GNS_FAILED`.
4809
+ * - deleting the scene entity will not delete the gltf node.
4810
+ *
4811
+ * Removing the GltfNode will revert any changes to the original gltf. If the GltfNode component is removed and the mesh/collider/material
4812
+ * are not removed, this will result in a duplication of these components as the previously-linked entity will retain it's components and
4813
+ * the gltf node will also be displayed.
4814
+ */
4815
+ /**
4816
+ * @public
4817
+ */
4818
+ export declare interface PBGltfNode {
4819
+ /** the path of the target node in the Gltf. */
4820
+ path: string;
4821
+ }
4822
+
4823
+ /**
4824
+ * @public
4825
+ */
4826
+ export declare namespace PBGltfNode {
4827
+ export function encode(message: PBGltfNode, writer?: _m0.Writer): _m0.Writer;
4828
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNode;
4829
+ }
4830
+
4831
+ /**
4832
+ * The state of a linked gltf node.
4833
+ * If the state is GNSV_FAILED, the renderer may describe the failure in the error string.
4834
+ */
4835
+ /**
4836
+ * @public
4837
+ */
4838
+ export declare interface PBGltfNodeState {
4839
+ state: GltfNodeStateValue;
4840
+ error?: string | undefined;
4841
+ }
4842
+
4843
+ /**
4844
+ * @public
4845
+ */
4846
+ export declare namespace PBGltfNodeState {
4847
+ export function encode(message: PBGltfNodeState, writer?: _m0.Writer): _m0.Writer;
4848
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNodeState;
4849
+ }
4850
+
4495
4851
  /**
4496
4852
  * @public
4497
4853
  */
@@ -4531,6 +4887,62 @@ export declare namespace PBInputModifier_StandardInput {
4531
4887
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBInputModifier_StandardInput;
4532
4888
  }
4533
4889
 
4890
+ /**
4891
+ * defines a light source.
4892
+ * the world has a default directional light (like sunlight) which can be overridden by adding the light component to the scene root.
4893
+ * a PBGlobalLight component can also be added to the root to control the directional light direction.
4894
+ * point lights (lightbulbs) or spotlights can be created by attaching the light component to non-root entities.
4895
+ */
4896
+ /**
4897
+ * @public
4898
+ */
4899
+ export declare interface PBLight {
4900
+ /**
4901
+ * whether the light is on
4902
+ * default true
4903
+ */
4904
+ enabled?: boolean | undefined;
4905
+ /**
4906
+ * light brightness in lux (lumens/m^2).
4907
+ *
4908
+ * for global directional light, this applies as a constant value at all surfaces and distances (though the effect on the surface still depends on incidence angle).
4909
+ * the default global light illuminance varies from 400 (sunrise/sunset) to 10,000 (midday).
4910
+ * for typical values, see https://en.wikipedia.org/wiki/Lux#Illuminance
4911
+ *
4912
+ * for point and spot lights, this is the lumens/m^2 at 1m distance from the light. to transform from raw lumens,
4913
+ * divide lumens by ~12 (4*pi).
4914
+ * e.g. a 100w household bulb with 1200 lumens would have an illuminance of ~100.
4915
+ * a lighthouse bulb with 200,000 lumens would have an illuminance of ~15,000 (ignoring beam reflections)
4916
+ *
4917
+ * default
4918
+ * for point/spotlights: 10,000
4919
+ * for global directional light: depends on explorer implementation. may vary on light direction, time of day, etc
4920
+ */
4921
+ illuminance?: number | undefined;
4922
+ /**
4923
+ * whether the light should cast shadows.
4924
+ * note: even when set to true the engine may not display shadows, or may only show shadows for a limited number
4925
+ * of lights depending on the implementation, platform, and user settings.
4926
+ * default
4927
+ * for point/spotlights: false / off
4928
+ * for global directional light: true / on
4929
+ */
4930
+ shadows?: boolean | undefined;
4931
+ /**
4932
+ * light color
4933
+ * default White
4934
+ */
4935
+ color?: PBColor3 | undefined;
4936
+ }
4937
+
4938
+ /**
4939
+ * @public
4940
+ */
4941
+ export declare namespace PBLight {
4942
+ export function encode(message: PBLight, writer?: _m0.Writer): _m0.Writer;
4943
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBLight;
4944
+ }
4945
+
4534
4946
  /**
4535
4947
  * PBMainCamera.virtualCameraEntity defines which VirtualCamera entity is active at the moment.
4536
4948
  * This component may hold 'repeated common.CameraTransition' transitionOverrides in the future
@@ -4562,6 +4974,14 @@ export declare interface PBMaterial {
4562
4974
  $case: "pbr";
4563
4975
  pbr: PBMaterial_PbrMaterial;
4564
4976
  } | undefined;
4977
+ /**
4978
+ * A gltf material that may provide additional features not supported by the PbMaterial fields.
4979
+ * If both gltf and material fields are provided, the gltf will be used only for extended features not
4980
+ * supported by the PbMaterial.
4981
+ * If this is provided and the `material` field is not provided, the renderer will update the material
4982
+ * field with data that reflects the gltf material once it is loaded.
4983
+ */
4984
+ gltf?: PBMaterial_GltfMaterial | undefined;
4565
4985
  }
4566
4986
 
4567
4987
  /**
@@ -4572,6 +4992,22 @@ export declare namespace PBMaterial {
4572
4992
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMaterial;
4573
4993
  }
4574
4994
 
4995
+ /**
4996
+ * @public
4997
+ */
4998
+ export declare interface PBMaterial_GltfMaterial {
4999
+ gltfSrc: string;
5000
+ name: string;
5001
+ }
5002
+
5003
+ /**
5004
+ * @public
5005
+ */
5006
+ export declare namespace PBMaterial_GltfMaterial {
5007
+ export function encode(message: PBMaterial_GltfMaterial, writer?: _m0.Writer): _m0.Writer;
5008
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMaterial_GltfMaterial;
5009
+ }
5010
+
4575
5011
  /**
4576
5012
  * @public
4577
5013
  */
@@ -4668,6 +5104,9 @@ export declare interface PBMeshCollider {
4668
5104
  } | {
4669
5105
  $case: "plane";
4670
5106
  plane: PBMeshCollider_PlaneMesh;
5107
+ } | {
5108
+ $case: "gltf";
5109
+ gltf: PBMeshCollider_GltfMesh;
4671
5110
  } | undefined;
4672
5111
  }
4673
5112
 
@@ -4713,6 +5152,25 @@ export declare namespace PBMeshCollider_CylinderMesh {
4713
5152
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshCollider_CylinderMesh;
4714
5153
  }
4715
5154
 
5155
+ /** A collider constructed from a Gltf Mesh. */
5156
+ /**
5157
+ * @public
5158
+ */
5159
+ export declare interface PBMeshCollider_GltfMesh {
5160
+ /** the GLTF file path as listed in the scene's manifest. */
5161
+ gltfSrc: string;
5162
+ /** the name of the mesh asset */
5163
+ name: string;
5164
+ }
5165
+
5166
+ /**
5167
+ * @public
5168
+ */
5169
+ export declare namespace PBMeshCollider_GltfMesh {
5170
+ export function encode(message: PBMeshCollider_GltfMesh, writer?: _m0.Writer): _m0.Writer;
5171
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshCollider_GltfMesh;
5172
+ }
5173
+
4716
5174
  /** PlaneMesh is a 2D rectangle described by the Entity's Transform. */
4717
5175
  /**
4718
5176
  * @public
@@ -4745,13 +5203,11 @@ export declare namespace PBMeshCollider_SphereMesh {
4745
5203
 
4746
5204
  /**
4747
5205
  * The MeshRenderer component renders a basic geometric shape for an Entity. It can be a cube, a
4748
- * plane, a sphere or a cylinder.
5206
+ * plane, a sphere, a cylinder, or a Gltf mesh.
4749
5207
  *
4750
5208
  * The cube and plane variants can include a UV texture mapping, so specific areas of a material
4751
5209
  * texture are rendered on different faces of the shape. They are serialized as a sequence of 2D
4752
5210
  * `float` coordinates, one for each corner of each side of each face.
4753
- *
4754
- * More complex shapes require the use of a `GltfContainer` component.
4755
5211
  */
4756
5212
  /**
4757
5213
  * @public
@@ -4769,6 +5225,9 @@ export declare interface PBMeshRenderer {
4769
5225
  } | {
4770
5226
  $case: "plane";
4771
5227
  plane: PBMeshRenderer_PlaneMesh;
5228
+ } | {
5229
+ $case: "gltf";
5230
+ gltf: PBMeshRenderer_GltfMesh;
4772
5231
  } | undefined;
4773
5232
  }
4774
5233
 
@@ -4816,6 +5275,25 @@ export declare namespace PBMeshRenderer_CylinderMesh {
4816
5275
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshRenderer_CylinderMesh;
4817
5276
  }
4818
5277
 
5278
+ /** A mesh from a Gltf. */
5279
+ /**
5280
+ * @public
5281
+ */
5282
+ export declare interface PBMeshRenderer_GltfMesh {
5283
+ /** the GLTF file path as listed in the scene's manifest. */
5284
+ gltfSrc: string;
5285
+ /** the name of the mesh asset */
5286
+ name: string;
5287
+ }
5288
+
5289
+ /**
5290
+ * @public
5291
+ */
5292
+ export declare namespace PBMeshRenderer_GltfMesh {
5293
+ export function encode(message: PBMeshRenderer_GltfMesh, writer?: _m0.Writer): _m0.Writer;
5294
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshRenderer_GltfMesh;
5295
+ }
5296
+
4819
5297
  /** PlaneMesh renders a 2D rectangular shape. */
4820
5298
  /**
4821
5299
  * @public
@@ -5034,6 +5512,30 @@ export declare namespace PBPosition {
5034
5512
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBPosition;
5035
5513
  }
5036
5514
 
5515
+ /**
5516
+ * @public
5517
+ */
5518
+ export declare interface PBPrimaryPointerInfo {
5519
+ pointerType?: PointerType | undefined;
5520
+ /** in pixels */
5521
+ screenCoordinates?: PBVector2 | undefined;
5522
+ /** in pixels */
5523
+ screenDelta?: PBVector2 | undefined;
5524
+ /**
5525
+ * ray direction that can be used with the primary camera origin for
5526
+ * raycasting from the cursor into the world
5527
+ */
5528
+ worldRayDirection?: PBVector3 | undefined;
5529
+ }
5530
+
5531
+ /**
5532
+ * @public
5533
+ */
5534
+ export declare namespace PBPrimaryPointerInfo {
5535
+ export function encode(message: PBPrimaryPointerInfo, writer?: _m0.Writer): _m0.Writer;
5536
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBPrimaryPointerInfo;
5537
+ }
5538
+
5037
5539
  /**
5038
5540
  * @public
5039
5541
  */
@@ -5155,6 +5657,39 @@ export declare namespace PBRealmInfo {
5155
5657
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBRealmInfo;
5156
5658
  }
5157
5659
 
5660
+ /**
5661
+ * defines a spotlight.
5662
+ * spotlights are point lights that emit light only in a cone around the transform's forward direction.
5663
+ * add this component together with the PBLight component to transform a point light into a spotlight.
5664
+ * note that spotlights do not model any internal reflections / focus, they only restrict the area of effect.
5665
+ * so for e.g. a torch beam, the bulb illuminance should be multiplied by the solid angle.
5666
+ * a typical torch with a beam width of 15 degrees would use outer angle of 0.15 (7.5 degrees in radians),
5667
+ * and an illuminance approximately equal to the bulb's lumens, e.g. 1200.
5668
+ */
5669
+ /**
5670
+ * @public
5671
+ */
5672
+ export declare interface PBSpotlight {
5673
+ /**
5674
+ * the cone radius in radians. distance away from forward in which the light is visible.
5675
+ * for a torch a value around 0.15 is appropriate.
5676
+ */
5677
+ angle: number;
5678
+ /**
5679
+ * optional angle at which the light is brightest. should be <= outer angle.
5680
+ * if specified, the light will fall off smoothly between `inner_angle` and `angle`.
5681
+ */
5682
+ innerAngle?: number | undefined;
5683
+ }
5684
+
5685
+ /**
5686
+ * @public
5687
+ */
5688
+ export declare namespace PBSpotlight {
5689
+ export function encode(message: PBSpotlight, writer?: _m0.Writer): _m0.Writer;
5690
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBSpotlight;
5691
+ }
5692
+
5158
5693
  /**
5159
5694
  * The TextShape component renders customizable floating text.
5160
5695
  *
@@ -5219,6 +5754,40 @@ export declare namespace PBTextShape {
5219
5754
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBTextShape;
5220
5755
  }
5221
5756
 
5757
+ /**
5758
+ * @public
5759
+ */
5760
+ export declare interface PBTextureCamera {
5761
+ /** rendered texture width */
5762
+ width?: number | undefined;
5763
+ /** rendered texture height */
5764
+ height?: number | undefined;
5765
+ /**
5766
+ * which layer of entities to render. entity layers can be specified by adding PBCameraLayers to target entities.
5767
+ * defaults to 0
5768
+ */
5769
+ layer?: number | undefined;
5770
+ /** default black */
5771
+ clearColor?: PBColor4 | undefined;
5772
+ /** default infinity */
5773
+ farPlane?: number | undefined;
5774
+ mode?: {
5775
+ $case: "perspective";
5776
+ perspective: Perspective;
5777
+ } | {
5778
+ $case: "orthographic";
5779
+ orthographic: Orthographic;
5780
+ } | undefined;
5781
+ }
5782
+
5783
+ /**
5784
+ * @public
5785
+ */
5786
+ export declare namespace PBTextureCamera {
5787
+ export function encode(message: PBTextureCamera, writer?: _m0.Writer): _m0.Writer;
5788
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBTextureCamera;
5789
+ }
5790
+
5222
5791
  /**
5223
5792
  * @public
5224
5793
  */
@@ -5308,6 +5877,25 @@ export declare namespace PBUiBackground {
5308
5877
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiBackground;
5309
5878
  }
5310
5879
 
5880
+ /** The UiCanvas component can be attached to a ui root entity to specify properties of the ui texture. */
5881
+ /**
5882
+ * @public
5883
+ */
5884
+ export declare interface PBUiCanvas {
5885
+ width: number;
5886
+ height: number;
5887
+ /** default = (0.0, 0.0, 0.0, 0.0) / transparent */
5888
+ color?: PBColor4 | undefined;
5889
+ }
5890
+
5891
+ /**
5892
+ * @public
5893
+ */
5894
+ export declare namespace PBUiCanvas {
5895
+ export function encode(message: PBUiCanvas, writer?: _m0.Writer): _m0.Writer;
5896
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiCanvas;
5897
+ }
5898
+
5311
5899
  /** This component is created by the renderer and used by the scenes to know the resolution of the UI canvas */
5312
5900
  /**
5313
5901
  * @public
@@ -5424,6 +6012,21 @@ export declare namespace PBUiInputResult {
5424
6012
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiInputResult;
5425
6013
  }
5426
6014
 
6015
+ /**
6016
+ * @public
6017
+ */
6018
+ export declare interface PBUiScrollResult {
6019
+ value: PBVector2 | undefined;
6020
+ }
6021
+
6022
+ /**
6023
+ * @public
6024
+ */
6025
+ export declare namespace PBUiScrollResult {
6026
+ export function encode(message: PBUiScrollResult, writer?: _m0.Writer): _m0.Writer;
6027
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiScrollResult;
6028
+ }
6029
+
5427
6030
  /**
5428
6031
  * @public
5429
6032
  */
@@ -5440,6 +6043,10 @@ export declare interface PBUiText {
5440
6043
  fontSize?: number | undefined;
5441
6044
  /** wrap text when the border is reached (default: TW_WRAP) */
5442
6045
  textWrap?: TextWrap | undefined;
6046
+ /** width of the outline (default: 0) */
6047
+ outlineWidth?: number | undefined;
6048
+ /** RGBA color of the outline (default: opaque black) */
6049
+ outlineColor?: PBColor4 | undefined;
5443
6050
  }
5444
6051
 
5445
6052
  /**
@@ -5536,6 +6143,16 @@ export declare interface PBUiTransform {
5536
6143
  paddingBottom: number;
5537
6144
  /** default: PointerFilterMode.PFM_NONE */
5538
6145
  pointerFilter?: PointerFilterMode | undefined;
6146
+ /** default: 1 */
6147
+ opacity?: number | undefined;
6148
+ /** default empty */
6149
+ elementId?: string | undefined;
6150
+ /** default position=(0,0) */
6151
+ scrollPosition?: ScrollPositionValue | undefined;
6152
+ /** default ShowScrollBar.SSB_BOTH */
6153
+ scrollVisible?: ShowScrollBar | undefined;
6154
+ /** default 0 */
6155
+ zIndex?: number | undefined;
5539
6156
  }
5540
6157
 
5541
6158
  /**
@@ -5665,6 +6282,25 @@ export declare namespace PBVisibilityComponent {
5665
6282
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBVisibilityComponent;
5666
6283
  }
5667
6284
 
6285
+ /**
6286
+ * @public
6287
+ */
6288
+ export declare interface Perspective {
6289
+ /**
6290
+ * vertical field of view in radians
6291
+ * defaults to pi/4 = 45 degrees
6292
+ */
6293
+ fieldOfView?: number | undefined;
6294
+ }
6295
+
6296
+ /**
6297
+ * @public
6298
+ */
6299
+ export declare namespace Perspective {
6300
+ export function encode(message: Perspective, writer?: _m0.Writer): _m0.Writer;
6301
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): Perspective;
6302
+ }
6303
+
5668
6304
  /**
5669
6305
  * Represens a plane by the equation ax + by + cz + d = 0
5670
6306
  * @public
@@ -5820,6 +6456,24 @@ export declare interface PointerEventsSystem {
5820
6456
  * @param entity - Entity where the callback was attached
5821
6457
  */
5822
6458
  removeOnPointerHoverLeave(entity: Entity): void;
6459
+ /**
6460
+ * @public
6461
+ * Remove the callback for onPointerDrag event
6462
+ * @param entity - Entity where the callback was attached
6463
+ */
6464
+ removeOnPointerDrag(entity: Entity): void;
6465
+ /**
6466
+ * @public
6467
+ * Remove the callback for onPointerDragLocked event
6468
+ * @param entity - Entity where the callback was attached
6469
+ */
6470
+ removeOnPointerDragLocked(entity: Entity): void;
6471
+ /**
6472
+ * @public
6473
+ * Remove the callback for onPointerDragEnd event
6474
+ * @param entity - Entity where the callback was attached
6475
+ */
6476
+ removeOnPointerDragEnd(entity: Entity): void;
5823
6477
  /**
5824
6478
  * @public
5825
6479
  * Execute callback when the user press the InputButton pointing at the entity
@@ -5874,6 +6528,37 @@ export declare interface PointerEventsSystem {
5874
6528
  entity: Entity;
5875
6529
  opts?: Partial<EventSystemOptions>;
5876
6530
  }, cb: EventSystemCallback): void;
6531
+ /**
6532
+ * @public
6533
+ * Execute callback when the user clicks and drags the pointer from inside the entity
6534
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
6535
+ * @param cb - Function to execute when click fires
6536
+ */
6537
+ onPointerDrag(pointerData: {
6538
+ entity: Entity;
6539
+ opts?: Partial<EventSystemOptions>;
6540
+ }, cb: EventSystemCallback): void;
6541
+ /**
6542
+ * @public
6543
+ * Execute callback when the user clicks and drags the pointer from inside the entity,
6544
+ * locking the cursor in place
6545
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
6546
+ * @param cb - Function to execute when click fires
6547
+ */
6548
+ onPointerDragLocked(pointerData: {
6549
+ entity: Entity;
6550
+ opts?: Partial<EventSystemOptions>;
6551
+ }, cb: EventSystemCallback): void;
6552
+ /**
6553
+ * @public
6554
+ * Execute callback when the user releases the button after a drag
6555
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
6556
+ * @param cb - Function to execute when click fires
6557
+ */
6558
+ onPointerDragEnd(pointerData: {
6559
+ entity: Entity;
6560
+ opts?: Partial<EventSystemOptions>;
6561
+ }, cb: EventSystemCallback): void;
5877
6562
  }
5878
6563
 
5879
6564
  /**
@@ -5890,7 +6575,10 @@ export declare const enum PointerEventType {
5890
6575
  PET_UP = 0,
5891
6576
  PET_DOWN = 1,
5892
6577
  PET_HOVER_ENTER = 2,
5893
- PET_HOVER_LEAVE = 3
6578
+ PET_HOVER_LEAVE = 3,
6579
+ PET_DRAG_LOCKED = 4,
6580
+ PET_DRAG = 5,
6581
+ PET_DRAG_END = 6
5894
6582
  }
5895
6583
 
5896
6584
  /**
@@ -5910,6 +6598,17 @@ export declare type PointerFilterType = 'none' | 'block';
5910
6598
  /** @public */
5911
6599
  export declare const PointerLock: LastWriteWinElementSetComponentDefinition<PBPointerLock>;
5912
6600
 
6601
+ /**
6602
+ * @public
6603
+ */
6604
+ export declare const enum PointerType {
6605
+ POT_NONE = 0,
6606
+ POT_MOUSE = 1,
6607
+ POT_PAD = 2,
6608
+ POT_TOUCH = 3,
6609
+ POT_WAND = 4
6610
+ }
6611
+
5913
6612
  /**
5914
6613
  * Type used for defining the position of the element. i.e. margin, padding
5915
6614
  * @public
@@ -5947,6 +6646,9 @@ export declare type PositionType = 'absolute' | 'relative';
5947
6646
  */
5948
6647
  export declare type PositionUnit = `${number}px` | `${number}%` | number | `${number}` | ScaleUnit;
5949
6648
 
6649
+ /** @public */
6650
+ export declare const PrimaryPointerInfo: LastWriteWinElementSetComponentDefinition<PBPrimaryPointerInfo>;
6651
+
5950
6652
  export declare enum ProcessMessageResultType {
5951
6653
  /**
5952
6654
  * Typical message and new state set.
@@ -6501,6 +7203,7 @@ export declare type RaycastSystemOptions = {
6501
7203
  export declare interface ReactBasedUiSystem {
6502
7204
  destroy(): void;
6503
7205
  setUiRenderer(ui: UiComponent): void;
7206
+ setTextureRenderer(entity: Entity, ui: UiComponent): void;
6504
7207
  }
6505
7208
 
6506
7209
  /**
@@ -6954,6 +7657,43 @@ export declare namespace Schemas {
6954
7657
  }) => void;
6955
7658
  }
6956
7659
 
7660
+ /**
7661
+ * @public
7662
+ */
7663
+ export declare interface ScrollPositionValue {
7664
+ value?: {
7665
+ $case: "position";
7666
+ position: PBVector2;
7667
+ } | {
7668
+ $case: "reference";
7669
+ reference: string;
7670
+ } | undefined;
7671
+ }
7672
+
7673
+ /**
7674
+ * @public
7675
+ */
7676
+ export declare namespace ScrollPositionValue {
7677
+ export function encode(message: ScrollPositionValue, writer?: _m0.Writer): _m0.Writer;
7678
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): ScrollPositionValue;
7679
+ }
7680
+
7681
+ /**
7682
+ * @public
7683
+ * The scroll-visible determines if the scrollbars are shown when the scroll overflow is enabled
7684
+ */
7685
+ export declare type ScrollVisibleType = 'horizontal' | 'vertical' | 'both' | 'hidden';
7686
+
7687
+ /**
7688
+ * @public
7689
+ */
7690
+ export declare const enum ShowScrollBar {
7691
+ SSB_BOTH = 0,
7692
+ SSB_ONLY_VERTICAL = 1,
7693
+ SSB_ONLY_HORIZONTAL = 2,
7694
+ SSB_HIDDEN = 3
7695
+ }
7696
+
6957
7697
  /**
6958
7698
  * @public
6959
7699
  */
@@ -6961,6 +7701,9 @@ export declare interface Spec {
6961
7701
  [key: string]: ISchema;
6962
7702
  }
6963
7703
 
7704
+ /** @public */
7705
+ export declare const Spotlight: LastWriteWinElementSetComponentDefinition<PBSpotlight>;
7706
+
6964
7707
  /**
6965
7708
  * @alpha
6966
7709
  * This is going to be used for sync components through a server.
@@ -7035,6 +7778,9 @@ export declare namespace Texture {
7035
7778
  export function decode(input: _m0.Reader | Uint8Array, length?: number): Texture;
7036
7779
  }
7037
7780
 
7781
+ /** @public */
7782
+ export declare const TextureCamera: LastWriteWinElementSetComponentDefinition<PBTextureCamera>;
7783
+
7038
7784
  /**
7039
7785
  * @public
7040
7786
  */
@@ -7127,6 +7873,9 @@ export declare interface TextureUnion {
7127
7873
  } | {
7128
7874
  $case: "videoTexture";
7129
7875
  videoTexture: VideoTexture;
7876
+ } | {
7877
+ $case: "uiTexture";
7878
+ uiTexture: UiCanvasTexture;
7130
7879
  } | undefined;
7131
7880
  }
7132
7881
 
@@ -7334,6 +8083,8 @@ export declare interface UiBackgroundProps {
7334
8083
  uvs?: number[];
7335
8084
  /** AvatarTexture for the background */
7336
8085
  avatarTexture?: UiAvatarTexture;
8086
+ /** VideoTexture for the background */
8087
+ videoTexture?: UiVideoTexture;
7337
8088
  /** Texture for the background */
7338
8089
  texture?: UiTexture;
7339
8090
  }
@@ -7353,9 +8104,31 @@ export declare interface UiButtonProps extends UiLabelProps, EntityPropTypes {
7353
8104
  disabled?: boolean;
7354
8105
  }
7355
8106
 
8107
+ /** @public */
8108
+ export declare const UiCanvas: LastWriteWinElementSetComponentDefinition<PBUiCanvas>;
8109
+
7356
8110
  /** @public */
7357
8111
  export declare const UiCanvasInformation: LastWriteWinElementSetComponentDefinition<PBUiCanvasInformation>;
7358
8112
 
8113
+ /**
8114
+ * @public
8115
+ */
8116
+ export declare interface UiCanvasTexture {
8117
+ uiCanvasEntity: number;
8118
+ /** default = TextureWrapMode.Clamp */
8119
+ wrapMode?: TextureWrapMode | undefined;
8120
+ /** default = FilterMode.Bilinear */
8121
+ filterMode?: TextureFilterMode | undefined;
8122
+ }
8123
+
8124
+ /**
8125
+ * @public
8126
+ */
8127
+ export declare namespace UiCanvasTexture {
8128
+ export function encode(message: UiCanvasTexture, writer?: _m0.Writer): _m0.Writer;
8129
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): UiCanvasTexture;
8130
+ }
8131
+
7359
8132
  /**
7360
8133
  * @public
7361
8134
  */
@@ -7425,6 +8198,10 @@ export declare interface UiLabelProps {
7425
8198
  textAlign?: TextAlignType | undefined;
7426
8199
  /** Label font type. @defaultValue 'sans-serif' */
7427
8200
  font?: UiFontType | undefined;
8201
+ /** Outline width of the text. @defaultValue 0 */
8202
+ outlineWidth?: number | undefined;
8203
+ /** Outline color of the text. @defaultValue `{ r: 0, g: 0, b: 0, a: 1 }` */
8204
+ outlineColor?: PBColor4 | undefined;
7428
8205
  /** Behaviour when text reached. @defaultValue 'wrap' */
7429
8206
  textWrap?: UiTextWrapType | undefined;
7430
8207
  }
@@ -7434,6 +8211,9 @@ export declare interface UiLabelProps {
7434
8211
  */
7435
8212
  export declare type uint32 = number;
7436
8213
 
8214
+ /** @public */
8215
+ export declare const UiScrollResult: LastWriteWinElementSetComponentDefinition<PBUiScrollResult>;
8216
+
7437
8217
  /** @public */
7438
8218
  export declare const UiText: LastWriteWinElementSetComponentDefinition<PBUiText>;
7439
8219
 
@@ -7506,6 +8286,26 @@ export declare interface UiTransformProps {
7506
8286
  overflow?: OverflowType;
7507
8287
  /** The pointer filter property determines if the ui element blocks the pointer or not (elements with pointer events always block the pointer regardless of this property) **/
7508
8288
  pointerFilter?: PointerFilterType;
8289
+ /** The opacity property sets the opacity level for an element, it's accumulated across children @defaultValue 1 */
8290
+ opacity?: number;
8291
+ /** A reference value to identify the element, default empty */
8292
+ elementId?: string;
8293
+ /** default position=(0,0) if it aplies, a vector or a reference-id */
8294
+ scrollPosition?: PBVector2 | string;
8295
+ /** default ShowScrollBar.SSB_BOTH */
8296
+ scrollVisible?: ScrollVisibleType;
8297
+ /** default 0 */
8298
+ zIndex?: number;
8299
+ }
8300
+
8301
+ /**
8302
+ * Texture
8303
+ * @public
8304
+ */
8305
+ export declare interface UiVideoTexture {
8306
+ videoPlayerEntity: Entity;
8307
+ wrapMode?: TextureWrapType;
8308
+ filterMode?: TextureFilterType;
7509
8309
  }
7510
8310
 
7511
8311
  /**