@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.
package/dist/alpha.d.ts CHANGED
@@ -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
  */
@@ -2825,10 +2867,6 @@ export declare interface IEvents {
2825
2867
  sender: string;
2826
2868
  message: string;
2827
2869
  };
2828
- /** Triggered when the player switches the client language. `locale` is a BCP-47 tag */
2829
- localeChanged: {
2830
- locale: string;
2831
- };
2832
2870
  /**
2833
2871
  * This is triggered once the scene should start.
2834
2872
  */
@@ -3048,35 +3086,6 @@ export declare const enum InteractionType {
3048
3086
  PROXIMITY = 1
3049
3087
  }
3050
3088
 
3051
- /**
3052
- * Internal component interface that exposes all internal methods for SDK use
3053
- * This is not exposed to users, only for internal SDK operations
3054
- */
3055
- export declare interface InternalBaseComponent<T> extends BaseComponent<T> {
3056
- /**
3057
- * @public
3058
- * Dry run update to check if a CRDT message would be accepted without actually applying it
3059
- */
3060
- __dry_run_updateFromCrdt(body: CrdtMessageBody): ProcessMessageResultType;
3061
- /**
3062
- * @public
3063
- * Get the iterator to every entity has the component
3064
- */
3065
- iterator(): Iterable<[Entity, any]>;
3066
- /**
3067
- * @public
3068
- */
3069
- dirtyIterator(): Iterable<Entity>;
3070
- /**
3071
- * @public
3072
- */
3073
- __onChangeCallbacks(entity: Entity, value: T): void;
3074
- /**
3075
- * @public
3076
- */
3077
- __run_validateBeforeChange(entity: Entity, newValue: T | undefined, senderAddress: string, createdBy: string): boolean;
3078
- }
3079
-
3080
3089
  /**
3081
3090
  * @public
3082
3091
  */
@@ -3280,6 +3289,12 @@ export declare type Listeners = {
3280
3289
  onMouseEnter?: Callback;
3281
3290
  /** triggered on mouse leave event */
3282
3291
  onMouseLeave?: Callback;
3292
+ /** triggered while the pointer is dragged after pressing on the element */
3293
+ onMouseDrag?: Callback;
3294
+ /** triggered while the pointer is dragged with the cursor locked in place */
3295
+ onMouseDragLocked?: Callback;
3296
+ /** triggered when a drag that started on the element ends */
3297
+ onMouseDragEnd?: Callback;
3283
3298
  };
3284
3299
 
3285
3300
  /**
@@ -4184,6 +4199,15 @@ export declare interface MeshColliderComponentDefinitionExtended extends LastWri
4184
4199
  * @param colliderMask - the set of layer where the collider reacts, default: Physics and Pointer
4185
4200
  */
4186
4201
  setSphere(entity: Entity, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
4202
+ /**
4203
+ * @public
4204
+ * Set a mesh from inside a gltf in the MeshCollider component
4205
+ * @param entity - entity to create or replace the MeshCollider component
4206
+ * @param source - the path to the gltf
4207
+ * @param meshName - the name of the mesh in the gltf (see GltfContainerLoadingState.meshNames)
4208
+ * @param colliderMask - the set of layer where the collider reacts, default: Physics and Pointer
4209
+ */
4210
+ setGltfMesh(entity: Entity, source: string, meshName: string, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
4187
4211
  }
4188
4212
 
4189
4213
  export declare const MeshRenderer: MeshRendererComponentDefinitionExtended;
@@ -4220,6 +4244,14 @@ export declare interface MeshRendererComponentDefinitionExtended extends LastWri
4220
4244
  * @param entity - entity to create or replace the MeshRenderer component
4221
4245
  */
4222
4246
  setSphere(entity: Entity): void;
4247
+ /**
4248
+ * @public
4249
+ * Set a mesh from inside a gltf in the MeshRenderer component
4250
+ * @param entity - entity to create or replace the MeshRenderer component
4251
+ * @param source - the path to the gltf
4252
+ * @param meshName - the name of the mesh in the gltf (see GltfContainerLoadingState.meshNames)
4253
+ */
4254
+ setGltfMesh(entity: Entity, source: string, meshName: string): void;
4223
4255
  }
4224
4256
 
4225
4257
  /**
@@ -4268,6 +4300,39 @@ export declare namespace MoveContinuous {
4268
4300
  export function decode(input: _m0.Reader | Uint8Array, length?: number): MoveContinuous;
4269
4301
  }
4270
4302
 
4303
+ /**
4304
+ * Describes the animation the movement scene wants the avatar to play.
4305
+ * One GLB = one clip (following the scene-emote convention: single clip, or a clip named with `_Avatar` suffix).
4306
+ * When absent the engine falls back to its built-in velocity-based selection (walk/run/jump/idle).
4307
+ */
4308
+ /**
4309
+ * @public
4310
+ */
4311
+ export declare interface MovementAnimation {
4312
+ /** scene-relative path to the gltf/glb asset (resolved via the scene content map) */
4313
+ src: string;
4314
+ /** whether the clip repeats once it reaches the end */
4315
+ loop: boolean;
4316
+ /** playback speed multiplier (1.0 = clip's native rate) */
4317
+ speed: number;
4318
+ /** true: a triggerSceneEmote may take over; false: emotes are suppressed while this animation plays */
4319
+ idle: boolean;
4320
+ /** cross-fade duration when `src` changes; defaults to 0.2 when unset. Not applied to loop/speed/idle changes. */
4321
+ transitionSeconds?: number | undefined;
4322
+ /** if set, the engine seeks to this position (in seconds) this frame. Clear on subsequent frames to allow normal playback. The scene can read `AvatarAnimationState.playback_time` first to decide. */
4323
+ playbackTime?: number | undefined;
4324
+ /** scene-relative paths to audio clips (.mp3/.ogg) to play this frame on the avatar audio bus. Fire-and-forget: each listed clip plays once per frame it appears; leaving a clip set for multiple frames re-triggers it. No stop mechanism. Use `AvatarAnimationState.playback_time` to trigger sounds at the right point in the clip (e.g. foot plants). */
4325
+ sounds: string[];
4326
+ }
4327
+
4328
+ /**
4329
+ * @public
4330
+ */
4331
+ export declare namespace MovementAnimation {
4332
+ export function encode(message: MovementAnimation, writer?: _m0.Writer): _m0.Writer;
4333
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): MovementAnimation;
4334
+ }
4335
+
4271
4336
  /**
4272
4337
  * @public
4273
4338
  */
