@dcl/playground-assets 7.8.22-16474081501.commit-e1567af → 7.8.22-16482785086.commit-b7d3158

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,31 @@ 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 type AvatarEquippedDataComponentDefinitionExtended = LastWriteWinElementSetComponentDefinition<AvatarEquippedDataType>;
202
+
203
+ export declare type AvatarEquippedDataType = Omit<PBAvatarEquippedData, 'forceRender'> & {
204
+ forceRender?: string[] | undefined;
205
+ };
186
206
 
187
207
  /** @public */
188
208
  export declare const AvatarModifierArea: LastWriteWinElementSetComponentDefinition<PBAvatarModifierArea>;
@@ -198,8 +218,47 @@ export declare const enum AvatarModifierType {
198
218
  AMT_DISABLE_PASSPORTS = 1
199
219
  }
200
220
 
201
- /** @public */
202
- export declare const AvatarShape: LastWriteWinElementSetComponentDefinition<PBAvatarShape>;
221
+ /**
222
+ * @public
223
+ */
224
+ export declare interface AvatarMovementSettings {
225
+ controlMode?: AvatarControlType | undefined;
226
+ /** if not explicitly set, the following properties default to user's preference settings */
227
+ runSpeed?: number | undefined;
228
+ /** how fast the player gets up to speed or comes to rest. higher = more responsive */
229
+ friction?: number | undefined;
230
+ /** how fast the player accelerates vertically when not on a solid surface, in m/s. should normally be negative */
231
+ gravity?: number | undefined;
232
+ /** how high the player can jump, in meters. should normally be positive. gravity must have the same sign for jumping to be possible */
233
+ jumpHeight?: number | undefined;
234
+ /** max fall speed in m/s. should normally be negative */
235
+ maxFallSpeed?: number | undefined;
236
+ /** speed the player turns in tank mode, in radians/s */
237
+ turnSpeed?: number | undefined;
238
+ /** speed the player walks at, in m/s */
239
+ walkSpeed?: number | undefined;
240
+ /** 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 */
241
+ allowWeightedMovement?: boolean | undefined;
242
+ }
243
+
244
+ /**
245
+ * @public
246
+ */
247
+ export declare namespace AvatarMovementSettings {
248
+ export function encode(message: AvatarMovementSettings, writer?: _m0.Writer): _m0.Writer;
249
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): AvatarMovementSettings;
250
+ }
251
+
252
+ export declare const AvatarShape: AvatarShapeComponentDefinitionExtended;
253
+
254
+ /**
255
+ * @public
256
+ */
257
+ export declare type AvatarShapeComponentDefinitionExtended = LastWriteWinElementSetComponentDefinition<AvatarShapeType>;
258
+
259
+ export declare type AvatarShapeType = Omit<PBAvatarShape, 'forceRender'> & {
260
+ forceRender?: string[] | undefined;
261
+ };
203
262
 
204
263
  /**
205
264
  * @public
@@ -468,11 +527,19 @@ export declare interface ByteBuffer {
468
527
  }
469
528
 
470
529
  /**
471
- * Callback function to be triggered on a specified event
472
- * @public
530
+ * legacy Callback function
531
+ *
532
+ * @public @deprecated This type is no longer used in the sdk api, EventSystemCallback is
533
+ * used for listeners instead
473
534
  */
474
535
  export declare type Callback = () => void;
475
536
 
537
+ /** @public */
538
+ export declare const CameraLayer: LastWriteWinElementSetComponentDefinition<PBCameraLayer>;
539
+
540
+ /** @public */
541
+ export declare const CameraLayers: LastWriteWinElementSetComponentDefinition<PBCameraLayers>;
542
+
476
543
  /** @public */
477
544
  export declare const CameraMode: LastWriteWinElementSetComponentDefinition<PBCameraMode>;
478
545
 
@@ -530,6 +597,39 @@ export declare const enum CameraType {
530
597
 
531
598
  export declare type Children = ReactEcs.JSX.ReactNode;
532
599
 
600
+ /**
601
+ * @public
602
+ */
603
+ export declare interface CinematicSettings {
604
+ /** Entity that defines the cinematic camera transform. */
605
+ cameraEntity: number;
606
+ /**
607
+ * Position -> camera's position
608
+ * Rotation -> camera's direction
609
+ * scale.z -> zoom level
610
+ * scale.x and scale.y -> unused
611
+ */
612
+ allowManualRotation?: boolean | undefined;
613
+ /** how far the camera can rotate around the y-axis / look left/right, in radians. default unrestricted */
614
+ yawRange?: number | undefined;
615
+ /** how far the camera can rotate around the x-axis / look up-down, in radians. default unrestricted */
616
+ pitchRange?: number | undefined;
617
+ /** note: cameras can never look up/down further than Vec3::Y */
618
+ rollRange?: number | undefined;
619
+ /** minimum zoom level. must be greater than 0. defaults to the input zoom level */
620
+ zoomMin?: number | undefined;
621
+ /** maximum zoom level. must be greater than 0. defaults to the input zoom level */
622
+ zoomMax?: number | undefined;
623
+ }
624
+
625
+ /**
626
+ * @public
627
+ */
628
+ export declare namespace CinematicSettings {
629
+ export function encode(message: CinematicSettings, writer?: _m0.Writer): _m0.Writer;
630
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): CinematicSettings;
631
+ }
632
+
533
633
  /** ColliderLayer determines the kind of collision to detect, in OR-able bit flag form. */
534
634
  /**
535
635
  * @public
@@ -1303,13 +1403,18 @@ export declare const componentDefinitionByName: {
1303
1403
  "core::AvatarModifierArea": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarModifierArea>>;
1304
1404
  "core::AvatarShape": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarShape>>;
1305
1405
  "core::Billboard": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBBillboard>>;
1406
+ "core::CameraLayer": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraLayer>>;
1407
+ "core::CameraLayers": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraLayers>>;
1306
1408
  "core::CameraMode": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraMode>>;
1307
1409
  "core::CameraModeArea": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraModeArea>>;
1308
1410
  "core::EngineInfo": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBEngineInfo>>;
1411
+ "core::GlobalLight": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGlobalLight>>;
1309
1412
  "core::GltfContainer": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainer>>;
1310
1413
  "core::GltfContainerLoadingState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>>;
1311
- "core::GltfNodeModifiers": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNodeModifiers>>;
1414
+ "core::GltfNode": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNode>>;
1415
+ "core::GltfNodeState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNodeState>>;
1312
1416
  "core::InputModifier": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBInputModifier>>;
1417
+ "core::Light": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBLight>>;
1313
1418
  "core::MainCamera": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMainCamera>>;
1314
1419
  "core::Material": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMaterial>>;
1315
1420
  "core::MeshCollider": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMeshCollider>>;
@@ -1323,17 +1428,20 @@ export declare const componentDefinitionByName: {
1323
1428
  "core::Raycast": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBRaycast>>;
1324
1429
  "core::RaycastResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBRaycastResult>>;
1325
1430
  "core::RealmInfo": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBRealmInfo>>;
1326
- "core::SkyboxTime": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBSkyboxTime>>;
1431
+ "core::Spotlight": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBSpotlight>>;
1327
1432
  "core::TextShape": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTextShape>>;
1433
+ "core::TextureCamera": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTextureCamera>>;
1328
1434
  "core::Tween": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTween>>;
1329
1435
  "core::TweenSequence": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTweenSequence>>;
1330
1436
  "core::TweenState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTweenState>>;
1331
1437
  "core::UiBackground": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiBackground>>;
1438
+ "core::UiCanvas": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiCanvas>>;
1332
1439
  "core::UiCanvasInformation": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiCanvasInformation>>;
1333
1440
  "core::UiDropdown": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiDropdown>>;
1334
1441
  "core::UiDropdownResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiDropdownResult>>;
1335
1442
  "core::UiInput": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiInput>>;
1336
1443
  "core::UiInputResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiInputResult>>;
1444
+ "core::UiScrollResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiScrollResult>>;
1337
1445
  "core::UiText": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiText>>;
1338
1446
  "core::UiTransform": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiTransform>>;
1339
1447
  "core::VideoEvent": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBVideoEvent>>;
@@ -1900,10 +2008,18 @@ export declare type EntityComponents = {
1900
2008
  uiBackground: PBUiBackground;
1901
2009
  uiInput: PBUiInput;
1902
2010
  uiDropdown: PBUiDropdown;
1903
- onMouseDown: Callback;
1904
- onMouseUp: Callback;
1905
- onMouseEnter: Callback;
1906
- onMouseLeave: Callback;
2011
+ onMouseDown: EventSystemCallback;
2012
+ onMouseUp: EventSystemCallback;
2013
+ onMouseEnter: EventSystemCallback;
2014
+ onMouseLeave: EventSystemCallback;
2015
+ onMouseDrag: EventSystemCallback;
2016
+ onMouseDragLocked: EventSystemCallback;
2017
+ onMouseDragEnd: EventSystemCallback;
2018
+ onInputDown: MultiCallback;
2019
+ onInputUp: MultiCallback;
2020
+ onInputDrag: MultiCallback;
2021
+ onInputDragLocked: MultiCallback;
2022
+ onInputDragEnd: MultiCallback;
1907
2023
  };
1908
2024
 
1909
2025
  /** @public */
