@dcl/playground-assets 7.29.1-35861881691.commit-e4e55e9 → 7.29.1-35901015152.commit-d1b7b96

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.
@@ -279,6 +279,39 @@ export declare const enum AvatarAnchorPointType {
279
279
  AAPT_RIGHT_TOE_BASE = 25
280
280
  }
281
281
 
282
+ /**
283
+ * Mirror of the scene-driven movement animation currently playing, reported by the engine.
284
+ * Readable by any scene (not just the controller) so niche effects (e.g. dust cloud on landing) can react.
285
+ * Active emotes are not represented here — scenes already have their own way to read them.
286
+ */
287
+ /**
288
+ * @public
289
+ */
290
+ export declare interface AvatarAnimationState {
291
+ /** same scene-relative path the controlling scene supplied */
292
+ src: string;
293
+ /** mirrors the request */
294
+ loop: boolean;
295
+ /** mirrors the request */
296
+ speed: number;
297
+ /** mirrors the request */
298
+ idle: boolean;
299
+ /** seconds into the clip; wraps on loop; frozen while an emote override is playing */
300
+ playbackTime: number;
301
+ /** total clip length in seconds */
302
+ duration: number;
303
+ /** how many times the clip has completed since it started */
304
+ loopCount: number;
305
+ }
306
+
307
+ /**
308
+ * @public
309
+ */
310
+ export declare namespace AvatarAnimationState {
311
+ export function encode(message: AvatarAnimationState, writer?: _m0.Writer): _m0.Writer;
312
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): AvatarAnimationState;
313
+ }
314
+
282
315
  /** @public */
283
316
  export declare const AvatarAttach: LastWriteWinElementSetComponentDefinition<PBAvatarAttach>;
284
317
 
@@ -288,8 +321,21 @@ export declare const AvatarBase: LastWriteWinElementSetComponentDefinition<PBAva
288
321
  /** @public */
289
322
  export declare const AvatarEmoteCommand: GrowOnlyValueSetComponentDefinition<PBAvatarEmoteCommand>;
290
323
 
291
- /** @public */
292
- export declare const AvatarEquippedData: LastWriteWinElementSetComponentDefinition<PBAvatarEquippedData>;
324
+ export declare const AvatarEquippedData: AvatarEquippedDataComponentDefinitionExtended;
325
+
326
+ /**
327
+ * @public
328
+ */
329
+ export declare type AvatarEquippedDataComponentDefinitionExtended = LastWriteWinElementSetComponentDefinition<AvatarEquippedDataType>;
330
+
331
+ /**
332
+ * @public
333
+ * AvatarEquippedData with `forceRender` optional: the wire type is a repeated field (always present, so the
334
+ * generated type requires it), but a scene rarely needs it and shouldn't have to pass `[]`.
335
+ */
336
+ export declare type AvatarEquippedDataType = Omit<PBAvatarEquippedData, 'forceRender'> & {
337
+ forceRender?: string[] | undefined;
338
+ };
293
339
 
294
340
  /** @public */
295
341
  export declare const AvatarLocomotionSettings: LastWriteWinElementSetComponentDefinition<PBAvatarLocomotionSettings>;
@@ -319,10 +365,29 @@ export declare const enum AvatarModifierType {
319
365
  }
320
366
 
321
367
  /** @public */
322
- export declare const AvatarNametag: LastWriteWinElementSetComponentDefinition<PBAvatarNametag>;
368
+ export declare const AvatarMovement: LastWriteWinElementSetComponentDefinition<PBAvatarMovement>;
323
369
 
324
370
  /** @public */
325
- export declare const AvatarShape: LastWriteWinElementSetComponentDefinition<PBAvatarShape>;
371
+ export declare const AvatarMovementInfo: LastWriteWinElementSetComponentDefinition<PBAvatarMovementInfo>;
372
+
373
+ /** @public */
374
+ export declare const AvatarNametag: LastWriteWinElementSetComponentDefinition<PBAvatarNametag>;
375
+
376
+ export declare const AvatarShape: AvatarShapeComponentDefinitionExtended;
377
+
378
+ /**
379
+ * @public
380
+ */
381
+ export declare type AvatarShapeComponentDefinitionExtended = LastWriteWinElementSetComponentDefinition<AvatarShapeType>;
382
+
383
+ /**
384
+ * @public
385
+ * AvatarShape with `forceRender` optional: the wire type is a repeated field (always present, so the
386
+ * generated type requires it), but a scene rarely needs it and shouldn't have to pass `[]`.
387
+ */
388
+ export declare type AvatarShapeType = Omit<PBAvatarShape, 'forceRender'> & {
389
+ forceRender?: string[] | undefined;
390
+ };
326
391
 
327
392
  /**
328
393
  * @public
@@ -591,10 +656,17 @@ export declare interface ByteBuffer {
591
656
  }
592
657
 
593
658
  /**
594
- * Callback function to be triggered on a specified event
659
+ * Callback function to be triggered on a specified event. Receives the pointer event that
660
+ * fired it (button, hit, and for drags the pointer delta), which handlers may ignore.
595
661
  * @public
596
662
  */
597
- export declare type Callback = () => void;
663
+ export declare type Callback = (event: PBPointerEventsResult) => void;
664
+
665
+ /** @public */
666
+ export declare const CameraLayer: LastWriteWinElementSetComponentDefinition<PBCameraLayer>;
667
+
668
+ /** @public */
669
+ export declare const CameraLayers: LastWriteWinElementSetComponentDefinition<PBCameraLayers>;
598
670
 
599
671
  /** @public */
600
672
  export declare const CameraMode: LastWriteWinElementSetComponentDefinition<PBCameraMode>;