@@ -4691,6 +4756,25 @@ export declare const onVideoEvent: Observable<{
4691
4756
  totalVideoLength: number;
4692
4757
  }>;
4693
4758
 
4759
+ /**
4760
+ * @public
4761
+ */
4762
+ export declare interface Orthographic {
4763
+ /**
4764
+ * vertical extent of the visible range in meters
4765
+ * defaults to 4m
4766
+ */
4767
+ verticalRange?: number | undefined;
4768
+ }
4769
+
4770
+ /**
4771
+ * @public
4772
+ */
4773
+ export declare namespace Orthographic {
4774
+ export function encode(message: Orthographic, writer?: _m0.Writer): _m0.Writer;
4775
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): Orthographic;
4776
+ }
4777
+
4694
4778
  /**
4695
4779
  * @public
4696
4780
  * The overflow property controls what happens to content that is too big to fit into an area
@@ -4988,6 +5072,8 @@ export declare interface PBAvatarBase {
4988
5072
  hairColor: PBColor3 | undefined;
4989
5073
  bodyShapeUrn: string;
4990
5074
  name: string;
5075
+ /** true while the player is speaking in voice chat; unset when the engine does not report voice activity */
5076
+ talking?: boolean | undefined;
4991
5077
  }
4992
5078
 
4993
5079
  /**
@@ -5038,6 +5124,8 @@ export declare namespace PBAvatarEmoteCommand {
5038
5124
  export declare interface PBAvatarEquippedData {
5039
5125
  wearableUrns: string[];
5040
5126
  emoteUrns: string[];
5127
+ /** slots that will render even if hidden */
5128
+ forceRender: string[];
5041
5129
  }
5042
5130
 
5043
5131
  /**
@@ -5108,6 +5196,8 @@ export declare interface PBAvatarModifierArea {
5108
5196
  excludeIds: string[];
5109
5197
  /** list of modifiers to apply */
5110
5198
  modifiers: AvatarModifierType[];
5199
+ /** if true, the player will be considered inside the area when they are within 0.3m of the area. default true */
5200
+ useColliderRange?: boolean | undefined;
5111
5201
  }
5112
5202
 
5113
5203
  /**
@@ -5118,6 +5208,64 @@ export declare namespace PBAvatarModifierArea {
5118
5208
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarModifierArea;
5119
5209
  }
5120
5210
 
5211
+ /**
5212
+ * @public
5213
+ */
5214
+ export declare interface PBAvatarMovement {
5215
+ velocity: PBVector3 | undefined;
5216
+ /** 0-360, yaw only; this is the authoritative facing (other clients read it, and physics treats the avatar as upright). Lean is expressed separately via tilt_pitch/tilt_roll. */
5217
+ orientation: number;
5218
+ groundDirection?: PBVector3 | undefined;
5219
+ /** set for one frame when a walk_target ends: true = reached target, false = failed; absent = in progress or no walk */
5220
+ walkSuccess?: boolean | undefined;
5221
+ /** if set, the engine plays this animation instead of selecting one from velocity heuristics */
5222
+ animation?: MovementAnimation | undefined;
5223
+ /** render-only forward/back lean in degrees, applied on top of `orientation` (rotation about the avatar's local X axis). Does not affect the physics capsule (stays upright) or the facing other clients read. Defaults to 0. */
5224
+ tiltPitch?: number | undefined;
5225
+ /** render-only sideways lean in degrees, applied on top of `orientation` (rotation about the avatar's local Z axis). Same constraints as tilt_pitch. Useful e.g. for glider banking. Defaults to 0. */
5226
+ tiltRoll?: number | undefined;
5227
+ }
5228
+
5229
+ /**
5230
+ * @public
5231
+ */
5232
+ export declare namespace PBAvatarMovement {
5233
+ export function encode(message: PBAvatarMovement, writer?: _m0.Writer): _m0.Writer;
5234
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarMovement;
5235
+ }
5236
+
5237
+ /**
5238
+ * @public
5239
+ */
5240
+ export declare interface PBAvatarMovementInfo {
5241
+ /** the length of time the current step velocity will apply for */
5242
+ stepTime: number;
5243
+ /** the length of time the previous step velocity applied for */
5244
+ previousStepTime: number;
5245
+ /** the velocity requested for the previous frame */
5246
+ requestedVelocity: PBVector3 | undefined;
5247
+ /** the resulting velocity taking collisions into account */
5248
+ actualVelocity: PBVector3 | undefined;
5249
+ /** the velocity imparted by movement of the "ground" platform or pushing from other moving colliders */
5250
+ externalVelocity: PBVector3 | undefined;
5251
+ activeAvatarLocomotionSettings: PBAvatarLocomotionSettings | undefined;
5252
+ activeInputModifier: PBInputModifier | undefined;
5253
+ /** if set, the movement scene should walk the player to this scene-relative position */
5254
+ walkTarget?: PBVector3 | undefined;
5255
+ /** stop distance for walk_target; considered reached when within this distance */
5256
+ walkThreshold?: number | undefined;
5257
+ /** current state of a scene-driven movement animation. Absent when the engine is using its velocity-based fallback. `playback_time` freezes while a triggerSceneEmote is overriding the animation. */
5258
+ activeAnimationState?: AvatarAnimationState | undefined;
5259
+ }
5260
+
5261
+ /**
5262
+ * @public
5263
+ */
5264
+ export declare namespace PBAvatarMovementInfo {
5265
+ export function encode(message: PBAvatarMovementInfo, writer?: _m0.Writer): _m0.Writer;
5266
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarMovementInfo;
5267
+ }
5268
+
5121
5269
  /**
5122
5270
  * The AvatarNametag component adds a plate with scene-provided text above an avatar's nametag,
5123
5271
  * for example to show a rank or a role that the scene assigns to that player.
@@ -5208,6 +5356,8 @@ export declare interface PBAvatarShape {
5208
5356
  emotes: string[];
5209
5357
  /** hides the skin + hair + facial features (default: false) */
5210
5358
  showOnlyWearables?: boolean | undefined;
5359
+ /** slots that will render even if hidden */
5360
+ forceRender: string[];
5211
5361
  }
5212
5362
 
