@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
  */
@@ -2755,10 +2858,6 @@ export declare interface IEvents {
2755
2858
  sender: string;
2756
2859
  message: string;
2757
2860
  };
2758
- /** Triggered when the player switches the client language. `locale` is a BCP-47 tag */
2759
- localeChanged: {
2760
- locale: string;
2761
- };
2762
2861
  /**
2763
2862
  * This is triggered once the scene should start.
2764
2863
  */
@@ -3181,6 +3280,12 @@ export declare type Listeners = {
3181
3280
  onMouseEnter?: Callback;
3182
3281
  /** triggered on mouse leave event */
3183
3282
  onMouseLeave?: Callback;
3283
+ /** triggered while the pointer is dragged after pressing on the element */
3284
+ onMouseDrag?: Callback;
3285
+ /** triggered while the pointer is dragged with the cursor locked in place */
3286
+ onMouseDragLocked?: Callback;
3287
+ /** triggered when a drag that started on the element ends */
3288
+ onMouseDragEnd?: Callback;
3184
3289
  };
3185
3290
 
3186
3291
  /**
@@ -4085,6 +4190,15 @@ export declare interface MeshColliderComponentDefinitionExtended extends LastWri
4085
4190
  * @param colliderMask - the set of layer where the collider reacts, default: Physics and Pointer
4086
4191
  */
4087
4192
  setSphere(entity: Entity, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
4193
+ /**
4194
+ * @public
4195
+ * Set a mesh from inside a gltf in the MeshCollider component
4196
+ * @param entity - entity to create or replace the MeshCollider component
4197
+ * @param source - the path to the gltf
4198
+ * @param meshName - the name of the mesh in the gltf (see GltfContainerLoadingState.meshNames)
4199
+ * @param colliderMask - the set of layer where the collider reacts, default: Physics and Pointer
4200
+ */
4201
+ setGltfMesh(entity: Entity, source: string, meshName: string, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
4088
4202
  }
4089
4203
 
4090
4204
  export declare const MeshRenderer: MeshRendererComponentDefinitionExtended;
@@ -4121,6 +4235,14 @@ export declare interface MeshRendererComponentDefinitionExtended extends LastWri
4121
4235
  * @param entity - entity to create or replace the MeshRenderer component
4122
4236
  */
4123
4237
  setSphere(entity: Entity): void;
4238
+ /**
4239
+ * @public
4240
+ * Set a mesh from inside a gltf in the MeshRenderer component
4241
+ * @param entity - entity to create or replace the MeshRenderer component
4242
+ * @param source - the path to the gltf
4243
+ * @param meshName - the name of the mesh in the gltf (see GltfContainerLoadingState.meshNames)
4244
+ */
4245
+ setGltfMesh(entity: Entity, source: string, meshName: string): void;
4124
4246
  }
4125
4247
 
4126
4248
  /* Excluded from this release type: MessageBus */
@@ -4158,6 +4280,39 @@ export declare namespace MoveContinuous {
4158
4280
  export function decode(input: _m0.Reader | Uint8Array, length?: number): MoveContinuous;
4159
4281
  }
4160
4282
 
4283
+ /**
4284
+ * Describes the animation the movement scene wants the avatar to play.
4285
+ * One GLB = one clip (following the scene-emote convention: single clip, or a clip named with `_Avatar` suffix).
4286
+ * When absent the engine falls back to its built-in velocity-based selection (walk/run/jump/idle).
4287
+ */
4288
+ /**
4289
+ * @public
4290
+ */
4291
+ export declare interface MovementAnimation {
4292
+ /** scene-relative path to the gltf/glb asset (resolved via the scene content map) */
4293
+ src: string;
4294
+ /** whether the clip repeats once it reaches the end */
4295
+ loop: boolean;
4296
+ /** playback speed multiplier (1.0 = clip's native rate) */
4297
+ speed: number;
4298
+ /** true: a triggerSceneEmote may take over; false: emotes are suppressed while this animation plays */
4299
+ idle: boolean;
4300
+ /** cross-fade duration when `src` changes; defaults to 0.2 when unset. Not applied to loop/speed/idle changes. */
4301
+ transitionSeconds?: number | undefined;
4302
+ /** 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. */
4303
+ playbackTime?: number | undefined;
4304
+ /** 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). */
4305
+ sounds: string[];
4306
+ }
4307
+
4308
+ /**
4309
+ * @public
4310
+ */
4311
+ export declare namespace MovementAnimation {
4312
+ export function encode(message: MovementAnimation, writer?: _m0.Writer): _m0.Writer;
4313
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): MovementAnimation;
4314
+ }
4315
+
4161
4316
  /**
4162
4317
  * @public
4163
4318
  */
@@ -4573,6 +4728,25 @@ export declare const onVideoEvent: Observable<{
4573
4728
  totalVideoLength: number;
4574
4729
  }>;
4575
4730
 
4731
+ /**
4732
+ * @public
4733
+ */
4734
+ export declare interface Orthographic {
4735
+ /**
4736
+ * vertical extent of the visible range in meters
4737
+ * defaults to 4m
4738
+ */
4739
+ verticalRange?: number | undefined;
4740
+ }
4741
+
4742
+ /**
4743
+ * @public
4744
+ */
4745
+ export declare namespace Orthographic {
4746
+ export function encode(message: Orthographic, writer?: _m0.Writer): _m0.Writer;
4747
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): Orthographic;
4748
+ }
4749
+
4576
4750
  /**
4577
4751
  * @public
4578
4752
  * The overflow property controls what happens to content that is too big to fit into an area
@@ -4870,6 +5044,8 @@ export declare interface PBAvatarBase {
4870
5044
  hairColor: PBColor3 | undefined;
4871
5045
  bodyShapeUrn: string;
4872
5046
  name: string;
5047
+ /** true while the player is speaking in voice chat; unset when the engine does not report voice activity */
5048
+ talking?: boolean | undefined;
4873
5049
  }
4874
5050
 
