@dcl/playground-assets 7.27.1-33533891406.commit-6a98834 → 7.27.1-33669021544.commit-a6216ed

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/alpha.d.ts CHANGED
@@ -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,7 +365,26 @@ export declare const enum AvatarModifierType {
319
365
  }
320
366
 
321
367
  /** @public */
322
- export declare const AvatarShape: LastWriteWinElementSetComponentDefinition<PBAvatarShape>;
368
+ export declare const AvatarMovement: LastWriteWinElementSetComponentDefinition<PBAvatarMovement>;
369
+
370
+ /** @public */
371
+ export declare const AvatarMovementInfo: LastWriteWinElementSetComponentDefinition<PBAvatarMovementInfo>;
372
+
373
+ export declare const AvatarShape: AvatarShapeComponentDefinitionExtended;
374
+
375
+ /**
376
+ * @public
377
+ */
378
+ export declare type AvatarShapeComponentDefinitionExtended = LastWriteWinElementSetComponentDefinition<AvatarShapeType>;
379
+
380
+ /**
381
+ * @public
382
+ * AvatarShape with `forceRender` optional: the wire type is a repeated field (always present, so the
383
+ * generated type requires it), but a scene rarely needs it and shouldn't have to pass `[]`.
384
+ */
385
+ export declare type AvatarShapeType = Omit<PBAvatarShape, 'forceRender'> & {
386
+ forceRender?: string[] | undefined;
387
+ };
323
388
 
324
389
  /**
325
390
  * @public
@@ -588,10 +653,17 @@ export declare interface ByteBuffer {
588
653
  }
589
654
 
590
655
  /**
591
- * Callback function to be triggered on a specified event
656
+ * Callback function to be triggered on a specified event. Receives the pointer event that
657
+ * fired it (button, hit, and for drags the pointer delta), which handlers may ignore.
592
658
  * @public
593
659
  */
594
- export declare type Callback = () => void;
660
+ export declare type Callback = (event: PBPointerEventsResult) => void;
661
+
662
+ /** @public */
663
+ export declare const CameraLayer: LastWriteWinElementSetComponentDefinition<PBCameraLayer>;
664
+
665
+ /** @public */
666
+ export declare const CameraLayers: LastWriteWinElementSetComponentDefinition<PBCameraLayers>;
595
667
 
596
668
  /** @public */
597
669
  export declare const CameraMode: LastWriteWinElementSetComponentDefinition<PBCameraMode>;