5213
5363
  /**
@@ -5249,6 +5399,51 @@ export declare namespace PBBillboard {
5249
5399
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBBillboard;
5250
5400
  }
5251
5401
 
5402
+ /**
5403
+ * @public
5404
+ */
5405
+ export declare interface PBCameraLayer {
5406
+ /**
5407
+ * layer to which these settings apply. must be > 0
5408
+ * Layer 0 is the default "real world" layer viewed by the player and cannot be modified.
5409
+ */
5410
+ layer: number;
5411
+ /** should the sun light affect this layer? default false */
5412
+ directionalLight?: boolean | undefined;
5413
+ /** should this layer show player avatars? default false */
5414
+ showAvatars?: boolean | undefined;
5415
+ /** should this layer show the sky? default false */
5416
+ showSkybox?: boolean | undefined;
5417
+ /** should this layer show distance fog? default false */
5418
+ showFog?: boolean | undefined;
5419
+ /** ambient light overrides for this layer. default -> use same as main camera */
5420
+ ambientColorOverride?: PBColor3 | undefined;
5421
+ ambientBrightnessOverride?: number | undefined;
5422
+ }
5423
+
5424
+ /**
5425
+ * @public
5426
+ */
5427
+ export declare namespace PBCameraLayer {
5428
+ export function encode(message: PBCameraLayer, writer?: _m0.Writer): _m0.Writer;
5429
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBCameraLayer;
5430
+ }
5431
+
5432
+ /**
5433
+ * @public
5434
+ */
5435
+ export declare interface PBCameraLayers {
5436
+ layers: number[];
5437
+ }
5438
+
5439
+ /**
5440
+ * @public
5441
+ */
5442
+ export declare namespace PBCameraLayers {
5443
+ export function encode(message: PBCameraLayers, writer?: _m0.Writer): _m0.Writer;
5444
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBCameraLayers;
5445
+ }
5446
+
5252
5447
  /**
5253
5448
  * The CameraMode component can be used to determine whether the player is using a first-person o
5254
5449
  * third-person view.
@@ -5290,6 +5485,8 @@ export declare interface PBCameraModeArea {
5290
5485
  area: PBVector3 | undefined;
5291
5486
  /** the camera mode to enforce */
5292
5487
  mode: CameraType;
5488
+ /** if true, the player will be considered inside the area when they are within 0.3m of the area. default true */
5489
+ useColliderRange?: boolean | undefined;
5293
5490
  }
5294
5491
 
5295
5492
  /**
@@ -5423,6 +5620,39 @@ export declare namespace PBExplorerUiEventsResult_UiOpened {
5423
5620
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBExplorerUiEventsResult_UiOpened;
5424
5621
  }
5425
5622
 
5623
+ /**
5624
+ * defines the global scene light settings. must be added to the scene root.
5625
+ * to control sunlight color, intensity, shadows etc, you can also add a PBLight to the scene root.
5626
+ */
5627
+ /**
5628
+ * @public
5629
+ */
5630
+ export declare interface PBGlobalLight {
5631
+ /**
5632
+ * the direction the directional light shines in.
5633
+ * default depends on time of day and explorer implementation
5634
+ */
5635
+ direction?: PBVector3 | undefined;
5636
+ /**
5637
+ * ambient light color
5638
+ * default: White
5639
+ */
5640
+ ambientColor?: PBColor3 | undefined;
5641
+ /**
5642
+ * ambient light intensity. the explorer default ambient brightness is multiplied by this non-physical quantity.
5643
+ * default 1
5644
+ */
5645
+ ambientBrightness?: number | undefined;
5646
+ }
5647
+
5648
+ /**
5649
+ * @public
5650
+ */
5651
+ export declare namespace PBGlobalLight {
5652
+ export function encode(message: PBGlobalLight, writer?: _m0.Writer): _m0.Writer;
5653
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGlobalLight;
5654
+ }
5655
+
5426
5656
  /**
5427
5657
  * GltfContainer loads a GLTF file (and any additional files packaged inside) attached to an Entity.
5428
5658
  *
@@ -5458,6 +5688,25 @@ export declare namespace PBGltfContainer {
5458
5688
  */
5459
5689
  export declare interface PBGltfContainerLoadingState {
5460
5690
  currentState: LoadingState;
5691
+ /** all node paths in the gltf, which can be used with a GltfNode to inspect and modify the gltf contents */
5692
+ nodePaths: string[];
5693
+ /** all meshes in the gltf. unnamed meshes will be auto-assigned a name of the form `MeshX` or `MeshX/PrimitiveY` */
5694
+ meshNames: string[];
5695
+ /**
5696
+ * where X is the mesh index and Y is the primitive index (and there is more than 1 primitive). note this may
5697
+ * conflict with manually named meshes - to avoid any issues make sure all your meshes are explicitly named.
5698
+ */
5699
+ materialNames: string[];
5700
+ /**
5701
+ * X is the material index. note this may conflict with manually named materials - to avoid any issues make
5702
+ * sure all your materials are explicitly named.
5703
+ */
5704
+ skinNames: string[];
5705
+ /**
5706
+ * X is the skin index. note this may conflict with manually named skins - to avoid any issues make sure all
5707
+ * your skins are explicitly named.
5708
+ */
5709
+ animationNames: string[];
5461
5710
  }
5462
5711
 