4875
5051
  /**
@@ -4920,6 +5096,8 @@ export declare namespace PBAvatarEmoteCommand {
4920
5096
  export declare interface PBAvatarEquippedData {
4921
5097
  wearableUrns: string[];
4922
5098
  emoteUrns: string[];
5099
+ /** slots that will render even if hidden */
5100
+ forceRender: string[];
4923
5101
  }
4924
5102
 
4925
5103
  /**
@@ -4990,6 +5168,8 @@ export declare interface PBAvatarModifierArea {
4990
5168
  excludeIds: string[];
4991
5169
  /** list of modifiers to apply */
4992
5170
  modifiers: AvatarModifierType[];
5171
+ /** if true, the player will be considered inside the area when they are within 0.3m of the area. default true */
5172
+ useColliderRange?: boolean | undefined;
4993
5173
  }
4994
5174
 
4995
5175
  /**
@@ -5000,6 +5180,64 @@ export declare namespace PBAvatarModifierArea {
5000
5180
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarModifierArea;
5001
5181
  }
5002
5182
 
5183
+ /**
5184
+ * @public
5185
+ */
5186
+ export declare interface PBAvatarMovement {
5187
+ velocity: PBVector3 | undefined;
5188
+ /** 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. */
5189
+ orientation: number;
5190
+ groundDirection?: PBVector3 | undefined;
5191
+ /** set for one frame when a walk_target ends: true = reached target, false = failed; absent = in progress or no walk */
5192
+ walkSuccess?: boolean | undefined;
5193
+ /** if set, the engine plays this animation instead of selecting one from velocity heuristics */
5194
+ animation?: MovementAnimation | undefined;
5195
+ /** 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. */
5196
+ tiltPitch?: number | undefined;
5197
+ /** 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. */
5198
+ tiltRoll?: number | undefined;
5199
+ }
5200
+
5201
+ /**
5202
+ * @public
5203
+ */
5204
+ export declare namespace PBAvatarMovement {
5205
+ export function encode(message: PBAvatarMovement, writer?: _m0.Writer): _m0.Writer;
5206
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarMovement;
5207
+ }
5208
+
5209
+ /**
5210
+ * @public
5211
+ */
5212
+ export declare interface PBAvatarMovementInfo {
5213
+ /** the length of time the current step velocity will apply for */
5214
+ stepTime: number;
5215
+ /** the length of time the previous step velocity applied for */
5216
+ previousStepTime: number;
5217
+ /** the velocity requested for the previous frame */
5218
+ requestedVelocity: PBVector3 | undefined;
5219
+ /** the resulting velocity taking collisions into account */
5220
+ actualVelocity: PBVector3 | undefined;
5221
+ /** the velocity imparted by movement of the "ground" platform or pushing from other moving colliders */
5222
+ externalVelocity: PBVector3 | undefined;
5223
+ activeAvatarLocomotionSettings: PBAvatarLocomotionSettings | undefined;
5224
+ activeInputModifier: PBInputModifier | undefined;
5225
+ /** if set, the movement scene should walk the player to this scene-relative position */
5226
+ walkTarget?: PBVector3 | undefined;
5227
+ /** stop distance for walk_target; considered reached when within this distance */
5228
+ walkThreshold?: number | undefined;
5229
+ /** 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. */
5230
+ activeAnimationState?: AvatarAnimationState | undefined;
5231
+ }
5232
+
5233
+ /**
5234
+ * @public
5235
+ */
5236
+ export declare namespace PBAvatarMovementInfo {
5237
+ export function encode(message: PBAvatarMovementInfo, writer?: _m0.Writer): _m0.Writer;
5238
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarMovementInfo;
5239
+ }
5240
+
5003
5241
  /**
5004
5242
  * The AvatarNametag component adds a plate with scene-provided text above an avatar's nametag,
5005
5243
  * for example to show a rank or a role that the scene assigns to that player.
@@ -5090,6 +5328,8 @@ export declare interface PBAvatarShape {
5090
5328
  emotes: string[];
5091
5329
  /** hides the skin + hair + facial features (default: false) */
5092
5330
  showOnlyWearables?: boolean | undefined;
5331
+ /** slots that will render even if hidden */
5332
+ forceRender: string[];
5093
5333
  }
5094
5334
 
5095
5335
  /**
@@ -5131,6 +5371,51 @@ export declare namespace PBBillboard {
5131
5371
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBBillboard;
5132
5372
  }
5133
5373
 
5374
+ /**
5375
+ * @public
5376
+ */
5377
+ export declare interface PBCameraLayer {
5378
+ /**
5379
+ * layer to which these settings apply. must be > 0
5380
+ * Layer 0 is the default "real world" layer viewed by the player and cannot be modified.
5381
+ */
5382
+ layer: number;
5383
+ /** should the sun light affect this layer? default false */
5384
+ directionalLight?: boolean | undefined;
5385
+ /** should this layer show player avatars? default false */
5386
+ showAvatars?: boolean | undefined;
5387
+ /** should this layer show the sky? default false */
5388
+ showSkybox?: boolean | undefined;
5389
+ /** should this layer show distance fog? default false */
5390
+ showFog?: boolean | undefined;
5391
+ /** ambient light overrides for this layer. default -> use same as main camera */
5392
+ ambientColorOverride?: PBColor3 | undefined;
5393
+ ambientBrightnessOverride?: number | undefined;
5394
+ }
5395
+
5396
+ /**
5397
+ * @public
5398
+ */
5399
+ export declare namespace PBCameraLayer {
5400
+ export function encode(message: PBCameraLayer, writer?: _m0.Writer): _m0.Writer;
5401
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBCameraLayer;
5402
+ }
5403
+
5404
+ /**
5405
+ * @public
5406
+ */
5407
+ export declare interface PBCameraLayers {
5408
+ layers: number[];
5409
+ }
5410
+
5411
+ /**
5412
+ * @public
5413
+ */
5414
+ export declare namespace PBCameraLayers {
5415
+ export function encode(message: PBCameraLayers, writer?: _m0.Writer): _m0.Writer;
5416
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBCameraLayers;
5417
+ }
5418
+
5134
5419
  /**
5135
5420
  * The CameraMode component can be used to determine whether the player is using a first-person o
5136
5421
  * third-person view.
@@ -5172,6 +5457,8 @@ export declare interface PBCameraModeArea {
5172
5457
  area: PBVector3 | undefined;
5173
5458
  /** the camera mode to enforce */