@@ -1981,6 +2097,13 @@ export declare type EventSystemOptions = {
1981
2097
  showHighlight?: boolean;
1982
2098
  };
1983
2099
 
2100
+ /**
2101
+ * @public
2102
+ */
2103
+ export declare type EventSystemOptionsCallback = EventSystemOptions & {
2104
+ cb: EventSystemCallback;
2105
+ };
2106
+
1984
2107
  /**
1985
2108
  * Excludes property keys from T where the property is assignable to U
1986
2109
  * @public
@@ -2055,6 +2178,9 @@ export declare type GlobalDirectionRaycastSystemOptions = {
2055
2178
  direction?: PBVector3;
2056
2179
  };
2057
2180
 
2181
+ /** @public */
2182
+ export declare const GlobalLight: LastWriteWinElementSetComponentDefinition<PBGlobalLight>;
2183
+
2058
2184
  export declare type GlobalTargetRaycastOptions = RaycastSystemOptions & GlobalTargetRaycastSystemOptions;
2059
2185
 
2060
2186
  export declare type GlobalTargetRaycastSystemOptions = {
@@ -2068,7 +2194,19 @@ export declare const GltfContainer: LastWriteWinElementSetComponentDefinition<PB
2068
2194
  export declare const GltfContainerLoadingState: LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>;
2069
2195
 
2070
2196
  /** @public */
2071
- export declare const GltfNodeModifiers: LastWriteWinElementSetComponentDefinition<PBGltfNodeModifiers>;
2197
+ export declare const GltfNode: LastWriteWinElementSetComponentDefinition<PBGltfNode>;
2198
+
2199
+ /** @public */
2200
+ export declare const GltfNodeState: LastWriteWinElementSetComponentDefinition<PBGltfNodeState>;
2201
+
2202
+ /**
2203
+ * @public
2204
+ */
2205
+ export declare const enum GltfNodeStateValue {
2206
+ GNSV_PENDING = 0,
2207
+ GNSV_FAILED = 1,
2208
+ GNSV_READY = 2
2209
+ }
2072
2210
 
2073
2211
  /**
2074
2212
  * @public
@@ -2417,6 +2555,12 @@ export declare type IInputSystem = {
2417
2555
  * @returns the input command info or undefined if there is no command in the last tick-update
2418
2556
  */
2419
2557
  getInputCommand: (inputAction: InputAction, pointerEventType: PointerEventType, entity?: Entity) => PBPointerEventsResult | null;
2558
+ /**
2559
+ * @public
2560
+ * Get an ordered iterator over events received within the current frame.
2561
+ * @returns the iterator
2562
+ */
2563
+ getInputCommands: () => Generator<PBPointerEventsResult>;
2420
2564
  };
2421
2565
 
2422
2566
  /**
@@ -2680,19 +2824,38 @@ export declare interface LastWriteWinElementSetComponentDefinition<T> extends Ba
2680
2824
  getOrCreateMutable(entity: Entity, initialValue?: T): T;
2681
2825
  }
2682
2826
 
2827
+ /** @public */
2828
+ export declare const Light: LastWriteWinElementSetComponentDefinition<PBLight>;
2829
+
2683
2830
  /**
2684
2831
  * User key event Listeners
2685
2832
  * @public
2686
2833
  */
2687
2834
  export declare type Listeners = {
2688
2835
  /** triggered on mouse down event */
2689
- onMouseDown?: Callback;
2836
+ onMouseDown?: EventSystemCallback;
2690
2837
  /** triggered on mouse up event */
2691
- onMouseUp?: Callback;
2838
+ onMouseUp?: EventSystemCallback;
2692
2839
  /** triggered on mouse hover event */
2693
- onMouseEnter?: Callback;
2840
+ onMouseEnter?: EventSystemCallback;
2694
2841
  /** triggered on mouse leave event */
2695
- onMouseLeave?: Callback;
2842
+ onMouseLeave?: EventSystemCallback;
2843
+ /** triggered on mouse drag event */
2844
+ onMouseDrag?: EventSystemCallback;
2845
+ /** triggered on mouse drag event */
2846
+ onMouseDragLocked?: EventSystemCallback;
2847
+ /** triggered on mouse drag event */
2848
+ onMouseDragEnd?: EventSystemCallback;
2849
+ /** triggered on input down event */
2850
+ onInputDown?: MultiCallback;
2851
+ /** triggered on input up event */
2852
+ onInputUp?: MultiCallback;
2853
+ /** triggered on input drag event */
2854
+ onInputDrag?: MultiCallback;
2855
+ /** triggered on input drag event */
2856
+ onInputDragLocked?: MultiCallback;
2857
+ /** triggered on input drag event */
2858
+ onInputDragEnd?: MultiCallback;
2696
2859
  };
2697
2860
 
2698
2861
  /**
@@ -3561,6 +3724,14 @@ export declare interface MeshColliderComponentDefinitionExtended extends LastWri
3561
3724
  * @param colliderMask - the set of layer where the collider reacts, default: Physics and Pointer
3562
3725
  */
3563
3726
  setSphere(entity: Entity, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
3727
+ /**
3728
+ * @public
3729
+ * Set a gltf internal mesh in the MeshCollider component
3730
+ * @param entity - entity to create or replace the MeshRenderer component
3731
+ * @param source - the path to the gltf
3732
+ * @param meshName - the name of the mesh in the gltf
3733
+ */
3734
+ setGltfMesh(entity: Entity, source: string, meshName: string, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
3564
3735
  }
3565
3736
 
3566
3737
  export declare const MeshRenderer: MeshRendererComponentDefinitionExtended;
@@ -3597,6 +3768,14 @@ export declare interface MeshRendererComponentDefinitionExtended extends LastWri
3597
3768
  * @param entity - entity to create or replace the MeshRenderer component
3598
3769
  */
3599
3770
  setSphere(entity: Entity): void;
3771
+ /**
3772
+ * @public
3773
+ * Set a gltf internal mesh in the MeshRenderer component
3774
+ * @param entity - entity to create or replace the MeshRenderer component
3775
+ * @param source - the path to the gltf
3776
+ * @param meshName - the name of the mesh in the gltf
3777
+ */
3778
+ setGltfMesh(entity: Entity, source: string, meshName: string): void;
3600
3779
  }