5463
5712
  /**
@@ -5468,6 +5717,57 @@ export declare namespace PBGltfContainerLoadingState {
5468
5717
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfContainerLoadingState;
5469
5718
  }
5470
5719
 
5720
+ /**
5721
+ * a GltfNode links a scene entity with a node from within a gltf, allowing the scene to inspect it or modify it.
5722
+ * This component must be added to a direct child of an entity with a PBGltfContainer component, or
5723
+ * to a direct child of another entity with a GltfNode component, and the referenced gltf node must be a descendent of the gltf node
5724
+ * in the parent.
5725
+ * The name must match the path of one of the nodes within the Gltf. These are available on the GltfContainerLoadingState component.
5726
+ *
5727
+ * The renderer will attach a PBGltfNodeState to the entity describing the state. Once the state is `GNS_READY`,
5728
+ * - the `Transform` will be updated to match the position of the node within the gltf (relative to the gltf root, or the parent node),
5729
+ * - a `MeshRenderer` with a GltfMesh mesh type will be added (if the gltf node has a mesh).
5730
+ * - a `MeshCollider` with a GltfMesh mesh type will be added (if the gltf node has a collider).
5731
+ * - a `Material` component including a GltfMaterial reference will be added (if the gltf node has a material).
5732
+ *
5733
+ * After creation, if an animation moves the node, the `Transform` will be updated.
5734
+ *
5735
+ * From the scene, you can modify various components to alter the gltf node:
5736
+ * - modifying the `Transform` position/rotation/scale will move the node. The position is interpreted relative to the gltf root (or parent node),
5737
+ * regardless of any intermediate gltf node hierarchy.
5738
+ * If an animation is playing, the animation takes priority and the scene entity's position will be updated to match the animation.
5739
+ * - `Visibility` can be added to hide or show the node and it's children in the gltf hierarchy.
5740
+ * - `MeshRenderer` can be added/modified/removed to create/modify/remove a mesh on the node.
5741
+ * - `MeshCollider` can be added/modified/removed to create/modify/remove a collider on the node.
5742
+ * - `Material` can be added or modified to change the material properties. If the gltf node has a material, the original material will be
5743
+ * used as a base, and any gltf features (e.g. occlusion maps) from the gtlf spec that the renderer supports but that are not exposed in the
5744
+ * PBMaterial will be maintained.
5745
+ *
5746
+ * The scene can add additional entities as children to the gltf node, but structural modifications of the gltf are not possible:
5747
+ * - changing the scene hierarchy will not change the gltf node hierarchy. Moving the entity out of the gltf will sever the link and
5748
+ * change the state to `GNS_FAILED`.
5749
+ * - deleting the scene entity will not delete the gltf node.
5750
+ *
5751
+ * Removing the GltfNode will revert any changes to the original gltf. If the GltfNode component is removed and the mesh/collider/material
5752
+ * are not removed, this will result in a duplication of these components as the previously-linked entity will retain it's components and
5753
+ * the gltf node will also be displayed.
5754
+ */
5755
+ /**
5756
+ * @public
5757
+ */
5758
+ export declare interface PBGltfNode {
5759
+ /** the path of the target node in the Gltf. */
5760
+ path: string;
5761
+ }
5762
+
5763
+ /**
5764
+ * @public
5765
+ */
5766
+ export declare namespace PBGltfNode {
5767
+ export function encode(message: PBGltfNode, writer?: _m0.Writer): _m0.Writer;
5768
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNode;
5769
+ }
5770
+
5471
5771
  /**
5472
5772
  * GltfNodeModifiers component is to be used attached to entities that have the GltfContainer component.
5473
5773
  *
@@ -5513,6 +5813,26 @@ export declare namespace PBGltfNodeModifiers_GltfNodeModifier {
5513
5813
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNodeModifiers_GltfNodeModifier;
5514
5814
  }
5515
5815
 
5816
+ /**
5817
+ * The state of a linked gltf node.
5818
+ * If the state is GNSV_FAILED, the renderer may describe the failure in the error string.
5819
+ */
5820
+ /**
5821
+ * @public
5822
+ */
5823
+ export declare interface PBGltfNodeState {
5824
+ state: GltfNodeStateValue;
5825
+ error?: string | undefined;
5826
+ }
5827
+
5828
+ /**
5829
+ * @public
5830
+ */
5831
+ export declare namespace PBGltfNodeState {
5832
+ export function encode(message: PBGltfNodeState, writer?: _m0.Writer): _m0.Writer;
5833
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNodeState;
5834
+ }
5835
+
5516
5836
  /**
5517
5837
  * @public
5518
5838
  */
@@ -5650,6 +5970,14 @@ export declare interface PBMaterial {
5650
5970
  $case: "pbr";
5651
5971
  pbr: PBMaterial_PbrMaterial;
5652
5972
  } | undefined;
5973
+ /**
5974
+ * A gltf material that may provide additional features not supported by the PbMaterial fields.
5975
+ * If both gltf and material fields are provided, the gltf will be used only for extended features not
5976
+ * supported by the PbMaterial.
5977
+ * If this is provided and the `material` field is not provided, the renderer will update the material
5978
+ * field with data that reflects the gltf material once it is loaded.
5979
+ */
5980
+ gltf?: PBMaterial_GltfMaterial | undefined;
5653
5981
  }
5654
5982
 
5655
5983
  /**
@@ -5660,6 +5988,22 @@ export declare namespace PBMaterial {
5660
5988
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMaterial;
5661
5989
  }
5662
5990
 
5991
+ /**
5992
+ * @public
5993
+ */
5994
+ export declare interface PBMaterial_GltfMaterial {
5995
+ gltfSrc: string;
5996
+ name: string;
5997
+ }
5998
+
5999
+ /**
6000
+ * @public
6001
+ */
6002
+ export declare namespace PBMaterial_GltfMaterial {
6003
+ export function encode(message: PBMaterial_GltfMaterial, writer?: _m0.Writer): _m0.Writer;
6004
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMaterial_GltfMaterial;
6005
+ }
6006
+
5663
6007
  /**
5664
6008
  * @public
5665
6009
  */
@@ -5756,6 +6100,9 @@ export declare interface PBMeshCollider {
5756
6100
  } | {
5757
6101
  $case: "plane";
5758
6102
  plane: PBMeshCollider_PlaneMesh;
6103
+ } | {
6104
+ $case: "gltf";
6105
+ gltf: PBMeshCollider_GltfMesh;
5759
6106
  } | undefined;
5760
6107
  }
5761
6108
 
@@ -5801,6 +6148,25 @@ export declare namespace PBMeshCollider_CylinderMesh {
5801
6148
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshCollider_CylinderMesh;
5802
6149
  }
5803
6150
 
6151
+ /** A collider constructed from a Gltf Mesh. */
6152
+ /**
6153
+ * @public
6154
+ */
6155
+ export declare interface PBMeshCollider_GltfMesh {
6156
+ /** the GLTF file path as listed in the scene's manifest. */
6157
+ gltfSrc: string;
6158
+ /** the name of the mesh asset */
6159
+ name: string;
6160
+ }
6161
+
6162
+ /**
6163
+ * @public
6164
+ */
6165
+ export declare namespace PBMeshCollider_GltfMesh {
6166
+ export function encode(message: PBMeshCollider_GltfMesh, writer?: _m0.Writer): _m0.Writer;
6167
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshCollider_GltfMesh;
6168
+ }
6169
+
5804
6170
  /** PlaneMesh is a 2D rectangle described by the Entity's Transform. */
5805
6171
  /**
5806
6172
  * @public
@@ -5833,13 +6199,11 @@ export declare namespace PBMeshCollider_SphereMesh {
5833
6199
 
5834
6200
  /**
5835
6201
  * The MeshRenderer component renders a basic geometric shape for an Entity. It can be a cube, a
5836
- * plane, a sphere or a cylinder.
6202
+ * plane, a sphere, a cylinder, or a Gltf mesh.
5837
6203
  *
5838
6204
  * The cube and plane variants can include a UV texture mapping, so specific areas of a material
5839
6205
  * texture are rendered on different faces of the shape. They are serialized as a sequence of 2D
5840
6206
  * `float` coordinates, one for each corner of each side of each face.
5841
- *
5842
- * More complex shapes require the use of a `GltfContainer` component.
5843
6207
  */