@@ -1444,15 +1516,22 @@ export declare const componentDefinitionByName: {
1444
1516
  "core::AvatarEquippedData": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarEquippedData>>;
1445
1517
  "core::AvatarLocomotionSettings": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarLocomotionSettings>>;
1446
1518
  "core::AvatarModifierArea": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarModifierArea>>;
1519
+ "core::AvatarMovement": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarMovement>>;
1520
+ "core::AvatarMovementInfo": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarMovementInfo>>;
1447
1521
  "core::AvatarShape": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarShape>>;
1448
1522
  "core::Billboard": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBBillboard>>;
1523
+ "core::CameraLayer": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraLayer>>;
1524
+ "core::CameraLayers": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraLayers>>;
1449
1525
  "core::CameraMode": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraMode>>;
1450
1526
  "core::CameraModeArea": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraModeArea>>;
1451
1527
  "core::EngineInfo": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBEngineInfo>>;
1452
1528
  "core::ExplorerUiEventsResult": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBExplorerUiEventsResult>>;
1529
+ "core::GlobalLight": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGlobalLight>>;
1453
1530
  "core::GltfContainer": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainer>>;
1454
1531
  "core::GltfContainerLoadingState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>>;
1532
+ "core::GltfNode": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNode>>;
1455
1533
  "core::GltfNodeModifiers": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNodeModifiers>>;
1534
+ "core::GltfNodeState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNodeState>>;
1456
1535
  "core::InputModifier": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBInputModifier>>;
1457
1536
  "core::LightSource": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBLightSource>>;
1458
1537
  "core::MainCamera": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMainCamera>>;
@@ -1473,6 +1552,7 @@ export declare const componentDefinitionByName: {
1473
1552
  "core::RealmInfo": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBRealmInfo>>;
1474
1553
  "core::SkyboxTime": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBSkyboxTime>>;
1475
1554
  "core::TextShape": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTextShape>>;
1555
+ "core::TextureCamera": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTextureCamera>>;
1476
1556
  "core::TouchScreenControls": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTouchScreenControls>>;
1477
1557
  "core::TriggerArea": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTriggerArea>>;
1478
1558
  "core::TriggerAreaResult": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBTriggerAreaResult>>;
@@ -1480,12 +1560,14 @@ export declare const componentDefinitionByName: {
1480
1560
  "core::TweenSequence": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTweenSequence>>;
1481
1561
  "core::TweenState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTweenState>>;
1482
1562
  "core::UiBackground": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiBackground>>;
1563
+ "core::UiCanvas": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiCanvas>>;
1483
1564
  "core::UiCanvasInformation": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiCanvasInformation>>;
1484
1565
  "core::UiDropdown": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiDropdown>>;
1485
1566
  "core::UiDropdownResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiDropdownResult>>;
1486
1567
  "core::UiInput": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiInput>>;
1487
1568
  "core::UiInputBinding": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiInputBinding>>;
1488
1569
  "core::UiInputResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiInputResult>>;
1570
+ "core::UiScrollResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiScrollResult>>;
1489
1571
  "core::UiText": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiText>>;
1490
1572
  "core::UiTransform": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiTransform>>;
1491
1573
  "core::VideoEvent": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBVideoEvent>>;
@@ -2105,6 +2187,9 @@ export declare type EntityComponents = {
2105
2187
  onMouseUp: Callback;
2106
2188
  onMouseEnter: Callback;
2107
2189
  onMouseLeave: Callback;
2190
+ onMouseDrag: Callback;
2191
+ onMouseDragLocked: Callback;
2192
+ onMouseDragEnd: Callback;
2108
2193
  };
2109
2194
 
2110
2195
  /** @public */
@@ -2182,10 +2267,8 @@ export declare type EventSystemOptions = {
2182
2267
  maxDistance?: number;
2183
2268
  showFeedback?: boolean;
2184
2269
  showHighlight?: boolean;
2185
- /** @deprecated use `maxDistance` instead (same semantics: distance from the player) */
2186
2270
  maxPlayerDistance?: number;
2187
2271
  priority?: number;
2188
- maxCameraDistance?: number;
2189
2272
  };
2190
2273
 
2191
2274
  /**
@@ -2459,6 +2542,9 @@ export declare type GlobalDirectionRaycastSystemOptions = {
2459
2542
  direction?: PBVector3;
2460
2543
  };
2461
2544
 
2545
+ /** @public */
2546
+ export declare const GlobalLight: LastWriteWinElementSetComponentDefinition<PBGlobalLight>;
2547
+
2462
2548
  export declare type GlobalTargetRaycastOptions = RaycastSystemOptions & GlobalTargetRaycastSystemOptions;
2463
2549
 
2464
2550
  export declare type GlobalTargetRaycastSystemOptions = {
@@ -2471,9 +2557,24 @@ export declare const GltfContainer: LastWriteWinElementSetComponentDefinition<PB
2471
2557
  /** @public */
2472
2558
  export declare const GltfContainerLoadingState: LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>;
2473
2559
 
2560
+ /** @public */
2561
+ export declare const GltfNode: LastWriteWinElementSetComponentDefinition<PBGltfNode>;
2562
+
2474
2563
  /** @public */
2475
2564
  export declare const GltfNodeModifiers: LastWriteWinElementSetComponentDefinition<PBGltfNodeModifiers>;
2476
2565
 
2566
+ /** @public */
2567
+ export declare const GltfNodeState: LastWriteWinElementSetComponentDefinition<PBGltfNodeState>;
2568
+
2569
+ /**
2570
+ * @public
2571
+ */
2572
+ export declare const enum GltfNodeStateValue {
2573
+ GNSV_PENDING = 0,
2574
+ GNSV_FAILED = 1,
2575
+ GNSV_READY = 2
2576
+ }
2577
+
2477
2578
  /**
2478
2579
  * @public
2479
2580
  */
@@ -3182,6 +3283,12 @@ export declare type Listeners = {
3182
3283
  onMouseEnter?: Callback;
3183
3284
  /** triggered on mouse leave event */
3184
3285
  onMouseLeave?: Callback;
3286
+ /** triggered while the pointer is dragged after pressing on the element */
3287
+ onMouseDrag?: Callback;
3288
+ /** triggered while the pointer is dragged with the cursor locked in place */
3289
+ onMouseDragLocked?: Callback;
3290
+ /** triggered when a drag that started on the element ends */
3291
+ onMouseDragEnd?: Callback;
3185
3292
  };
3186
3293
 
3187
3294
  /**
@@ -4086,6 +4193,15 @@ export declare interface MeshColliderComponentDefinitionExtended extends LastWri
4086
4193
  * @param colliderMask - the set of layer where the collider reacts, default: Physics and Pointer
4087
4194
  */
4088
4195
  setSphere(entity: Entity, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
4196
+ /**
4197
+ * @public
4198
+ * Set a mesh from inside a gltf in the MeshCollider component
4199
+ * @param entity - entity to create or replace the MeshCollider component
4200
+ * @param source - the path to the gltf
4201
+ * @param meshName - the name of the mesh in the gltf (see GltfContainerLoadingState.meshNames)
4202
+ * @param colliderMask - the set of layer where the collider reacts, default: Physics and Pointer
4203
+ */
4204
+ setGltfMesh(entity: Entity, source: string, meshName: string, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
4089
4205
  }
4090
4206
 
4091
4207
  export declare const MeshRenderer: MeshRendererComponentDefinitionExtended;
@@ -4122,6 +4238,14 @@ export declare interface MeshRendererComponentDefinitionExtended extends LastWri
4122
4238
  * @param entity - entity to create or replace the MeshRenderer component
4123
4239
  */
4124
4240
  setSphere(entity: Entity): void;
4241
+ /**
4242
+ * @public
4243
+ * Set a mesh from inside a gltf in the MeshRenderer component
4244
+ * @param entity - entity to create or replace the MeshRenderer component
4245
+ * @param source - the path to the gltf
4246
+ * @param meshName - the name of the mesh in the gltf (see GltfContainerLoadingState.meshNames)
4247
+ */
4248
+ setGltfMesh(entity: Entity, source: string, meshName: string): void;
4125
4249
  }
4126
4250
 
4127
4251
  /**
@@ -4170,6 +4294,39 @@ export declare namespace MoveContinuous {
4170
4294
  export function decode(input: _m0.Reader | Uint8Array, length?: number): MoveContinuous;
4171
4295
  }
4172
4296
 
4297
+ /**
4298
+ * Describes the animation the movement scene wants the avatar to play.
4299
+ * One GLB = one clip (following the scene-emote convention: single clip, or a clip named with `_Avatar` suffix).
4300
+ * When absent the engine falls back to its built-in velocity-based selection (walk/run/jump/idle).
4301
+ */
4302
+ /**
4303
+ * @public
4304
+ */
4305
+ export declare interface MovementAnimation {
4306
+ /** scene-relative path to the gltf/glb asset (resolved via the scene content map) */
4307
+ src: string;
4308
+ /** whether the clip repeats once it reaches the end */
4309
+ loop: boolean;
4310
+ /** playback speed multiplier (1.0 = clip's native rate) */
4311
+ speed: number;
4312
+ /** true: a triggerSceneEmote may take over; false: emotes are suppressed while this animation plays */
4313
+ idle: boolean;
4314
+ /** cross-fade duration when `src` changes; defaults to 0.2 when unset. Not applied to loop/speed/idle changes. */
4315
+ transitionSeconds?: number | undefined;
4316
+ /** 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. */
4317
+ playbackTime?: number | undefined;
4318
+ /** 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). */
4319
+ sounds: string[];
4320
+ }
4321
+
4322
+ /**
4323
+ * @public
4324
+ */
4325
+ export declare namespace MovementAnimation {
4326
+ export function encode(message: MovementAnimation, writer?: _m0.Writer): _m0.Writer;
4327
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): MovementAnimation;
4328
+ }
4329
+
4173
4330
  /**
4174
4331
  * @public
4175
4332
  */
@@ -4593,6 +4750,25 @@ export declare const onVideoEvent: Observable<{
4593
4750
  totalVideoLength: number;
4594
4751
  }>;
4595
4752
 
4753
+ /**
4754
+ * @public
4755
+ */
4756
+ export declare interface Orthographic {
4757
+ /**
4758
+ * vertical extent of the visible range in meters
4759
+ * defaults to 4m
4760
+ */
4761
+ verticalRange?: number | undefined;
4762
+ }
4763
+
4764
+ /**
4765
+ * @public
4766
+ */
4767
+ export declare namespace Orthographic {
4768
+ export function encode(message: Orthographic, writer?: _m0.Writer): _m0.Writer;
4769
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): Orthographic;
4770
+ }
4771
+
4596
4772
  /**
4597
4773
  * @public
4598
4774
  * The overflow property controls what happens to content that is too big to fit into an area
@@ -4940,6 +5116,8 @@ export declare namespace PBAvatarEmoteCommand {
4940
5116
  export declare interface PBAvatarEquippedData {
4941
5117
  wearableUrns: string[];
4942
5118
  emoteUrns: string[];
5119
+ /** slots that will render even if hidden */
5120
+ forceRender: string[];
4943
5121
  }
4944
5122
 
4945
5123
  /**
@@ -5010,6 +5188,8 @@ export declare interface PBAvatarModifierArea {
5010
5188
  excludeIds: string[];
5011
5189
  /** list of modifiers to apply */
5012
5190
  modifiers: AvatarModifierType[];
5191
+ /** if true, the player will be considered inside the area when they are within 0.3m of the area. default true */
5192
+ useColliderRange?: boolean | undefined;
5013
5193
  }