@@ -1447,16 +1519,23 @@ export declare const componentDefinitionByName: {
1447
1519
  "core::AvatarEquippedData": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarEquippedData>>;
1448
1520
  "core::AvatarLocomotionSettings": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarLocomotionSettings>>;
1449
1521
  "core::AvatarModifierArea": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarModifierArea>>;
1522
+ "core::AvatarMovement": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarMovement>>;
1523
+ "core::AvatarMovementInfo": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarMovementInfo>>;
1450
1524
  "core::AvatarNametag": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarNametag>>;
1451
1525
  "core::AvatarShape": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarShape>>;
1452
1526
  "core::Billboard": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBBillboard>>;
1527
+ "core::CameraLayer": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraLayer>>;
1528
+ "core::CameraLayers": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraLayers>>;
1453
1529
  "core::CameraMode": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraMode>>;
1454
1530
  "core::CameraModeArea": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraModeArea>>;
1455
1531
  "core::EngineInfo": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBEngineInfo>>;
1456
1532
  "core::ExplorerUiEventsResult": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBExplorerUiEventsResult>>;
1533
+ "core::GlobalLight": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGlobalLight>>;
1457
1534
  "core::GltfContainer": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainer>>;
1458
1535
  "core::GltfContainerLoadingState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>>;
1536
+ "core::GltfNode": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNode>>;
1459
1537
  "core::GltfNodeModifiers": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNodeModifiers>>;
1538
+ "core::GltfNodeState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNodeState>>;
1460
1539
  "core::InputModifier": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBInputModifier>>;
1461
1540
  "core::LightSource": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBLightSource>>;
1462
1541
  "core::MainCamera": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMainCamera>>;
@@ -1477,6 +1556,7 @@ export declare const componentDefinitionByName: {
1477
1556
  "core::RealmInfo": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBRealmInfo>>;
1478
1557
  "core::SkyboxTime": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBSkyboxTime>>;
1479
1558
  "core::TextShape": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTextShape>>;
1559
+ "core::TextureCamera": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTextureCamera>>;
1480
1560
  "core::TouchScreenControls": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTouchScreenControls>>;
1481
1561
  "core::TriggerArea": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTriggerArea>>;
1482
1562
  "core::TriggerAreaResult": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBTriggerAreaResult>>;
@@ -1484,12 +1564,14 @@ export declare const componentDefinitionByName: {
1484
1564
  "core::TweenSequence": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTweenSequence>>;
1485
1565
  "core::TweenState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTweenState>>;
1486
1566
  "core::UiBackground": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiBackground>>;
1567
+ "core::UiCanvas": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiCanvas>>;
1487
1568
  "core::UiCanvasInformation": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiCanvasInformation>>;
1488
1569
  "core::UiDropdown": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiDropdown>>;
1489
1570
  "core::UiDropdownResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiDropdownResult>>;
1490
1571
  "core::UiInput": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiInput>>;
1491
1572
  "core::UiInputBinding": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiInputBinding>>;
1492
1573
  "core::UiInputResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiInputResult>>;
1574
+ "core::UiScrollResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiScrollResult>>;
1493
1575
  "core::UiText": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiText>>;
1494
1576
  "core::UiTransform": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiTransform>>;
1495
1577
  "core::VideoEvent": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBVideoEvent>>;
@@ -2109,6 +2191,9 @@ export declare type EntityComponents = {
2109
2191
  onMouseUp: Callback;
2110
2192
  onMouseEnter: Callback;
2111
2193
  onMouseLeave: Callback;
2194
+ onMouseDrag: Callback;
2195
+ onMouseDragLocked: Callback;
2196
+ onMouseDragEnd: Callback;
2112
2197
  };
2113
2198
 
2114
2199
  /** @public */
@@ -2463,6 +2548,9 @@ export declare type GlobalDirectionRaycastSystemOptions = {
2463
2548
  direction?: PBVector3;
2464
2549
  };
2465
2550
 
2551
+ /** @public */
2552
+ export declare const GlobalLight: LastWriteWinElementSetComponentDefinition<PBGlobalLight>;
2553
+
2466
2554
  export declare type GlobalTargetRaycastOptions = RaycastSystemOptions & GlobalTargetRaycastSystemOptions;
2467
2555
 
2468
2556
  export declare type GlobalTargetRaycastSystemOptions = {
@@ -2475,9 +2563,24 @@ export declare const GltfContainer: LastWriteWinElementSetComponentDefinition<PB
2475
2563
  /** @public */
2476
2564
  export declare const GltfContainerLoadingState: LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>;
2477
2565
 
2566
+ /** @public */
2567
+ export declare const GltfNode: LastWriteWinElementSetComponentDefinition<PBGltfNode>;
2568
+
2478
2569
  /** @public */
2479
2570
  export declare const GltfNodeModifiers: LastWriteWinElementSetComponentDefinition<PBGltfNodeModifiers>;
2480
2571
 
2572
+ /** @public */
2573
+ export declare const GltfNodeState: LastWriteWinElementSetComponentDefinition<PBGltfNodeState>;
2574
+
2575
+ /**
2576
+ * @public
2577
+ */
2578
+ export declare const enum GltfNodeStateValue {
2579
+ GNSV_PENDING = 0,
2580
+ GNSV_FAILED = 1,
2581
+ GNSV_READY = 2
2582
+ }
2583
+
2481
2584
  /**
2482
2585
  * @public
2483
2586
  */
@@ -2764,10 +2867,6 @@ export declare interface IEvents {
2764
2867
  sender: string;
2765
2868
  message: string;
2766
2869
  };
2767
- /** Triggered when the player switches the client language. `locale` is a BCP-47 tag */
2768
- localeChanged: {
2769
- locale: string;
2770
- };
2771
2870
  /**
2772
2871
  * This is triggered once the scene should start.
2773
2872
  */
@@ -3190,6 +3289,12 @@ export declare type Listeners = {
3190
3289
  onMouseEnter?: Callback;
3191
3290
  /** triggered on mouse leave event */
3192
3291
  onMouseLeave?: Callback;
3292
+ /** triggered while the pointer is dragged after pressing on the element */
3293
+ onMouseDrag?: Callback;
3294
+ /** triggered while the pointer is dragged with the cursor locked in place */
3295
+ onMouseDragLocked?: Callback;
3296
+ /** triggered when a drag that started on the element ends */
3297
+ onMouseDragEnd?: Callback;
3193
3298
  };
3194
3299
 
3195
3300
  /**
@@ -4094,6 +4199,15 @@ export declare interface MeshColliderComponentDefinitionExtended extends LastWri
4094
4199
  * @param colliderMask - the set of layer where the collider reacts, default: Physics and Pointer
4095
4200
  */
4096
4201
  setSphere(entity: Entity, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
4202
+ /**
4203
+ * @public
4204
+ * Set a mesh from inside a gltf in the MeshCollider component
4205
+ * @param entity - entity to create or replace the MeshCollider component
4206
+ * @param source - the path to the gltf
4207
+ * @param meshName - the name of the mesh in the gltf (see GltfContainerLoadingState.meshNames)
4208
+ * @param colliderMask - the set of layer where the collider reacts, default: Physics and Pointer
4209
+ */
4210
+ setGltfMesh(entity: Entity, source: string, meshName: string, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
4097
4211
  }
4098
4212
 
4099
4213
  export declare const MeshRenderer: MeshRendererComponentDefinitionExtended;
@@ -4130,6 +4244,14 @@ export declare interface MeshRendererComponentDefinitionExtended extends LastWri
4130
4244
  * @param entity - entity to create or replace the MeshRenderer component
4131
4245
  */
4132
4246
  setSphere(entity: Entity): void;
4247
+ /**
4248
+ * @public
4249
+ * Set a mesh from inside a gltf in the MeshRenderer component
4250
+ * @param entity - entity to create or replace the MeshRenderer component
4251
+ * @param source - the path to the gltf
4252
+ * @param meshName - the name of the mesh in the gltf (see GltfContainerLoadingState.meshNames)
4253
+ */
4254
+ setGltfMesh(entity: Entity, source: string, meshName: string): void;
4133
4255
  }
4134
4256
 
4135
4257
  /**
@@ -4178,6 +4300,39 @@ export declare namespace MoveContinuous {
4178
4300
  export function decode(input: _m0.Reader | Uint8Array, length?: number): MoveContinuous;
4179
4301
  }
4180
4302
 
4303
+ /**
4304
+ * Describes the animation the movement scene wants the avatar to play.
4305
+ * One GLB = one clip (following the scene-emote convention: single clip, or a clip named with `_Avatar` suffix).
4306
+ * When absent the engine falls back to its built-in velocity-based selection (walk/run/jump/idle).
4307
+ */
4308
+ /**
4309
+ * @public
4310
+ */
4311
+ export declare interface MovementAnimation {
4312
+ /** scene-relative path to the gltf/glb asset (resolved via the scene content map) */
4313
+ src: string;
4314
+ /** whether the clip repeats once it reaches the end */
4315
+ loop: boolean;
4316
+ /** playback speed multiplier (1.0 = clip's native rate) */
4317
+ speed: number;
4318
+ /** true: a triggerSceneEmote may take over; false: emotes are suppressed while this animation plays */
4319
+ idle: boolean;
4320
+ /** cross-fade duration when `src` changes; defaults to 0.2 when unset. Not applied to loop/speed/idle changes. */
4321
+ transitionSeconds?: number | undefined;
4322
+ /** if set, the engine seeks to this position (in seconds) this frame. Clear on subsequent frames to allow normal playback. The scene can read `AvatarAnimationState.playback_time` first to decide. */
4323
+ playbackTime?: number | undefined;
4324
+ /** scene-relative paths to audio clips (.mp3/.ogg) to play this frame on the avatar audio bus. Fire-and-forget: each listed clip plays once per frame it appears; leaving a clip set for multiple frames re-triggers it. No stop mechanism. Use `AvatarAnimationState.playback_time` to trigger sounds at the right point in the clip (e.g. foot plants). */
4325
+ sounds: string[];
4326
+ }
4327
+
4328
+ /**
4329
+ * @public
4330
+ */
4331
+ export declare namespace MovementAnimation {
4332
+ export function encode(message: MovementAnimation, writer?: _m0.Writer): _m0.Writer;
4333
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): MovementAnimation;
4334
+ }
4335
+
4181
4336
  /**
4182
4337
  * @public
4183
4338
  */
@@ -4601,6 +4756,25 @@ export declare const onVideoEvent: Observable<{
4601
4756
  totalVideoLength: number;
4602
4757
  }>;
4603
4758
 
4759
+ /**
4760
+ * @public
4761
+ */
4762
+ export declare interface Orthographic {
4763
+ /**
4764
+ * vertical extent of the visible range in meters
4765
+ * defaults to 4m
4766
+ */
4767
+ verticalRange?: number | undefined;
4768
+ }
4769
+
4770
+ /**
4771
+ * @public
4772
+ */
4773
+ export declare namespace Orthographic {
4774
+ export function encode(message: Orthographic, writer?: _m0.Writer): _m0.Writer;
4775
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): Orthographic;
4776
+ }
4777
+
4604
4778
  /**
4605
4779
  * @public
4606
4780
  * The overflow property controls what happens to content that is too big to fit into an area
@@ -4898,6 +5072,8 @@ export declare interface PBAvatarBase {
4898
5072
  hairColor: PBColor3 | undefined;
4899
5073
  bodyShapeUrn: string;
4900
5074
  name: string;
5075
+ /** true while the player is speaking in voice chat; unset when the engine does not report voice activity */
5076
+ talking?: boolean | undefined;
4901
5077
  }
4902
5078
 
4903
5079
  /**
@@ -4948,6 +5124,8 @@ export declare namespace PBAvatarEmoteCommand {
4948
5124
  export declare interface PBAvatarEquippedData {
4949
5125
  wearableUrns: string[];
4950
5126
  emoteUrns: string[];
5127
+ /** slots that will render even if hidden */
5128
+ forceRender: string[];
4951
5129
  }