5844
6208
  /**
5845
6209
  * @public
@@ -5857,6 +6221,9 @@ export declare interface PBMeshRenderer {
5857
6221
  } | {
5858
6222
  $case: "plane";
5859
6223
  plane: PBMeshRenderer_PlaneMesh;
6224
+ } | {
6225
+ $case: "gltf";
6226
+ gltf: PBMeshRenderer_GltfMesh;
5860
6227
  } | undefined;
5861
6228
  }
5862
6229
 
@@ -5904,6 +6271,25 @@ export declare namespace PBMeshRenderer_CylinderMesh {
5904
6271
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshRenderer_CylinderMesh;
5905
6272
  }
5906
6273
 
6274
+ /** A mesh from a Gltf. */
6275
+ /**
6276
+ * @public
6277
+ */
6278
+ export declare interface PBMeshRenderer_GltfMesh {
6279
+ /** the GLTF file path as listed in the scene's manifest. */
6280
+ gltfSrc: string;
6281
+ /** the name of the mesh asset */
6282
+ name: string;
6283
+ }
6284
+
6285
+ /**
6286
+ * @public
6287
+ */
6288
+ export declare namespace PBMeshRenderer_GltfMesh {
6289
+ export function encode(message: PBMeshRenderer_GltfMesh, writer?: _m0.Writer): _m0.Writer;
6290
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshRenderer_GltfMesh;
6291
+ }
6292
+
5907
6293
  /** PlaneMesh renders a 2D rectangular shape. */
5908
6294
  /**
5909
6295
  * @public
@@ -6500,7 +6886,10 @@ export declare interface PBPrimaryPointerInfo {
6500
6886
  screenCoordinates?: PBVector2 | undefined;
6501
6887
  /** Movement since last frame (pixels) */
6502
6888
  screenDelta?: PBVector2 | undefined;
6503
- /** Direction vector for 3D ray casting */
6889
+ /**
6890
+ * ray direction that can be used with the primary camera origin for
6891
+ * raycasting from the cursor into the world
6892
+ */
6504
6893
  worldRayDirection?: PBVector3 | undefined;
6505
6894
  }
6506
6895
 
@@ -6571,6 +6960,10 @@ export declare interface PBRaycast {
6571
6960
  continuous?: boolean | undefined;
6572
6961
  /** Collision mask, by default CL_POINTER | CL_PHYSICS */
6573
6962
  collisionMask?: number | undefined;
6963
+ /** shape to cast, default ray */
6964
+ shape?: RaycastShape | undefined;
6965
+ /** include hits with entities from other scenes */
6966
+ includeWorld?: boolean | undefined;
6574
6967
  }
6575
6968
 
6576
6969
  /**
@@ -6716,6 +7109,8 @@ export declare interface PBTextShape {
6716
7109
  outlineColor?: PBColor3 | undefined;
6717
7110
  /** text color (default [1.0, 1.0, 1.0]) */
6718
7111
  textColor?: PBColor4 | undefined;
7112
+ /** a font file in the scene, or a Google Fonts family name; `font` is the fallback (default: unset) */
7113
+ fontSrc?: string | undefined;
6719
7114
  }
6720
7115
 
6721
7116
  /**
@@ -6726,6 +7121,46 @@ export declare namespace PBTextShape {
6726
7121
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBTextShape;
6727
7122
  }
6728
7123
 
7124
+ /**
7125
+ * @public
7126
+ */
7127
+ export declare interface PBTextureCamera {
7128
+ /** rendered texture width */
7129
+ width?: number | undefined;
7130
+ /** rendered texture height */
7131
+ height?: number | undefined;
7132
+ /**
7133
+ * which layer of entities to render. entity layers can be specified by adding PBCameraLayers to target entities.
7134
+ * defaults to 0
7135
+ */
7136
+ layer?: number | undefined;
7137
+ /** default black */
7138
+ clearColor?: PBColor4 | undefined;
7139
+ /** default infinity */
7140
+ farPlane?: number | undefined;
7141
+ mode?: {
7142
+ $case: "perspective";
7143
+ perspective: Perspective;
7144
+ } | {
7145
+ $case: "orthographic";
7146
+ orthographic: Orthographic;
7147
+ } | undefined;
7148
+ /**
7149
+ * controls whether this camera acts as a receiver for audio on sources with matching `PBCameraLayers`.
7150
+ * range: 0 (off) - 1 (full volume)
7151
+ * default: 0
7152
+ */
7153
+ volume?: number | undefined;
7154
+ }
7155
+
7156
+ /**
7157
+ * @public
7158
+ */
7159
+ export declare namespace PBTextureCamera {
7160
+ export function encode(message: PBTextureCamera, writer?: _m0.Writer): _m0.Writer;
7161
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBTextureCamera;
7162
+ }
7163
+
6729
7164
  /**
6730
7165
  * The TouchScreenControls component lets a scene configure the native on-screen touch
6731
7166
  * controls (the mobile joystick + gamepad). It must be set on the RootEntity.
@@ -6971,6 +7406,25 @@ export declare namespace PBUiBackground {
6971
7406
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiBackground;
6972
7407
  }
6973
7408
 
7409
+ /** The UiCanvas component can be attached to a ui root entity to specify properties of the ui texture. */
7410
+ /**
7411
+ * @public
7412
+ */
7413
+ export declare interface PBUiCanvas {
7414
+ width: number;
7415
+ height: number;
7416
+ /** default = (0.0, 0.0, 0.0, 0.0) / transparent */
7417
+ color?: PBColor4 | undefined;
7418
+ }
7419
+
7420
+ /**
7421
+ * @public
7422
+ */
7423
+ export declare namespace PBUiCanvas {
7424
+ export function encode(message: PBUiCanvas, writer?: _m0.Writer): _m0.Writer;
7425
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiCanvas;
7426
+ }
7427
+
6974
7428
  /** This component is created by the renderer and used by the scenes to know the resolution of the UI canvas */
6975
7429
  /**
6976
7430
  * @public
@@ -7026,6 +7480,8 @@ export declare interface PBUiDropdown {
7026
7480
  font?: Font | undefined;
7027
7481
  /** default=10 */
7028
7482
  fontSize?: number | undefined;
7483
+ /** a font file in the scene, or a Google Fonts family name; `font` is the fallback (default: unset) */
7484
+ fontSrc?: string | undefined;
7029
7485
  }
7030
7486
 