5014
5194
 
5015
5195
  /**
@@ -5020,6 +5200,64 @@ export declare namespace PBAvatarModifierArea {
5020
5200
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarModifierArea;
5021
5201
  }
5022
5202
 
5203
+ /**
5204
+ * @public
5205
+ */
5206
+ export declare interface PBAvatarMovement {
5207
+ velocity: PBVector3 | undefined;
5208
+ /** 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. */
5209
+ orientation: number;
5210
+ groundDirection?: PBVector3 | undefined;
5211
+ /** set for one frame when a walk_target ends: true = reached target, false = failed; absent = in progress or no walk */
5212
+ walkSuccess?: boolean | undefined;
5213
+ /** if set, the engine plays this animation instead of selecting one from velocity heuristics */
5214
+ animation?: MovementAnimation | undefined;
5215
+ /** 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. */
5216
+ tiltPitch?: number | undefined;
5217
+ /** 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. */
5218
+ tiltRoll?: number | undefined;
5219
+ }
5220
+
5221
+ /**
5222
+ * @public
5223
+ */
5224
+ export declare namespace PBAvatarMovement {
5225
+ export function encode(message: PBAvatarMovement, writer?: _m0.Writer): _m0.Writer;
5226
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarMovement;
5227
+ }
5228
+
5229
+ /**
5230
+ * @public
5231
+ */
5232
+ export declare interface PBAvatarMovementInfo {
5233
+ /** the length of time the current step velocity will apply for */
5234
+ stepTime: number;
5235
+ /** the length of time the previous step velocity applied for */
5236
+ previousStepTime: number;
5237
+ /** the velocity requested for the previous frame */
5238
+ requestedVelocity: PBVector3 | undefined;
5239
+ /** the resulting velocity taking collisions into account */
5240
+ actualVelocity: PBVector3 | undefined;
5241
+ /** the velocity imparted by movement of the "ground" platform or pushing from other moving colliders */
5242
+ externalVelocity: PBVector3 | undefined;
5243
+ activeAvatarLocomotionSettings: PBAvatarLocomotionSettings | undefined;
5244
+ activeInputModifier: PBInputModifier | undefined;
5245
+ /** if set, the movement scene should walk the player to this scene-relative position */
5246
+ walkTarget?: PBVector3 | undefined;
5247
+ /** stop distance for walk_target; considered reached when within this distance */
5248
+ walkThreshold?: number | undefined;
5249
+ /** 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. */
5250
+ activeAnimationState?: AvatarAnimationState | undefined;
5251
+ }
5252
+
5253
+ /**
5254
+ * @public
5255
+ */
5256
+ export declare namespace PBAvatarMovementInfo {
5257
+ export function encode(message: PBAvatarMovementInfo, writer?: _m0.Writer): _m0.Writer;
5258
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarMovementInfo;
5259
+ }
5260
+
5023
5261
  /**
5024
5262
  * The AvatarShape component contains the information required to draw and animate avatar, acting as
5025
5263
  * a simplified GLTF container for this specific case.
@@ -5068,6 +5306,8 @@ export declare interface PBAvatarShape {
5068
5306
  emotes: string[];
5069
5307
  /** hides the skin + hair + facial features (default: false) */
5070
5308
  showOnlyWearables?: boolean | undefined;
5309
+ /** slots that will render even if hidden */
5310
+ forceRender: string[];
5071
5311
  }
5072
5312
 
5073
5313
  /**
@@ -5109,6 +5349,51 @@ export declare namespace PBBillboard {
5109
5349
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBBillboard;
5110
5350
  }
5111
5351
 
5352
+ /**
5353
+ * @public
5354
+ */
5355
+ export declare interface PBCameraLayer {
5356
+ /**
5357
+ * layer to which these settings apply. must be > 0
5358
+ * Layer 0 is the default "real world" layer viewed by the player and cannot be modified.
5359
+ */
5360
+ layer: number;
5361
+ /** should the sun light affect this layer? default false */
5362
+ directionalLight?: boolean | undefined;
5363
+ /** should this layer show player avatars? default false */
5364
+ showAvatars?: boolean | undefined;
5365
+ /** should this layer show the sky? default false */
5366
+ showSkybox?: boolean | undefined;
5367
+ /** should this layer show distance fog? default false */
5368
+ showFog?: boolean | undefined;
5369
+ /** ambient light overrides for this layer. default -> use same as main camera */
5370
+ ambientColorOverride?: PBColor3 | undefined;
5371
+ ambientBrightnessOverride?: number | undefined;
5372
+ }
5373
+
5374
+ /**
5375
+ * @public
5376
+ */
5377
+ export declare namespace PBCameraLayer {
5378
+ export function encode(message: PBCameraLayer, writer?: _m0.Writer): _m0.Writer;
5379
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBCameraLayer;
5380
+ }
5381
+
5382
+ /**
5383
+ * @public
5384
+ */
5385
+ export declare interface PBCameraLayers {
5386
+ layers: number[];
5387
+ }
5388
+
5389
+ /**
5390
+ * @public
5391
+ */
5392
+ export declare namespace PBCameraLayers {
5393
+ export function encode(message: PBCameraLayers, writer?: _m0.Writer): _m0.Writer;
5394
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBCameraLayers;
5395
+ }
5396
+
5112
5397
  /**
5113
5398
  * The CameraMode component can be used to determine whether the player is using a first-person o
5114
5399
  * third-person view.
@@ -5150,6 +5435,8 @@ export declare interface PBCameraModeArea {
5150
5435
  area: PBVector3 | undefined;
5151
5436
  /** the camera mode to enforce */
5152
5437
  mode: CameraType;
5438
+ /** if true, the player will be considered inside the area when they are within 0.3m of the area. default true */
5439
+ useColliderRange?: boolean | undefined;
5153
5440
  }
5154
5441
 
5155
5442
  /**
@@ -5283,6 +5570,39 @@ export declare namespace PBExplorerUiEventsResult_UiOpened {
5283
5570
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBExplorerUiEventsResult_UiOpened;
5284
5571
  }
5285
5572
 
5573
+ /**
5574
+ * defines the global scene light settings. must be added to the scene root.
5575
+ * to control sunlight color, intensity, shadows etc, you can also add a PBLight to the scene root.
5576
+ */
5577
+ /**
5578
+ * @public
5579
+ */
5580
+ export declare interface PBGlobalLight {
5581
+ /**
5582
+ * the direction the directional light shines in.
5583
+ * default depends on time of day and explorer implementation
5584
+ */
5585
+ direction?: PBVector3 | undefined;
5586
+ /**
5587
+ * ambient light color
5588
+ * default: White
5589
+ */
5590
+ ambientColor?: PBColor3 | undefined;
5591
+ /**
5592
+ * ambient light intensity. the explorer default ambient brightness is multiplied by this non-physical quantity.
5593
+ * default 1
5594
+ */
5595
+ ambientBrightness?: number | undefined;
5596
+ }
5597
+
5598
+ /**
5599
+ * @public
5600
+ */
5601
+ export declare namespace PBGlobalLight {
5602
+ export function encode(message: PBGlobalLight, writer?: _m0.Writer): _m0.Writer;
5603
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGlobalLight;
5604
+ }
5605
+
5286
5606
  /**
5287
5607
  * GltfContainer loads a GLTF file (and any additional files packaged inside) attached to an Entity.
5288
5608
  *
@@ -5318,6 +5638,25 @@ export declare namespace PBGltfContainer {
5318
5638
  */