4952
5130
 
4953
5131
  /**
@@ -5018,6 +5196,8 @@ export declare interface PBAvatarModifierArea {
5018
5196
  excludeIds: string[];
5019
5197
  /** list of modifiers to apply */
5020
5198
  modifiers: AvatarModifierType[];
5199
+ /** if true, the player will be considered inside the area when they are within 0.3m of the area. default true */
5200
+ useColliderRange?: boolean | undefined;
5021
5201
  }
5022
5202
 
5023
5203
  /**
@@ -5028,6 +5208,64 @@ export declare namespace PBAvatarModifierArea {
5028
5208
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarModifierArea;
5029
5209
  }
5030
5210
 
5211
+ /**
5212
+ * @public
5213
+ */
5214
+ export declare interface PBAvatarMovement {
5215
+ velocity: PBVector3 | undefined;
5216
+ /** 0-360, yaw only; this is the authoritative facing (other clients read it, and physics treats the avatar as upright). Lean is expressed separately via tilt_pitch/tilt_roll. */
5217
+ orientation: number;
5218
+ groundDirection?: PBVector3 | undefined;
5219
+ /** set for one frame when a walk_target ends: true = reached target, false = failed; absent = in progress or no walk */
5220
+ walkSuccess?: boolean | undefined;
5221
+ /** if set, the engine plays this animation instead of selecting one from velocity heuristics */
5222
+ animation?: MovementAnimation | undefined;
5223
+ /** render-only forward/back lean in degrees, applied on top of `orientation` (rotation about the avatar's local X axis). Does not affect the physics capsule (stays upright) or the facing other clients read. Defaults to 0. */
5224
+ tiltPitch?: number | undefined;
5225
+ /** render-only sideways lean in degrees, applied on top of `orientation` (rotation about the avatar's local Z axis). Same constraints as tilt_pitch. Useful e.g. for glider banking. Defaults to 0. */
5226
+ tiltRoll?: number | undefined;
5227
+ }
5228
+
5229
+ /**
5230
+ * @public
5231
+ */
5232
+ export declare namespace PBAvatarMovement {
5233
+ export function encode(message: PBAvatarMovement, writer?: _m0.Writer): _m0.Writer;
5234
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarMovement;
5235
+ }
5236
+
5237
+ /**
5238
+ * @public
5239
+ */
5240
+ export declare interface PBAvatarMovementInfo {
5241
+ /** the length of time the current step velocity will apply for */
5242
+ stepTime: number;
5243
+ /** the length of time the previous step velocity applied for */
5244
+ previousStepTime: number;
5245
+ /** the velocity requested for the previous frame */
5246
+ requestedVelocity: PBVector3 | undefined;
5247
+ /** the resulting velocity taking collisions into account */
5248
+ actualVelocity: PBVector3 | undefined;
5249
+ /** the velocity imparted by movement of the "ground" platform or pushing from other moving colliders */
5250
+ externalVelocity: PBVector3 | undefined;
5251
+ activeAvatarLocomotionSettings: PBAvatarLocomotionSettings | undefined;
5252
+ activeInputModifier: PBInputModifier | undefined;
5253
+ /** if set, the movement scene should walk the player to this scene-relative position */
5254
+ walkTarget?: PBVector3 | undefined;
5255
+ /** stop distance for walk_target; considered reached when within this distance */
5256
+ walkThreshold?: number | undefined;
5257
+ /** current state of a scene-driven movement animation. Absent when the engine is using its velocity-based fallback. `playback_time` freezes while a triggerSceneEmote is overriding the animation. */
5258
+ activeAnimationState?: AvatarAnimationState | undefined;
5259
+ }
5260
+
5261
+ /**
5262
+ * @public
5263
+ */
5264
+ export declare namespace PBAvatarMovementInfo {
5265
+ export function encode(message: PBAvatarMovementInfo, writer?: _m0.Writer): _m0.Writer;
5266
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarMovementInfo;
5267
+ }
5268
+
5031
5269
  /**
5032
5270
  * The AvatarNametag component adds a plate with scene-provided text above an avatar's nametag,
5033
5271
  * for example to show a rank or a role that the scene assigns to that player.
@@ -5118,6 +5356,8 @@ export declare interface PBAvatarShape {
5118
5356
  emotes: string[];
5119
5357
  /** hides the skin + hair + facial features (default: false) */
5120
5358
  showOnlyWearables?: boolean | undefined;
5359
+ /** slots that will render even if hidden */
5360
+ forceRender: string[];
5121
5361
  }
5122
5362
 