3601
3780
 
3602
3781
  /**
@@ -3629,6 +3808,19 @@ export declare namespace Move {
3629
3808
  export function decode(input: _m0.Reader | Uint8Array, length?: number): Move;
3630
3809
  }
3631
3810
 
3811
+ /**
3812
+ * a record object mapping `InputAction`s to functions.
3813
+ *
3814
+ * @example
3815
+ * onInputDown={{
3816
+ * [InputAction.IA_PRIMARY]: (eventData) => { console.log("primary") },
3817
+ * [InputAction.IA_SECONDARY]: () => { console.log("secondary") },
3818
+ * }}
3819
+ *
3820
+ * @public
3821
+ */
3822
+ export declare type MultiCallback = Partial<Record<InputAction, EventSystemCallback>>;
3823
+
3632
3824
  export declare const Name: NameComponent;
3633
3825
 
3634
3826
  export declare type NameComponent = LastWriteWinElementSetComponentDefinition<NameType>;
@@ -4009,6 +4201,25 @@ export declare const onVideoEvent: Observable<{
4009
4201
  totalVideoLength: number;
4010
4202
  }>;
4011
4203
 
4204
+ /**
4205
+ * @public
4206
+ */
4207
+ export declare interface Orthographic {
4208
+ /**
4209
+ * vertical extent of the visible range in meters
4210
+ * defaults to 4m
4211
+ */
4212
+ verticalRange?: number | undefined;
4213
+ }
4214
+
4215
+ /**
4216
+ * @public
4217
+ */
4218
+ export declare namespace Orthographic {
4219
+ export function encode(message: Orthographic, writer?: _m0.Writer): _m0.Writer;
4220
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): Orthographic;
4221
+ }
4222
+
4012
4223
  /**
4013
4224
  * @public
4014
4225
  * The overflow property controls what happens to content that is too big to fit into an area
@@ -4235,6 +4446,8 @@ export declare namespace PBAvatarEmoteCommand {
4235
4446
  export declare interface PBAvatarEquippedData {
4236
4447
  wearableUrns: string[];
4237
4448
  emoteUrns: string[];
4449
+ /** slots that will render even if hidden */
4450
+ forceRender: string[];
4238
4451
  }
4239
4452
 
4240
4453
  /**
@@ -4269,6 +4482,9 @@ export declare interface PBAvatarModifierArea {
4269
4482
  excludeIds: string[];
4270
4483
  /** list of modifiers to apply */
4271
4484
  modifiers: AvatarModifierType[];
4485
+ movementSettings?: AvatarMovementSettings | undefined;
4486
+ /** if true, the player will be considered inside the area when they are within 0.3m of the area. default true */
4487
+ useColliderRange?: boolean | undefined;
4272
4488
  }
4273
4489
 
4274
4490
  /**
@@ -4325,6 +4541,8 @@ export declare interface PBAvatarShape {
4325
4541
  wearables: string[];
4326
4542
  /** available emotes (default empty) */
4327
4543
  emotes: string[];
4544
+ /** slots that will render even if hidden */
4545
+ forceRender: string[];
4328
4546
  }
4329
4547
 
4330
4548
  /**
@@ -4359,6 +4577,51 @@ export declare namespace PBBillboard {
4359
4577
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBBillboard;
4360
4578
  }
4361
4579
 
4580
+ /**
4581
+ * @public
4582
+ */
4583
+ export declare interface PBCameraLayer {
4584
+ /**
4585
+ * layer to which these settings apply. must be > 0
4586
+ * Layer 0 is the default "real world" layer viewed by the player and cannot be modified.
4587
+ */
4588
+ layer: number;
4589
+ /** should the sun light affect this layer? default false */
4590
+ directionalLight?: boolean | undefined;
4591
+ /** should this layer show player avatars? default false */
4592
+ showAvatars?: boolean | undefined;
4593
+ /** should this layer show the sky? default false */
4594
+ showSkybox?: boolean | undefined;
4595
+ /** should this layer show distance fog? default false */
4596
+ showFog?: boolean | undefined;
4597
+ /** ambient light overrides for this layer. default -> use same as main camera */
4598
+ ambientColorOverride?: PBColor3 | undefined;
4599
+ ambientBrightnessOverride?: number | undefined;
4600
+ }
4601
+
4602
+ /**
4603
+ * @public
4604
+ */
4605
+ export declare namespace PBCameraLayer {
4606
+ export function encode(message: PBCameraLayer, writer?: _m0.Writer): _m0.Writer;
4607
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBCameraLayer;
4608
+ }
4609
+
4610
+ /**
4611
+ * @public
4612
+ */
4613
+ export declare interface PBCameraLayers {
4614
+ layers: number[];
4615
+ }
4616
+
4617
+ /**
4618
+ * @public
4619
+ */
4620
+ export declare namespace PBCameraLayers {
4621
+ export function encode(message: PBCameraLayers, writer?: _m0.Writer): _m0.Writer;
4622
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBCameraLayers;
4623
+ }
4624
+
4362
4625
  /**
4363
4626
  * The CameraMode component can be used to determine whether the player is using a first-person o
4364
4627
  * third-person view.
@@ -4381,7 +4644,7 @@ export declare namespace PBCameraMode {
4381
4644
 
4382
4645
  /**
4383
4646
  * The CameraModeArea component can be attached to an Entity to define a region of space where
4384
- * the player's camera mode (1st-person or 3rd-person) is overridden.
4647
+ * the player's camera mode (1st-person, 3rd-person or cinematic) is overridden.
4385
4648
  *
4386
4649
  * The Entity's Transform position determines the center-point of the region, while its size is
4387
4650
  * given as a vector in the `area` property below. The Transform rotation is applied, but the scale
@@ -4391,6 +4654,8 @@ export declare namespace PBCameraMode {
4391
4654
  *
4392
4655
  * Note that, while commonly used to delineate a 2D area in a scene (hence the name), the region
4393
4656
  * is actually a 3D volume.
4657
+ *
4658
+ * When mode is set to CtCinematic, the cinematic_settings field must also be provided.
4394
4659
  */
4395
4660
  /**
4396
4661
  * @public
@@ -4400,6 +4665,9 @@ export declare interface PBCameraModeArea {
4400
4665
  area: PBVector3 | undefined;
4401
4666
  /** the camera mode to enforce */
4402
4667
  mode: CameraType;
4668
+ cinematicSettings?: CinematicSettings | undefined;
4669
+ /** if true, the player will be considered inside the area when they are within 0.3m of the area. default true */
4670
+ useColliderRange?: boolean | undefined;
4403
4671
  }
4404
4672
 
4405
4673
  /**
@@ -4471,6 +4739,39 @@ export declare namespace PBEngineInfo {
4471
4739
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBEngineInfo;
4472
4740
  }
4473
4741
 
4742
+ /**
4743
+ * defines the global scene light settings. must be added to the scene root.
4744
+ * to control sunlight color, intensity, shadows etc, you can also add a PBLight to the scene root.
4745
+ */
4746
+ /**
4747
+ * @public
4748
+ */
4749
+ export declare interface PBGlobalLight {
4750
+ /**
4751
+ * the direction the directional light shines in.
4752
+ * default depends on time of day and explorer implementation
4753
+ */
4754
+ direction?: PBVector3 | undefined;
4755
+ /**
4756
+ * ambient light color
4757
+ * default: White
4758
+ */
4759
+ ambientColor?: PBColor3 | undefined;
4760
+ /**
4761
+ * ambient light intensity. the explorer default ambient brightness is multiplied by this non-physical quantity.
4762
+ * default 1
4763
+ */
4764
+ ambientBrightness?: number | undefined;
4765
+ }
4766
+
4767
+ /**
4768
+ * @public
4769
+ */
4770
+ export declare namespace PBGlobalLight {
4771
+ export function encode(message: PBGlobalLight, writer?: _m0.Writer): _m0.Writer;
4772
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGlobalLight;
4773
+ }
4774
+
4474
4775
  /**
4475
4776
  * GltfContainer loads a GLTF file (and any additional files packaged inside) attached to an Entity.
4476
4777
  *
@@ -4506,6 +4807,25 @@ export declare namespace PBGltfContainer {
4506
4807
  */
