@dcl/playground-assets 7.29.1-35862852104.commit-1f44e80 → 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.
@@ -245,42 +245,6 @@ export declare interface AudioStreamComponentDefinitionExtended extends LastWrit
245
245
  getAudioState(entity: Entity): PBAudioEvent | undefined;
246
246
  }
247
247
 
248
- /**
249
- * @public
250
- */
251
- export declare type AuthoritativePutComponentMessage = CrdtMessageHeader & AuthoritativePutComponentMessageBody;
252
-
253
- /**
254
- * Server authoritative message - identical to PutComponentMessageBody but with forced processing
255
- * Min. length = header (8 bytes) + 16 bytes = 24 bytes
256
- *
257
- * @param entity - Uint32 number of the entity
258
- * @param componentId - Uint32 number of id
259
- * @param timestamp - Uint32 Lamport timestamp (server's authoritative timestamp)
260
- * @param data - Uint8[] data of component => length(4 bytes) + block of bytes[0..length-1]
261
- * @public
262
- */
263
- export declare type AuthoritativePutComponentMessageBody = {
264
- type: CrdtMessageType.AUTHORITATIVE_PUT_COMPONENT;
265
- entityId: Entity;
266
- componentId: number;
267
- timestamp: number;
268
- data: Uint8Array;
269
- };
270
-
271
- /**
272
- * @public
273
- */
274
- export declare namespace AuthoritativePutComponentOperation {
275
- const MESSAGE_HEADER_LENGTH = 16;
276
- /**
277
- * Call this function for an optimal writing data passing the ByteBuffer
278
- * already allocated
279
- */
280
- export function write(entity: Entity, timestamp: number, componentId: number, data: Uint8Array, buf: ByteBuffer): void;
281
- export function read(buf: ByteBuffer): AuthoritativePutComponentMessage | null;
282
- }
283
-
284
248
  /** AvatarAnchorPointType determines the part of the avatar's body that anchors the Entity. */
285
249
  /**
286
250
  * @public
@@ -315,6 +279,39 @@ export declare const enum AvatarAnchorPointType {
315
279
  AAPT_RIGHT_TOE_BASE = 25
316
280
  }
317
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
+
318
315
  /** @public */
319
316
  export declare const AvatarAttach: LastWriteWinElementSetComponentDefinition<PBAvatarAttach>;
320
317
 
@@ -324,8 +321,21 @@ export declare const AvatarBase: LastWriteWinElementSetComponentDefinition<PBAva
324
321
  /** @public */
325
322
  export declare const AvatarEmoteCommand: GrowOnlyValueSetComponentDefinition<PBAvatarEmoteCommand>;
326
323
 
327
- /** @public */
328
- 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
+ };
329
339
 
330
340
  /** @public */
331
341
  export declare const AvatarLocomotionSettings: LastWriteWinElementSetComponentDefinition<PBAvatarLocomotionSettings>;
@@ -355,10 +365,29 @@ export declare const enum AvatarModifierType {
355
365
  }
356
366
 
357
367
  /** @public */
358
- export declare const AvatarNametag: LastWriteWinElementSetComponentDefinition<PBAvatarNametag>;
368
+ export declare const AvatarMovement: LastWriteWinElementSetComponentDefinition<PBAvatarMovement>;
359
369
 
360
370
  /** @public */
361
- 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
+ };
362
391
 
363
392
  /**
364
393
  * @public
@@ -456,22 +485,6 @@ export declare interface BaseComponent<T> {
456
485
  * If the value is undefined, the component was deleted.
457
486
  */
458
487
  onChange(entity: Entity, cb: (value: T | undefined) => void): void;
459
- /**
460
- * @public
461
- *
462
- */
463
- validateBeforeChange(entity: Entity, cb: ValidateCallback<T>): void;
464
- validateBeforeChange(cb: ValidateCallback<T>): void;
465
- /**
466
- * Get the CRDT state for an entity (serialized data and timestamp)
467
- * @param entity - Entity to get the CRDT state for
468
- * @returns Object with serialized data and timestamp, or null if entity doesn't have the component
469
- * @public
470
- */
471
- getCrdtState(entity: Entity): {
472
- data: Uint8Array;
473
- timestamp: number;
474
- } | null;
475
488
  }
476
489
 
477
490
  /** @public */
@@ -643,10 +656,17 @@ export declare interface ByteBuffer {
643
656
  }
644
657
 
645
658
  /**
646
- * 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.
647
661
  * @public
648
662
  */