5123
5363
  /**
@@ -5159,6 +5399,51 @@ export declare namespace PBBillboard {
5159
5399
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBBillboard;
5160
5400
  }
5161
5401
 
5402
+ /**
5403
+ * @public
5404
+ */
5405
+ export declare interface PBCameraLayer {
5406
+ /**
5407
+ * layer to which these settings apply. must be > 0
5408
+ * Layer 0 is the default "real world" layer viewed by the player and cannot be modified.
5409
+ */
5410
+ layer: number;
5411
+ /** should the sun light affect this layer? default false */
5412
+ directionalLight?: boolean | undefined;
5413
+ /** should this layer show player avatars? default false */
5414
+ showAvatars?: boolean | undefined;
5415
+ /** should this layer show the sky? default false */
5416
+ showSkybox?: boolean | undefined;
5417
+ /** should this layer show distance fog? default false */
5418
+ showFog?: boolean | undefined;
5419
+ /** ambient light overrides for this layer. default -> use same as main camera */
5420
+ ambientColorOverride?: PBColor3 | undefined;
5421
+ ambientBrightnessOverride?: number | undefined;
5422
+ }
5423
+
5424
+ /**
5425
+ * @public
5426
+ */
5427
+ export declare namespace PBCameraLayer {
5428
+ export function encode(message: PBCameraLayer, writer?: _m0.Writer): _m0.Writer;
5429
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBCameraLayer;
5430
+ }
5431
+
5432
+ /**
5433
+ * @public
5434
+ */
5435
+ export declare interface PBCameraLayers {
5436
+ layers: number[];
5437
+ }
5438
+
5439
+ /**
5440
+ * @public
5441
+ */
5442
+ export declare namespace PBCameraLayers {
5443
+ export function encode(message: PBCameraLayers, writer?: _m0.Writer): _m0.Writer;
5444
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBCameraLayers;
5445
+ }
5446
+
5162
5447
  /**
5163
5448
  * The CameraMode component can be used to determine whether the player is using a first-person o
5164
5449
  * third-person view.
@@ -5200,6 +5485,8 @@ export declare interface PBCameraModeArea {
5200
5485
  area: PBVector3 | undefined;
5201
5486
  /** the camera mode to enforce */
5202
5487
  mode: CameraType;
5488
+ /** if true, the player will be considered inside the area when they are within 0.3m of the area. default true */
5489
+ useColliderRange?: boolean | undefined;
5203
5490
  }
5204
5491
 
5205
5492
  /**
@@ -5333,6 +5620,39 @@ export declare namespace PBExplorerUiEventsResult_UiOpened {
5333
5620
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBExplorerUiEventsResult_UiOpened;
5334
5621
  }
5335
5622
 
5623
+ /**
5624
+ * defines the global scene light settings. must be added to the scene root.
5625
+ * to control sunlight color, intensity, shadows etc, you can also add a PBLight to the scene root.
5626
+ */
5627
+ /**
5628
+ * @public
5629
+ */
5630
+ export declare interface PBGlobalLight {
5631
+ /**
5632
+ * the direction the directional light shines in.
5633
+ * default depends on time of day and explorer implementation
5634
+ */
5635
+ direction?: PBVector3 | undefined;
5636
+ /**
5637
+ * ambient light color
5638
+ * default: White
5639
+ */
5640
+ ambientColor?: PBColor3 | undefined;
5641
+ /**
5642
+ * ambient light intensity. the explorer default ambient brightness is multiplied by this non-physical quantity.
5643
+ * default 1
5644
+ */
5645
+ ambientBrightness?: number | undefined;
5646
+ }
5647
+
5648
+ /**
5649
+ * @public
5650
+ */
5651
+ export declare namespace PBGlobalLight {
5652
+ export function encode(message: PBGlobalLight, writer?: _m0.Writer): _m0.Writer;
5653
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGlobalLight;
5654
+ }
5655
+
5336
5656
  /**
5337
5657
  * GltfContainer loads a GLTF file (and any additional files packaged inside) attached to an Entity.
5338
5658
  *
@@ -5368,6 +5688,25 @@ export declare namespace PBGltfContainer {
5368
5688
  */
5369
5689
  export declare interface PBGltfContainerLoadingState {
5370
5690
  currentState: LoadingState;
5691
+ /** all node paths in the gltf, which can be used with a GltfNode to inspect and modify the gltf contents */
5692
+ nodePaths: string[];
5693
+ /** all meshes in the gltf. unnamed meshes will be auto-assigned a name of the form `MeshX` or `MeshX/PrimitiveY` */
5694
+ meshNames: string[];
5695
+ /**
5696
+ * where X is the mesh index and Y is the primitive index (and there is more than 1 primitive). note this may
5697
+ * conflict with manually named meshes - to avoid any issues make sure all your meshes are explicitly named.
5698
+ */
5699
+ materialNames: string[];
5700
+ /**
5701
+ * X is the material index. note this may conflict with manually named materials - to avoid any issues make
5702
+ * sure all your materials are explicitly named.
5703
+ */
5704
+ skinNames: string[];
5705
+ /**
5706
+ * X is the skin index. note this may conflict with manually named skins - to avoid any issues make sure all
5707
+ * your skins are explicitly named.
5708
+ */
5709
+ animationNames: string[];
5371
5710
  }
5372
5711
 
5373
5712
  /**
@@ -5378,6 +5717,57 @@ export declare namespace PBGltfContainerLoadingState {
5378
5717
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfContainerLoadingState;
5379
5718
  }
5380
5719
 
5720
+ /**
5721
+ * a GltfNode links a scene entity with a node from within a gltf, allowing the scene to inspect it or modify it.
5722
+ * This component must be added to a direct child of an entity with a PBGltfContainer component, or
5723
+ * to a direct child of another entity with a GltfNode component, and the referenced gltf node must be a descendent of the gltf node
5724
+ * in the parent.
5725
+ * The name must match the path of one of the nodes within the Gltf. These are available on the GltfContainerLoadingState component.
5726
+ *
5727
+ * The renderer will attach a PBGltfNodeState to the entity describing the state. Once the state is `GNS_READY`,
5728
+ * - the `Transform` will be updated to match the position of the node within the gltf (relative to the gltf root, or the parent node),
5729
+ * - a `MeshRenderer` with a GltfMesh mesh type will be added (if the gltf node has a mesh).
5730
+ * - a `MeshCollider` with a GltfMesh mesh type will be added (if the gltf node has a collider).
5731
+ * - a `Material` component including a GltfMaterial reference will be added (if the gltf node has a material).
5732
+ *
5733
+ * After creation, if an animation moves the node, the `Transform` will be updated.
5734
+ *
5735
+ * From the scene, you can modify various components to alter the gltf node:
5736
+ * - modifying the `Transform` position/rotation/scale will move the node. The position is interpreted relative to the gltf root (or parent node),
5737
+ * regardless of any intermediate gltf node hierarchy.
5738
+ * If an animation is playing, the animation takes priority and the scene entity's position will be updated to match the animation.
5739
+ * - `Visibility` can be added to hide or show the node and it's children in the gltf hierarchy.
5740
+ * - `MeshRenderer` can be added/modified/removed to create/modify/remove a mesh on the node.
5741
+ * - `MeshCollider` can be added/modified/removed to create/modify/remove a collider on the node.
5742
+ * - `Material` can be added or modified to change the material properties. If the gltf node has a material, the original material will be
5743
+ * 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
5744
+ * PBMaterial will be maintained.
5745
+ *
5746
+ * The scene can add additional entities as children to the gltf node, but structural modifications of the gltf are not possible:
5747
+ * - changing the scene hierarchy will not change the gltf node hierarchy. Moving the entity out of the gltf will sever the link and
5748
+ * change the state to `GNS_FAILED`.
5749
+ * - deleting the scene entity will not delete the gltf node.
5750
+ *
5751
+ * Removing the GltfNode will revert any changes to the original gltf. If the GltfNode component is removed and the mesh/collider/material
5752
+ * are not removed, this will result in a duplication of these components as the previously-linked entity will retain it's components and
5753
+ * the gltf node will also be displayed.
5754
+ */
5755
+ /**
5756
+ * @public
5757
+ */
5758
+ export declare interface PBGltfNode {
5759
+ /** the path of the target node in the Gltf. */
5760
+ path: string;
5761
+ }
5762
+
5763
+ /**
5764
+ * @public
5765
+ */
5766
+ export declare namespace PBGltfNode {
5767
+ export function encode(message: PBGltfNode, writer?: _m0.Writer): _m0.Writer;
5768
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNode;
5769
+ }
5770
+
5381
5771
  /**
5382
5772
  * GltfNodeModifiers component is to be used attached to entities that have the GltfContainer component.
5383
5773
  *
@@ -5423,6 +5813,26 @@ export declare namespace PBGltfNodeModifiers_GltfNodeModifier {
5423
5813
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNodeModifiers_GltfNodeModifier;
5424
5814
  }
5425
5815
 
5816
+ /**
5817
+ * The state of a linked gltf node.
5818
+ * If the state is GNSV_FAILED, the renderer may describe the failure in the error string.
5819
+ */
5820
+ /**
5821
+ * @public
5822
+ */
5823
+ export declare interface PBGltfNodeState {
5824
+ state: GltfNodeStateValue;
5825
+ error?: string | undefined;
5826
+ }
5827
+
5828
+ /**
5829
+ * @public
5830
+ */
5831
+ export declare namespace PBGltfNodeState {
5832
+ export function encode(message: PBGltfNodeState, writer?: _m0.Writer): _m0.Writer;
5833
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNodeState;
5834
+ }
5835
+
5426
5836
  /**
5427
5837
  * @public
5428
5838
  */