4507
4808
  export declare interface PBGltfContainerLoadingState {
4508
4809
  currentState: LoadingState;
4810
+ /** all node paths in the gltf, which can be used with a GltfNode to inspect and modify the gltf contents */
4811
+ nodePaths: string[];
4812
+ /** all meshes in the gltf. unnamed meshes will be auto-assigned a name of the form `MeshX` or `MeshX/PrimitiveY` */
4813
+ meshNames: string[];
4814
+ /**
4815
+ * where X is the mesh index and Y is the primitive index (and there is more than 1 primitive). note this may
4816
+ * conflict with manually named meshes - to avoid any issues make sure all your meshes are explicitly named.
4817
+ */
4818
+ materialNames: string[];
4819
+ /**
4820
+ * X is the material index. note this may conflict with manually named materials - to avoid any issues make
4821
+ * sure all your materials are explicitly named.
4822
+ */
4823
+ skinNames: string[];
4824
+ /**
4825
+ * X is the skin index. note this may conflict with manually named skins - to avoid any issues make sure all
4826
+ * your skins are explicitly named.
4827
+ */
4828
+ animationNames: string[];
4509
4829
  }
4510
4830
 
4511
4831
  /**
@@ -4517,48 +4837,74 @@ export declare namespace PBGltfContainerLoadingState {
4517
4837
  }
4518
4838
 
4519
4839
  /**
4520
- * GltfNodeModifiers component is to be used attached to entities that have the GltfContainer component.
4840
+ * a GltfNode links a scene entity with a node from within a gltf, allowing the scene to inspect it or modify it.
4841
+ * This component must be added to a direct child of an entity with a PBGltfContainer component, or
4842
+ * to a direct child of another entity with a GltfNode component, and the referenced gltf node must be a descendent of the gltf node
4843
+ * in the parent.
4844
+ * The name must match the path of one of the nodes within the Gltf. These are available on the GltfContainerLoadingState component.
4845
+ *
4846
+ * The renderer will attach a PBGltfNodeState to the entity describing the state. Once the state is `GNS_READY`,
4847
+ * - the `Transform` will be updated to match the position of the node within the gltf (relative to the gltf root, or the parent node),
4848
+ * - a `MeshRenderer` with a GltfMesh mesh type will be added (if the gltf node has a mesh).
4849
+ * - a `MeshCollider` with a GltfMesh mesh type will be added (if the gltf node has a collider).
4850
+ * - a `Material` component including a GltfMaterial reference will be added (if the gltf node has a material).
4521
4851
  *
4522
- * This allows to override either the Material or the Casting Shadows behaviour of the target GLTF Node.
4852
+ * After creation, if an animation moves the node, the `Transform` will be updated.
4523
4853
  *
4524
- * * If the 'path' of the first modifier in the collection is an empty string: the configuration will
4525
- * affect all of the GLTF Nodes (as a global modifier).
4526
- * * Otherwise, for the modifiers whose 'path' is found in the GLTF hierarchy, the modifier will affect only
4527
- * the target Nodes.
4854
+ * From the scene, you can modify various components to alter the gltf node:
4855
+ * - modifying the `Transform` position/rotation/scale will move the node. The position is interpreted relative to the gltf root (or parent node),
4856
+ * regardless of any intermediate gltf node hierarchy.
4857
+ * If an animation is playing, the animation takes priority and the scene entity's position will be updated to match the animation.
4858
+ * - `Visibility` can be added to hide or show the node and it's children in the gltf hierarchy.
4859
+ * - `MeshRenderer` can be added/modified/removed to create/modify/remove a mesh on the node.
4860
+ * - `MeshCollider` can be added/modified/removed to create/modify/remove a collider on the node.
4861
+ * - `Material` can be added or modified to change the material properties. If the gltf node has a material, the original material will be
4862
+ * 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
4863
+ * PBMaterial will be maintained.
4864
+ *
4865
+ * The scene can add additional entities as children to the gltf node, but structural modifications of the gltf are not possible:
4866
+ * - changing the scene hierarchy will not change the gltf node hierarchy. Moving the entity out of the gltf will sever the link and
4867
+ * change the state to `GNS_FAILED`.
4868
+ * - deleting the scene entity will not delete the gltf node.
4869
+ *
4870
+ * Removing the GltfNode will revert any changes to the original gltf. If the GltfNode component is removed and the mesh/collider/material
4871
+ * are not removed, this will result in a duplication of these components as the previously-linked entity will retain it's components and
4872
+ * the gltf node will also be displayed.
4528
4873
  */
4529
4874
  /**
4530
4875
  * @public
4531
4876
  */