5319
5639
  export declare interface PBGltfContainerLoadingState {
5320
5640
  currentState: LoadingState;
5641
+ /** all node paths in the gltf, which can be used with a GltfNode to inspect and modify the gltf contents */
5642
+ nodePaths: string[];
5643
+ /** all meshes in the gltf. unnamed meshes will be auto-assigned a name of the form `MeshX` or `MeshX/PrimitiveY` */
5644
+ meshNames: string[];
5645
+ /**
5646
+ * where X is the mesh index and Y is the primitive index (and there is more than 1 primitive). note this may
5647
+ * conflict with manually named meshes - to avoid any issues make sure all your meshes are explicitly named.
5648
+ */
5649
+ materialNames: string[];
5650
+ /**
5651
+ * X is the material index. note this may conflict with manually named materials - to avoid any issues make
5652
+ * sure all your materials are explicitly named.
5653
+ */
5654
+ skinNames: string[];
5655
+ /**
5656
+ * X is the skin index. note this may conflict with manually named skins - to avoid any issues make sure all
5657
+ * your skins are explicitly named.
5658
+ */
5659
+ animationNames: string[];
5321
5660
  }
5322
5661
 
5323
5662
  /**
@@ -5328,6 +5667,57 @@ export declare namespace PBGltfContainerLoadingState {
5328
5667
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfContainerLoadingState;
5329
5668
  }
5330
5669
 
5670
+ /**
5671
+ * a GltfNode links a scene entity with a node from within a gltf, allowing the scene to inspect it or modify it.
5672
+ * This component must be added to a direct child of an entity with a PBGltfContainer component, or
5673
+ * to a direct child of another entity with a GltfNode component, and the referenced gltf node must be a descendent of the gltf node
5674
+ * in the parent.
5675
+ * The name must match the path of one of the nodes within the Gltf. These are available on the GltfContainerLoadingState component.
5676
+ *
5677
+ * The renderer will attach a PBGltfNodeState to the entity describing the state. Once the state is `GNS_READY`,
5678
+ * - the `Transform` will be updated to match the position of the node within the gltf (relative to the gltf root, or the parent node),
5679
+ * - a `MeshRenderer` with a GltfMesh mesh type will be added (if the gltf node has a mesh).
5680
+ * - a `MeshCollider` with a GltfMesh mesh type will be added (if the gltf node has a collider).
5681
+ * - a `Material` component including a GltfMaterial reference will be added (if the gltf node has a material).
5682
+ *
5683
+ * After creation, if an animation moves the node, the `Transform` will be updated.
5684
+ *
5685
+ * From the scene, you can modify various components to alter the gltf node:
5686
+ * - modifying the `Transform` position/rotation/scale will move the node. The position is interpreted relative to the gltf root (or parent node),
5687
+ * regardless of any intermediate gltf node hierarchy.
5688
+ * If an animation is playing, the animation takes priority and the scene entity's position will be updated to match the animation.
5689
+ * - `Visibility` can be added to hide or show the node and it's children in the gltf hierarchy.
5690
+ * - `MeshRenderer` can be added/modified/removed to create/modify/remove a mesh on the node.
5691
+ * - `MeshCollider` can be added/modified/removed to create/modify/remove a collider on the node.
5692
+ * - `Material` can be added or modified to change the material properties. If the gltf node has a material, the original material will be
5693
+ * 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
5694
+ * PBMaterial will be maintained.
5695
+ *
5696
+ * The scene can add additional entities as children to the gltf node, but structural modifications of the gltf are not possible:
5697
+ * - changing the scene hierarchy will not change the gltf node hierarchy. Moving the entity out of the gltf will sever the link and
5698
+ * change the state to `GNS_FAILED`.
5699
+ * - deleting the scene entity will not delete the gltf node.
5700
+ *
5701
+ * Removing the GltfNode will revert any changes to the original gltf. If the GltfNode component is removed and the mesh/collider/material
5702
+ * are not removed, this will result in a duplication of these components as the previously-linked entity will retain it's components and
5703
+ * the gltf node will also be displayed.
5704
+ */
5705
+ /**
5706
+ * @public
5707
+ */
5708
+ export declare interface PBGltfNode {
5709
+ /** the path of the target node in the Gltf. */
5710
+ path: string;
5711
+ }
5712
+
5713
+ /**
5714
+ * @public
5715
+ */
5716
+ export declare namespace PBGltfNode {
5717
+ export function encode(message: PBGltfNode, writer?: _m0.Writer): _m0.Writer;
5718
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNode;
5719
+ }
5720
+
5331
5721
  /**
5332
5722
  * GltfNodeModifiers component is to be used attached to entities that have the GltfContainer component.
5333
5723
  *
@@ -5373,6 +5763,26 @@ export declare namespace PBGltfNodeModifiers_GltfNodeModifier {
5373
5763
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNodeModifiers_GltfNodeModifier;
5374
5764
  }
5375
5765
 
5766
+ /**
5767
+ * The state of a linked gltf node.
5768
+ * If the state is GNSV_FAILED, the renderer may describe the failure in the error string.
5769
+ */
5770
+ /**
5771
+ * @public
5772
+ */
5773
+ export declare interface PBGltfNodeState {
5774
+ state: GltfNodeStateValue;
5775
+ error?: string | undefined;
5776
+ }
5777
+
5778
+ /**
5779
+ * @public
5780
+ */
5781
+ export declare namespace PBGltfNodeState {
5782
+ export function encode(message: PBGltfNodeState, writer?: _m0.Writer): _m0.Writer;
5783
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNodeState;
5784
+ }
5785
+
5376
5786
  /**
5377
5787
  * @public
5378
5788
  */
@@ -5510,6 +5920,14 @@ export declare interface PBMaterial {
5510
5920
  $case: "pbr";
5511
5921
  pbr: PBMaterial_PbrMaterial;
5512
5922
  } | undefined;
5923
+ /**
5924
+ * A gltf material that may provide additional features not supported by the PbMaterial fields.
5925
+ * If both gltf and material fields are provided, the gltf will be used only for extended features not
5926
+ * supported by the PbMaterial.
5927
+ * If this is provided and the `material` field is not provided, the renderer will update the material
5928
+ * field with data that reflects the gltf material once it is loaded.
5929
+ */
5930
+ gltf?: PBMaterial_GltfMaterial | undefined;
5513
5931
  }