5174
5459
  mode: CameraType;
5460
+ /** if true, the player will be considered inside the area when they are within 0.3m of the area. default true */
5461
+ useColliderRange?: boolean | undefined;
5175
5462
  }
5176
5463
 
5177
5464
  /**
@@ -5305,6 +5592,39 @@ export declare namespace PBExplorerUiEventsResult_UiOpened {
5305
5592
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBExplorerUiEventsResult_UiOpened;
5306
5593
  }
5307
5594
 
5595
+ /**
5596
+ * defines the global scene light settings. must be added to the scene root.
5597
+ * to control sunlight color, intensity, shadows etc, you can also add a PBLight to the scene root.
5598
+ */
5599
+ /**
5600
+ * @public
5601
+ */
5602
+ export declare interface PBGlobalLight {
5603
+ /**
5604
+ * the direction the directional light shines in.
5605
+ * default depends on time of day and explorer implementation
5606
+ */
5607
+ direction?: PBVector3 | undefined;
5608
+ /**
5609
+ * ambient light color
5610
+ * default: White
5611
+ */
5612
+ ambientColor?: PBColor3 | undefined;
5613
+ /**
5614
+ * ambient light intensity. the explorer default ambient brightness is multiplied by this non-physical quantity.
5615
+ * default 1
5616
+ */
5617
+ ambientBrightness?: number | undefined;
5618
+ }
5619
+
5620
+ /**
5621
+ * @public
5622
+ */
5623
+ export declare namespace PBGlobalLight {
5624
+ export function encode(message: PBGlobalLight, writer?: _m0.Writer): _m0.Writer;
5625
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGlobalLight;
5626
+ }
5627
+
5308
5628
  /**
5309
5629
  * GltfContainer loads a GLTF file (and any additional files packaged inside) attached to an Entity.
5310
5630
  *
@@ -5340,6 +5660,25 @@ export declare namespace PBGltfContainer {
5340
5660
  */
5341
5661
  export declare interface PBGltfContainerLoadingState {
5342
5662
  currentState: LoadingState;
5663
+ /** all node paths in the gltf, which can be used with a GltfNode to inspect and modify the gltf contents */
5664
+ nodePaths: string[];
5665
+ /** all meshes in the gltf. unnamed meshes will be auto-assigned a name of the form `MeshX` or `MeshX/PrimitiveY` */
5666
+ meshNames: string[];
5667
+ /**
5668
+ * where X is the mesh index and Y is the primitive index (and there is more than 1 primitive). note this may
5669
+ * conflict with manually named meshes - to avoid any issues make sure all your meshes are explicitly named.
5670
+ */
5671
+ materialNames: string[];
5672
+ /**
5673
+ * X is the material index. note this may conflict with manually named materials - to avoid any issues make
5674
+ * sure all your materials are explicitly named.
5675
+ */
5676
+ skinNames: string[];
5677
+ /**
5678
+ * X is the skin index. note this may conflict with manually named skins - to avoid any issues make sure all
5679
+ * your skins are explicitly named.
5680
+ */
5681
+ animationNames: string[];
5343
5682
  }
5344
5683
 
5345
5684
  /**
@@ -5350,6 +5689,57 @@ export declare namespace PBGltfContainerLoadingState {
5350
5689
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfContainerLoadingState;
5351
5690
  }
5352
5691
 
5692
+ /**
5693
+ * a GltfNode links a scene entity with a node from within a gltf, allowing the scene to inspect it or modify it.
5694
+ * This component must be added to a direct child of an entity with a PBGltfContainer component, or
5695
+ * to a direct child of another entity with a GltfNode component, and the referenced gltf node must be a descendent of the gltf node
5696
+ * in the parent.
5697
+ * The name must match the path of one of the nodes within the Gltf. These are available on the GltfContainerLoadingState component.
5698
+ *
5699
+ * The renderer will attach a PBGltfNodeState to the entity describing the state. Once the state is `GNS_READY`,
5700
+ * - the `Transform` will be updated to match the position of the node within the gltf (relative to the gltf root, or the parent node),
5701
+ * - a `MeshRenderer` with a GltfMesh mesh type will be added (if the gltf node has a mesh).
5702
+ * - a `MeshCollider` with a GltfMesh mesh type will be added (if the gltf node has a collider).
5703
+ * - a `Material` component including a GltfMaterial reference will be added (if the gltf node has a material).
5704
+ *
5705
+ * After creation, if an animation moves the node, the `Transform` will be updated.
5706
+ *
5707
+ * From the scene, you can modify various components to alter the gltf node:
5708
+ * - modifying the `Transform` position/rotation/scale will move the node. The position is interpreted relative to the gltf root (or parent node),
5709
+ * regardless of any intermediate gltf node hierarchy.
5710
+ * If an animation is playing, the animation takes priority and the scene entity's position will be updated to match the animation.
5711
+ * - `Visibility` can be added to hide or show the node and it's children in the gltf hierarchy.
5712
+ * - `MeshRenderer` can be added/modified/removed to create/modify/remove a mesh on the node.
5713
+ * - `MeshCollider` can be added/modified/removed to create/modify/remove a collider on the node.
5714
+ * - `Material` can be added or modified to change the material properties. If the gltf node has a material, the original material will be
5715
+ * 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
5716
+ * PBMaterial will be maintained.
5717
+ *
5718
+ * The scene can add additional entities as children to the gltf node, but structural modifications of the gltf are not possible:
5719
+ * - changing the scene hierarchy will not change the gltf node hierarchy. Moving the entity out of the gltf will sever the link and
5720
+ * change the state to `GNS_FAILED`.
5721
+ * - deleting the scene entity will not delete the gltf node.
5722
+ *
5723
+ * Removing the GltfNode will revert any changes to the original gltf. If the GltfNode component is removed and the mesh/collider/material
5724
+ * are not removed, this will result in a duplication of these components as the previously-linked entity will retain it's components and
5725
+ * the gltf node will also be displayed.
5726
+ */
5727
+ /**
5728
+ * @public
5729
+ */
5730
+ export declare interface PBGltfNode {
5731
+ /** the path of the target node in the Gltf. */
5732
+ path: string;
5733
+ }
5734
+
5735
+ /**
5736
+ * @public
5737
+ */
5738
+ export declare namespace PBGltfNode {
5739
+ export function encode(message: PBGltfNode, writer?: _m0.Writer): _m0.Writer;
5740
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNode;
5741
+ }
5742
+
5353
5743
  /**
5354
5744
  * GltfNodeModifiers component is to be used attached to entities that have the GltfContainer component.
5355
5745
  *
@@ -5395,6 +5785,26 @@ export declare namespace PBGltfNodeModifiers_GltfNodeModifier {
5395
5785
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNodeModifiers_GltfNodeModifier;
5396
5786
  }
5397
5787
 
5788
+ /**
5789
+ * The state of a linked gltf node.
5790
+ * If the state is GNSV_FAILED, the renderer may describe the failure in the error string.
5791
+ */
5792
+ /**
5793
+ * @public
5794
+ */
5795
+ export declare interface PBGltfNodeState {
5796
+ state: GltfNodeStateValue;
5797
+ error?: string | undefined;
5798
+ }
5799
+
5800
+ /**
5801
+ * @public
5802
+ */
5803
+ export declare namespace PBGltfNodeState {
5804
+ export function encode(message: PBGltfNodeState, writer?: _m0.Writer): _m0.Writer;
5805
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNodeState;
5806
+ }
5807
+
5398
5808
  /**
5399
5809
  * @public
5400
5810
  */