4532
- export declare interface PBGltfNodeModifiers {
4533
- modifiers: PBGltfNodeModifiers_GltfNodeModifier[];
4877
+ export declare interface PBGltfNode {
4878
+ /** the path of the target node in the Gltf. */
4879
+ path: string;
4534
4880
  }
4535
4881
 
4536
4882
  /**
4537
4883
  * @public
4538
4884
  */
4539
- export declare namespace PBGltfNodeModifiers {
4540
- export function encode(message: PBGltfNodeModifiers, writer?: _m0.Writer): _m0.Writer;
4541
- export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNodeModifiers;
4885
+ export declare namespace PBGltfNode {
4886
+ export function encode(message: PBGltfNode, writer?: _m0.Writer): _m0.Writer;
4887
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNode;
4542
4888
  }
4543
4889
 
4890
+ /**
4891
+ * The state of a linked gltf node.
4892
+ * If the state is GNSV_FAILED, the renderer may describe the failure in the error string.
4893
+ */
4544
4894
  /**
4545
4895
  * @public
4546
4896
  */
4547
- export declare interface PBGltfNodeModifiers_GltfNodeModifier {
4548
- /** The GLTF hierarchy path of the target Node to be affected */
4549
- path: string;
4550
- /** The casting shadows enabled override */
4551
- castShadows?: boolean | undefined;
4552
- /** The Material that will be overridden on the target Node */
4553
- material?: PBMaterial | undefined;
4897
+ export declare interface PBGltfNodeState {
4898
+ state: GltfNodeStateValue;
4899
+ error?: string | undefined;
4554
4900
  }
4555
4901
 
4556
4902
  /**
4557
4903
  * @public
4558
4904
  */
4559
- export declare namespace PBGltfNodeModifiers_GltfNodeModifier {
4560
- export function encode(message: PBGltfNodeModifiers_GltfNodeModifier, writer?: _m0.Writer): _m0.Writer;
4561
- export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNodeModifiers_GltfNodeModifier;
4905
+ export declare namespace PBGltfNodeState {
4906
+ export function encode(message: PBGltfNodeState, writer?: _m0.Writer): _m0.Writer;
4907
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNodeState;
4562
4908
  }
4563
4909
 
4564
4910
  /**
@@ -4600,6 +4946,62 @@ export declare namespace PBInputModifier_StandardInput {
4600
4946
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBInputModifier_StandardInput;
4601
4947
  }
4602
4948
 
4949
+ /**
4950
+ * defines a light source.
4951
+ * the world has a default directional light (like sunlight) which can be overridden by adding the light component to the scene root.
4952
+ * a PBGlobalLight component can also be added to the root to control the directional light direction.
4953
+ * point lights (lightbulbs) or spotlights can be created by attaching the light component to non-root entities.
4954
+ */
4955
+ /**
4956
+ * @public
4957
+ */
4958
+ export declare interface PBLight {
4959
+ /**
4960
+ * whether the light is on
4961
+ * default true
4962
+ */
4963
+ enabled?: boolean | undefined;
4964
+ /**
4965
+ * light brightness in lux (lumens/m^2).
4966
+ *
4967
+ * 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).
4968
+ * the default global light illuminance varies from 400 (sunrise/sunset) to 10,000 (midday).
4969
+ * for typical values, see https://en.wikipedia.org/wiki/Lux#Illuminance
4970
+ *
4971
+ * for point and spot lights, this is the lumens/m^2 at 1m distance from the light. to transform from raw lumens,
4972
+ * divide lumens by ~12 (4*pi).
4973
+ * e.g. a 100w household bulb with 1200 lumens would have an illuminance of ~100.
4974
+ * a lighthouse bulb with 200,000 lumens would have an illuminance of ~15,000 (ignoring beam reflections)
4975
+ *
4976
+ * default
4977
+ * for point/spotlights: 10,000
4978
+ * for global directional light: depends on explorer implementation. may vary on light direction, time of day, etc
4979
+ */
4980
+ illuminance?: number | undefined;
4981
+ /**
4982
+ * whether the light should cast shadows.
4983
+ * note: even when set to true the engine may not display shadows, or may only show shadows for a limited number
4984
+ * of lights depending on the implementation, platform, and user settings.
4985
+ * default
4986
+ * for point/spotlights: false / off
4987
+ * for global directional light: true / on
4988
+ */
4989
+ shadows?: boolean | undefined;
4990
+ /**
4991
+ * light color
4992
+ * default White
4993
+ */
4994
+ color?: PBColor3 | undefined;
4995
+ }
4996
+
4997
+ /**
4998
+ * @public
4999
+ */
5000
+ export declare namespace PBLight {
5001
+ export function encode(message: PBLight, writer?: _m0.Writer): _m0.Writer;
5002
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBLight;
5003
+ }
5004
+
4603
5005
  /**
4604
5006
  * PBMainCamera.virtualCameraEntity defines which VirtualCamera entity is active at the moment.
4605
5007
  * This component may hold 'repeated common.CameraTransition' transitionOverrides in the future
@@ -4631,6 +5033,14 @@ export declare interface PBMaterial {
4631
5033
  $case: "pbr";
4632
5034
  pbr: PBMaterial_PbrMaterial;
4633
5035
  } | undefined;
5036
+ /**
5037
+ * A gltf material that may provide additional features not supported by the PbMaterial fields.
5038
+ * If both gltf and material fields are provided, the gltf will be used only for extended features not
5039
+ * supported by the PbMaterial.
5040
+ * If this is provided and the `material` field is not provided, the renderer will update the material
5041
+ * field with data that reflects the gltf material once it is loaded.
5042
+ */
5043
+ gltf?: PBMaterial_GltfMaterial | undefined;
4634
5044
  }
4635
5045
 
4636
5046
  /**
@@ -4641,6 +5051,22 @@ export declare namespace PBMaterial {
4641
5051
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMaterial;
4642
5052
  }
4643
5053
 
5054
+ /**
5055
+ * @public
5056
+ */
5057
+ export declare interface PBMaterial_GltfMaterial {
5058
+ gltfSrc: string;
5059
+ name: string;
5060
+ }
5061
+
5062
+ /**
5063
+ * @public
5064
+ */
5065
+ export declare namespace PBMaterial_GltfMaterial {
5066
+ export function encode(message: PBMaterial_GltfMaterial, writer?: _m0.Writer): _m0.Writer;
5067
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMaterial_GltfMaterial;
5068
+ }
5069
+
4644
5070
  /**
4645
5071
  * @public
4646
5072
  */
@@ -4737,6 +5163,9 @@ export declare interface PBMeshCollider {
4737
5163
  } | {
4738
5164
  $case: "plane";
4739
5165
  plane: PBMeshCollider_PlaneMesh;
5166
+ } | {
5167
+ $case: "gltf";
5168
+ gltf: PBMeshCollider_GltfMesh;
4740
5169
  } | undefined;
4741
5170
  }
4742
5171
 
@@ -4782,6 +5211,25 @@ export declare namespace PBMeshCollider_CylinderMesh {
4782
5211
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshCollider_CylinderMesh;
4783
5212
  }
4784
5213
 
5214
+ /** A collider constructed from a Gltf Mesh. */
5215
+ /**
5216
+ * @public
5217
+ */
5218
+ export declare interface PBMeshCollider_GltfMesh {
5219
+ /** the GLTF file path as listed in the scene's manifest. */
5220
+ gltfSrc: string;
5221
+ /** the name of the mesh asset */
5222
+ name: string;
5223
+ }
5224
+
5225
+ /**
5226
+ * @public
5227
+ */
5228
+ export declare namespace PBMeshCollider_GltfMesh {
5229
+ export function encode(message: PBMeshCollider_GltfMesh, writer?: _m0.Writer): _m0.Writer;
5230
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshCollider_GltfMesh;
5231
+ }
5232
+
4785
5233
  /** PlaneMesh is a 2D rectangle described by the Entity's Transform. */
4786
5234
  /**
4787
5235
  * @public
@@ -4814,13 +5262,11 @@ export declare namespace PBMeshCollider_SphereMesh {
4814
5262
 
4815
5263
  /**
4816
5264
  * The MeshRenderer component renders a basic geometric shape for an Entity. It can be a cube, a
4817
- * plane, a sphere or a cylinder.
5265
+ * plane, a sphere, a cylinder, or a Gltf mesh.
4818
5266
  *
4819
5267
  * The cube and plane variants can include a UV texture mapping, so specific areas of a material
4820
5268
  * texture are rendered on different faces of the shape. They are serialized as a sequence of 2D
4821
5269
  * `float` coordinates, one for each corner of each side of each face.
4822
- *
4823
- * More complex shapes require the use of a `GltfContainer` component.
4824
5270
  */
4825
5271
  /**
4826
5272
  * @public
@@ -4838,6 +5284,9 @@ export declare interface PBMeshRenderer {
4838
5284
  } | {
4839
5285
  $case: "plane";
4840
5286
  plane: PBMeshRenderer_PlaneMesh;
5287
+ } | {
5288
+ $case: "gltf";
5289
+ gltf: PBMeshRenderer_GltfMesh;
4841
5290
  } | undefined;
4842
5291
  }
4843
5292
 
@@ -4885,6 +5334,25 @@ export declare namespace PBMeshRenderer_CylinderMesh {
4885
5334
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshRenderer_CylinderMesh;
4886
5335
  }
4887
5336
 
5337
+ /** A mesh from a Gltf. */
5338
+ /**
5339
+ * @public
5340
+ */
5341
+ export declare interface PBMeshRenderer_GltfMesh {
5342
+ /** the GLTF file path as listed in the scene's manifest. */
5343
+ gltfSrc: string;
5344
+ /** the name of the mesh asset */
5345
+ name: string;
5346
+ }
5347
+
5348
+ /**
5349
+ * @public
5350
+ */
5351
+ export declare namespace PBMeshRenderer_GltfMesh {
5352
+ export function encode(message: PBMeshRenderer_GltfMesh, writer?: _m0.Writer): _m0.Writer;
5353
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshRenderer_GltfMesh;
5354
+ }
5355
+
4888
5356
  /** PlaneMesh renders a 2D rectangular shape. */
4889
5357
  /**
4890
5358
  * @public
@@ -5133,7 +5601,10 @@ export declare interface PBPrimaryPointerInfo {
5133
5601
  screenCoordinates?: PBVector2 | undefined;
5134
5602
  /** Movement since last frame (pixels) */
5135
5603
  screenDelta?: PBVector2 | undefined;
5136
- /** Direction vector for 3D ray casting */
5604
+ /**
5605
+ * ray direction that can be used with the primary camera origin for
5606
+ * raycasting from the cursor into the world
5607
+ */
5137
5608
  worldRayDirection?: PBVector3 | undefined;
5138
5609
  }
5139
5610
 
@@ -5274,25 +5745,36 @@ export declare namespace PBRealmInfo {
5274
5745
  }
5275
5746
 
5276
5747
  /**
5277
- * The SkyboxTime component allows controlling the time of day for the skybox,
5278
- * affecting the lighting and appearance of the sky in the scene.
5748
+ * defines a spotlight.
5749
+ * spotlights are point lights that emit light only in a cone around the transform's forward direction.
5750
+ * add this component together with the PBLight component to transform a point light into a spotlight.
5751
+ * note that spotlights do not model any internal reflections / focus, they only restrict the area of effect.
5752
+ * so for e.g. a torch beam, the bulb illuminance should be multiplied by the solid angle.
5753
+ * a typical torch with a beam width of 15 degrees would use outer angle of 0.15 (7.5 degrees in radians),
5754
+ * and an illuminance approximately equal to the bulb's lumens, e.g. 1200.
5279
5755
  */
5280
5756
  /**
5281
5757
  * @public
5282
5758
  */
5283
- export declare interface PBSkyboxTime {
5284
- /** fixed time of day, represented as a number of seconds since the start of the day, where 0 is 00:00hs, 43200 is 12:00hs and 86400 is 24:00hs */
5285
- fixedTime: number;
5286
- /** default = TransitionMode.TM_FORWARD, controls the direction of time transitions */
5287
- transitionMode?: TransitionMode | undefined;
5759
+ export declare interface PBSpotlight {
5760
+ /**
5761
+ * the cone radius in radians. distance away from forward in which the light is visible.
5762
+ * for a torch a value around 0.15 is appropriate.
5763
+ */
5764
+ angle: number;
5765
+ /**
5766
+ * optional angle at which the light is brightest. should be <= outer angle.
5767
+ * if specified, the light will fall off smoothly between `inner_angle` and `angle`.
5768
+ */
5769
+ innerAngle?: number | undefined;
5288
5770
  }
5289
5771
 
5290
5772
  /**
5291
5773
  * @public
5292
5774
  */
5293
- export declare namespace PBSkyboxTime {
5294
- export function encode(message: PBSkyboxTime, writer?: _m0.Writer): _m0.Writer;
5295
- export function decode(input: _m0.Reader | Uint8Array, length?: number): PBSkyboxTime;
5775
+ export declare namespace PBSpotlight {
5776
+ export function encode(message: PBSpotlight, writer?: _m0.Writer): _m0.Writer;
5777
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBSpotlight;
5296
5778
  }
5297
5779
 
5298
5780
  /**
@@ -5359,6 +5841,46 @@ export declare namespace PBTextShape {
5359
5841
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBTextShape;
5360
5842
  }
5361
5843
 
5844
+ /**
5845
+ * @public
5846
+ */
5847
+ export declare interface PBTextureCamera {
5848
+ /** rendered texture width */
5849
+ width?: number | undefined;
5850
+ /** rendered texture height */
5851
+ height?: number | undefined;
5852
+ /**
5853
+ * which layer of entities to render. entity layers can be specified by adding PBCameraLayers to target entities.
5854
+ * defaults to 0
5855
+ */
5856
+ layer?: number | undefined;
5857
+ /** default black */
5858
+ clearColor?: PBColor4 | undefined;
5859
+ /** default infinity */
5860
+ farPlane?: number | undefined;
5861
+ mode?: {
5862
+ $case: "perspective";
5863
+ perspective: Perspective;
5864
+ } | {
5865
+ $case: "orthographic";
5866
+ orthographic: Orthographic;
5867
+ } | undefined;
5868
+ /**
5869
+ * controls whether this camera acts as a receiver for audio on sources with matching `PBCameraLayers`.
5870
+ * range: 0 (off) - 1 (full volume)
5871
+ * default: 0
5872
+ */
5873
+ volume?: number | undefined;
5874
+ }
5875
+
5876
+ /**
5877
+ * @public
5878
+ */
5879
+ export declare namespace PBTextureCamera {
5880
+ export function encode(message: PBTextureCamera, writer?: _m0.Writer): _m0.Writer;
5881
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBTextureCamera;
5882
+ }
5883
+
5362
5884
  /**
5363
5885
  * @public
5364
5886
  */
@@ -5448,6 +5970,25 @@ export declare namespace PBUiBackground {
5448
5970
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiBackground;
5449
5971
  }
5450
5972
 
5973
+ /** The UiCanvas component can be attached to a ui root entity to specify properties of the ui texture. */
5974
+ /**
5975
+ * @public
5976
+ */
5977
+ export declare interface PBUiCanvas {
5978
+ width: number;
5979
+ height: number;
5980
+ /** default = (0.0, 0.0, 0.0, 0.0) / transparent */
5981
+ color?: PBColor4 | undefined;
5982
+ }
5983
+
5984
+ /**
5985
+ * @public
5986
+ */
5987
+ export declare namespace PBUiCanvas {
5988
+ export function encode(message: PBUiCanvas, writer?: _m0.Writer): _m0.Writer;
5989
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiCanvas;
5990
+ }
5991
+
5451
5992
  /** This component is created by the renderer and used by the scenes to know the resolution of the UI canvas */
5452
5993
  /**
5453
5994
  * @public
@@ -5564,6 +6105,21 @@ export declare namespace PBUiInputResult {
5564
6105
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiInputResult;
5565
6106
  }
5566
6107
 
6108
+ /**
6109
+ * @public
6110
+ */
6111
+ export declare interface PBUiScrollResult {
6112
+ value: PBVector2 | undefined;
6113
+ }
6114
+
6115
+ /**
6116
+ * @public
6117
+ */
6118
+ export declare namespace PBUiScrollResult {
6119
+ export function encode(message: PBUiScrollResult, writer?: _m0.Writer): _m0.Writer;
6120
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiScrollResult;
6121
+ }
6122
+
5567
6123
  /**
5568
6124
  * @public
5569
6125
  */
@@ -5580,6 +6136,10 @@ export declare interface PBUiText {
5580
6136
  fontSize?: number | undefined;
5581
6137
  /** wrap text when the border is reached (default: TW_WRAP) */
5582
6138
  textWrap?: TextWrap | undefined;
6139
+ /** width of the outline (default: 0) */
6140
+ outlineWidth?: number | undefined;
6141
+ /** RGBA color of the outline (default: opaque black) */
6142
+ outlineColor?: PBColor4 | undefined;
5583
6143
  }
5584
6144
 
5585
6145
  /**
@@ -5707,6 +6267,12 @@ export declare interface PBUiTransform {
5707
6267
  borderRightColor?: PBColor4 | undefined;
5708
6268
  /** default: 1 */
5709
6269
  opacity?: number | undefined;
6270
+ /** reference for scroll_position. default empty */
6271
+ elementId?: string | undefined;
6272
+ /** default position=(0,0) */
6273
+ scrollPosition?: ScrollPositionValue | undefined;
6274
+ /** default ShowScrollBar.SSB_BOTH */
6275
+ scrollVisible?: ShowScrollBar | undefined;
5710
6276
  /** default: 0 — controls render stacking order. Higher values appear in front of lower values. */
5711
6277
  zIndex?: number | undefined;
5712
6278
  }
@@ -5838,6 +6404,25 @@ export declare namespace PBVisibilityComponent {
5838
6404
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBVisibilityComponent;
5839
6405
  }
5840
6406
 
6407
+ /**
6408
+ * @public
6409
+ */
6410
+ export declare interface Perspective {
6411
+ /**
6412
+ * vertical field of view in radians
6413
+ * defaults to pi/4 = 45 degrees
6414
+ */
6415
+ fieldOfView?: number | undefined;
6416
+ }
6417
+
6418
+ /**
6419
+ * @public
6420
+ */
6421
+ export declare namespace Perspective {
6422
+ export function encode(message: Perspective, writer?: _m0.Writer): _m0.Writer;
6423
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): Perspective;
6424
+ }
6425
+
5841
6426
  /**
5842
6427
  * Represens a plane by the equation ax + by + cz + d = 0
5843
6428
  * @public
@@ -5993,11 +6578,37 @@ export declare interface PointerEventsSystem {
5993
6578
  * @param entity - Entity where the callback was attached
5994
6579
  */
5995
6580
  removeOnPointerHoverLeave(entity: Entity): void;
6581
+ /**
6582
+ * @public
6583
+ * Remove the callback for onPointerDrag event
6584
+ * @param entity - Entity where the callback was attached
6585
+ */
6586
+ removeOnPointerDrag(entity: Entity): void;
6587
+ /**
6588
+ * @public
6589
+ * Remove the callback for onPointerDragLocked event
6590
+ * @param entity - Entity where the callback was attached
6591
+ */
6592
+ removeOnPointerDragLocked(entity: Entity): void;
6593
+ /**
6594
+ * @public
6595
+ * Remove the callback for onPointerDragEnd event
6596
+ * @param entity - Entity where the callback was attached
6597
+ */
6598
+ removeOnPointerDragEnd(entity: Entity): void;
6599
+ /**
6600
+ * @public
6601
+ * Execute callbacks when the user presses one of the InputButtons pointing at the entity
6602
+ * @param pointerData - Entity to attach the callbacks, list of options to trigger Feedback, Button, and Callback
6603
+ */
6604
+ onPointerDown(pointerData: {
6605
+ entity: Entity;
6606
+ optsList: EventSystemOptionsCallback[];
6607
+ }): void;
5996
6608
  /**
5997
6609
  * @public
5998
6610
  * Execute callback when the user press the InputButton pointing at the entity
5999
6611
  * @param pointerData - Entity to attach the callback, Opts to trigger Feedback and Button
6000
- * @param cb - Function to execute when click fires
6001
6612
  */
6002
6613
  onPointerDown(pointerData: {
6003
6614
  entity: Entity;
@@ -6010,6 +6621,15 @@ export declare interface PointerEventsSystem {
6010
6621
  * @param opts - Opts to trigger Feedback and Button
6011
6622
  */
6012
6623
  onPointerDown(entity: Entity, cb: EventSystemCallback, opts?: Partial<EventSystemOptions>): void;
6624
+ /**
6625
+ * @public
6626
+ * Execute callbacks when the user releases one of the InputButtons pointing at the entity
6627
+ * @param pointerData - Entity to attach the callbacks, list of options to trigger Feedback, Button, and Callback
6628
+ */
6629
+ onPointerUp(pointerData: {
6630
+ entity: Entity;
6631
+ optsList: EventSystemOptionsCallback[];
6632
+ }): void;
6013
6633
  /**
6014
6634
  * @public
6015
6635
  * Execute callback when the user releases the InputButton pointing at the entity
@@ -6047,6 +6667,64 @@ export declare interface PointerEventsSystem {
6047
6667
  entity: Entity;
6048
6668
  opts?: Partial<EventSystemOptions>;
6049
6669
  }, cb: EventSystemCallback): void;
6670
+ /**
6671
+ * @public
6672
+ * Execute callbacks when the user drags the pointer from inside the entity
6673
+ * @param pointerData - Entity to attach the callbacks, list of options to trigger Feedback, Button, and Callback
6674
+ */
6675
+ onPointerDrag(pointerData: {
6676
+ entity: Entity;
6677
+ optsList: EventSystemOptionsCallback[];
6678
+ }): void;
6679
+ /**
6680
+ * @public
6681
+ * Execute callback when the user clicks and drags the pointer from inside the entity
6682
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
6683
+ * @param cb - Function to execute when click fires
6684
+ */
6685
+ onPointerDrag(pointerData: {
6686
+ entity: Entity;
6687
+ opts?: Partial<EventSystemOptions>;
6688
+ }, cb: EventSystemCallback): void;
6689
+ /**
6690
+ * @public
6691
+ * Execute callbacks when the user drags the pointer from inside the entity, locking the cursor in place.
6692
+ * @param pointerData - Entity to attach the callbacks, list of options to trigger Feedback, Button, and Callback
6693
+ */
6694
+ onPointerDragLocked(pointerData: {
6695
+ entity: Entity;
6696
+ optsList: EventSystemOptionsCallback[];
6697
+ }): void;
6698
+ /**
6699
+ * @public
6700
+ * Execute callback when the user clicks and drags the pointer from inside the entity,
6701
+ * locking the cursor in place
6702
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
6703
+ * @param cb - Function to execute when click fires
6704
+ */
6705
+ onPointerDragLocked(pointerData: {
6706
+ entity: Entity;
6707
+ opts?: Partial<EventSystemOptions>;
6708
+ }, cb: EventSystemCallback): void;
6709
+ /**
6710
+ * @public
6711
+ * Execute callbacks when the user releases a button after a drag
6712
+ * @param pointerData - Entity to attach the callbacks, list of options to trigger Feedback, Button, and Callback
6713
+ */
6714
+ onPointerDragEnd(pointerData: {
6715
+ entity: Entity;
6716
+ optsList: EventSystemOptionsCallback[];
6717
+ }): void;
6718
+ /**
6719
+ * @public
6720
+ * Execute callback when the user releases the button after a drag
6721
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
6722
+ * @param cb - Function to execute when click fires
6723
+ */
6724
+ onPointerDragEnd(pointerData: {
6725
+ entity: Entity;
6726
+ opts?: Partial<EventSystemOptions>;
6727
+ }, cb: EventSystemCallback): void;
6050
6728
  }
6051
6729
 
6052
6730
  /**
@@ -6063,7 +6741,10 @@ export declare const enum PointerEventType {
6063
6741
  PET_UP = 0,
6064
6742
  PET_DOWN = 1,
6065
6743
  PET_HOVER_ENTER = 2,
6066
- PET_HOVER_LEAVE = 3
6744
+ PET_HOVER_LEAVE = 3,
6745
+ PET_DRAG_LOCKED = 4,
6746
+ PET_DRAG = 5,
6747
+ PET_DRAG_END = 6
6067
6748
  }
6068
6749
 
6069
6750
  /**
@@ -6094,7 +6775,10 @@ export declare const enum PointerType {
6094
6775
  /** POT_NONE - No pointer input */
6095
6776
  POT_NONE = 0,
6096
6777
  /** POT_MOUSE - Traditional mouse input */
6097
- POT_MOUSE = 1
6778
+ POT_MOUSE = 1,
6779
+ POT_PAD = 2,
6780
+ POT_TOUCH = 3,
6781
+ POT_WAND = 4
6098
6782
  }
6099
6783
 
6100
6784
  /**
@@ -6691,6 +7375,7 @@ export declare type RaycastSystemOptions = {
6691
7375
  export declare interface ReactBasedUiSystem {
6692
7376
  destroy(): void;
6693
7377
  setUiRenderer(ui: UiComponent): void;
7378
+ setTextureRenderer(entity: Entity, ui: UiComponent): void;
6694
7379
  }
6695
7380
 
6696
7381
  /**
@@ -7153,8 +7838,42 @@ export declare namespace Schemas {
7153
7838
  }) => void;
7154
7839
  }
7155
7840
 
7156
- /** @public */
7157
- export declare const SkyboxTime: LastWriteWinElementSetComponentDefinition<PBSkyboxTime>;
7841
+ /**
7842
+ * @public
7843
+ */
7844
+ export declare interface ScrollPositionValue {
7845
+ value?: {
7846
+ $case: "position";
7847
+ position: PBVector2;
7848
+ } | {
7849
+ $case: "reference";
7850
+ reference: string;
7851
+ } | undefined;
7852
+ }
7853
+
7854
+ /**
7855
+ * @public
7856
+ */
7857
+ export declare namespace ScrollPositionValue {
7858
+ export function encode(message: ScrollPositionValue, writer?: _m0.Writer): _m0.Writer;
7859
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): ScrollPositionValue;
7860
+ }
7861
+
7862
+ /**
7863
+ * @public
7864
+ * The scroll-visible determines if the scrollbars are shown when the scroll overflow is enabled
7865
+ */
7866
+ export declare type ScrollVisibleType = 'horizontal' | 'vertical' | 'both' | 'hidden';
7867
+
7868
+ /**
7869
+ * @public
7870
+ */
7871
+ export declare const enum ShowScrollBar {
7872
+ SSB_BOTH = 0,
7873
+ SSB_ONLY_VERTICAL = 1,
7874
+ SSB_ONLY_HORIZONTAL = 2,
7875
+ SSB_HIDDEN = 3
7876
+ }
7158
7877
 
7159
7878
  /**
7160
7879
  * @public
@@ -7163,6 +7882,9 @@ export declare interface Spec {
7163
7882
  [key: string]: ISchema;
7164
7883
  }
7165
7884
 
7885
+ /** @public */
7886
+ export declare const Spotlight: LastWriteWinElementSetComponentDefinition<PBSpotlight>;
7887
+
7166
7888
  /**
7167
7889
  * @alpha
7168
7890
  * This is going to be used for sync components through a server.
@@ -7237,6 +7959,9 @@ export declare namespace Texture {
7237
7959
  export function decode(input: _m0.Reader | Uint8Array, length?: number): Texture;
7238
7960
  }
7239
7961
 
7962
+ /** @public */
7963
+ export declare const TextureCamera: LastWriteWinElementSetComponentDefinition<PBTextureCamera>;
7964
+
7240
7965
  /**
7241
7966
  * @public
7242
7967
  */
@@ -7329,6 +8054,9 @@ export declare interface TextureUnion {
7329
8054
  } | {
7330
8055
  $case: "videoTexture";
7331
8056
  videoTexture: VideoTexture;
8057
+ } | {
8058
+ $case: "uiTexture";
8059
+ uiTexture: UiCanvasTexture;
7332
8060
  } | undefined;
7333
8061
  }