649
- 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>;
650
670
 
651
671
  /** @public */
652
672
  export declare const CameraMode: LastWriteWinElementSetComponentDefinition<PBCameraMode>;
@@ -1499,16 +1519,23 @@ export declare const componentDefinitionByName: {
1499
1519
  "core::AvatarEquippedData": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarEquippedData>>;
1500
1520
  "core::AvatarLocomotionSettings": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarLocomotionSettings>>;
1501
1521
  "core::AvatarModifierArea": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarModifierArea>>;
1522
+ "core::AvatarMovement": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarMovement>>;
1523
+ "core::AvatarMovementInfo": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarMovementInfo>>;
1502
1524
  "core::AvatarNametag": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarNametag>>;
1503
1525
  "core::AvatarShape": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBAvatarShape>>;
1504
1526
  "core::Billboard": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBBillboard>>;
1527
+ "core::CameraLayer": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraLayer>>;
1528
+ "core::CameraLayers": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraLayers>>;
1505
1529
  "core::CameraMode": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraMode>>;
1506
1530
  "core::CameraModeArea": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBCameraModeArea>>;
1507
1531
  "core::EngineInfo": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBEngineInfo>>;
1508
1532
  "core::ExplorerUiEventsResult": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBExplorerUiEventsResult>>;
1533
+ "core::GlobalLight": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGlobalLight>>;
1509
1534
  "core::GltfContainer": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainer>>;
1510
1535
  "core::GltfContainerLoadingState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>>;
1536
+ "core::GltfNode": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNode>>;
1511
1537
  "core::GltfNodeModifiers": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNodeModifiers>>;
1538
+ "core::GltfNodeState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNodeState>>;
1512
1539
  "core::InputModifier": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBInputModifier>>;
1513
1540
  "core::LightSource": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBLightSource>>;
1514
1541
  "core::MainCamera": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMainCamera>>;
@@ -1529,6 +1556,7 @@ export declare const componentDefinitionByName: {
1529
1556
  "core::RealmInfo": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBRealmInfo>>;
1530
1557
  "core::SkyboxTime": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBSkyboxTime>>;
1531
1558
  "core::TextShape": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTextShape>>;
1559
+ "core::TextureCamera": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTextureCamera>>;
1532
1560
  "core::TouchScreenControls": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTouchScreenControls>>;
1533
1561
  "core::TriggerArea": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTriggerArea>>;
1534
1562
  "core::TriggerAreaResult": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBTriggerAreaResult>>;
@@ -1536,12 +1564,14 @@ export declare const componentDefinitionByName: {
1536
1564
  "core::TweenSequence": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTweenSequence>>;
1537
1565
  "core::TweenState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTweenState>>;
1538
1566
  "core::UiBackground": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiBackground>>;
1567
+ "core::UiCanvas": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiCanvas>>;
1539
1568
  "core::UiCanvasInformation": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiCanvasInformation>>;
1540
1569
  "core::UiDropdown": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiDropdown>>;
1541
1570
  "core::UiDropdownResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiDropdownResult>>;
1542
1571
  "core::UiInput": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiInput>>;
1543
1572
  "core::UiInputBinding": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiInputBinding>>;
1544
1573
  "core::UiInputResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiInputResult>>;
1574
+ "core::UiScrollResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiScrollResult>>;
1545
1575
  "core::UiText": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiText>>;
1546
1576
  "core::UiTransform": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiTransform>>;
1547
1577
  "core::VideoEvent": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBVideoEvent>>;
@@ -1714,12 +1744,12 @@ export declare const CRDT_MESSAGE_HEADER_LENGTH = 8;
1714
1744
  /**
1715
1745
  * @public
1716
1746
  */
1717
- export declare type CrdtMessage = PutComponentMessage | AuthoritativePutComponentMessage | DeleteComponentMessage | AppendValueMessage | DeleteEntityMessage | PutNetworkComponentMessage | DeleteComponentNetworkMessage | DeleteEntityNetworkMessage;
1747
+ export declare type CrdtMessage = PutComponentMessage | DeleteComponentMessage | AppendValueMessage | DeleteEntityMessage | PutNetworkComponentMessage | DeleteComponentNetworkMessage | DeleteEntityNetworkMessage;
1718
1748
 
1719
1749
  /**
1720
1750
  * @public
1721
1751
  */
1722
- export declare type CrdtMessageBody = PutComponentMessageBody | AuthoritativePutComponentMessageBody | DeleteComponentMessageBody | DeleteEntityMessageBody | AppendValueMessageBody | CrdtNetworkMessageBody;
1752
+ export declare type CrdtMessageBody = PutComponentMessageBody | DeleteComponentMessageBody | DeleteEntityMessageBody | AppendValueMessageBody | CrdtNetworkMessageBody;
1723
1753
 
1724
1754
  /**
1725
1755
  * Min length = 8 bytes
@@ -1774,8 +1804,7 @@ export declare enum CrdtMessageType {
1774
1804
  PUT_COMPONENT_NETWORK = 5,
1775
1805
  DELETE_COMPONENT_NETWORK = 6,
1776
1806
  DELETE_ENTITY_NETWORK = 7,
1777
- AUTHORITATIVE_PUT_COMPONENT = 8,
1778
- MAX_MESSAGE_TYPE = 9
1807
+ MAX_MESSAGE_TYPE = 8
1779
1808
  }
1780
1809
 
1781
1810
  /**
@@ -1783,8 +1812,6 @@ export declare enum CrdtMessageType {
1783
1812
  */
1784
1813
  export declare type CrdtNetworkMessageBody = PutNetworkComponentMessageBody | DeleteComponentNetworkMessageBody | DeleteEntityNetworkMessageBody;
1785
1814
 
1786
- export declare const CreatedBy: ICreatedBy;
1787
-
1788
1815
  /**
1789
1816
  * @public
1790
1817
  */
@@ -2164,6 +2191,9 @@ export declare type EntityComponents = {
2164
2191
  onMouseUp: Callback;
2165
2192
  onMouseEnter: Callback;
2166
2193
  onMouseLeave: Callback;
2194
+ onMouseDrag: Callback;
2195
+ onMouseDragLocked: Callback;
2196
+ onMouseDragEnd: Callback;
2167
2197
  };
2168
2198
 
2169
2199
  /** @public */
@@ -2518,6 +2548,9 @@ export declare type GlobalDirectionRaycastSystemOptions = {
2518
2548
  direction?: PBVector3;
2519
2549
  };
2520
2550
 
2551
+ /** @public */
2552
+ export declare const GlobalLight: LastWriteWinElementSetComponentDefinition<PBGlobalLight>;
2553
+
2521
2554
  export declare type GlobalTargetRaycastOptions = RaycastSystemOptions & GlobalTargetRaycastSystemOptions;
2522
2555
 
2523
2556
  export declare type GlobalTargetRaycastSystemOptions = {
@@ -2530,9 +2563,24 @@ export declare const GltfContainer: LastWriteWinElementSetComponentDefinition<PB
2530
2563
  /** @public */
2531
2564
  export declare const GltfContainerLoadingState: LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>;
2532
2565
 
2566
+ /** @public */
2567
+ export declare const GltfNode: LastWriteWinElementSetComponentDefinition<PBGltfNode>;
2568
+
2533
2569
  /** @public */
2534
2570
  export declare const GltfNodeModifiers: LastWriteWinElementSetComponentDefinition<PBGltfNodeModifiers>;
2535
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
+
2536
2584
  /**
2537
2585
  * @public
2538
2586
  */
@@ -2556,12 +2604,6 @@ export declare interface GrowOnlyValueSetComponentDefinition<T> extends BaseComp
2556
2604
 
2557
2605
  export declare type GSetComponentGetter<T extends GrowOnlyValueSetComponentDefinition<any>> = (engine: Pick<IEngine, 'defineValueSetComponentFromSchema'>) => T;
2558
2606
 
2559
- export declare type ICreatedBy = LastWriteWinElementSetComponentDefinition<ICreatedByType>;
2560
-
2561
- export declare interface ICreatedByType {
2562
- address: string;
2563
- }
2564
-
2565
2607
  /**
2566
2608
  * @public
2567
2609
  */
@@ -2816,10 +2858,6 @@ export declare interface IEvents {
2816
2858
  sender: string;
2817
2859
  message: string;
2818
2860
  };
2819
- /** Triggered when the player switches the client language. `locale` is a BCP-47 tag */
2820
- localeChanged: {
2821
- locale: string;
2822
- };
2823
2861
  /**
2824
2862
  * This is triggered once the scene should start.
2825
2863
  */
@@ -3039,35 +3077,6 @@ export declare const enum InteractionType {
3039
3077
  PROXIMITY = 1
3040
3078
  }
3041
3079
 
3042
- /**
3043
- * Internal component interface that exposes all internal methods for SDK use
3044
- * This is not exposed to users, only for internal SDK operations
3045
- */
3046
- export declare interface InternalBaseComponent<T> extends BaseComponent<T> {
3047
- /**
3048
- * @public
3049
- * Dry run update to check if a CRDT message would be accepted without actually applying it
3050
- */
3051
- __dry_run_updateFromCrdt(body: CrdtMessageBody): ProcessMessageResultType;
3052
- /**
3053
- * @public
3054
- * Get the iterator to every entity has the component
3055
- */
3056
- iterator(): Iterable<[Entity, any]>;
3057
- /**
3058
- * @public
3059
- */
3060
- dirtyIterator(): Iterable<Entity>;
3061
- /**
3062
- * @public
3063
- */
3064
- __onChangeCallbacks(entity: Entity, value: T): void;
3065
- /**
3066
- * @public
3067
- */
3068
- __run_validateBeforeChange(entity: Entity, newValue: T | undefined, senderAddress: string, createdBy: string): boolean;
3069
- }
3070
-
3071
3080
  /**
3072
3081
  * @public
3073
3082
  */
@@ -3271,6 +3280,12 @@ export declare type Listeners = {
3271
3280
  onMouseEnter?: Callback;
3272
3281
  /** triggered on mouse leave event */
3273
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;
3274
3289
  };
3275
3290
 
3276
3291
  /**
@@ -4175,6 +4190,15 @@ export declare interface MeshColliderComponentDefinitionExtended extends LastWri
4175
4190
  * @param colliderMask - the set of layer where the collider reacts, default: Physics and Pointer
4176
4191
  */
4177
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;
4178
4202
  }
4179
4203
 
4180
4204
  export declare const MeshRenderer: MeshRendererComponentDefinitionExtended;
@@ -4211,6 +4235,14 @@ export declare interface MeshRendererComponentDefinitionExtended extends LastWri
4211
4235
  * @param entity - entity to create or replace the MeshRenderer component
4212
4236
  */
4213
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;
4214
4246
  }
4215
4247
 
4216
4248
  /* Excluded from this release type: MessageBus */
@@ -4248,6 +4280,39 @@ export declare namespace MoveContinuous {
4248
4280
  export function decode(input: _m0.Reader | Uint8Array, length?: number): MoveContinuous;
4249
4281
  }
4250
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
+
4251
4316
  /**
4252
4317
  * @public
4253
4318
  */
@@ -4663,6 +4728,25 @@ export declare const onVideoEvent: Observable<{
4663
4728
  totalVideoLength: number;
4664
4729
  }>;
4665
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
+
4666
4750
  /**
4667
4751
  * @public
4668
4752
  * The overflow property controls what happens to content that is too big to fit into an area
@@ -4960,6 +5044,8 @@ export declare interface PBAvatarBase {
4960
5044
  hairColor: PBColor3 | undefined;
4961
5045
  bodyShapeUrn: string;
4962
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;
4963
5049
  }
4964
5050
 
4965
5051
  /**
@@ -5010,6 +5096,8 @@ export declare namespace PBAvatarEmoteCommand {
5010
5096
  export declare interface PBAvatarEquippedData {
5011
5097
  wearableUrns: string[];
5012
5098
  emoteUrns: string[];
5099
+ /** slots that will render even if hidden */
5100
+ forceRender: string[];
5013
5101
  }
5014
5102
 
5015
5103
  /**
@@ -5080,6 +5168,8 @@ export declare interface PBAvatarModifierArea {
5080
5168
  excludeIds: string[];
5081
5169
  /** list of modifiers to apply */
5082
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;
5083
5173
  }