@@ -5532,6 +5942,14 @@ export declare interface PBMaterial {
5532
5942
  $case: "pbr";
5533
5943
  pbr: PBMaterial_PbrMaterial;
5534
5944
  } | undefined;
5945
+ /**
5946
+ * A gltf material that may provide additional features not supported by the PbMaterial fields.
5947
+ * If both gltf and material fields are provided, the gltf will be used only for extended features not
5948
+ * supported by the PbMaterial.
5949
+ * If this is provided and the `material` field is not provided, the renderer will update the material
5950
+ * field with data that reflects the gltf material once it is loaded.
5951
+ */
5952
+ gltf?: PBMaterial_GltfMaterial | undefined;
5535
5953
  }
5536
5954
 
5537
5955
  /**
@@ -5542,6 +5960,22 @@ export declare namespace PBMaterial {
5542
5960
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMaterial;
5543
5961
  }
5544
5962
 
5963
+ /**
5964
+ * @public
5965
+ */
5966
+ export declare interface PBMaterial_GltfMaterial {
5967
+ gltfSrc: string;
5968
+ name: string;
5969
+ }
5970
+
5971
+ /**
5972
+ * @public
5973
+ */
5974
+ export declare namespace PBMaterial_GltfMaterial {
5975
+ export function encode(message: PBMaterial_GltfMaterial, writer?: _m0.Writer): _m0.Writer;
5976
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMaterial_GltfMaterial;
5977
+ }
5978
+
5545
5979
  /**
5546
5980
  * @public
5547
5981
  */
@@ -5638,6 +6072,9 @@ export declare interface PBMeshCollider {
5638
6072
  } | {
5639
6073
  $case: "plane";
5640
6074
  plane: PBMeshCollider_PlaneMesh;
6075
+ } | {
6076
+ $case: "gltf";
6077
+ gltf: PBMeshCollider_GltfMesh;
5641
6078
  } | undefined;
5642
6079
  }
5643
6080
 
@@ -5683,6 +6120,25 @@ export declare namespace PBMeshCollider_CylinderMesh {
5683
6120
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshCollider_CylinderMesh;
5684
6121
  }
5685
6122
 
6123
+ /** A collider constructed from a Gltf Mesh. */
6124
+ /**
6125
+ * @public
6126
+ */
6127
+ export declare interface PBMeshCollider_GltfMesh {
6128
+ /** the GLTF file path as listed in the scene's manifest. */
6129
+ gltfSrc: string;
6130
+ /** the name of the mesh asset */
6131
+ name: string;
6132
+ }
6133
+
6134
+ /**
6135
+ * @public
6136
+ */
6137
+ export declare namespace PBMeshCollider_GltfMesh {
6138
+ export function encode(message: PBMeshCollider_GltfMesh, writer?: _m0.Writer): _m0.Writer;
6139
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshCollider_GltfMesh;
6140
+ }
6141
+
5686
6142
  /** PlaneMesh is a 2D rectangle described by the Entity's Transform. */
5687
6143
  /**
5688
6144
  * @public
@@ -5715,13 +6171,11 @@ export declare namespace PBMeshCollider_SphereMesh {
5715
6171
 
5716
6172
  /**
5717
6173
  * The MeshRenderer component renders a basic geometric shape for an Entity. It can be a cube, a
5718
- * plane, a sphere or a cylinder.
6174
+ * plane, a sphere, a cylinder, or a Gltf mesh.
5719
6175
  *
5720
6176
  * The cube and plane variants can include a UV texture mapping, so specific areas of a material
5721
6177
  * texture are rendered on different faces of the shape. They are serialized as a sequence of 2D
5722
6178
  * `float` coordinates, one for each corner of each side of each face.
5723
- *
5724
- * More complex shapes require the use of a `GltfContainer` component.
5725
6179
  */