@@ -5560,6 +5970,14 @@ export declare interface PBMaterial {
5560
5970
  $case: "pbr";
5561
5971
  pbr: PBMaterial_PbrMaterial;
5562
5972
  } | undefined;
5973
+ /**
5974
+ * A gltf material that may provide additional features not supported by the PbMaterial fields.
5975
+ * If both gltf and material fields are provided, the gltf will be used only for extended features not
5976
+ * supported by the PbMaterial.
5977
+ * If this is provided and the `material` field is not provided, the renderer will update the material
5978
+ * field with data that reflects the gltf material once it is loaded.
5979
+ */
5980
+ gltf?: PBMaterial_GltfMaterial | undefined;
5563
5981
  }
5564
5982
 
5565
5983
  /**
@@ -5570,6 +5988,22 @@ export declare namespace PBMaterial {
5570
5988
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMaterial;
5571
5989
  }
5572
5990
 
5991
+ /**
5992
+ * @public
5993
+ */
5994
+ export declare interface PBMaterial_GltfMaterial {
5995
+ gltfSrc: string;
5996
+ name: string;
5997
+ }
5998
+
5999
+ /**
6000
+ * @public
6001
+ */
6002
+ export declare namespace PBMaterial_GltfMaterial {
6003
+ export function encode(message: PBMaterial_GltfMaterial, writer?: _m0.Writer): _m0.Writer;
6004
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMaterial_GltfMaterial;
6005
+ }
6006
+
5573
6007
  /**
5574
6008
  * @public
5575
6009
  */
@@ -5666,6 +6100,9 @@ export declare interface PBMeshCollider {
5666
6100
  } | {
5667
6101
  $case: "plane";
5668
6102
  plane: PBMeshCollider_PlaneMesh;
6103
+ } | {
6104
+ $case: "gltf";
6105
+ gltf: PBMeshCollider_GltfMesh;
5669
6106
  } | undefined;
5670
6107
  }
5671
6108
 
@@ -5711,6 +6148,25 @@ export declare namespace PBMeshCollider_CylinderMesh {
5711
6148
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshCollider_CylinderMesh;
5712
6149
  }
5713
6150
 
6151
+ /** A collider constructed from a Gltf Mesh. */
6152
+ /**
6153
+ * @public
6154
+ */
6155
+ export declare interface PBMeshCollider_GltfMesh {
6156
+ /** the GLTF file path as listed in the scene's manifest. */
6157
+ gltfSrc: string;
6158
+ /** the name of the mesh asset */
6159
+ name: string;
6160
+ }
6161
+
6162
+ /**
6163
+ * @public
6164
+ */
6165
+ export declare namespace PBMeshCollider_GltfMesh {
6166
+ export function encode(message: PBMeshCollider_GltfMesh, writer?: _m0.Writer): _m0.Writer;
6167
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshCollider_GltfMesh;
6168
+ }
6169
+
5714
6170
  /** PlaneMesh is a 2D rectangle described by the Entity's Transform. */
5715
6171
  /**
5716
6172
  * @public
@@ -5743,13 +6199,11 @@ export declare namespace PBMeshCollider_SphereMesh {
5743
6199
 
5744
6200
  /**
5745
6201
  * The MeshRenderer component renders a basic geometric shape for an Entity. It can be a cube, a
5746
- * plane, a sphere or a cylinder.
6202
+ * plane, a sphere, a cylinder, or a Gltf mesh.
5747
6203
  *
5748
6204
  * The cube and plane variants can include a UV texture mapping, so specific areas of a material
5749
6205
  * texture are rendered on different faces of the shape. They are serialized as a sequence of 2D
5750
6206
  * `float` coordinates, one for each corner of each side of each face.
5751
- *
5752
- * More complex shapes require the use of a `GltfContainer` component.
5753
6207
  */
5754
6208
  /**
5755
6209
  * @public
@@ -5767,6 +6221,9 @@ export declare interface PBMeshRenderer {
5767
6221
  } | {
5768
6222
  $case: "plane";
5769
6223
  plane: PBMeshRenderer_PlaneMesh;
6224
+ } | {
6225
+ $case: "gltf";
6226
+ gltf: PBMeshRenderer_GltfMesh;
5770
6227
  } | undefined;
5771
6228
  }
5772
6229
 
@@ -5814,6 +6271,25 @@ export declare namespace PBMeshRenderer_CylinderMesh {
5814
6271
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshRenderer_CylinderMesh;
5815
6272
  }
5816
6273
 
6274
+ /** A mesh from a Gltf. */
6275
+ /**
6276
+ * @public
6277
+ */
6278
+ export declare interface PBMeshRenderer_GltfMesh {
6279
+ /** the GLTF file path as listed in the scene's manifest. */
6280
+ gltfSrc: string;
6281
+ /** the name of the mesh asset */
6282
+ name: string;
6283
+ }
6284
+
6285
+ /**
6286
+ * @public
6287
+ */
6288
+ export declare namespace PBMeshRenderer_GltfMesh {
6289
+ export function encode(message: PBMeshRenderer_GltfMesh, writer?: _m0.Writer): _m0.Writer;
6290
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshRenderer_GltfMesh;
6291
+ }
6292
+
5817
6293
  /** PlaneMesh renders a 2D rectangular shape. */
5818
6294
  /**
5819
6295
  * @public
@@ -6410,7 +6886,10 @@ export declare interface PBPrimaryPointerInfo {
6410
6886
  screenCoordinates?: PBVector2 | undefined;
6411
6887
  /** Movement since last frame (pixels) */
6412
6888
  screenDelta?: PBVector2 | undefined;