5084
5174
 
5085
5175
  /**
@@ -5090,6 +5180,64 @@ export declare namespace PBAvatarModifierArea {
5090
5180
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarModifierArea;
5091
5181
  }
5092
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
+
5093
5241
  /**
5094
5242
  * The AvatarNametag component adds a plate with scene-provided text above an avatar's nametag,
5095
5243
  * for example to show a rank or a role that the scene assigns to that player.
@@ -5180,6 +5328,8 @@ export declare interface PBAvatarShape {
5180
5328
  emotes: string[];
5181
5329
  /** hides the skin + hair + facial features (default: false) */
5182
5330
  showOnlyWearables?: boolean | undefined;
5331
+ /** slots that will render even if hidden */
5332
+ forceRender: string[];
5183
5333
  }
5184
5334
 
5185
5335
  /**
@@ -5221,6 +5371,51 @@ export declare namespace PBBillboard {
5221
5371
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBBillboard;
5222
5372
  }
5223
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
+
5224
5419
  /**
5225
5420
  * The CameraMode component can be used to determine whether the player is using a first-person o
5226
5421
  * third-person view.
@@ -5262,6 +5457,8 @@ export declare interface PBCameraModeArea {
5262
5457
  area: PBVector3 | undefined;
5263
5458
  /** the camera mode to enforce */