5514
5932
 
5515
5933
  /**
@@ -5520,6 +5938,22 @@ export declare namespace PBMaterial {
5520
5938
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMaterial;
5521
5939
  }
5522
5940
 
5941
+ /**
5942
+ * @public
5943
+ */
5944
+ export declare interface PBMaterial_GltfMaterial {
5945
+ gltfSrc: string;
5946
+ name: string;
5947
+ }
5948
+
5949
+ /**
5950
+ * @public
5951
+ */
5952
+ export declare namespace PBMaterial_GltfMaterial {
5953
+ export function encode(message: PBMaterial_GltfMaterial, writer?: _m0.Writer): _m0.Writer;
5954
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMaterial_GltfMaterial;
5955
+ }
5956
+
5523
5957
  /**
5524
5958
  * @public
5525
5959
  */
@@ -5616,6 +6050,9 @@ export declare interface PBMeshCollider {
5616
6050
  } | {
5617
6051
  $case: "plane";
5618
6052
  plane: PBMeshCollider_PlaneMesh;
6053
+ } | {
6054
+ $case: "gltf";
6055
+ gltf: PBMeshCollider_GltfMesh;
5619
6056
  } | undefined;
5620
6057
  }
5621
6058
 
@@ -5661,6 +6098,25 @@ export declare namespace PBMeshCollider_CylinderMesh {
5661
6098
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshCollider_CylinderMesh;
5662
6099
  }
5663
6100
 
6101
+ /** A collider constructed from a Gltf Mesh. */
6102
+ /**
6103
+ * @public
6104
+ */
6105
+ export declare interface PBMeshCollider_GltfMesh {
6106
+ /** the GLTF file path as listed in the scene's manifest. */
6107
+ gltfSrc: string;
6108
+ /** the name of the mesh asset */
6109
+ name: string;
6110
+ }
6111
+
6112
+ /**
6113
+ * @public
6114
+ */
6115
+ export declare namespace PBMeshCollider_GltfMesh {
6116
+ export function encode(message: PBMeshCollider_GltfMesh, writer?: _m0.Writer): _m0.Writer;
6117
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshCollider_GltfMesh;
6118
+ }
6119
+
5664
6120
  /** PlaneMesh is a 2D rectangle described by the Entity's Transform. */
5665
6121
  /**
5666
6122
  * @public
@@ -5693,13 +6149,11 @@ export declare namespace PBMeshCollider_SphereMesh {
5693
6149
 
5694
6150
  /**
5695
6151
  * The MeshRenderer component renders a basic geometric shape for an Entity. It can be a cube, a
5696
- * plane, a sphere or a cylinder.
6152
+ * plane, a sphere, a cylinder, or a Gltf mesh.
5697
6153
  *
5698
6154
  * The cube and plane variants can include a UV texture mapping, so specific areas of a material
5699
6155
  * texture are rendered on different faces of the shape. They are serialized as a sequence of 2D
5700
6156
  * `float` coordinates, one for each corner of each side of each face.
5701
- *
5702
- * More complex shapes require the use of a `GltfContainer` component.
5703
6157
  */
5704
6158
  /**
5705
6159
  * @public
@@ -5717,6 +6171,9 @@ export declare interface PBMeshRenderer {
5717
6171
  } | {
5718
6172
  $case: "plane";
5719
6173
  plane: PBMeshRenderer_PlaneMesh;
6174
+ } | {
6175
+ $case: "gltf";
6176
+ gltf: PBMeshRenderer_GltfMesh;
5720
6177
  } | undefined;
5721
6178
  }
5722
6179
 
@@ -5764,6 +6221,25 @@ export declare namespace PBMeshRenderer_CylinderMesh {
5764
6221
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshRenderer_CylinderMesh;
5765
6222
  }
5766
6223
 
6224
+ /** A mesh from a Gltf. */
6225
+ /**
6226
+ * @public
6227
+ */
6228
+ export declare interface PBMeshRenderer_GltfMesh {
6229
+ /** the GLTF file path as listed in the scene's manifest. */
6230
+ gltfSrc: string;
6231
+ /** the name of the mesh asset */
6232
+ name: string;
6233
+ }
6234
+
6235
+ /**
6236
+ * @public
6237
+ */
6238
+ export declare namespace PBMeshRenderer_GltfMesh {
6239
+ export function encode(message: PBMeshRenderer_GltfMesh, writer?: _m0.Writer): _m0.Writer;
6240
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshRenderer_GltfMesh;
6241
+ }
6242
+
5767
6243
  /** PlaneMesh renders a 2D rectangular shape. */
5768
6244
  /**
5769
6245
  * @public
@@ -6180,27 +6656,24 @@ export declare namespace PBPlayerIdentityData {
6180
6656
  * --------------
6181
6657
  * PointerEvents can enforce interaction range using two independent distance checks:
6182
6658
  *
6183
- * - Player distance (`max_distance`): distance from the avatar/player position to the target entity.
6184
- * - Camera distance (`max_camera_distance`): distance from the active camera to the target entity.
6185
- *
6186
- * `max_player_distance` is deprecated: it is an alias for `max_distance` (both are player distance).
6187
- * If both are present, the larger of the two is used as the player distance threshold.
6659
+ * - Camera distance (`max_distance`): distance from the active camera to the target entity.
6660
+ * - Player distance (`max_player_distance`): distance from the avatar/player position to the target entity.
6188
6661
  *
6189
6662
  * How the interaction checks are combined:
6190
6663
  *
6191
6664
  * 1) Only `max_distance` is present
6192
- * - The interaction is allowed only if the player distance is <= `max_distance`.
6665
+ * - The interaction is allowed only if the camera distance is <= `max_distance`.
6193
6666
  *
6194
- * 2) Only `max_camera_distance` is present
6195
- * - The interaction is allowed only if the camera distance is <= `max_camera_distance`.
6667
+ * 2) Only `max_player_distance` is present
6668
+ * - The interaction is allowed only if the player distance is <= `max_player_distance`.
6196
6669
  *
6197
- * 3) Both `max_distance` and `max_camera_distance` are present
6670
+ * 3) Both `max_distance` and `max_player_distance` are present
6198
6671
  * - The interaction is allowed if ANY of the checks passes (OR logic):
6199
- * (player distance <= `max_distance`) OR (camera distance <= `max_camera_distance`).
6672
+ * (camera distance <= `max_distance`) OR (player distance <= `max_player_distance`).
6200
6673
  *
6201
- * 4) Neither `max_distance` nor `max_camera_distance` is present
6674
+ * 4) Neither `max_distance` nor `max_player_distance` is present
6202
6675
  * - The system behaves as if `max_distance` were set to its default value (10),
6203
- * i.e., it uses the player distance check with a threshold of 10.
6676
+ * i.e., it uses the camera distance check with a threshold of 10.
6204
6677
  */