5726
6180
  /**
5727
6181
  * @public
@@ -5739,6 +6193,9 @@ export declare interface PBMeshRenderer {
5739
6193
  } | {
5740
6194
  $case: "plane";
5741
6195
  plane: PBMeshRenderer_PlaneMesh;
6196
+ } | {
6197
+ $case: "gltf";
6198
+ gltf: PBMeshRenderer_GltfMesh;
5742
6199
  } | undefined;
5743
6200
  }
5744
6201
 
@@ -5786,6 +6243,25 @@ export declare namespace PBMeshRenderer_CylinderMesh {
5786
6243
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshRenderer_CylinderMesh;
5787
6244
  }
5788
6245
 
6246
+ /** A mesh from a Gltf. */
6247
+ /**
6248
+ * @public
6249
+ */
6250
+ export declare interface PBMeshRenderer_GltfMesh {
6251
+ /** the GLTF file path as listed in the scene's manifest. */
6252
+ gltfSrc: string;
6253
+ /** the name of the mesh asset */
6254
+ name: string;
6255
+ }
6256
+
6257
+ /**
6258
+ * @public
6259
+ */
6260
+ export declare namespace PBMeshRenderer_GltfMesh {
6261
+ export function encode(message: PBMeshRenderer_GltfMesh, writer?: _m0.Writer): _m0.Writer;
6262
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshRenderer_GltfMesh;
6263
+ }
6264
+
5789
6265
  /** PlaneMesh renders a 2D rectangular shape. */
5790
6266
  /**
5791
6267
  * @public
@@ -6382,7 +6858,10 @@ export declare interface PBPrimaryPointerInfo {
6382
6858
  screenCoordinates?: PBVector2 | undefined;
6383
6859
  /** Movement since last frame (pixels) */
6384
6860
  screenDelta?: PBVector2 | undefined;
6385
- /** Direction vector for 3D ray casting */
6861
+ /**
6862
+ * ray direction that can be used with the primary camera origin for
6863
+ * raycasting from the cursor into the world
6864
+ */
6386
6865
  worldRayDirection?: PBVector3 | undefined;
6387
6866
  }
6388
6867
 
@@ -6453,6 +6932,10 @@ export declare interface PBRaycast {
6453
6932
  continuous?: boolean | undefined;
6454
6933
  /** Collision mask, by default CL_POINTER | CL_PHYSICS */
6455
6934
  collisionMask?: number | undefined;
6935
+ /** shape to cast, default ray */
6936
+ shape?: RaycastShape | undefined;
6937
+ /** include hits with entities from other scenes */
6938
+ includeWorld?: boolean | undefined;
6456
6939
  }
6457
6940
 
6458
6941
  /**
@@ -6598,6 +7081,8 @@ export declare interface PBTextShape {
6598
7081
  outlineColor?: PBColor3 | undefined;
6599
7082
  /** text color (default [1.0, 1.0, 1.0]) */
6600
7083
  textColor?: PBColor4 | undefined;
7084
+ /** a font file in the scene, or a Google Fonts family name; `font` is the fallback (default: unset) */
7085
+ fontSrc?: string | undefined;
6601
7086
  }
6602
7087
 
6603
7088
  /**
@@ -6608,6 +7093,46 @@ export declare namespace PBTextShape {
6608
7093
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBTextShape;
6609
7094
  }
6610
7095
 
7096
+ /**
7097
+ * @public
7098
+ */
7099
+ export declare interface PBTextureCamera {
7100
+ /** rendered texture width */
7101
+ width?: number | undefined;
7102
+ /** rendered texture height */
7103
+ height?: number | undefined;
7104
+ /**
7105
+ * which layer of entities to render. entity layers can be specified by adding PBCameraLayers to target entities.
7106
+ * defaults to 0
7107
+ */
7108
+ layer?: number | undefined;
7109
+ /** default black */
7110
+ clearColor?: PBColor4 | undefined;
7111
+ /** default infinity */
7112
+ farPlane?: number | undefined;
7113
+ mode?: {
7114
+ $case: "perspective";
7115
+ perspective: Perspective;
7116
+ } | {
7117
+ $case: "orthographic";
7118
+ orthographic: Orthographic;
7119
+ } | undefined;
7120
+ /**
7121
+ * controls whether this camera acts as a receiver for audio on sources with matching `PBCameraLayers`.
7122
+ * range: 0 (off) - 1 (full volume)
7123
+ * default: 0
7124
+ */
7125
+ volume?: number | undefined;
7126
+ }
7127
+
7128
+ /**
7129
+ * @public
7130
+ */
7131
+ export declare namespace PBTextureCamera {
7132
+ export function encode(message: PBTextureCamera, writer?: _m0.Writer): _m0.Writer;
7133
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBTextureCamera;
7134
+ }
7135
+
6611
7136
  /**
6612
7137
  * The TouchScreenControls component lets a scene configure the native on-screen touch
6613
7138
  * controls (the mobile joystick + gamepad). It must be set on the RootEntity.
@@ -6853,6 +7378,25 @@ export declare namespace PBUiBackground {
6853
7378
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiBackground;
6854
7379
  }
6855
7380
 
7381
+ /** The UiCanvas component can be attached to a ui root entity to specify properties of the ui texture. */
7382
+ /**
7383
+ * @public
7384
+ */
7385
+ export declare interface PBUiCanvas {
7386
+ width: number;
7387
+ height: number;
7388
+ /** default = (0.0, 0.0, 0.0, 0.0) / transparent */
7389
+ color?: PBColor4 | undefined;
7390
+ }
7391
+
7392
+ /**
7393
+ * @public
7394
+ */
7395
+ export declare namespace PBUiCanvas {
7396
+ export function encode(message: PBUiCanvas, writer?: _m0.Writer): _m0.Writer;
7397
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiCanvas;
7398
+ }
7399
+
6856
7400
  /** This component is created by the renderer and used by the scenes to know the resolution of the UI canvas */
6857
7401
  /**
6858
7402
  * @public
@@ -6908,6 +7452,8 @@ export declare interface PBUiDropdown {
6908
7452
  font?: Font | undefined;
6909
7453
  /** default=10 */
6910
7454
  fontSize?: number | undefined;
7455
+ /** a font file in the scene, or a Google Fonts family name; `font` is the fallback (default: unset) */
7456
+ fontSrc?: string | undefined;
6911
7457
  }
6912
7458
 