5264
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;
5265
5462
  }
5266
5463
 
5267
5464
  /**
@@ -5395,6 +5592,39 @@ export declare namespace PBExplorerUiEventsResult_UiOpened {
5395
5592
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBExplorerUiEventsResult_UiOpened;
5396
5593
  }
5397
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
+
5398
5628
  /**
5399
5629
  * GltfContainer loads a GLTF file (and any additional files packaged inside) attached to an Entity.
5400
5630
  *
@@ -5430,6 +5660,25 @@ export declare namespace PBGltfContainer {
5430
5660
  */
5431
5661
  export declare interface PBGltfContainerLoadingState {
5432
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[];
5433
5682
  }
5434
5683
 
5435
5684
  /**
@@ -5440,6 +5689,57 @@ export declare namespace PBGltfContainerLoadingState {
5440
5689
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfContainerLoadingState;
5441
5690
  }
5442
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
+
5443
5743
  /**
5444
5744
  * GltfNodeModifiers component is to be used attached to entities that have the GltfContainer component.
5445
5745
  *
@@ -5485,6 +5785,26 @@ export declare namespace PBGltfNodeModifiers_GltfNodeModifier {
5485
5785
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNodeModifiers_GltfNodeModifier;
5486
5786
  }
5487
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
+
5488
5808
  /**
5489
5809
  * @public
5490
5810
  */