7334
8062
 
@@ -7422,17 +8150,6 @@ export declare type TransformType = {
7422
8150
  */
7423
8151
  export declare type TransformTypeWithOptionals = Partial<TransformType>;
7424
8152
 
7425
- /** Controls the direction for animated skybox transitions */
7426
- /**
7427
- * @public
7428
- */
7429
- export declare const enum TransitionMode {
7430
- /** TM_FORWARD - transitions forward (default) */
7431
- TM_FORWARD = 0,
7432
- /** TM_BACKWARD - transitions backward */
7433
- TM_BACKWARD = 1
7434
- }
7435
-
7436
8153
  /**
7437
8154
  * @public
7438
8155
  */
@@ -7547,6 +8264,8 @@ export declare interface UiBackgroundProps {
7547
8264
  uvs?: number[];
7548
8265
  /** AvatarTexture for the background */
7549
8266
  avatarTexture?: UiAvatarTexture;
8267
+ /** VideoTexture for the background */
8268
+ videoTexture?: UiVideoTexture;
7550
8269
  /** Texture for the background */
7551
8270
  texture?: UiTexture;
7552
8271
  }
@@ -7566,9 +8285,31 @@ export declare interface UiButtonProps extends UiLabelProps, EntityPropTypes {
7566
8285
  disabled?: boolean;
7567
8286
  }
7568
8287
 
8288
+ /** @public */
8289
+ export declare const UiCanvas: LastWriteWinElementSetComponentDefinition<PBUiCanvas>;
8290
+
7569
8291
  /** @public */
7570
8292
  export declare const UiCanvasInformation: LastWriteWinElementSetComponentDefinition<PBUiCanvasInformation>;
7571
8293
 
8294
+ /**
8295
+ * @public
8296
+ */
8297
+ export declare interface UiCanvasTexture {
8298
+ uiCanvasEntity: number;
8299
+ /** default = TextureWrapMode.Clamp */
8300
+ wrapMode?: TextureWrapMode | undefined;
8301
+ /** default = FilterMode.Bilinear */
8302
+ filterMode?: TextureFilterMode | undefined;
8303
+ }
8304
+
8305
+ /**
8306
+ * @public
8307
+ */
8308
+ export declare namespace UiCanvasTexture {
8309
+ export function encode(message: UiCanvasTexture, writer?: _m0.Writer): _m0.Writer;
8310
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): UiCanvasTexture;
8311
+ }
8312
+
7572
8313
  /**
7573
8314
  * @public
7574
8315
  */