7031
7487
  /**
@@ -7068,6 +7524,12 @@ export declare interface PBUiInput {
7068
7524
  /** default=10 */
7069
7525
  fontSize?: number | undefined;
7070
7526
  value?: string | undefined;
7527
+ /** default=false; when true, the input accepts newlines and behaves as a textarea */
7528
+ multiLine?: boolean | undefined;
7529
+ /** default=true; when false, the input value is preserved after pressing Enter */
7530
+ clearOnSubmit?: boolean | undefined;
7531
+ /** a font file in the scene, or a Google Fonts family name; `font` is the fallback (default: unset) */
7532
+ fontSrc?: string | undefined;
7071
7533
  }
7072
7534
 
7073
7535
  /**
@@ -7131,6 +7593,21 @@ export declare namespace PBUiInputResult {
7131
7593
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiInputResult;
7132
7594
  }
7133
7595
 
7596
+ /**
7597
+ * @public
7598
+ */
7599
+ export declare interface PBUiScrollResult {
7600
+ value: PBVector2 | undefined;
7601
+ }
7602
+
7603
+ /**
7604
+ * @public
7605
+ */
7606
+ export declare namespace PBUiScrollResult {
7607
+ export function encode(message: PBUiScrollResult, writer?: _m0.Writer): _m0.Writer;
7608
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiScrollResult;
7609
+ }
7610
+
7134
7611
  /**
7135
7612
  * @public
7136
7613
  */
@@ -7147,6 +7624,8 @@ export declare interface PBUiText {
7147
7624
  fontSize?: number | undefined;
7148
7625
  /** wrap text when the border is reached (default: TW_WRAP) */
7149
7626
  textWrap?: TextWrap | undefined;
7627
+ /** a font file in the scene, or a Google Fonts family name; `font` is the fallback (default: unset) */
7628
+ fontSrc?: string | undefined;
7150
7629
  }
7151
7630
 
7152
7631
  /**
@@ -7274,6 +7753,12 @@ export declare interface PBUiTransform {
7274
7753
  borderRightColor?: PBColor4 | undefined;
7275
7754
  /** default: 1 */
7276
7755
  opacity?: number | undefined;
7756
+ /** reference for scroll_position. default empty */
7757
+ elementId?: string | undefined;
7758
+ /** default position=(0,0) */
7759
+ scrollPosition?: ScrollPositionValue | undefined;
7760
+ /** default ShowScrollBar.SSB_BOTH */
7761
+ scrollVisible?: ShowScrollBar | undefined;
7277
7762
  /** default: 0 — controls render stacking order. Higher values appear in front of lower values. */
7278
7763
  zIndex?: number | undefined;
7279
7764
  }
@@ -7426,6 +7911,25 @@ export declare namespace PBVisibilityComponent {
7426
7911
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBVisibilityComponent;
7427
7912
  }
7428
7913
 
7914
+ /**
7915
+ * @public
7916
+ */
7917
+ export declare interface Perspective {
7918
+ /**
7919
+ * vertical field of view in radians
7920
+ * defaults to pi/4 = 45 degrees
7921
+ */
7922
+ fieldOfView?: number | undefined;
7923
+ }
7924
+
7925
+ /**
7926
+ * @public
7927
+ */
7928
+ export declare namespace Perspective {
7929
+ export function encode(message: Perspective, writer?: _m0.Writer): _m0.Writer;
7930
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): Perspective;
7931
+ }
7932
+
7429
7933
  /**
7430
7934
  * @public
7431
7935
  * Physics helpers for applying impulses and forces to the player.
@@ -7667,6 +8171,24 @@ export declare interface PointerEventsSystem {
7667
8171
  * @param entity - Entity where the callback was attached
7668
8172
  */
7669
8173
  removeOnPointerHoverLeave(entity: Entity): void;
8174
+ /**
8175
+ * @public
8176
+ * Remove the callback for onPointerDrag event
8177
+ * @param entity - Entity where the callback was attached
8178
+ */
8179
+ removeOnPointerDrag(entity: Entity): void;
8180
+ /**
8181
+ * @public
8182
+ * Remove the callback for onPointerDragLocked event
8183
+ * @param entity - Entity where the callback was attached
8184
+ */
8185
+ removeOnPointerDragLocked(entity: Entity): void;
8186
+ /**
8187
+ * @public
8188
+ * Remove the callback for onPointerDragEnd event
8189
+ * @param entity - Entity where the callback was attached
8190
+ */
8191
+ removeOnPointerDragEnd(entity: Entity): void;
7670
8192
  /**
7671
8193
  * @public
7672
8194
  * Remove the callback for onProximityDown event
@@ -7745,6 +8267,36 @@ export declare interface PointerEventsSystem {
7745
8267
  entity: Entity;
7746
8268
  opts?: Partial<EventSystemOptions>;
7747
8269
  }, cb: EventSystemCallback): void;
8270
+ /**
8271
+ * @public
8272
+ * Execute callback while the user holds the button pressed and moves the pointer, having pressed it on the entity
8273
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
8274
+ * @param cb - Function to execute on every drag update
8275
+ */
8276
+ onPointerDrag(pointerData: {
8277
+ entity: Entity;
8278
+ opts?: Partial<EventSystemOptions>;
8279
+ }, cb: EventSystemCallback): void;
8280
+ /**
8281
+ * @public
8282
+ * Same as onPointerDrag, but the cursor is locked in place for the duration of the drag
8283
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
8284
+ * @param cb - Function to execute on every drag update
8285
+ */
8286
+ onPointerDragLocked(pointerData: {
8287
+ entity: Entity;
8288
+ opts?: Partial<EventSystemOptions>;
8289
+ }, cb: EventSystemCallback): void;
8290
+ /**
8291
+ * @public
8292
+ * Execute callback when the user releases the button after a drag that started on the entity
8293
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
8294
+ * @param cb - Function to execute when the drag ends
8295
+ */
8296
+ onPointerDragEnd(pointerData: {
8297
+ entity: Entity;
8298
+ opts?: Partial<EventSystemOptions>;
8299
+ }, cb: EventSystemCallback): void;
7748
8300
  /**
7749
8301
  * @public
7750
8302
  * Execute callback when the user presses the proximity button on the entity
@@ -7803,7 +8355,10 @@ export declare const enum PointerEventType {
7803
8355
  PET_HOVER_ENTER = 2,
7804
8356
  PET_HOVER_LEAVE = 3,
7805
8357
  PET_PROXIMITY_ENTER = 4,
7806
- PET_PROXIMITY_LEAVE = 5
8358
+ PET_PROXIMITY_LEAVE = 5,
8359
+ PET_DRAG_LOCKED = 6,
8360
+ PET_DRAG = 7,
8361
+ PET_DRAG_END = 8
7807
8362
  }
7808
8363
 
7809
8364
  /**
@@ -7834,7 +8389,10 @@ export declare const enum PointerType {
7834
8389
  /** POT_NONE - No pointer input */