6413
- /** Direction vector for 3D ray casting */
6889
+ /**
6890
+ * ray direction that can be used with the primary camera origin for
6891
+ * raycasting from the cursor into the world
6892
+ */
6414
6893
  worldRayDirection?: PBVector3 | undefined;
6415
6894
  }
6416
6895
 
@@ -6481,6 +6960,10 @@ export declare interface PBRaycast {
6481
6960
  continuous?: boolean | undefined;
6482
6961
  /** Collision mask, by default CL_POINTER | CL_PHYSICS */
6483
6962
  collisionMask?: number | undefined;
6963
+ /** shape to cast, default ray */
6964
+ shape?: RaycastShape | undefined;
6965
+ /** include hits with entities from other scenes */
6966
+ includeWorld?: boolean | undefined;
6484
6967
  }
6485
6968
 
6486
6969
  /**
@@ -6626,6 +7109,8 @@ export declare interface PBTextShape {
6626
7109
  outlineColor?: PBColor3 | undefined;
6627
7110
  /** text color (default [1.0, 1.0, 1.0]) */
6628
7111
  textColor?: PBColor4 | undefined;
7112
+ /** a font file in the scene, or a Google Fonts family name; `font` is the fallback (default: unset) */
7113
+ fontSrc?: string | undefined;
6629
7114
  }
6630
7115
 
6631
7116
  /**
@@ -6636,6 +7121,46 @@ export declare namespace PBTextShape {
6636
7121
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBTextShape;
6637
7122
  }
6638
7123
 
7124
+ /**
7125
+ * @public
7126
+ */
7127
+ export declare interface PBTextureCamera {
7128
+ /** rendered texture width */
7129
+ width?: number | undefined;
7130
+ /** rendered texture height */
7131
+ height?: number | undefined;
7132
+ /**
7133
+ * which layer of entities to render. entity layers can be specified by adding PBCameraLayers to target entities.
7134
+ * defaults to 0
7135
+ */
7136
+ layer?: number | undefined;
7137
+ /** default black */
7138
+ clearColor?: PBColor4 | undefined;
7139
+ /** default infinity */
7140
+ farPlane?: number | undefined;
7141
+ mode?: {
7142
+ $case: "perspective";
7143
+ perspective: Perspective;
7144
+ } | {
7145
+ $case: "orthographic";
7146
+ orthographic: Orthographic;
7147
+ } | undefined;
7148
+ /**
7149
+ * controls whether this camera acts as a receiver for audio on sources with matching `PBCameraLayers`.
7150
+ * range: 0 (off) - 1 (full volume)
7151
+ * default: 0
7152
+ */
7153
+ volume?: number | undefined;
7154
+ }
7155
+
7156
+ /**
7157
+ * @public
7158
+ */
7159
+ export declare namespace PBTextureCamera {
7160
+ export function encode(message: PBTextureCamera, writer?: _m0.Writer): _m0.Writer;
7161
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBTextureCamera;
7162
+ }
7163
+
6639
7164
  /**
6640
7165
  * The TouchScreenControls component lets a scene configure the native on-screen touch
6641
7166
  * controls (the mobile joystick + gamepad). It must be set on the RootEntity.
@@ -6881,6 +7406,25 @@ export declare namespace PBUiBackground {
6881
7406
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiBackground;
6882
7407
  }
6883
7408
 
7409
+ /** The UiCanvas component can be attached to a ui root entity to specify properties of the ui texture. */
7410
+ /**
7411
+ * @public
7412
+ */
7413
+ export declare interface PBUiCanvas {
7414
+ width: number;
7415
+ height: number;
7416
+ /** default = (0.0, 0.0, 0.0, 0.0) / transparent */
7417
+ color?: PBColor4 | undefined;
7418
+ }
7419
+
7420
+ /**
7421
+ * @public
7422
+ */
7423
+ export declare namespace PBUiCanvas {
7424
+ export function encode(message: PBUiCanvas, writer?: _m0.Writer): _m0.Writer;
7425
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiCanvas;
7426
+ }
7427
+
6884
7428
  /** This component is created by the renderer and used by the scenes to know the resolution of the UI canvas */
6885
7429
  /**
6886
7430
  * @public
@@ -6936,6 +7480,8 @@ export declare interface PBUiDropdown {
6936
7480
  font?: Font | undefined;
6937
7481
  /** default=10 */
6938
7482
  fontSize?: number | undefined;
7483
+ /** a font file in the scene, or a Google Fonts family name; `font` is the fallback (default: unset) */
7484
+ fontSrc?: string | undefined;
6939
7485
  }
6940
7486
 
6941
7487
  /**
@@ -6978,6 +7524,12 @@ export declare interface PBUiInput {
6978
7524
  /** default=10 */
6979
7525
  fontSize?: number | undefined;
6980
7526
  value?: string | undefined;
7527
+ /** default=false; when true, the input accepts newlines and behaves as a textarea */
7528
+ multiLine?: boolean | undefined;
7529
+ /** default=true; when false, the input value is preserved after pressing Enter */
7530
+ clearOnSubmit?: boolean | undefined;
7531
+ /** a font file in the scene, or a Google Fonts family name; `font` is the fallback (default: unset) */
7532
+ fontSrc?: string | undefined;
6981
7533
  }
6982
7534
 
6983
7535
  /**
@@ -7041,6 +7593,21 @@ export declare namespace PBUiInputResult {
7041
7593
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiInputResult;
7042
7594
  }
7043
7595
 
7596
+ /**
7597
+ * @public
7598
+ */
7599
+ export declare interface PBUiScrollResult {
7600
+ value: PBVector2 | undefined;
7601
+ }
7602
+
7603
+ /**
7604
+ * @public
7605
+ */
7606
+ export declare namespace PBUiScrollResult {
7607
+ export function encode(message: PBUiScrollResult, writer?: _m0.Writer): _m0.Writer;
7608
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiScrollResult;
7609
+ }
7610
+
7044
7611
  /**
7045
7612
  * @public
7046
7613
  */
@@ -7057,6 +7624,8 @@ export declare interface PBUiText {
7057
7624
  fontSize?: number | undefined;
7058
7625
  /** wrap text when the border is reached (default: TW_WRAP) */
7059
7626
  textWrap?: TextWrap | undefined;
7627
+ /** a font file in the scene, or a Google Fonts family name; `font` is the fallback (default: unset) */
7628
+ fontSrc?: string | undefined;
7060
7629
  }
7061
7630
 
7062
7631
  /**
@@ -7184,6 +7753,12 @@ export declare interface PBUiTransform {
7184
7753
  borderRightColor?: PBColor4 | undefined;
7185
7754
  /** default: 1 */
7186
7755
  opacity?: number | undefined;
7756
+ /** reference for scroll_position. default empty */
7757
+ elementId?: string | undefined;
7758
+ /** default position=(0,0) */
7759
+ scrollPosition?: ScrollPositionValue | undefined;
7760
+ /** default ShowScrollBar.SSB_BOTH */
7761
+ scrollVisible?: ShowScrollBar | undefined;
7187
7762
  /** default: 0 — controls render stacking order. Higher values appear in front of lower values. */
7188
7763
  zIndex?: number | undefined;
7189
7764
  }
@@ -7336,6 +7911,25 @@ export declare namespace PBVisibilityComponent {
7336
7911
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBVisibilityComponent;
7337
7912
  }
7338
7913
 