6913
7459
  /**
@@ -6950,6 +7496,12 @@ export declare interface PBUiInput {
6950
7496
  /** default=10 */
6951
7497
  fontSize?: number | undefined;
6952
7498
  value?: string | undefined;
7499
+ /** default=false; when true, the input accepts newlines and behaves as a textarea */
7500
+ multiLine?: boolean | undefined;
7501
+ /** default=true; when false, the input value is preserved after pressing Enter */
7502
+ clearOnSubmit?: boolean | undefined;
7503
+ /** a font file in the scene, or a Google Fonts family name; `font` is the fallback (default: unset) */
7504
+ fontSrc?: string | undefined;
6953
7505
  }
6954
7506
 
6955
7507
  /**
@@ -7013,6 +7565,21 @@ export declare namespace PBUiInputResult {
7013
7565
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiInputResult;
7014
7566
  }
7015
7567
 
7568
+ /**
7569
+ * @public
7570
+ */
7571
+ export declare interface PBUiScrollResult {
7572
+ value: PBVector2 | undefined;
7573
+ }
7574
+
7575
+ /**
7576
+ * @public
7577
+ */
7578
+ export declare namespace PBUiScrollResult {
7579
+ export function encode(message: PBUiScrollResult, writer?: _m0.Writer): _m0.Writer;
7580
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiScrollResult;
7581
+ }
7582
+
7016
7583
  /**
7017
7584
  * @public
7018
7585
  */
@@ -7029,6 +7596,8 @@ export declare interface PBUiText {
7029
7596
  fontSize?: number | undefined;
7030
7597
  /** wrap text when the border is reached (default: TW_WRAP) */
7031
7598
  textWrap?: TextWrap | undefined;
7599
+ /** a font file in the scene, or a Google Fonts family name; `font` is the fallback (default: unset) */
7600
+ fontSrc?: string | undefined;
7032
7601
  }
7033
7602
 
7034
7603
  /**
@@ -7156,6 +7725,12 @@ export declare interface PBUiTransform {
7156
7725
  borderRightColor?: PBColor4 | undefined;
7157
7726
  /** default: 1 */
7158
7727
  opacity?: number | undefined;
7728
+ /** reference for scroll_position. default empty */
7729
+ elementId?: string | undefined;
7730
+ /** default position=(0,0) */
7731
+ scrollPosition?: ScrollPositionValue | undefined;
7732
+ /** default ShowScrollBar.SSB_BOTH */
7733
+ scrollVisible?: ShowScrollBar | undefined;
7159
7734
  /** default: 0 — controls render stacking order. Higher values appear in front of lower values. */
7160
7735
  zIndex?: number | undefined;
7161
7736
  }
@@ -7308,6 +7883,25 @@ export declare namespace PBVisibilityComponent {
7308
7883
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBVisibilityComponent;
7309
7884
  }
7310
7885
 
7886
+ /**
7887
+ * @public
7888
+ */
7889
+ export declare interface Perspective {
7890
+ /**
7891
+ * vertical field of view in radians
7892
+ * defaults to pi/4 = 45 degrees
7893
+ */
7894
+ fieldOfView?: number | undefined;
7895
+ }
7896
+
7897
+ /**
7898
+ * @public
7899
+ */
7900
+ export declare namespace Perspective {
7901
+ export function encode(message: Perspective, writer?: _m0.Writer): _m0.Writer;
7902
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): Perspective;
7903
+ }
7904
+
7311
7905
  /**
7312
7906
  * @public
7313
7907
  * Physics helpers for applying impulses and forces to the player.
@@ -7549,6 +8143,24 @@ export declare interface PointerEventsSystem {
7549
8143
  * @param entity - Entity where the callback was attached
7550
8144
  */
7551
8145
  removeOnPointerHoverLeave(entity: Entity): void;
8146
+ /**
8147
+ * @public
8148
+ * Remove the callback for onPointerDrag event
8149
+ * @param entity - Entity where the callback was attached
8150
+ */
8151
+ removeOnPointerDrag(entity: Entity): void;
8152
+ /**
8153
+ * @public
8154
+ * Remove the callback for onPointerDragLocked event
8155
+ * @param entity - Entity where the callback was attached
8156
+ */
8157
+ removeOnPointerDragLocked(entity: Entity): void;
8158
+ /**
8159
+ * @public
8160
+ * Remove the callback for onPointerDragEnd event
8161
+ * @param entity - Entity where the callback was attached
8162
+ */
8163
+ removeOnPointerDragEnd(entity: Entity): void;
7552
8164
  /**
7553
8165
  * @public
7554
8166
  * Remove the callback for onProximityDown event
@@ -7627,6 +8239,36 @@ export declare interface PointerEventsSystem {
7627
8239
  entity: Entity;
7628
8240
  opts?: Partial<EventSystemOptions>;
7629
8241
  }, cb: EventSystemCallback): void;
8242
+ /**
8243
+ * @public
8244
+ * Execute callback while the user holds the button pressed and moves the pointer, having pressed it on the entity
8245
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
8246
+ * @param cb - Function to execute on every drag update
8247
+ */
8248
+ onPointerDrag(pointerData: {
8249
+ entity: Entity;
8250
+ opts?: Partial<EventSystemOptions>;
8251
+ }, cb: EventSystemCallback): void;
8252
+ /**
8253
+ * @public
8254
+ * Same as onPointerDrag, but the cursor is locked in place for the duration of the drag
8255
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
8256
+ * @param cb - Function to execute on every drag update
8257
+ */
8258
+ onPointerDragLocked(pointerData: {
8259
+ entity: Entity;
8260
+ opts?: Partial<EventSystemOptions>;
8261
+ }, cb: EventSystemCallback): void;
8262
+ /**
8263
+ * @public
8264
+ * Execute callback when the user releases the button after a drag that started on the entity
8265
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
8266
+ * @param cb - Function to execute when the drag ends
8267
+ */
8268
+ onPointerDragEnd(pointerData: {
8269
+ entity: Entity;
8270
+ opts?: Partial<EventSystemOptions>;
8271
+ }, cb: EventSystemCallback): void;
7630
8272
  /**
7631
8273
  * @public
7632
8274
  * Execute callback when the user presses the proximity button on the entity
@@ -7685,7 +8327,10 @@ export declare const enum PointerEventType {
7685
8327
  PET_HOVER_ENTER = 2,
7686
8328
  PET_HOVER_LEAVE = 3,
7687
8329
  PET_PROXIMITY_ENTER = 4,
7688
- PET_PROXIMITY_LEAVE = 5
8330
+ PET_PROXIMITY_LEAVE = 5,
8331
+ PET_DRAG_LOCKED = 6,
8332
+ PET_DRAG = 7,
8333
+ PET_DRAG_END = 8
7689
8334
  }
7690
8335
 
7691
8336
  /**
@@ -7716,7 +8361,10 @@ export declare const enum PointerType {
7716
8361
  /** POT_NONE - No pointer input */