6205
6678
  /**
6206
6679
  * @public
@@ -6246,18 +6719,16 @@ export declare interface PBPointerEvents_Info {
6246
6719
  button?: InputAction | undefined;
6247
6720
  /** feedback on hover (default 'Interact') */
6248
6721
  hoverText?: string | undefined;
6249
- /** range of interaction from the avatar's position (default 10) */
6722
+ /** range of interaction (default 10) */
6250
6723
  maxDistance?: number | undefined;
6251
6724
  /** enable or disable hover text and highlight (default true) */
6252
6725
  showFeedback?: boolean | undefined;
6253
6726
  /** enable or disable hover highlight (default true) */
6254
6727
  showHighlight?: boolean | undefined;
6255
- /** @deprecated use `max_distance` instead (same semantics) */
6728
+ /** range of interaction from the avatar's position (default 0) */
6256
6729
  maxPlayerDistance?: number | undefined;
6257
6730
  /** resolution order when multiple events overlap, higher wins (default 0) */
6258
6731
  priority?: number | undefined;
6259
- /** range of interaction from the active camera's position (default none) */
6260
- maxCameraDistance?: number | undefined;
6261
6732
  }
6262
6733
 
6263
6734
  /**
@@ -6360,7 +6831,10 @@ export declare interface PBPrimaryPointerInfo {
6360
6831
  screenCoordinates?: PBVector2 | undefined;
6361
6832
  /** Movement since last frame (pixels) */
6362
6833
  screenDelta?: PBVector2 | undefined;
6363
- /** Direction vector for 3D ray casting */
6834
+ /**
6835
+ * ray direction that can be used with the primary camera origin for
6836
+ * raycasting from the cursor into the world
6837
+ */
6364
6838
  worldRayDirection?: PBVector3 | undefined;
6365
6839
  }
6366
6840
 
@@ -6431,6 +6905,10 @@ export declare interface PBRaycast {
6431
6905
  continuous?: boolean | undefined;
6432
6906
  /** Collision mask, by default CL_POINTER | CL_PHYSICS */
6433
6907
  collisionMask?: number | undefined;
6908
+ /** shape to cast, default ray */
6909
+ shape?: RaycastShape | undefined;
6910
+ /** include hits with entities from other scenes */
6911
+ includeWorld?: boolean | undefined;
6434
6912
  }
6435
6913
 
6436
6914
  /**
@@ -6586,6 +7064,46 @@ export declare namespace PBTextShape {
6586
7064
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBTextShape;
6587
7065
  }
6588
7066
 
7067
+ /**
7068
+ * @public
7069
+ */
7070
+ export declare interface PBTextureCamera {
7071
+ /** rendered texture width */
7072
+ width?: number | undefined;
7073
+ /** rendered texture height */
7074
+ height?: number | undefined;
7075
+ /**
7076
+ * which layer of entities to render. entity layers can be specified by adding PBCameraLayers to target entities.
7077
+ * defaults to 0
7078
+ */
7079
+ layer?: number | undefined;
7080
+ /** default black */
7081
+ clearColor?: PBColor4 | undefined;
7082
+ /** default infinity */
7083
+ farPlane?: number | undefined;
7084
+ mode?: {
7085
+ $case: "perspective";
7086
+ perspective: Perspective;
7087
+ } | {
7088
+ $case: "orthographic";
7089
+ orthographic: Orthographic;
7090
+ } | undefined;
7091
+ /**
7092
+ * controls whether this camera acts as a receiver for audio on sources with matching `PBCameraLayers`.
7093
+ * range: 0 (off) - 1 (full volume)
7094
+ * default: 0
7095
+ */
7096
+ volume?: number | undefined;
7097
+ }
7098
+
7099
+ /**
7100
+ * @public
7101
+ */
7102
+ export declare namespace PBTextureCamera {
7103
+ export function encode(message: PBTextureCamera, writer?: _m0.Writer): _m0.Writer;
7104
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBTextureCamera;
7105
+ }
7106
+
6589
7107
  /**
6590
7108
  * The TouchScreenControls component lets a scene configure the native on-screen touch
6591
7109
  * controls (the mobile joystick + gamepad). It must be set on the RootEntity.
@@ -6831,6 +7349,25 @@ export declare namespace PBUiBackground {
6831
7349
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiBackground;
6832
7350
  }
6833
7351
 
7352
+ /** The UiCanvas component can be attached to a ui root entity to specify properties of the ui texture. */
7353
+ /**
7354
+ * @public
7355
+ */
7356
+ export declare interface PBUiCanvas {
7357
+ width: number;
7358
+ height: number;
7359
+ /** default = (0.0, 0.0, 0.0, 0.0) / transparent */
7360
+ color?: PBColor4 | undefined;
7361
+ }
7362
+
7363
+ /**
7364
+ * @public
7365
+ */
7366
+ export declare namespace PBUiCanvas {
7367
+ export function encode(message: PBUiCanvas, writer?: _m0.Writer): _m0.Writer;
7368
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiCanvas;
7369
+ }
7370
+
6834
7371
  /** This component is created by the renderer and used by the scenes to know the resolution of the UI canvas */
6835
7372
  /**
6836
7373
  * @public
@@ -6928,6 +7465,10 @@ export declare interface PBUiInput {
6928
7465
  /** default=10 */
6929
7466
  fontSize?: number | undefined;
6930
7467
  value?: string | undefined;
7468
+ /** default=false; when true, the input accepts newlines and behaves as a textarea */
7469
+ multiLine?: boolean | undefined;
7470
+ /** default=true; when false, the input value is preserved after pressing Enter */
7471
+ clearOnSubmit?: boolean | undefined;
6931
7472
  }
6932
7473
 
6933
7474
  /**
@@ -6991,6 +7532,21 @@ export declare namespace PBUiInputResult {
6991
7532
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiInputResult;
6992
7533
  }
6993
7534
 
7535
+ /**
7536
+ * @public
7537
+ */
7538
+ export declare interface PBUiScrollResult {
7539
+ value: PBVector2 | undefined;
7540
+ }
7541
+
7542
+ /**
7543
+ * @public
7544
+ */
7545
+ export declare namespace PBUiScrollResult {
7546
+ export function encode(message: PBUiScrollResult, writer?: _m0.Writer): _m0.Writer;
7547
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiScrollResult;
7548
+ }
7549
+
6994
7550
  /**
6995
7551
  * @public
6996
7552
  */
@@ -7134,6 +7690,12 @@ export declare interface PBUiTransform {
7134
7690
  borderRightColor?: PBColor4 | undefined;
7135
7691
  /** default: 1 */
7136
7692
  opacity?: number | undefined;
7693
+ /** reference for scroll_position. default empty */
7694
+ elementId?: string | undefined;
7695
+ /** default position=(0,0) */
7696
+ scrollPosition?: ScrollPositionValue | undefined;
7697
+ /** default ShowScrollBar.SSB_BOTH */
7698
+ scrollVisible?: ShowScrollBar | undefined;
7137
7699
  /** default: 0 — controls render stacking order. Higher values appear in front of lower values. */
7138
7700
  zIndex?: number | undefined;
7139
7701
  }