7914
+ /**
7915
+ * @public
7916
+ */
7917
+ export declare interface Perspective {
7918
+ /**
7919
+ * vertical field of view in radians
7920
+ * defaults to pi/4 = 45 degrees
7921
+ */
7922
+ fieldOfView?: number | undefined;
7923
+ }
7924
+
7925
+ /**
7926
+ * @public
7927
+ */
7928
+ export declare namespace Perspective {
7929
+ export function encode(message: Perspective, writer?: _m0.Writer): _m0.Writer;
7930
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): Perspective;
7931
+ }
7932
+
7339
7933
  /**
7340
7934
  * @public
7341
7935
  * Physics helpers for applying impulses and forces to the player.
@@ -7577,6 +8171,24 @@ export declare interface PointerEventsSystem {
7577
8171
  * @param entity - Entity where the callback was attached
7578
8172
  */
7579
8173
  removeOnPointerHoverLeave(entity: Entity): void;
8174
+ /**
8175
+ * @public
8176
+ * Remove the callback for onPointerDrag event
8177
+ * @param entity - Entity where the callback was attached
8178
+ */
8179
+ removeOnPointerDrag(entity: Entity): void;
8180
+ /**
8181
+ * @public
8182
+ * Remove the callback for onPointerDragLocked event
8183
+ * @param entity - Entity where the callback was attached
8184
+ */
8185
+ removeOnPointerDragLocked(entity: Entity): void;
8186
+ /**
8187
+ * @public
8188
+ * Remove the callback for onPointerDragEnd event
8189
+ * @param entity - Entity where the callback was attached
8190
+ */
8191
+ removeOnPointerDragEnd(entity: Entity): void;
7580
8192
  /**
7581
8193
  * @public
7582
8194
  * Remove the callback for onProximityDown event
@@ -7655,6 +8267,36 @@ export declare interface PointerEventsSystem {
7655
8267
  entity: Entity;
7656
8268
  opts?: Partial<EventSystemOptions>;
7657
8269
  }, cb: EventSystemCallback): void;
8270
+ /**
8271
+ * @public
8272
+ * Execute callback while the user holds the button pressed and moves the pointer, having pressed it on the entity
8273
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
8274
+ * @param cb - Function to execute on every drag update
8275
+ */
8276
+ onPointerDrag(pointerData: {
8277
+ entity: Entity;
8278
+ opts?: Partial<EventSystemOptions>;
8279
+ }, cb: EventSystemCallback): void;
8280
+ /**
8281
+ * @public
8282
+ * Same as onPointerDrag, but the cursor is locked in place for the duration of the drag
8283
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
8284
+ * @param cb - Function to execute on every drag update
8285
+ */
8286
+ onPointerDragLocked(pointerData: {
8287
+ entity: Entity;
8288
+ opts?: Partial<EventSystemOptions>;
8289
+ }, cb: EventSystemCallback): void;
8290
+ /**
8291
+ * @public
8292
+ * Execute callback when the user releases the button after a drag that started on the entity
8293
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
8294
+ * @param cb - Function to execute when the drag ends
8295
+ */
8296
+ onPointerDragEnd(pointerData: {
8297
+ entity: Entity;
8298
+ opts?: Partial<EventSystemOptions>;
8299
+ }, cb: EventSystemCallback): void;
7658
8300
  /**
7659
8301
  * @public
7660
8302
  * Execute callback when the user presses the proximity button on the entity
@@ -7713,7 +8355,10 @@ export declare const enum PointerEventType {
7713
8355
  PET_HOVER_ENTER = 2,
7714
8356
  PET_HOVER_LEAVE = 3,
7715
8357
  PET_PROXIMITY_ENTER = 4,
7716
- PET_PROXIMITY_LEAVE = 5
8358
+ PET_PROXIMITY_LEAVE = 5,
8359
+ PET_DRAG_LOCKED = 6,
8360
+ PET_DRAG = 7,
8361
+ PET_DRAG_END = 8
7717
8362
  }
7718
8363
 
7719
8364
  /**
@@ -7744,7 +8389,10 @@ export declare const enum PointerType {
7744
8389
  /** POT_NONE - No pointer input */
7745
8390
  POT_NONE = 0,
7746
8391
  /** POT_MOUSE - Traditional mouse input */
7747
- POT_MOUSE = 1
8392
+ POT_MOUSE = 1,
8393
+ POT_PAD = 2,
8394
+ POT_TOUCH = 3,
8395
+ POT_WAND = 4
7748
8396
  }
7749
8397
 
7750
8398
  /**
@@ -8201,6 +8849,16 @@ export declare const enum RaycastQueryType {
8201
8849
  /** @public */
8202
8850
  export declare const RaycastResult: LastWriteWinElementSetComponentDefinition<PBRaycastResult>;
8203
8851
 
8852
+ /**
8853
+ * @public
8854
+ */
8855
+ export declare const enum RaycastShape {
8856
+ /** RS_RAY - cast a point, get collisions along a ray */
8857
+ RS_RAY = 0,
8858
+ /** RS_AVATAR - cast the avatar collider shape, get collisions from sweeping the shape */
8859
+ RS_AVATAR = 1
8860
+ }
8861
+
8204
8862
  /**
8205
8863
  * @public
8206
8864
  */
@@ -8333,6 +8991,10 @@ export declare type RaycastSystemOptions = {
8333
8991
  queryType: RaycastQueryType;
8334
8992
  continuous?: boolean | undefined;
8335
8993
  collisionMask?: number | undefined;
8994
+ /** shape to sweep along the ray, default RS_RAY (a point) */
8995
+ shape?: RaycastShape | undefined;
8996
+ /** include colliders from other scenes, default false */
8997
+ includeWorld?: boolean | undefined;
8336
8998
  };
8337
8999
 
8338
9000
  /**
@@ -8381,6 +9043,20 @@ export declare interface ReactBasedUiSystem {
8381
9043
  * @param entity - The entity whose UI renderer should be removed
8382
9044
  */
8383
9045
  removeUiRenderer(entity: Entity): void;
9046
+ /**
9047
+ * Render a UI tree to a texture. The tree is rooted at `entity`, which must carry a UiCanvas
9048
+ * describing the texture; the result can be sampled through `TextureUnion.uiTexture`. Replaces
9049
+ * any texture renderer already set on the entity, and is torn down when the entity is removed.
9050
+ *
9051
+ * @param entity - The UiCanvas entity the UI tree hangs from
9052
+ * @param ui - The UI component to render
9053
+ */
9054
+ setTextureRenderer(entity: Entity, ui: UiComponent): void;
9055
+ /**
9056
+ * Remove a texture renderer previously set with setTextureRenderer(), destroying its entities.
9057
+ * @param entity - The UiCanvas entity the renderer was set on
9058
+ */
9059
+ removeTextureRenderer(entity: Entity): void;
8384
9060
  }
8385
9061
 
8386
9062
  /**
@@ -8544,7 +9220,7 @@ export declare type ReadOnlyLastWriteWinElementSetComponentDefinition<T> = Omit<
8544
9220
  /**
8545
9221
  * @public
8546
9222
  */
8547
- export declare type ReadonlyPrimitive = number | string | boolean;
9223
+ export declare type ReadonlyPrimitive = number | string | number[] | string[] | boolean | boolean[];
8548
9224
 
8549
9225
  /** @public */
8550
9226
  export declare const RealmInfo: LastWriteWinElementSetComponentDefinition<PBRealmInfo>;