7717
8362
  POT_NONE = 0,
7718
8363
  /** POT_MOUSE - Traditional mouse input */
7719
- POT_MOUSE = 1
8364
+ POT_MOUSE = 1,
8365
+ POT_PAD = 2,
8366
+ POT_TOUCH = 3,
8367
+ POT_WAND = 4
7720
8368
  }
7721
8369
 
7722
8370
  /**
@@ -8173,6 +8821,16 @@ export declare const enum RaycastQueryType {
8173
8821
  /** @public */
8174
8822
  export declare const RaycastResult: LastWriteWinElementSetComponentDefinition<PBRaycastResult>;
8175
8823
 
8824
+ /**
8825
+ * @public
8826
+ */
8827
+ export declare const enum RaycastShape {
8828
+ /** RS_RAY - cast a point, get collisions along a ray */
8829
+ RS_RAY = 0,
8830
+ /** RS_AVATAR - cast the avatar collider shape, get collisions from sweeping the shape */
8831
+ RS_AVATAR = 1
8832
+ }
8833
+
8176
8834
  /**
8177
8835
  * @public
8178
8836
  */
@@ -8305,6 +8963,10 @@ export declare type RaycastSystemOptions = {
8305
8963
  queryType: RaycastQueryType;
8306
8964
  continuous?: boolean | undefined;
8307
8965
  collisionMask?: number | undefined;
8966
+ /** shape to sweep along the ray, default RS_RAY (a point) */
8967
+ shape?: RaycastShape | undefined;
8968
+ /** include colliders from other scenes, default false */
8969
+ includeWorld?: boolean | undefined;
8308
8970
  };
8309
8971
 
8310
8972
  /**
@@ -8353,6 +9015,20 @@ export declare interface ReactBasedUiSystem {
8353
9015
  * @param entity - The entity whose UI renderer should be removed
8354
9016
  */
8355
9017
  removeUiRenderer(entity: Entity): void;
9018
+ /**
9019
+ * Render a UI tree to a texture. The tree is rooted at `entity`, which must carry a UiCanvas
9020
+ * describing the texture; the result can be sampled through `TextureUnion.uiTexture`. Replaces
9021
+ * any texture renderer already set on the entity, and is torn down when the entity is removed.
9022
+ *
9023
+ * @param entity - The UiCanvas entity the UI tree hangs from
9024
+ * @param ui - The UI component to render
9025
+ */
9026
+ setTextureRenderer(entity: Entity, ui: UiComponent): void;
9027
+ /**
9028
+ * Remove a texture renderer previously set with setTextureRenderer(), destroying its entities.
9029
+ * @param entity - The UiCanvas entity the renderer was set on
9030
+ */
9031
+ removeTextureRenderer(entity: Entity): void;
8356
9032
  }
8357
9033
 
8358
9034
  /**
@@ -8516,7 +9192,7 @@ export declare type ReadOnlyLastWriteWinElementSetComponentDefinition<T> = Omit<
8516
9192
  /**
8517
9193
  * @public
8518
9194
  */
8519
- export declare type ReadonlyPrimitive = number | string | boolean;
9195
+ export declare type ReadonlyPrimitive = number | string | number[] | string[] | boolean | boolean[];
8520
9196
 
8521
9197
  /** @public */
8522
9198
  export declare const RealmInfo: LastWriteWinElementSetComponentDefinition<PBRealmInfo>;
@@ -8943,6 +9619,33 @@ export declare namespace Schemas {
8943
9619
  */
8944
9620
  export declare function ScreenInsetArea(props: UiScreenInsetAreaProps): ReactEcs.JSX.Element;
8945
9621
 
9622
+ /**
9623
+ * @public
9624
+ */
9625
+ export declare interface ScrollPositionValue {
9626
+ value?: {
9627
+ $case: "position";
9628
+ position: PBVector2;
9629
+ } | {
9630
+ $case: "reference";
9631
+ reference: string;
9632
+ } | undefined;
9633
+ }
9634
+
9635
+ /**
9636
+ * @public
9637
+ */
9638
+ export declare namespace ScrollPositionValue {
9639
+ export function encode(message: ScrollPositionValue, writer?: _m0.Writer): _m0.Writer;
9640
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): ScrollPositionValue;
9641
+ }
9642
+
9643
+ /**
9644
+ * Which scrollbars are shown when the overflow is scrollable
9645
+ * @public
9646
+ */
9647
+ export declare type ScrollVisibleType = 'horizontal' | 'vertical' | 'both' | 'hidden';
9648
+
8946
9649
  /**
8947
9650
  * Register the composite provider used to resolve composite files. Also registers
8948
9651
  * any `provider.schemas` on the engine pre-seal so composites that reference those
@@ -8968,6 +9671,16 @@ export declare interface SetMoveRotateScaleParams extends MoveRotateScaleModePar
8968
9671
  easingFunction?: EasingFunction;
8969
9672
  }
8970
9673
 
9674
+ /**
9675
+ * @public
9676
+ */
9677
+ export declare const enum ShowScrollBar {
9678
+ SSB_BOTH = 0,
9679
+ SSB_ONLY_VERTICAL = 1,
9680
+ SSB_ONLY_HORIZONTAL = 2,
9681
+ SSB_HIDDEN = 3
9682
+ }
9683
+
8971
9684
  /** @public */