@@ -5622,6 +5942,14 @@ export declare interface PBMaterial {
5622
5942
  $case: "pbr";
5623
5943
  pbr: PBMaterial_PbrMaterial;
5624
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;
5625
5953
  }
5626
5954
 
5627
5955
  /**
@@ -5632,6 +5960,22 @@ export declare namespace PBMaterial {
5632
5960
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMaterial;
5633
5961
  }
5634
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
+
5635
5979
  /**
5636
5980
  * @public
5637
5981
  */
@@ -5728,6 +6072,9 @@ export declare interface PBMeshCollider {
5728
6072
  } | {
5729
6073
  $case: "plane";
5730
6074
  plane: PBMeshCollider_PlaneMesh;
6075
+ } | {
6076
+ $case: "gltf";
6077
+ gltf: PBMeshCollider_GltfMesh;
5731
6078
  } | undefined;
5732
6079
  }
5733
6080
 
@@ -5773,6 +6120,25 @@ export declare namespace PBMeshCollider_CylinderMesh {
5773
6120
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshCollider_CylinderMesh;
5774
6121
  }
5775
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
+
5776
6142
  /** PlaneMesh is a 2D rectangle described by the Entity's Transform. */
5777
6143
  /**
5778
6144
  * @public
@@ -5805,13 +6171,11 @@ export declare namespace PBMeshCollider_SphereMesh {
5805
6171
 
5806
6172
  /**
5807
6173
  * The MeshRenderer component renders a basic geometric shape for an Entity. It can be a cube, a
5808
- * plane, a sphere or a cylinder.
6174
+ * plane, a sphere, a cylinder, or a Gltf mesh.
5809
6175
  *
5810
6176
  * The cube and plane variants can include a UV texture mapping, so specific areas of a material
5811
6177
  * texture are rendered on different faces of the shape. They are serialized as a sequence of 2D
5812
6178
  * `float` coordinates, one for each corner of each side of each face.
5813
- *
5814
- * More complex shapes require the use of a `GltfContainer` component.
5815
6179
  */
5816
6180
  /**
5817
6181
  * @public
@@ -5829,6 +6193,9 @@ export declare interface PBMeshRenderer {
5829
6193
  } | {
5830
6194
  $case: "plane";
5831
6195
  plane: PBMeshRenderer_PlaneMesh;
6196
+ } | {
6197
+ $case: "gltf";
6198
+ gltf: PBMeshRenderer_GltfMesh;
5832
6199
  } | undefined;
5833
6200
  }
5834
6201
 
@@ -5876,6 +6243,25 @@ export declare namespace PBMeshRenderer_CylinderMesh {
5876
6243
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshRenderer_CylinderMesh;
5877
6244
  }
5878
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
+
5879
6265
  /** PlaneMesh renders a 2D rectangular shape. */