@@ -7286,6 +7848,25 @@ export declare namespace PBVisibilityComponent {
7286
7848
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBVisibilityComponent;
7287
7849
  }
7288
7850
 
7851
+ /**
7852
+ * @public
7853
+ */
7854
+ export declare interface Perspective {
7855
+ /**
7856
+ * vertical field of view in radians
7857
+ * defaults to pi/4 = 45 degrees
7858
+ */
7859
+ fieldOfView?: number | undefined;
7860
+ }
7861
+
7862
+ /**
7863
+ * @public
7864
+ */
7865
+ export declare namespace Perspective {
7866
+ export function encode(message: Perspective, writer?: _m0.Writer): _m0.Writer;
7867
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): Perspective;
7868
+ }
7869
+
7289
7870
  /**
7290
7871
  * @public
7291
7872
  * Physics helpers for applying impulses and forces to the player.
@@ -7527,6 +8108,24 @@ export declare interface PointerEventsSystem {
7527
8108
  * @param entity - Entity where the callback was attached
7528
8109
  */
7529
8110
  removeOnPointerHoverLeave(entity: Entity): void;
8111
+ /**
8112
+ * @public
8113
+ * Remove the callback for onPointerDrag event
8114
+ * @param entity - Entity where the callback was attached
8115
+ */
8116
+ removeOnPointerDrag(entity: Entity): void;
8117
+ /**
8118
+ * @public
8119
+ * Remove the callback for onPointerDragLocked event
8120
+ * @param entity - Entity where the callback was attached
8121
+ */
8122
+ removeOnPointerDragLocked(entity: Entity): void;
8123
+ /**
8124
+ * @public
8125
+ * Remove the callback for onPointerDragEnd event
8126
+ * @param entity - Entity where the callback was attached
8127
+ */
8128
+ removeOnPointerDragEnd(entity: Entity): void;
7530
8129
  /**
7531
8130
  * @public
7532
8131
  * Remove the callback for onProximityDown event
@@ -7605,6 +8204,36 @@ export declare interface PointerEventsSystem {
7605
8204
  entity: Entity;
7606
8205
  opts?: Partial<EventSystemOptions>;
7607
8206
  }, cb: EventSystemCallback): void;
8207
+ /**
8208
+ * @public
8209
+ * Execute callback while the user holds the button pressed and moves the pointer, having pressed it on the entity
8210
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
8211
+ * @param cb - Function to execute on every drag update
8212
+ */
8213
+ onPointerDrag(pointerData: {
8214
+ entity: Entity;
8215
+ opts?: Partial<EventSystemOptions>;
8216
+ }, cb: EventSystemCallback): void;
8217
+ /**
8218
+ * @public
8219
+ * Same as onPointerDrag, but the cursor is locked in place for the duration of the drag
8220
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
8221
+ * @param cb - Function to execute on every drag update
8222
+ */
8223
+ onPointerDragLocked(pointerData: {
8224
+ entity: Entity;
8225
+ opts?: Partial<EventSystemOptions>;
8226
+ }, cb: EventSystemCallback): void;
8227
+ /**
8228
+ * @public
8229
+ * Execute callback when the user releases the button after a drag that started on the entity
8230
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
8231
+ * @param cb - Function to execute when the drag ends
8232
+ */
8233
+ onPointerDragEnd(pointerData: {
8234
+ entity: Entity;
8235
+ opts?: Partial<EventSystemOptions>;
8236
+ }, cb: EventSystemCallback): void;
7608
8237
  /**
7609
8238
  * @public
7610
8239
  * Execute callback when the user presses the proximity button on the entity
@@ -7663,7 +8292,10 @@ export declare const enum PointerEventType {
7663
8292
  PET_HOVER_ENTER = 2,
7664
8293
  PET_HOVER_LEAVE = 3,
7665
8294
  PET_PROXIMITY_ENTER = 4,
7666
- PET_PROXIMITY_LEAVE = 5
8295
+ PET_PROXIMITY_LEAVE = 5,
8296
+ PET_DRAG_LOCKED = 6,
8297
+ PET_DRAG = 7,
8298
+ PET_DRAG_END = 8
7667
8299
  }
7668
8300
 
7669
8301
  /**
@@ -7694,7 +8326,10 @@ export declare const enum PointerType {
7694
8326
  /** POT_NONE - No pointer input */
7695
8327
  POT_NONE = 0,
7696
8328
  /** POT_MOUSE - Traditional mouse input */
7697
- POT_MOUSE = 1
8329
+ POT_MOUSE = 1,
8330
+ POT_PAD = 2,
8331
+ POT_TOUCH = 3,
8332
+ POT_WAND = 4
7698
8333
  }
7699
8334
 
7700
8335
  /**
@@ -8151,6 +8786,16 @@ export declare const enum RaycastQueryType {
8151
8786
  /** @public */
8152
8787
  export declare const RaycastResult: LastWriteWinElementSetComponentDefinition<PBRaycastResult>;
8153
8788
 
8789
+ /**
8790
+ * @public
8791
+ */
8792
+ export declare const enum RaycastShape {
8793
+ /** RS_RAY - cast a point, get collisions along a ray */
8794
+ RS_RAY = 0,
8795
+ /** RS_AVATAR - cast the avatar collider shape, get collisions from sweeping the shape */
8796
+ RS_AVATAR = 1
8797
+ }
8798
+
8154
8799
  /**
8155
8800
  * @public
8156
8801
  */
@@ -8283,6 +8928,10 @@ export declare type RaycastSystemOptions = {
8283
8928
  queryType: RaycastQueryType;
8284
8929
  continuous?: boolean | undefined;
8285
8930
  collisionMask?: number | undefined;
8931
+ /** shape to sweep along the ray, default RS_RAY (a point) */
8932
+ shape?: RaycastShape | undefined;
8933
+ /** include colliders from other scenes, default false */
8934
+ includeWorld?: boolean | undefined;
8286
8935
  };
8287
8936
 
8288
8937
  /**
@@ -8331,6 +8980,20 @@ export declare interface ReactBasedUiSystem {
8331
8980
  * @param entity - The entity whose UI renderer should be removed
8332
8981
  */
8333
8982
  removeUiRenderer(entity: Entity): void;