8972
9685
  export declare const SkyboxTime: LastWriteWinElementSetComponentDefinition<PBSkyboxTime>;
8973
9686
 
@@ -9074,6 +9787,9 @@ export declare namespace Texture {
9074
9787
  export function decode(input: _m0.Reader | Uint8Array, length?: number): Texture;
9075
9788
  }
9076
9789
 
9790
+ /** @public */
9791
+ export declare const TextureCamera: LastWriteWinElementSetComponentDefinition<PBTextureCamera>;
9792
+
9077
9793
  /**
9078
9794
  * @public
9079
9795
  */
@@ -9184,6 +9900,9 @@ export declare interface TextureUnion {
9184
9900
  } | {
9185
9901
  $case: "videoTexture";
9186
9902
  videoTexture: VideoTexture;
9903
+ } | {
9904
+ $case: "uiTexture";
9905
+ uiTexture: UiCanvasTexture;
9187
9906
  } | undefined;
9188
9907
  }
9189
9908
 
@@ -9722,6 +10441,8 @@ export declare interface UiBackgroundProps {
9722
10441
  uvs?: number[];
9723
10442
  /** AvatarTexture for the background */
9724
10443
  avatarTexture?: UiAvatarTexture;
10444
+ /** VideoTexture for the background: the frames of a VideoPlayer on another entity */
10445
+ videoTexture?: UiVideoTexture;
9725
10446
  /** Texture for the background */
9726
10447
  texture?: UiTexture;
9727
10448
  }
@@ -9741,9 +10462,31 @@ export declare interface UiButtonProps extends UiLabelProps, EntityPropTypes {
9741
10462
  disabled?: boolean;
9742
10463
  }
9743
10464
 
10465
+ /** @public */
10466
+ export declare const UiCanvas: LastWriteWinElementSetComponentDefinition<PBUiCanvas>;
10467
+
9744
10468
  /** @public */
9745
10469
  export declare const UiCanvasInformation: LastWriteWinElementSetComponentDefinition<PBUiCanvasInformation>;
9746
10470
 
10471
+ /**
10472
+ * @public
10473
+ */
10474
+ export declare interface UiCanvasTexture {
10475
+ uiCanvasEntity: number;
10476
+ /** default = TextureWrapMode.Clamp */
10477
+ wrapMode?: TextureWrapMode | undefined;
10478
+ /** default = FilterMode.Bilinear */
10479
+ filterMode?: TextureFilterMode | undefined;
10480
+ }
10481
+
10482
+ /**
10483
+ * @public
10484
+ */
10485
+ export declare namespace UiCanvasTexture {
10486
+ export function encode(message: UiCanvasTexture, writer?: _m0.Writer): _m0.Writer;
10487
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): UiCanvasTexture;
10488
+ }
10489
+
9747
10490
  /**
9748
10491
  * @public
9749
10492
  */
@@ -9841,6 +10584,8 @@ export declare interface UiLabelProps {
9841
10584
  font?: UiFontType | undefined;
9842
10585
  /** Behaviour when text reached. @defaultValue 'wrap' */
9843
10586
  textWrap?: UiTextWrapType | undefined;
10587
+ /** A font file in the scene, or a Google Fonts family name; `font` is the fallback. @defaultValue undefined */
10588
+ fontSrc?: string | undefined;
9844
10589
  }
9845
10590
 
9846
10591
  /**
@@ -9861,17 +10606,6 @@ export declare type UiRendererOptions = {
9861
10606
  * can use different insets simultaneously.
9862
10607
  */
9863
10608
  screenInset?: UiScreenInset;
9864
- /**
9865
- * Stacking order of this renderer's UI relative to the other renderers (the main
9866
- * one and every `addUiRenderer`). Higher values render in front. When omitted,
9867
- * renderers stack in the order they first render, later ones on top; among those
9868
- * first rendered in the same tick the main UI goes at the back.
9869
- *
9870
- * It is applied to the renderer's root container entity, so it only orders whole
9871
- * renderers against each other; a renderer zIndex of 0 is interpreted as "unset"
9872
- * (positional order); elements inside a renderer keep their own `zIndex`.
9873
- */
9874
- zIndex?: number;
9875
10609
  };
9876
10610
 
9877
10611
  /**
@@ -9907,6 +10641,9 @@ export declare type UiScreenInsetAreaProps = Omit<EntityPropTypes, 'uiTransform'
9907
10641
  uiTransform?: Omit<NonNullable<EntityPropTypes['uiTransform']>, 'positionType' | 'position'>;
9908
10642
  };
9909
10643
 
10644
+ /** @public */
10645
+ export declare const UiScrollResult: LastWriteWinElementSetComponentDefinition<PBUiScrollResult>;
10646
+
9910
10647
  /** @public */
9911
10648
  export declare const UiText: LastWriteWinElementSetComponentDefinition<PBUiText>;
9912
10649
 
@@ -9986,6 +10723,22 @@ export declare interface UiTransformProps {
9986
10723
  opacity?: number;
9987
10724
  /** default 0 */
9988
10725
  zIndex?: number;
10726
+ /** A reference id for the element, e.g. as a scrollPosition target or for SetUiFocus. default empty */
10727
+ elementId?: string;
10728
+ /** Scroll offset when overflow is 'scroll': a position, or the elementId of a child to scroll to. default (0, 0) */
10729
+ scrollPosition?: PBVector2 | string;
10730
+ /** Which scrollbars to show when overflow is 'scroll'. default 'both' */
10731
+ scrollVisible?: ScrollVisibleType;
10732
+ }
10733
+
10734
+ /**
10735
+ * Video Texture
10736
+ * @public
10737
+ */
10738
+ export declare interface UiVideoTexture {
10739
+ videoPlayerEntity: Entity;
10740
+ wrapMode?: TextureWrapType;
10741
+ filterMode?: TextureFilterType;
9989
10742
  }
9990
10743
 
9991
10744
  /**