@@ -8971,6 +9647,33 @@ export declare namespace Schemas {
8971
9647
  */
8972
9648
  export declare function ScreenInsetArea(props: UiScreenInsetAreaProps): ReactEcs.JSX.Element;
8973
9649
 
9650
+ /**
9651
+ * @public
9652
+ */
9653
+ export declare interface ScrollPositionValue {
9654
+ value?: {
9655
+ $case: "position";
9656
+ position: PBVector2;
9657
+ } | {
9658
+ $case: "reference";
9659
+ reference: string;
9660
+ } | undefined;
9661
+ }
9662
+
9663
+ /**
9664
+ * @public
9665
+ */
9666
+ export declare namespace ScrollPositionValue {
9667
+ export function encode(message: ScrollPositionValue, writer?: _m0.Writer): _m0.Writer;
9668
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): ScrollPositionValue;
9669
+ }
9670
+
9671
+ /**
9672
+ * Which scrollbars are shown when the overflow is scrollable
9673
+ * @public
9674
+ */
9675
+ export declare type ScrollVisibleType = 'horizontal' | 'vertical' | 'both' | 'hidden';
9676
+
8974
9677
  /**
8975
9678
  * Register the composite provider used to resolve composite files. Also registers
8976
9679
  * any `provider.schemas` on the engine pre-seal so composites that reference those
@@ -8996,6 +9699,16 @@ export declare interface SetMoveRotateScaleParams extends MoveRotateScaleModePar
8996
9699
  easingFunction?: EasingFunction;
8997
9700
  }
8998
9701
 
9702
+ /**
9703
+ * @public
9704
+ */
9705
+ export declare const enum ShowScrollBar {
9706
+ SSB_BOTH = 0,
9707
+ SSB_ONLY_VERTICAL = 1,
9708
+ SSB_ONLY_HORIZONTAL = 2,
9709
+ SSB_HIDDEN = 3
9710
+ }
9711
+
8999
9712
  /** @public */
9000
9713
  export declare const SkyboxTime: LastWriteWinElementSetComponentDefinition<PBSkyboxTime>;
9001
9714
 
@@ -9107,6 +9820,9 @@ export declare namespace Texture {
9107
9820
  export function decode(input: _m0.Reader | Uint8Array, length?: number): Texture;
9108
9821
  }
9109
9822
 
9823
+ /** @public */
9824
+ export declare const TextureCamera: LastWriteWinElementSetComponentDefinition<PBTextureCamera>;
9825
+
9110
9826
  /**
9111
9827
  * @public
9112
9828
  */
@@ -9217,6 +9933,9 @@ export declare interface TextureUnion {
9217
9933
  } | {
9218
9934
  $case: "videoTexture";
9219
9935
  videoTexture: VideoTexture;
9936
+ } | {
9937
+ $case: "uiTexture";
9938
+ uiTexture: UiCanvasTexture;
9220
9939
  } | undefined;
9221
9940
  }
9222
9941
 
@@ -9755,6 +10474,8 @@ export declare interface UiBackgroundProps {
9755
10474
  uvs?: number[];
9756
10475
  /** AvatarTexture for the background */
9757
10476
  avatarTexture?: UiAvatarTexture;
10477
+ /** VideoTexture for the background: the frames of a VideoPlayer on another entity */
10478
+ videoTexture?: UiVideoTexture;
9758
10479
  /** Texture for the background */
9759
10480
  texture?: UiTexture;
9760
10481
  }
@@ -9774,9 +10495,31 @@ export declare interface UiButtonProps extends UiLabelProps, EntityPropTypes {
9774
10495
  disabled?: boolean;
9775
10496
  }
9776
10497
 
10498
+ /** @public */
10499
+ export declare const UiCanvas: LastWriteWinElementSetComponentDefinition<PBUiCanvas>;
10500
+
9777
10501
  /** @public */
9778
10502
  export declare const UiCanvasInformation: LastWriteWinElementSetComponentDefinition<PBUiCanvasInformation>;
9779
10503
 
10504
+ /**
10505
+ * @public
10506
+ */
10507
+ export declare interface UiCanvasTexture {
10508
+ uiCanvasEntity: number;
10509
+ /** default = TextureWrapMode.Clamp */
10510
+ wrapMode?: TextureWrapMode | undefined;
10511
+ /** default = FilterMode.Bilinear */
10512
+ filterMode?: TextureFilterMode | undefined;
10513
+ }
10514
+
10515
+ /**
10516
+ * @public
10517
+ */
10518
+ export declare namespace UiCanvasTexture {
10519
+ export function encode(message: UiCanvasTexture, writer?: _m0.Writer): _m0.Writer;
10520
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): UiCanvasTexture;
10521
+ }
10522
+
9780
10523
  /**
9781
10524
  * @public
9782
10525
  */
@@ -9874,6 +10617,8 @@ export declare interface UiLabelProps {
9874
10617
  font?: UiFontType | undefined;
9875
10618
  /** Behaviour when text reached. @defaultValue 'wrap' */
9876
10619
  textWrap?: UiTextWrapType | undefined;
10620
+ /** A font file in the scene, or a Google Fonts family name; `font` is the fallback. @defaultValue undefined */
10621
+ fontSrc?: string | undefined;
9877
10622
  }
9878
10623
 
9879
10624
  /**
@@ -9894,17 +10639,6 @@ export declare type UiRendererOptions = {
9894
10639
  * can use different insets simultaneously.
9895
10640
  */
9896
10641
  screenInset?: UiScreenInset;
9897
- /**
9898
- * Stacking order of this renderer's UI relative to the other renderers (the main
9899
- * one and every `addUiRenderer`). Higher values render in front. When omitted,
9900
- * renderers stack in the order they first render, later ones on top; among those
9901
- * first rendered in the same tick the main UI goes at the back.
9902
- *
9903
- * It is applied to the renderer's root container entity, so it only orders whole
9904
- * renderers against each other; a renderer zIndex of 0 is interpreted as "unset"
9905
- * (positional order); elements inside a renderer keep their own `zIndex`.
9906
- */
9907
- zIndex?: number;
9908
10642
  };
9909
10643
 
9910
10644
  /**
@@ -9940,6 +10674,9 @@ export declare type UiScreenInsetAreaProps = Omit<EntityPropTypes, 'uiTransform'
9940
10674
  uiTransform?: Omit<NonNullable<EntityPropTypes['uiTransform']>, 'positionType' | 'position'>;
9941
10675
  };
9942
10676
 
10677
+ /** @public */
10678
+ export declare const UiScrollResult: LastWriteWinElementSetComponentDefinition<PBUiScrollResult>;
10679
+
9943
10680
  /** @public */
9944
10681
  export declare const UiText: LastWriteWinElementSetComponentDefinition<PBUiText>;
9945
10682
 
@@ -10019,6 +10756,22 @@ export declare interface UiTransformProps {
10019
10756
  opacity?: number;
10020
10757
  /** default 0 */
10021
10758
  zIndex?: number;
10759
+ /** A reference id for the element, e.g. as a scrollPosition target or for SetUiFocus. default empty */
10760
+ elementId?: string;
10761
+ /** Scroll offset when overflow is 'scroll': a position, or the elementId of a child to scroll to. default (0, 0) */
10762
+ scrollPosition?: PBVector2 | string;
10763
+ /** Which scrollbars to show when overflow is 'scroll'. default 'both' */
10764
+ scrollVisible?: ScrollVisibleType;
10765
+ }
10766
+
10767
+ /**
10768
+ * Video Texture
10769
+ * @public
10770
+ */
10771
+ export declare interface UiVideoTexture {
10772
+ videoPlayerEntity: Entity;
10773
+ wrapMode?: TextureWrapType;
10774
+ filterMode?: TextureFilterType;
10022
10775
  }
10023
10776
 
10024
10777
  /**