8983
+ /**
8984
+ * Render a UI tree to a texture. The tree is rooted at `entity`, which must carry a UiCanvas
8985
+ * describing the texture; the result can be sampled through `TextureUnion.uiTexture`. Replaces
8986
+ * any texture renderer already set on the entity, and is torn down when the entity is removed.
8987
+ *
8988
+ * @param entity - The UiCanvas entity the UI tree hangs from
8989
+ * @param ui - The UI component to render
8990
+ */
8991
+ setTextureRenderer(entity: Entity, ui: UiComponent): void;
8992
+ /**
8993
+ * Remove a texture renderer previously set with setTextureRenderer(), destroying its entities.
8994
+ * @param entity - The UiCanvas entity the renderer was set on
8995
+ */
8996
+ removeTextureRenderer(entity: Entity): void;
8334
8997
  }
8335
8998
 
8336
8999
  /**
@@ -8921,6 +9584,33 @@ export declare namespace Schemas {
8921
9584
  */
8922
9585
  export declare function ScreenInsetArea(props: UiScreenInsetAreaProps): ReactEcs.JSX.Element;
8923
9586
 
9587
+ /**
9588
+ * @public
9589
+ */
9590
+ export declare interface ScrollPositionValue {
9591
+ value?: {
9592
+ $case: "position";
9593
+ position: PBVector2;
9594
+ } | {
9595
+ $case: "reference";
9596
+ reference: string;
9597
+ } | undefined;
9598
+ }
9599
+
9600
+ /**
9601
+ * @public
9602
+ */
9603
+ export declare namespace ScrollPositionValue {
9604
+ export function encode(message: ScrollPositionValue, writer?: _m0.Writer): _m0.Writer;
9605
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): ScrollPositionValue;
9606
+ }
9607
+
9608
+ /**
9609
+ * Which scrollbars are shown when the overflow is scrollable
9610
+ * @public
9611
+ */
9612
+ export declare type ScrollVisibleType = 'horizontal' | 'vertical' | 'both' | 'hidden';
9613
+
8924
9614
  /**
8925
9615
  * Register the composite provider used to resolve composite files. Also registers
8926
9616
  * any `provider.schemas` on the engine pre-seal so composites that reference those
@@ -8946,6 +9636,16 @@ export declare interface SetMoveRotateScaleParams extends MoveRotateScaleModePar
8946
9636
  easingFunction?: EasingFunction;
8947
9637
  }
8948
9638
 
9639
+ /**
9640
+ * @public
9641
+ */
9642
+ export declare const enum ShowScrollBar {
9643
+ SSB_BOTH = 0,
9644
+ SSB_ONLY_VERTICAL = 1,
9645
+ SSB_ONLY_HORIZONTAL = 2,
9646
+ SSB_HIDDEN = 3
9647
+ }
9648
+
8949
9649
  /** @public */
8950
9650
  export declare const SkyboxTime: LastWriteWinElementSetComponentDefinition<PBSkyboxTime>;
8951
9651
 
@@ -9057,6 +9757,9 @@ export declare namespace Texture {
9057
9757
  export function decode(input: _m0.Reader | Uint8Array, length?: number): Texture;
9058
9758
  }
9059
9759
 
9760
+ /** @public */
9761
+ export declare const TextureCamera: LastWriteWinElementSetComponentDefinition<PBTextureCamera>;
9762
+
9060
9763
  /**
9061
9764
  * @public
9062
9765
  */
@@ -9167,6 +9870,9 @@ export declare interface TextureUnion {
9167
9870
  } | {
9168
9871
  $case: "videoTexture";
9169
9872
  videoTexture: VideoTexture;
9873
+ } | {
9874
+ $case: "uiTexture";
9875
+ uiTexture: UiCanvasTexture;
9170
9876
  } | undefined;
9171
9877
  }
9172
9878
 
@@ -9705,6 +10411,8 @@ export declare interface UiBackgroundProps {
9705
10411
  uvs?: number[];
9706
10412
  /** AvatarTexture for the background */
9707
10413
  avatarTexture?: UiAvatarTexture;
10414
+ /** VideoTexture for the background: the frames of a VideoPlayer on another entity */
10415
+ videoTexture?: UiVideoTexture;
9708
10416
  /** Texture for the background */
9709
10417
  texture?: UiTexture;
9710
10418
  }
@@ -9724,9 +10432,31 @@ export declare interface UiButtonProps extends UiLabelProps, EntityPropTypes {
9724
10432
  disabled?: boolean;
9725
10433
  }
9726
10434
 
10435
+ /** @public */
10436
+ export declare const UiCanvas: LastWriteWinElementSetComponentDefinition<PBUiCanvas>;
10437
+
9727
10438
  /** @public */
9728
10439
  export declare const UiCanvasInformation: LastWriteWinElementSetComponentDefinition<PBUiCanvasInformation>;
9729
10440
 
10441
+ /**
10442
+ * @public
10443
+ */
10444
+ export declare interface UiCanvasTexture {
10445
+ uiCanvasEntity: number;
10446
+ /** default = TextureWrapMode.Clamp */
10447
+ wrapMode?: TextureWrapMode | undefined;
10448
+ /** default = FilterMode.Bilinear */
10449
+ filterMode?: TextureFilterMode | undefined;
10450
+ }
10451
+
10452
+ /**
10453
+ * @public
10454
+ */
10455
+ export declare namespace UiCanvasTexture {
10456
+ export function encode(message: UiCanvasTexture, writer?: _m0.Writer): _m0.Writer;
10457
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): UiCanvasTexture;
10458
+ }
10459
+
9730
10460
  /**
9731
10461
  * @public
9732
10462
  */
@@ -9879,6 +10609,9 @@ export declare type UiScreenInsetAreaProps = Omit<EntityPropTypes, 'uiTransform'
9879
10609
  uiTransform?: Omit<NonNullable<EntityPropTypes['uiTransform']>, 'positionType' | 'position'>;
9880
10610
  };
9881
10611
 
10612
+ /** @public */
10613
+ export declare const UiScrollResult: LastWriteWinElementSetComponentDefinition<PBUiScrollResult>;
10614
+
9882
10615
  /** @public */
9883
10616
  export declare const UiText: LastWriteWinElementSetComponentDefinition<PBUiText>;
9884
10617
 
@@ -9958,6 +10691,22 @@ export declare interface UiTransformProps {
9958
10691
  opacity?: number;
9959
10692
  /** default 0 */
9960
10693
  zIndex?: number;
10694
+ /** A reference id for the element, e.g. as a scrollPosition target or for SetUiFocus. default empty */
10695
+ elementId?: string;
10696
+ /** Scroll offset when overflow is 'scroll': a position, or the elementId of a child to scroll to. default (0, 0) */
10697
+ scrollPosition?: PBVector2 | string;
10698
+ /** Which scrollbars to show when overflow is 'scroll'. default 'both' */
10699
+ scrollVisible?: ScrollVisibleType;
10700
+ }
10701
+
10702
+ /**
10703
+ * Video Texture
10704
+ * @public
10705
+ */
10706
+ export declare interface UiVideoTexture {
10707
+ videoPlayerEntity: Entity;
10708
+ wrapMode?: TextureWrapType;
10709
+ filterMode?: TextureFilterType;
9961
10710
  }
9962
10711
 
9963
10712
  /**