7835
8390
  POT_NONE = 0,
7836
8391
  /** POT_MOUSE - Traditional mouse input */
7837
- POT_MOUSE = 1
8392
+ POT_MOUSE = 1,
8393
+ POT_PAD = 2,
8394
+ POT_TOUCH = 3,
8395
+ POT_WAND = 4
7838
8396
  }
7839
8397
 
7840
8398
  /**
@@ -8291,6 +8849,16 @@ export declare const enum RaycastQueryType {
8291
8849
  /** @public */
8292
8850
  export declare const RaycastResult: LastWriteWinElementSetComponentDefinition<PBRaycastResult>;
8293
8851
 
8852
+ /**
8853
+ * @public
8854
+ */
8855
+ export declare const enum RaycastShape {
8856
+ /** RS_RAY - cast a point, get collisions along a ray */
8857
+ RS_RAY = 0,
8858
+ /** RS_AVATAR - cast the avatar collider shape, get collisions from sweeping the shape */
8859
+ RS_AVATAR = 1
8860
+ }
8861
+
8294
8862
  /**
8295
8863
  * @public
8296
8864
  */
@@ -8423,6 +8991,10 @@ export declare type RaycastSystemOptions = {
8423
8991
  queryType: RaycastQueryType;
8424
8992
  continuous?: boolean | undefined;
8425
8993
  collisionMask?: number | undefined;
8994
+ /** shape to sweep along the ray, default RS_RAY (a point) */
8995
+ shape?: RaycastShape | undefined;
8996
+ /** include colliders from other scenes, default false */
8997
+ includeWorld?: boolean | undefined;
8426
8998
  };
8427
8999
 
8428
9000
  /**
@@ -8471,6 +9043,20 @@ export declare interface ReactBasedUiSystem {
8471
9043
  * @param entity - The entity whose UI renderer should be removed
8472
9044
  */
8473
9045
  removeUiRenderer(entity: Entity): void;
9046
+ /**
9047
+ * Render a UI tree to a texture. The tree is rooted at `entity`, which must carry a UiCanvas
9048
+ * describing the texture; the result can be sampled through `TextureUnion.uiTexture`. Replaces
9049
+ * any texture renderer already set on the entity, and is torn down when the entity is removed.
9050
+ *
9051
+ * @param entity - The UiCanvas entity the UI tree hangs from
9052
+ * @param ui - The UI component to render
9053
+ */
9054
+ setTextureRenderer(entity: Entity, ui: UiComponent): void;
9055
+ /**
9056
+ * Remove a texture renderer previously set with setTextureRenderer(), destroying its entities.
9057
+ * @param entity - The UiCanvas entity the renderer was set on
9058
+ */
9059
+ removeTextureRenderer(entity: Entity): void;
8474
9060
  }
8475
9061
 
8476
9062
  /**
@@ -8634,7 +9220,7 @@ export declare type ReadOnlyLastWriteWinElementSetComponentDefinition<T> = Omit<
8634
9220
  /**
8635
9221
  * @public
8636
9222
  */
8637
- export declare type ReadonlyPrimitive = number | string | boolean;
9223
+ export declare type ReadonlyPrimitive = number | string | number[] | string[] | boolean | boolean[];
8638
9224
 
8639
9225
  /** @public */
8640
9226
  export declare const RealmInfo: LastWriteWinElementSetComponentDefinition<PBRealmInfo>;
@@ -9061,6 +9647,33 @@ export declare namespace Schemas {
9061
9647
  */
9062
9648
  export declare function ScreenInsetArea(props: UiScreenInsetAreaProps): ReactEcs.JSX.Element;
9063
9649
 
9650
+ /**
9651
+ * @public
9652
+ */
9653
+ export declare interface ScrollPositionValue {
9654
+ value?: {
9655
+ $case: "position";
9656
+ position: PBVector2;
9657
+ } | {
9658
+ $case: "reference";
9659
+ reference: string;
9660
+ } | undefined;
9661
+ }
9662
+
9663
+ /**
9664
+ * @public
9665
+ */
9666
+ export declare namespace ScrollPositionValue {
9667
+ export function encode(message: ScrollPositionValue, writer?: _m0.Writer): _m0.Writer;
9668
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): ScrollPositionValue;
9669
+ }
9670
+
9671
+ /**
9672
+ * Which scrollbars are shown when the overflow is scrollable
9673
+ * @public
9674
+ */
9675
+ export declare type ScrollVisibleType = 'horizontal' | 'vertical' | 'both' | 'hidden';
9676
+
9064
9677
  /**
9065
9678
  * Register the composite provider used to resolve composite files. Also registers
9066
9679
  * any `provider.schemas` on the engine pre-seal so composites that reference those
@@ -9086,6 +9699,16 @@ export declare interface SetMoveRotateScaleParams extends MoveRotateScaleModePar
9086
9699
  easingFunction?: EasingFunction;
9087
9700
  }
9088
9701
 
9702
+ /**
9703
+ * @public
9704
+ */
9705
+ export declare const enum ShowScrollBar {
9706
+ SSB_BOTH = 0,
9707
+ SSB_ONLY_VERTICAL = 1,
9708
+ SSB_ONLY_HORIZONTAL = 2,
9709
+ SSB_HIDDEN = 3
9710
+ }
9711
+
9089
9712
  /** @public */
9090
9713
  export declare const SkyboxTime: LastWriteWinElementSetComponentDefinition<PBSkyboxTime>;
9091
9714
 
@@ -9197,6 +9820,9 @@ export declare namespace Texture {
9197
9820
  export function decode(input: _m0.Reader | Uint8Array, length?: number): Texture;
9198
9821
  }
9199
9822
 
9823
+ /** @public */
9824
+ export declare const TextureCamera: LastWriteWinElementSetComponentDefinition<PBTextureCamera>;
9825
+
9200
9826
  /**
9201
9827
  * @public
9202
9828
  */
@@ -9307,6 +9933,9 @@ export declare interface TextureUnion {
9307
9933
  } | {
9308
9934
  $case: "videoTexture";
9309
9935
  videoTexture: VideoTexture;
9936
+ } | {
9937
+ $case: "uiTexture";
9938
+ uiTexture: UiCanvasTexture;
9310
9939
  } | undefined;