5880
6266
  /**
5881
6267
  * @public
@@ -6472,7 +6858,10 @@ export declare interface PBPrimaryPointerInfo {
6472
6858
  screenCoordinates?: PBVector2 | undefined;
6473
6859
  /** Movement since last frame (pixels) */
6474
6860
  screenDelta?: PBVector2 | undefined;
6475
- /** 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
+ */
6476
6865
  worldRayDirection?: PBVector3 | undefined;
6477
6866
  }
6478
6867
 
@@ -6543,6 +6932,10 @@ export declare interface PBRaycast {
6543
6932
  continuous?: boolean | undefined;
6544
6933
  /** Collision mask, by default CL_POINTER | CL_PHYSICS */
6545
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;
6546
6939
  }
6547
6940
 
6548
6941
  /**
@@ -6688,6 +7081,8 @@ export declare interface PBTextShape {
6688
7081
  outlineColor?: PBColor3 | undefined;
6689
7082
  /** text color (default [1.0, 1.0, 1.0]) */
6690
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;
6691
7086
  }
6692
7087
 
6693
7088
  /**
@@ -6698,6 +7093,46 @@ export declare namespace PBTextShape {
6698
7093
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBTextShape;
6699
7094
  }
6700
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
+
6701
7136
  /**
6702
7137
  * The TouchScreenControls component lets a scene configure the native on-screen touch
6703
7138
  * controls (the mobile joystick + gamepad). It must be set on the RootEntity.
@@ -6943,6 +7378,25 @@ export declare namespace PBUiBackground {
6943
7378
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiBackground;
6944
7379
  }
6945
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
+
6946
7400
  /** This component is created by the renderer and used by the scenes to know the resolution of the UI canvas */
6947
7401
  /**
6948
7402
  * @public
@@ -6998,6 +7452,8 @@ export declare interface PBUiDropdown {
6998
7452
  font?: Font | undefined;
6999
7453
  /** default=10 */
7000
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;
7001
7457
  }
7002
7458
 
7003
7459
  /**
@@ -7040,6 +7496,12 @@ export declare interface PBUiInput {
7040
7496
  /** default=10 */
7041
7497
  fontSize?: number | undefined;
7042
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;
7043
7505
  }
7044
7506
 
7045
7507
  /**
@@ -7103,6 +7565,21 @@ export declare namespace PBUiInputResult {
7103
7565
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiInputResult;
7104
7566
  }
7105
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
+
7106
7583
  /**
7107
7584
  * @public
7108
7585
  */
@@ -7119,6 +7596,8 @@ export declare interface PBUiText {
7119
7596
  fontSize?: number | undefined;
7120
7597
  /** wrap text when the border is reached (default: TW_WRAP) */
7121
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;
7122
7601
  }
7123
7602
 
7124
7603
  /**
@@ -7246,6 +7725,12 @@ export declare interface PBUiTransform {
7246
7725
  borderRightColor?: PBColor4 | undefined;
7247
7726
  /** default: 1 */
7248
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;
7249
7734
  /** default: 0 — controls render stacking order. Higher values appear in front of lower values. */
7250
7735
  zIndex?: number | undefined;
7251
7736
  }
@@ -7398,6 +7883,25 @@ export declare namespace PBVisibilityComponent {
7398
7883
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBVisibilityComponent;
7399
7884
  }
7400
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
+
7401
7905
  /**
7402
7906
  * @public
7403
7907
  * Physics helpers for applying impulses and forces to the player.
@@ -7639,6 +8143,24 @@ export declare interface PointerEventsSystem {
7639
8143
  * @param entity - Entity where the callback was attached
7640
8144
  */
7641
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;
7642
8164
  /**
7643
8165
  * @public
7644
8166
  * Remove the callback for onProximityDown event
@@ -7717,6 +8239,36 @@ export declare interface PointerEventsSystem {
7717
8239
  entity: Entity;
7718
8240
  opts?: Partial<EventSystemOptions>;
7719
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;
7720
8272
  /**
7721
8273
  * @public
7722
8274
  * Execute callback when the user presses the proximity button on the entity
@@ -7775,7 +8327,10 @@ export declare const enum PointerEventType {
7775
8327
  PET_HOVER_ENTER = 2,
7776
8328
  PET_HOVER_LEAVE = 3,
7777
8329
  PET_PROXIMITY_ENTER = 4,
7778
- PET_PROXIMITY_LEAVE = 5
8330
+ PET_PROXIMITY_LEAVE = 5,
8331
+ PET_DRAG_LOCKED = 6,
8332
+ PET_DRAG = 7,
8333
+ PET_DRAG_END = 8
7779
8334
  }
7780
8335
 
7781
8336
  /**
@@ -7806,7 +8361,10 @@ export declare const enum PointerType {
7806
8361
  /** POT_NONE - No pointer input */