@@ -7638,6 +8379,10 @@ export declare interface UiLabelProps {
7638
8379
  textAlign?: TextAlignType | undefined;
7639
8380
  /** Label font type. @defaultValue 'sans-serif' */
7640
8381
  font?: UiFontType | undefined;
8382
+ /** Outline width of the text. @defaultValue 0 */
8383
+ outlineWidth?: number | undefined;
8384
+ /** Outline color of the text. @defaultValue `{ r: 0, g: 0, b: 0, a: 1 }` */
8385
+ outlineColor?: PBColor4 | undefined;
7641
8386
  /** Behaviour when text reached. @defaultValue 'wrap' */
7642
8387
  textWrap?: UiTextWrapType | undefined;
7643
8388
  }
@@ -7647,6 +8392,9 @@ export declare interface UiLabelProps {
7647
8392
  */
7648
8393
  export declare type uint32 = number;
7649
8394
 
8395
+ /** @public */
8396
+ export declare const UiScrollResult: LastWriteWinElementSetComponentDefinition<PBUiScrollResult>;
8397
+
7650
8398
  /** @public */
7651
8399
  export declare const UiText: LastWriteWinElementSetComponentDefinition<PBUiText>;
7652
8400
 
@@ -7724,10 +8472,26 @@ export declare interface UiTransformProps {
7724
8472
  borderWidth?: Partial<Position> | PositionUnit;
7725
8473
  /** The opacity property sets the opacity level for an element, it's accumulated across children @defaultValue 1 */
7726
8474
  opacity?: number;
8475
+ /** A reference value to identify the element, default empty */
8476
+ elementId?: string;
8477
+ /** default position=(0,0) if it aplies, a vector or a reference-id */
8478
+ scrollPosition?: PBVector2 | string;
8479
+ /** default ShowScrollBar.SSB_BOTH */
8480
+ scrollVisible?: ScrollVisibleType;
7727
8481
  /** default 0 */
7728
8482
  zIndex?: number;
7729
8483
  }
7730
8484
 
8485
+ /**
8486
+ * Texture
8487
+ * @public
8488
+ */
8489
+ export declare interface UiVideoTexture {
8490
+ videoPlayerEntity: Entity;
8491
+ wrapMode?: TextureWrapType;
8492
+ filterMode?: TextureFilterType;
8493
+ }
8494
+
7731
8495
  /**
7732
8496
  * @public
7733
8497
  */