9311
9940
  }
9312
9941
 
@@ -9537,16 +10166,6 @@ export declare type Transport = {
9537
10166
  onmessage?(message: Uint8Array): void;
9538
10167
  filter(message: Omit<TransportMessage, 'messageBuffer'>): boolean;
9539
10168
  type?: string;
9540
- /**
9541
- * Whether this transport is allowed to mutate reserved-range entities
9542
- * (root/player/camera + avatars, entity number below `RESERVED_STATIC_ENTITIES`).
9543
- * Only the trusted host/renderer transport sets this. An inbound DELETE_ENTITY
9544
- * or component operation (PUT_COMPONENT, DELETE_COMPONENT, APPEND_VALUE,
9545
- * AUTHORITATIVE_PUT_COMPONENT) on a reserved entity from a transport without
9546
- * this flag (a comms peer, or any scene-added transport) is rejected — see
9547
- * `receiveMessages`.
9548
- */
9549
- allowReservedEntities?: boolean;
9550
10169
  };
9551
10170
 
9552
10171
  /**
@@ -9855,6 +10474,8 @@ export declare interface UiBackgroundProps {
9855
10474
  uvs?: number[];
9856
10475
  /** AvatarTexture for the background */
9857
10476
  avatarTexture?: UiAvatarTexture;
10477
+ /** VideoTexture for the background: the frames of a VideoPlayer on another entity */
10478
+ videoTexture?: UiVideoTexture;
9858
10479
  /** Texture for the background */
9859
10480
  texture?: UiTexture;
9860
10481
  }
@@ -9874,9 +10495,31 @@ export declare interface UiButtonProps extends UiLabelProps, EntityPropTypes {
9874
10495
  disabled?: boolean;
9875
10496
  }
9876
10497
 
10498
+ /** @public */
10499
+ export declare const UiCanvas: LastWriteWinElementSetComponentDefinition<PBUiCanvas>;
10500
+
9877
10501
  /** @public */
9878
10502
  export declare const UiCanvasInformation: LastWriteWinElementSetComponentDefinition<PBUiCanvasInformation>;
9879
10503
 
10504
+ /**
10505
+ * @public
10506
+ */
10507
+ export declare interface UiCanvasTexture {
10508
+ uiCanvasEntity: number;
10509
+ /** default = TextureWrapMode.Clamp */
10510
+ wrapMode?: TextureWrapMode | undefined;
10511
+ /** default = FilterMode.Bilinear */
10512
+ filterMode?: TextureFilterMode | undefined;
10513
+ }
10514
+
10515
+ /**
10516
+ * @public
10517
+ */
10518
+ export declare namespace UiCanvasTexture {
10519
+ export function encode(message: UiCanvasTexture, writer?: _m0.Writer): _m0.Writer;
10520
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): UiCanvasTexture;
10521
+ }
10522
+
9880
10523
  /**
9881
10524
  * @public
9882
10525
  */
@@ -9974,6 +10617,8 @@ export declare interface UiLabelProps {
9974
10617
  font?: UiFontType | undefined;
9975
10618
  /** Behaviour when text reached. @defaultValue 'wrap' */
9976
10619
  textWrap?: UiTextWrapType | undefined;
10620
+ /** A font file in the scene, or a Google Fonts family name; `font` is the fallback. @defaultValue undefined */
10621
+ fontSrc?: string | undefined;
9977
10622
  }
9978
10623
 
9979
10624
  /**
@@ -9994,17 +10639,6 @@ export declare type UiRendererOptions = {
9994
10639
  * can use different insets simultaneously.
9995
10640
  */
9996
10641
  screenInset?: UiScreenInset;
9997
- /**
9998
- * Stacking order of this renderer's UI relative to the other renderers (the main
9999
- * one and every `addUiRenderer`). Higher values render in front. When omitted,
10000
- * renderers stack in the order they first render, later ones on top; among those
10001
- * first rendered in the same tick the main UI goes at the back.
10002
- *
10003
- * It is applied to the renderer's root container entity, so it only orders whole
10004
- * renderers against each other; a renderer zIndex of 0 is interpreted as "unset"
10005
- * (positional order); elements inside a renderer keep their own `zIndex`.
10006
- */
10007
- zIndex?: number;
10008
10642
  };
10009
10643
 
10010
10644
  /**
@@ -10040,6 +10674,9 @@ export declare type UiScreenInsetAreaProps = Omit<EntityPropTypes, 'uiTransform'
10040
10674
  uiTransform?: Omit<NonNullable<EntityPropTypes['uiTransform']>, 'positionType' | 'position'>;
10041
10675
  };
10042
10676
 
10677
+ /** @public */
10678
+ export declare const UiScrollResult: LastWriteWinElementSetComponentDefinition<PBUiScrollResult>;
10679
+
10043
10680
  /** @public */
10044
10681
  export declare const UiText: LastWriteWinElementSetComponentDefinition<PBUiText>;
10045
10682
 
@@ -10119,20 +10756,28 @@ export declare interface UiTransformProps {
10119
10756
  opacity?: number;
10120
10757
  /** default 0 */
10121
10758
  zIndex?: number;
10759
+ /** A reference id for the element, e.g. as a scrollPosition target or for SetUiFocus. default empty */
10760
+ elementId?: string;
10761
+ /** Scroll offset when overflow is 'scroll': a position, or the elementId of a child to scroll to. default (0, 0) */
10762
+ scrollPosition?: PBVector2 | string;
10763
+ /** Which scrollbars to show when overflow is 'scroll'. default 'both' */
10764
+ scrollVisible?: ScrollVisibleType;
10122
10765
  }
10123
10766
 
10124
10767
  /**
10768
+ * Video Texture
10125
10769
  * @public
10126
10770
  */
10127
- export declare type Unpacked<T> = T extends (infer U)[] ? U : T;
10771
+ export declare interface UiVideoTexture {
10772
+ videoPlayerEntity: Entity;
10773
+ wrapMode?: TextureWrapType;
10774
+ filterMode?: TextureFilterType;
10775
+ }
10128
10776
 
10129
- export declare type ValidateCallback<T> = (value: {
10130
- entity: Entity;
10131
- currentValue: T | undefined;
10132
- newValue: T | undefined;
10133
- senderAddress: string;
10134
- createdBy: string;
10135
- }) => boolean;
10777
+ /**
10778
+ * @public
10779
+ */
10780
+ export declare type Unpacked<T> = T extends (infer U)[] ? U : T;
10136
10781
 
10137
10782
  /**
10138
10783
  * @public