7807
8362
  POT_NONE = 0,
7808
8363
  /** POT_MOUSE - Traditional mouse input */
7809
- POT_MOUSE = 1
8364
+ POT_MOUSE = 1,
8365
+ POT_PAD = 2,
8366
+ POT_TOUCH = 3,
8367
+ POT_WAND = 4
7810
8368
  }
7811
8369
 
7812
8370
  /**
@@ -8263,6 +8821,16 @@ export declare const enum RaycastQueryType {
8263
8821
  /** @public */
8264
8822
  export declare const RaycastResult: LastWriteWinElementSetComponentDefinition<PBRaycastResult>;
8265
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
+
8266
8834
  /**
8267
8835
  * @public
8268
8836
  */
@@ -8395,6 +8963,10 @@ export declare type RaycastSystemOptions = {
8395
8963
  queryType: RaycastQueryType;
8396
8964
  continuous?: boolean | undefined;
8397
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;
8398
8970
  };
8399
8971
 
8400
8972
  /**
@@ -8443,6 +9015,20 @@ export declare interface ReactBasedUiSystem {
8443
9015
  * @param entity - The entity whose UI renderer should be removed
8444
9016
  */
8445
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;
8446
9032
  }
8447
9033
 
8448
9034
  /**
@@ -8606,7 +9192,7 @@ export declare type ReadOnlyLastWriteWinElementSetComponentDefinition<T> = Omit<
8606
9192
  /**
8607
9193
  * @public
8608
9194
  */
8609
- export declare type ReadonlyPrimitive = number | string | boolean;
9195
+ export declare type ReadonlyPrimitive = number | string | number[] | string[] | boolean | boolean[];
8610
9196
 
8611
9197
  /** @public */
8612
9198
  export declare const RealmInfo: LastWriteWinElementSetComponentDefinition<PBRealmInfo>;
@@ -9033,6 +9619,33 @@ export declare namespace Schemas {
9033
9619
  */
9034
9620
  export declare function ScreenInsetArea(props: UiScreenInsetAreaProps): ReactEcs.JSX.Element;
9035
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
+
9036
9649
  /**
9037
9650
  * Register the composite provider used to resolve composite files. Also registers
9038
9651
  * any `provider.schemas` on the engine pre-seal so composites that reference those
@@ -9058,6 +9671,16 @@ export declare interface SetMoveRotateScaleParams extends MoveRotateScaleModePar
9058
9671
  easingFunction?: EasingFunction;
9059
9672
  }
9060
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
+
9061
9684
  /** @public */
9062
9685
  export declare const SkyboxTime: LastWriteWinElementSetComponentDefinition<PBSkyboxTime>;
9063
9686
 
@@ -9164,6 +9787,9 @@ export declare namespace Texture {
9164
9787
  export function decode(input: _m0.Reader | Uint8Array, length?: number): Texture;
9165
9788
  }
9166
9789
 
9790
+ /** @public */
9791
+ export declare const TextureCamera: LastWriteWinElementSetComponentDefinition<PBTextureCamera>;
9792
+
9167
9793
  /**
9168
9794
  * @public
9169
9795
  */
@@ -9274,6 +9900,9 @@ export declare interface TextureUnion {
9274
9900
  } | {
9275
9901
  $case: "videoTexture";
9276
9902
  videoTexture: VideoTexture;
9903
+ } | {
9904
+ $case: "uiTexture";
9905
+ uiTexture: UiCanvasTexture;
9277
9906
  } | undefined;
9278
9907
  }
9279
9908
 
@@ -9504,16 +10133,6 @@ export declare type Transport = {
9504
10133
  onmessage?(message: Uint8Array): void;
9505
10134
  filter(message: Omit<TransportMessage, 'messageBuffer'>): boolean;
9506
10135
  type?: string;
9507
- /**
9508
- * Whether this transport is allowed to mutate reserved-range entities
9509
- * (root/player/camera + avatars, entity number below `RESERVED_STATIC_ENTITIES`).
9510
- * Only the trusted host/renderer transport sets this. An inbound DELETE_ENTITY
9511
- * or component operation (PUT_COMPONENT, DELETE_COMPONENT, APPEND_VALUE,
9512
- * AUTHORITATIVE_PUT_COMPONENT) on a reserved entity from a transport without
9513
- * this flag (a comms peer, or any scene-added transport) is rejected — see
9514
- * `receiveMessages`.
9515
- */
9516
- allowReservedEntities?: boolean;
9517
10136
  };
9518
10137
 
9519
10138
  /**
@@ -9822,6 +10441,8 @@ export declare interface UiBackgroundProps {
9822
10441
  uvs?: number[];
9823
10442
  /** AvatarTexture for the background */
9824
10443
  avatarTexture?: UiAvatarTexture;
10444
+ /** VideoTexture for the background: the frames of a VideoPlayer on another entity */
10445
+ videoTexture?: UiVideoTexture;
9825
10446
  /** Texture for the background */
9826
10447
  texture?: UiTexture;
9827
10448
  }
@@ -9841,9 +10462,31 @@ export declare interface UiButtonProps extends UiLabelProps, EntityPropTypes {
9841
10462
  disabled?: boolean;
9842
10463
  }
9843
10464
 
10465
+ /** @public */
10466
+ export declare const UiCanvas: LastWriteWinElementSetComponentDefinition<PBUiCanvas>;
10467
+
9844
10468
  /** @public */
9845
10469
  export declare const UiCanvasInformation: LastWriteWinElementSetComponentDefinition<PBUiCanvasInformation>;
9846
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
+
9847
10490
  /**
9848
10491
  * @public
9849
10492
  */
@@ -9941,6 +10584,8 @@ export declare interface UiLabelProps {
9941
10584
  font?: UiFontType | undefined;
9942
10585
  /** Behaviour when text reached. @defaultValue 'wrap' */
9943
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;
9944
10589
  }
9945
10590
 
9946
10591
  /**
@@ -9961,17 +10606,6 @@ export declare type UiRendererOptions = {
9961
10606
  * can use different insets simultaneously.
9962
10607
  */
9963
10608
  screenInset?: UiScreenInset;
9964
- /**
9965
- * Stacking order of this renderer's UI relative to the other renderers (the main
9966
- * one and every `addUiRenderer`). Higher values render in front. When omitted,
9967
- * renderers stack in the order they first render, later ones on top; among those
9968
- * first rendered in the same tick the main UI goes at the back.
9969
- *
9970
- * It is applied to the renderer's root container entity, so it only orders whole
9971
- * renderers against each other; a renderer zIndex of 0 is interpreted as "unset"
9972
- * (positional order); elements inside a renderer keep their own `zIndex`.
9973
- */
9974
- zIndex?: number;
9975
10609
  };
9976
10610
 
9977
10611
  /**
@@ -10007,6 +10641,9 @@ export declare type UiScreenInsetAreaProps = Omit<EntityPropTypes, 'uiTransform'
10007
10641
  uiTransform?: Omit<NonNullable<EntityPropTypes['uiTransform']>, 'positionType' | 'position'>;
10008
10642
  };
10009
10643
 
10644
+ /** @public */
10645
+ export declare const UiScrollResult: LastWriteWinElementSetComponentDefinition<PBUiScrollResult>;
10646
+
10010
10647
  /** @public */
10011
10648
  export declare const UiText: LastWriteWinElementSetComponentDefinition<PBUiText>;
10012
10649
 
@@ -10086,20 +10723,28 @@ export declare interface UiTransformProps {
10086
10723
  opacity?: number;
10087
10724
  /** default 0 */
10088
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;
10089
10732
  }
10090
10733
 
10091
10734
  /**
10735
+ * Video Texture
10092
10736
  * @public
10093
10737
  */
10094
- export declare type Unpacked<T> = T extends (infer U)[] ? U : T;
10738
+ export declare interface UiVideoTexture {
10739
+ videoPlayerEntity: Entity;
10740
+ wrapMode?: TextureWrapType;
10741
+ filterMode?: TextureFilterType;
10742
+ }
10095
10743
 
10096
- export declare type ValidateCallback<T> = (value: {
10097
- entity: Entity;
10098
- currentValue: T | undefined;
10099
- newValue: T | undefined;
10100
- senderAddress: string;
10101
- createdBy: string;
10102
- }) => boolean;
10744
+ /**
10745
+ * @public
10746
+ */
10747
+ export declare type Unpacked<T> = T extends (infer U)[] ? U : T;
10103
10748
 
10104
10749
  /**
10105
10750
  * @public