@dcl/playground-assets 7.31.1-40370968977.commit-10922ec → 7.31.1-40604676255.commit-cb3ed84

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,17 +1519,24 @@ 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::ExplorerItemPurchaseResult": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBExplorerItemPurchaseResult>>;
1509
1533
  "core::ExplorerUiEventsResult": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBExplorerUiEventsResult>>;
1534
+ "core::GlobalLight": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGlobalLight>>;
1510
1535
  "core::GltfContainer": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainer>>;
1511
1536
  "core::GltfContainerLoadingState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>>;
1537
+ "core::GltfNode": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNode>>;
1512
1538
  "core::GltfNodeModifiers": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNodeModifiers>>;
1539
+ "core::GltfNodeState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBGltfNodeState>>;
1513
1540
  "core::InputModifier": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBInputModifier>>;
1514
1541
  "core::LightSource": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBLightSource>>;
1515
1542
  "core::MainCamera": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMainCamera>>;
@@ -1530,6 +1557,7 @@ export declare const componentDefinitionByName: {
1530
1557
  "core::RealmInfo": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBRealmInfo>>;
1531
1558
  "core::SkyboxTime": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBSkyboxTime>>;
1532
1559
  "core::TextShape": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTextShape>>;
1560
+ "core::TextureCamera": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTextureCamera>>;
1533
1561
  "core::TouchScreenControls": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTouchScreenControls>>;
1534
1562
  "core::TriggerArea": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTriggerArea>>;
1535
1563
  "core::TriggerAreaResult": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBTriggerAreaResult>>;
@@ -1537,12 +1565,14 @@ export declare const componentDefinitionByName: {
1537
1565
  "core::TweenSequence": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTweenSequence>>;
1538
1566
  "core::TweenState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTweenState>>;
1539
1567
  "core::UiBackground": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiBackground>>;
1568
+ "core::UiCanvas": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiCanvas>>;
1540
1569
  "core::UiCanvasInformation": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiCanvasInformation>>;
1541
1570
  "core::UiDropdown": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiDropdown>>;
1542
1571
  "core::UiDropdownResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiDropdownResult>>;
1543
1572
  "core::UiInput": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiInput>>;
1544
1573
  "core::UiInputBinding": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiInputBinding>>;
1545
1574
  "core::UiInputResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiInputResult>>;
1575
+ "core::UiScrollResult": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiScrollResult>>;
1546
1576
  "core::UiText": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiText>>;
1547
1577
  "core::UiTransform": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBUiTransform>>;
1548
1578
  "core::VideoEvent": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBVideoEvent>>;
@@ -1715,12 +1745,12 @@ export declare const CRDT_MESSAGE_HEADER_LENGTH = 8;
1715
1745
  /**
1716
1746
  * @public
1717
1747
  */
1718
- export declare type CrdtMessage = PutComponentMessage | AuthoritativePutComponentMessage | DeleteComponentMessage | AppendValueMessage | DeleteEntityMessage | PutNetworkComponentMessage | DeleteComponentNetworkMessage | DeleteEntityNetworkMessage;
1748
+ export declare type CrdtMessage = PutComponentMessage | DeleteComponentMessage | AppendValueMessage | DeleteEntityMessage | PutNetworkComponentMessage | DeleteComponentNetworkMessage | DeleteEntityNetworkMessage;
1719
1749
 
1720
1750
  /**
1721
1751
  * @public
1722
1752
  */
1723
- export declare type CrdtMessageBody = PutComponentMessageBody | AuthoritativePutComponentMessageBody | DeleteComponentMessageBody | DeleteEntityMessageBody | AppendValueMessageBody | CrdtNetworkMessageBody;
1753
+ export declare type CrdtMessageBody = PutComponentMessageBody | DeleteComponentMessageBody | DeleteEntityMessageBody | AppendValueMessageBody | CrdtNetworkMessageBody;
1724
1754
 
1725
1755
  /**
1726
1756
  * Min length = 8 bytes
@@ -1775,8 +1805,7 @@ export declare enum CrdtMessageType {
1775
1805
  PUT_COMPONENT_NETWORK = 5,
1776
1806
  DELETE_COMPONENT_NETWORK = 6,
1777
1807
  DELETE_ENTITY_NETWORK = 7,
1778
- AUTHORITATIVE_PUT_COMPONENT = 8,
1779
- MAX_MESSAGE_TYPE = 9
1808
+ MAX_MESSAGE_TYPE = 8
1780
1809
  }
1781
1810
 
1782
1811
  /**
@@ -1784,8 +1813,6 @@ export declare enum CrdtMessageType {
1784
1813
  */
1785
1814
  export declare type CrdtNetworkMessageBody = PutNetworkComponentMessageBody | DeleteComponentNetworkMessageBody | DeleteEntityNetworkMessageBody;
1786
1815
 
1787
- export declare const CreatedBy: ICreatedBy;
1788
-
1789
1816
  /**
1790
1817
  * @public
1791
1818
  */
@@ -2165,6 +2192,9 @@ export declare type EntityComponents = {
2165
2192
  onMouseUp: Callback;
2166
2193
  onMouseEnter: Callback;
2167
2194
  onMouseLeave: Callback;
2195
+ onMouseDrag: Callback;
2196
+ onMouseDragLocked: Callback;
2197
+ onMouseDragEnd: Callback;
2168
2198
  };
2169
2199
 
2170
2200
  /** @public */
@@ -2524,6 +2554,9 @@ export declare type GlobalDirectionRaycastSystemOptions = {
2524
2554
  direction?: PBVector3;
2525
2555
  };
2526
2556
 
2557
+ /** @public */
2558
+ export declare const GlobalLight: LastWriteWinElementSetComponentDefinition<PBGlobalLight>;
2559
+
2527
2560
  export declare type GlobalTargetRaycastOptions = RaycastSystemOptions & GlobalTargetRaycastSystemOptions;
2528
2561
 
2529
2562
  export declare type GlobalTargetRaycastSystemOptions = {
@@ -2536,9 +2569,24 @@ export declare const GltfContainer: LastWriteWinElementSetComponentDefinition<PB
2536
2569
  /** @public */
2537
2570
  export declare const GltfContainerLoadingState: LastWriteWinElementSetComponentDefinition<PBGltfContainerLoadingState>;
2538
2571
 
2572
+ /** @public */
2573
+ export declare const GltfNode: LastWriteWinElementSetComponentDefinition<PBGltfNode>;
2574
+
2539
2575
  /** @public */
2540
2576
  export declare const GltfNodeModifiers: LastWriteWinElementSetComponentDefinition<PBGltfNodeModifiers>;
2541
2577
 
2578
+ /** @public */
2579
+ export declare const GltfNodeState: LastWriteWinElementSetComponentDefinition<PBGltfNodeState>;
2580
+
2581
+ /**
2582
+ * @public
2583
+ */
2584
+ export declare const enum GltfNodeStateValue {
2585
+ GNSV_PENDING = 0,
2586
+ GNSV_FAILED = 1,
2587
+ GNSV_READY = 2
2588
+ }
2589
+
2542
2590
  /**
2543
2591
  * @public
2544
2592
  */
@@ -2562,12 +2610,6 @@ export declare interface GrowOnlyValueSetComponentDefinition<T> extends BaseComp
2562
2610
 
2563
2611
  export declare type GSetComponentGetter<T extends GrowOnlyValueSetComponentDefinition<any>> = (engine: Pick<IEngine, 'defineValueSetComponentFromSchema'>) => T;
2564
2612
 
2565
- export declare type ICreatedBy = LastWriteWinElementSetComponentDefinition<ICreatedByType>;
2566
-
2567
- export declare interface ICreatedByType {
2568
- address: string;
2569
- }
2570
-
2571
2613
  /**
2572
2614
  * @public
2573
2615
  */
@@ -3045,35 +3087,6 @@ export declare const enum InteractionType {
3045
3087
  PROXIMITY = 1
3046
3088
  }
3047
3089
 
3048
- /**
3049
- * Internal component interface that exposes all internal methods for SDK use
3050
- * This is not exposed to users, only for internal SDK operations
3051
- */
3052
- export declare interface InternalBaseComponent<T> extends BaseComponent<T> {
3053
- /**
3054
- * @public
3055
- * Dry run update to check if a CRDT message would be accepted without actually applying it
3056
- */
3057
- __dry_run_updateFromCrdt(body: CrdtMessageBody): ProcessMessageResultType;
3058
- /**
3059
- * @public
3060
- * Get the iterator to every entity has the component
3061
- */
3062
- iterator(): Iterable<[Entity, any]>;
3063
- /**
3064
- * @public
3065
- */
3066
- dirtyIterator(): Iterable<Entity>;
3067
- /**
3068
- * @public
3069
- */
3070
- __onChangeCallbacks(entity: Entity, value: T): void;
3071
- /**
3072
- * @public
3073
- */
3074
- __run_validateBeforeChange(entity: Entity, newValue: T | undefined, senderAddress: string, createdBy: string): boolean;
3075
- }
3076
-
3077
3090
  /**
3078
3091
  * @public
3079
3092
  */
@@ -3277,6 +3290,12 @@ export declare type Listeners = {
3277
3290
  onMouseEnter?: Callback;
3278
3291
  /** triggered on mouse leave event */
3279
3292
  onMouseLeave?: Callback;
3293
+ /** triggered while the pointer is dragged after pressing on the element */
3294
+ onMouseDrag?: Callback;
3295
+ /** triggered while the pointer is dragged with the cursor locked in place */
3296
+ onMouseDragLocked?: Callback;
3297
+ /** triggered when a drag that started on the element ends */
3298
+ onMouseDragEnd?: Callback;
3280
3299
  };
3281
3300
 
3282
3301
  /**
@@ -4181,6 +4200,15 @@ export declare interface MeshColliderComponentDefinitionExtended extends LastWri
4181
4200
  * @param colliderMask - the set of layer where the collider reacts, default: Physics and Pointer
4182
4201
  */
4183
4202
  setSphere(entity: Entity, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
4203
+ /**
4204
+ * @public
4205
+ * Set a mesh from inside a gltf in the MeshCollider component
4206
+ * @param entity - entity to create or replace the MeshCollider component
4207
+ * @param source - the path to the gltf
4208
+ * @param meshName - the name of the mesh in the gltf (see GltfContainerLoadingState.meshNames)
4209
+ * @param colliderMask - the set of layer where the collider reacts, default: Physics and Pointer
4210
+ */
4211
+ setGltfMesh(entity: Entity, source: string, meshName: string, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
4184
4212
  }
4185
4213
 
4186
4214
  export declare const MeshRenderer: MeshRendererComponentDefinitionExtended;
@@ -4217,6 +4245,14 @@ export declare interface MeshRendererComponentDefinitionExtended extends LastWri
4217
4245
  * @param entity - entity to create or replace the MeshRenderer component
4218
4246
  */
4219
4247
  setSphere(entity: Entity): void;
4248
+ /**
4249
+ * @public
4250
+ * Set a mesh from inside a gltf in the MeshRenderer component
4251
+ * @param entity - entity to create or replace the MeshRenderer component
4252
+ * @param source - the path to the gltf
4253
+ * @param meshName - the name of the mesh in the gltf (see GltfContainerLoadingState.meshNames)
4254
+ */
4255
+ setGltfMesh(entity: Entity, source: string, meshName: string): void;
4220
4256
  }
4221
4257
 
4222
4258
  /* Excluded from this release type: MessageBus */
@@ -4254,6 +4290,39 @@ export declare namespace MoveContinuous {
4254
4290
  export function decode(input: _m0.Reader | Uint8Array, length?: number): MoveContinuous;
4255
4291
  }
4256
4292
 
4293
+ /**
4294
+ * Describes the animation the movement scene wants the avatar to play.
4295
+ * One GLB = one clip (following the scene-emote convention: single clip, or a clip named with `_Avatar` suffix).
4296
+ * When absent the engine falls back to its built-in velocity-based selection (walk/run/jump/idle).
4297
+ */
4298
+ /**
4299
+ * @public
4300
+ */
4301
+ export declare interface MovementAnimation {
4302
+ /** scene-relative path to the gltf/glb asset (resolved via the scene content map) */
4303
+ src: string;
4304
+ /** whether the clip repeats once it reaches the end */
4305
+ loop: boolean;
4306
+ /** playback speed multiplier (1.0 = clip's native rate) */
4307
+ speed: number;
4308
+ /** true: a triggerSceneEmote may take over; false: emotes are suppressed while this animation plays */
4309
+ idle: boolean;
4310
+ /** cross-fade duration when `src` changes; defaults to 0.2 when unset. Not applied to loop/speed/idle changes. */
4311
+ transitionSeconds?: number | undefined;
4312
+ /** 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. */
4313
+ playbackTime?: number | undefined;
4314
+ /** 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). */
4315
+ sounds: string[];
4316
+ }
4317
+
4318
+ /**
4319
+ * @public
4320
+ */
4321
+ export declare namespace MovementAnimation {
4322
+ export function encode(message: MovementAnimation, writer?: _m0.Writer): _m0.Writer;
4323
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): MovementAnimation;
4324
+ }
4325
+
4257
4326
  /**
4258
4327
  * @public
4259
4328
  */
@@ -4669,6 +4738,25 @@ export declare const onVideoEvent: Observable<{
4669
4738
  totalVideoLength: number;
4670
4739
  }>;
4671
4740
 
4741
+ /**
4742
+ * @public
4743
+ */
4744
+ export declare interface Orthographic {
4745
+ /**
4746
+ * vertical extent of the visible range in meters
4747
+ * defaults to 4m
4748
+ */
4749
+ verticalRange?: number | undefined;
4750
+ }
4751
+
4752
+ /**
4753
+ * @public
4754
+ */
4755
+ export declare namespace Orthographic {
4756
+ export function encode(message: Orthographic, writer?: _m0.Writer): _m0.Writer;
4757
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): Orthographic;
4758
+ }
4759
+
4672
4760
  /**
4673
4761
  * @public
4674
4762
  * The overflow property controls what happens to content that is too big to fit into an area
@@ -5018,6 +5106,8 @@ export declare namespace PBAvatarEmoteCommand {
5018
5106
  export declare interface PBAvatarEquippedData {
5019
5107
  wearableUrns: string[];
5020
5108
  emoteUrns: string[];
5109
+ /** slots that will render even if hidden */
5110
+ forceRender: string[];
5021
5111
  }
5022
5112
 
5023
5113
  /**
@@ -5088,6 +5178,8 @@ export declare interface PBAvatarModifierArea {
5088
5178
  excludeIds: string[];
5089
5179
  /** list of modifiers to apply */
5090
5180
  modifiers: AvatarModifierType[];
5181
+ /** if true, the player will be considered inside the area when they are within 0.3m of the area. default true */
5182
+ useColliderRange?: boolean | undefined;
5091
5183
  }
5092
5184
 
5093
5185
  /**
@@ -5098,6 +5190,64 @@ export declare namespace PBAvatarModifierArea {
5098
5190
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarModifierArea;
5099
5191
  }
5100
5192
 
5193
+ /**
5194
+ * @public
5195
+ */
5196
+ export declare interface PBAvatarMovement {
5197
+ velocity: PBVector3 | undefined;
5198
+ /** 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. */
5199
+ orientation: number;
5200
+ groundDirection?: PBVector3 | undefined;
5201
+ /** set for one frame when a walk_target ends: true = reached target, false = failed; absent = in progress or no walk */
5202
+ walkSuccess?: boolean | undefined;
5203
+ /** if set, the engine plays this animation instead of selecting one from velocity heuristics */
5204
+ animation?: MovementAnimation | undefined;
5205
+ /** 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. */
5206
+ tiltPitch?: number | undefined;
5207
+ /** 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. */
5208
+ tiltRoll?: number | undefined;
5209
+ }
5210
+
5211
+ /**
5212
+ * @public
5213
+ */
5214
+ export declare namespace PBAvatarMovement {
5215
+ export function encode(message: PBAvatarMovement, writer?: _m0.Writer): _m0.Writer;
5216
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarMovement;
5217
+ }
5218
+
5219
+ /**
5220
+ * @public
5221
+ */
5222
+ export declare interface PBAvatarMovementInfo {
5223
+ /** the length of time the current step velocity will apply for */
5224
+ stepTime: number;
5225
+ /** the length of time the previous step velocity applied for */
5226
+ previousStepTime: number;
5227
+ /** the velocity requested for the previous frame */
5228
+ requestedVelocity: PBVector3 | undefined;
5229
+ /** the resulting velocity taking collisions into account */
5230
+ actualVelocity: PBVector3 | undefined;
5231
+ /** the velocity imparted by movement of the "ground" platform or pushing from other moving colliders */
5232
+ externalVelocity: PBVector3 | undefined;
5233
+ activeAvatarLocomotionSettings: PBAvatarLocomotionSettings | undefined;
5234
+ activeInputModifier: PBInputModifier | undefined;
5235
+ /** if set, the movement scene should walk the player to this scene-relative position */
5236
+ walkTarget?: PBVector3 | undefined;
5237
+ /** stop distance for walk_target; considered reached when within this distance */
5238
+ walkThreshold?: number | undefined;
5239
+ /** 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. */
5240
+ activeAnimationState?: AvatarAnimationState | undefined;
5241
+ }
5242
+
5243
+ /**
5244
+ * @public
5245
+ */
5246
+ export declare namespace PBAvatarMovementInfo {
5247
+ export function encode(message: PBAvatarMovementInfo, writer?: _m0.Writer): _m0.Writer;
5248
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBAvatarMovementInfo;
5249
+ }
5250
+
5101
5251
  /**
5102
5252
  * The AvatarNametag component adds a plate with scene-provided text above an avatar's nametag,
5103
5253
  * for example to show a rank or a role that the scene assigns to that player.
@@ -5188,6 +5338,8 @@ export declare interface PBAvatarShape {
5188
5338
  emotes: string[];
5189
5339
  /** hides the skin + hair + facial features (default: false) */
5190
5340
  showOnlyWearables?: boolean | undefined;
5341
+ /** slots that will render even if hidden */
5342
+ forceRender: string[];
5191
5343
  }
5192
5344
 
5193
5345
  /**
@@ -5229,6 +5381,51 @@ export declare namespace PBBillboard {
5229
5381
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBBillboard;
5230
5382
  }
5231
5383
 
5384
+ /**
5385
+ * @public
5386
+ */
5387
+ export declare interface PBCameraLayer {
5388
+ /**
5389
+ * layer to which these settings apply. must be > 0
5390
+ * Layer 0 is the default "real world" layer viewed by the player and cannot be modified.
5391
+ */
5392
+ layer: number;
5393
+ /** should the sun light affect this layer? default false */
5394
+ directionalLight?: boolean | undefined;
5395
+ /** should this layer show player avatars? default false */
5396
+ showAvatars?: boolean | undefined;
5397
+ /** should this layer show the sky? default false */
5398
+ showSkybox?: boolean | undefined;
5399
+ /** should this layer show distance fog? default false */
5400
+ showFog?: boolean | undefined;
5401
+ /** ambient light overrides for this layer. default -> use same as main camera */
5402
+ ambientColorOverride?: PBColor3 | undefined;
5403
+ ambientBrightnessOverride?: number | undefined;
5404
+ }
5405
+
5406
+ /**
5407
+ * @public
5408
+ */
5409
+ export declare namespace PBCameraLayer {
5410
+ export function encode(message: PBCameraLayer, writer?: _m0.Writer): _m0.Writer;
5411
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBCameraLayer;
5412
+ }
5413
+
5414
+ /**
5415
+ * @public
5416
+ */
5417
+ export declare interface PBCameraLayers {
5418
+ layers: number[];
5419
+ }
5420
+
5421
+ /**
5422
+ * @public
5423
+ */
5424
+ export declare namespace PBCameraLayers {
5425
+ export function encode(message: PBCameraLayers, writer?: _m0.Writer): _m0.Writer;
5426
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBCameraLayers;
5427
+ }
5428
+
5232
5429
  /**
5233
5430
  * The CameraMode component can be used to determine whether the player is using a first-person o
5234
5431
  * third-person view.
@@ -5270,6 +5467,8 @@ export declare interface PBCameraModeArea {
5270
5467
  area: PBVector3 | undefined;
5271
5468
  /** the camera mode to enforce */
5272
5469
  mode: CameraType;
5470
+ /** if true, the player will be considered inside the area when they are within 0.3m of the area. default true */
5471
+ useColliderRange?: boolean | undefined;
5273
5472
  }
5274
5473
 
5275
5474
  /**
@@ -5483,6 +5682,39 @@ export declare namespace PBExplorerUiEventsResult_UiOpened {
5483
5682
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBExplorerUiEventsResult_UiOpened;
5484
5683
  }
5485
5684
 
5685
+ /**
5686
+ * defines the global scene light settings. must be added to the scene root.
5687
+ * to control sunlight color, intensity, shadows etc, you can also add a PBLight to the scene root.
5688
+ */
5689
+ /**
5690
+ * @public
5691
+ */
5692
+ export declare interface PBGlobalLight {
5693
+ /**
5694
+ * the direction the directional light shines in.
5695
+ * default depends on time of day and explorer implementation
5696
+ */
5697
+ direction?: PBVector3 | undefined;
5698
+ /**
5699
+ * ambient light color
5700
+ * default: White
5701
+ */
5702
+ ambientColor?: PBColor3 | undefined;
5703
+ /**
5704
+ * ambient light intensity. the explorer default ambient brightness is multiplied by this non-physical quantity.
5705
+ * default 1
5706
+ */
5707
+ ambientBrightness?: number | undefined;
5708
+ }
5709
+
5710
+ /**
5711
+ * @public
5712
+ */
5713
+ export declare namespace PBGlobalLight {
5714
+ export function encode(message: PBGlobalLight, writer?: _m0.Writer): _m0.Writer;
5715
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGlobalLight;
5716
+ }
5717
+
5486
5718
  /**
5487
5719
  * GltfContainer loads a GLTF file (and any additional files packaged inside) attached to an Entity.
5488
5720
  *
@@ -5518,6 +5750,25 @@ export declare namespace PBGltfContainer {
5518
5750
  */
5519
5751
  export declare interface PBGltfContainerLoadingState {
5520
5752
  currentState: LoadingState;
5753
+ /** all node paths in the gltf, which can be used with a GltfNode to inspect and modify the gltf contents */
5754
+ nodePaths: string[];
5755
+ /** all meshes in the gltf. unnamed meshes will be auto-assigned a name of the form `MeshX` or `MeshX/PrimitiveY` */
5756
+ meshNames: string[];
5757
+ /**
5758
+ * where X is the mesh index and Y is the primitive index (and there is more than 1 primitive). note this may
5759
+ * conflict with manually named meshes - to avoid any issues make sure all your meshes are explicitly named.
5760
+ */
5761
+ materialNames: string[];
5762
+ /**
5763
+ * X is the material index. note this may conflict with manually named materials - to avoid any issues make
5764
+ * sure all your materials are explicitly named.
5765
+ */
5766
+ skinNames: string[];
5767
+ /**
5768
+ * X is the skin index. note this may conflict with manually named skins - to avoid any issues make sure all
5769
+ * your skins are explicitly named.
5770
+ */
5771
+ animationNames: string[];
5521
5772
  }
5522
5773
 
5523
5774
  /**
@@ -5528,6 +5779,57 @@ export declare namespace PBGltfContainerLoadingState {
5528
5779
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfContainerLoadingState;
5529
5780
  }
5530
5781
 
5782
+ /**
5783
+ * a GltfNode links a scene entity with a node from within a gltf, allowing the scene to inspect it or modify it.
5784
+ * This component must be added to a direct child of an entity with a PBGltfContainer component, or
5785
+ * to a direct child of another entity with a GltfNode component, and the referenced gltf node must be a descendent of the gltf node
5786
+ * in the parent.
5787
+ * The name must match the path of one of the nodes within the Gltf. These are available on the GltfContainerLoadingState component.
5788
+ *
5789
+ * The renderer will attach a PBGltfNodeState to the entity describing the state. Once the state is `GNS_READY`,
5790
+ * - the `Transform` will be updated to match the position of the node within the gltf (relative to the gltf root, or the parent node),
5791
+ * - a `MeshRenderer` with a GltfMesh mesh type will be added (if the gltf node has a mesh).
5792
+ * - a `MeshCollider` with a GltfMesh mesh type will be added (if the gltf node has a collider).
5793
+ * - a `Material` component including a GltfMaterial reference will be added (if the gltf node has a material).
5794
+ *
5795
+ * After creation, if an animation moves the node, the `Transform` will be updated.
5796
+ *
5797
+ * From the scene, you can modify various components to alter the gltf node:
5798
+ * - modifying the `Transform` position/rotation/scale will move the node. The position is interpreted relative to the gltf root (or parent node),
5799
+ * regardless of any intermediate gltf node hierarchy.
5800
+ * If an animation is playing, the animation takes priority and the scene entity's position will be updated to match the animation.
5801
+ * - `Visibility` can be added to hide or show the node and it's children in the gltf hierarchy.
5802
+ * - `MeshRenderer` can be added/modified/removed to create/modify/remove a mesh on the node.
5803
+ * - `MeshCollider` can be added/modified/removed to create/modify/remove a collider on the node.
5804
+ * - `Material` can be added or modified to change the material properties. If the gltf node has a material, the original material will be
5805
+ * 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
5806
+ * PBMaterial will be maintained.
5807
+ *
5808
+ * The scene can add additional entities as children to the gltf node, but structural modifications of the gltf are not possible:
5809
+ * - changing the scene hierarchy will not change the gltf node hierarchy. Moving the entity out of the gltf will sever the link and
5810
+ * change the state to `GNS_FAILED`.
5811
+ * - deleting the scene entity will not delete the gltf node.
5812
+ *
5813
+ * Removing the GltfNode will revert any changes to the original gltf. If the GltfNode component is removed and the mesh/collider/material
5814
+ * are not removed, this will result in a duplication of these components as the previously-linked entity will retain it's components and
5815
+ * the gltf node will also be displayed.
5816
+ */
5817
+ /**
5818
+ * @public
5819
+ */
5820
+ export declare interface PBGltfNode {
5821
+ /** the path of the target node in the Gltf. */
5822
+ path: string;
5823
+ }
5824
+
5825
+ /**
5826
+ * @public
5827
+ */
5828
+ export declare namespace PBGltfNode {
5829
+ export function encode(message: PBGltfNode, writer?: _m0.Writer): _m0.Writer;
5830
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNode;
5831
+ }
5832
+
5531
5833
  /**
5532
5834
  * GltfNodeModifiers component is to be used attached to entities that have the GltfContainer component.
5533
5835
  *
@@ -5573,6 +5875,26 @@ export declare namespace PBGltfNodeModifiers_GltfNodeModifier {
5573
5875
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNodeModifiers_GltfNodeModifier;
5574
5876
  }
5575
5877
 
5878
+ /**
5879
+ * The state of a linked gltf node.
5880
+ * If the state is GNSV_FAILED, the renderer may describe the failure in the error string.
5881
+ */
5882
+ /**
5883
+ * @public
5884
+ */
5885
+ export declare interface PBGltfNodeState {
5886
+ state: GltfNodeStateValue;
5887
+ error?: string | undefined;
5888
+ }
5889
+
5890
+ /**
5891
+ * @public
5892
+ */
5893
+ export declare namespace PBGltfNodeState {
5894
+ export function encode(message: PBGltfNodeState, writer?: _m0.Writer): _m0.Writer;
5895
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBGltfNodeState;
5896
+ }
5897
+
5576
5898
  /**
5577
5899
  * @public
5578
5900
  */
@@ -5710,6 +6032,14 @@ export declare interface PBMaterial {
5710
6032
  $case: "pbr";
5711
6033
  pbr: PBMaterial_PbrMaterial;
5712
6034
  } | undefined;
6035
+ /**
6036
+ * A gltf material that may provide additional features not supported by the PbMaterial fields.
6037
+ * If both gltf and material fields are provided, the gltf will be used only for extended features not
6038
+ * supported by the PbMaterial.
6039
+ * If this is provided and the `material` field is not provided, the renderer will update the material
6040
+ * field with data that reflects the gltf material once it is loaded.
6041
+ */
6042
+ gltf?: PBMaterial_GltfMaterial | undefined;
5713
6043
  }
5714
6044
 
5715
6045
  /**
@@ -5720,6 +6050,22 @@ export declare namespace PBMaterial {
5720
6050
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMaterial;
5721
6051
  }
5722
6052
 
6053
+ /**
6054
+ * @public
6055
+ */
6056
+ export declare interface PBMaterial_GltfMaterial {
6057
+ gltfSrc: string;
6058
+ name: string;
6059
+ }
6060
+
6061
+ /**
6062
+ * @public
6063
+ */
6064
+ export declare namespace PBMaterial_GltfMaterial {
6065
+ export function encode(message: PBMaterial_GltfMaterial, writer?: _m0.Writer): _m0.Writer;
6066
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMaterial_GltfMaterial;
6067
+ }
6068
+
5723
6069
  /**
5724
6070
  * @public
5725
6071
  */
@@ -5816,6 +6162,9 @@ export declare interface PBMeshCollider {
5816
6162
  } | {
5817
6163
  $case: "plane";
5818
6164
  plane: PBMeshCollider_PlaneMesh;
6165
+ } | {
6166
+ $case: "gltf";
6167
+ gltf: PBMeshCollider_GltfMesh;
5819
6168
  } | undefined;
5820
6169
  }
5821
6170
 
@@ -5861,6 +6210,25 @@ export declare namespace PBMeshCollider_CylinderMesh {
5861
6210
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshCollider_CylinderMesh;
5862
6211
  }
5863
6212
 
6213
+ /** A collider constructed from a Gltf Mesh. */
6214
+ /**
6215
+ * @public
6216
+ */
6217
+ export declare interface PBMeshCollider_GltfMesh {
6218
+ /** the GLTF file path as listed in the scene's manifest. */
6219
+ gltfSrc: string;
6220
+ /** the name of the mesh asset */
6221
+ name: string;
6222
+ }
6223
+
6224
+ /**
6225
+ * @public
6226
+ */
6227
+ export declare namespace PBMeshCollider_GltfMesh {
6228
+ export function encode(message: PBMeshCollider_GltfMesh, writer?: _m0.Writer): _m0.Writer;
6229
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshCollider_GltfMesh;
6230
+ }
6231
+
5864
6232
  /** PlaneMesh is a 2D rectangle described by the Entity's Transform. */
5865
6233
  /**
5866
6234
  * @public
@@ -5893,13 +6261,11 @@ export declare namespace PBMeshCollider_SphereMesh {
5893
6261
 
5894
6262
  /**
5895
6263
  * The MeshRenderer component renders a basic geometric shape for an Entity. It can be a cube, a
5896
- * plane, a sphere or a cylinder.
6264
+ * plane, a sphere, a cylinder, or a Gltf mesh.
5897
6265
  *
5898
6266
  * The cube and plane variants can include a UV texture mapping, so specific areas of a material
5899
6267
  * texture are rendered on different faces of the shape. They are serialized as a sequence of 2D
5900
6268
  * `float` coordinates, one for each corner of each side of each face.
5901
- *
5902
- * More complex shapes require the use of a `GltfContainer` component.
5903
6269
  */
5904
6270
  /**
5905
6271
  * @public
@@ -5917,6 +6283,9 @@ export declare interface PBMeshRenderer {
5917
6283
  } | {
5918
6284
  $case: "plane";
5919
6285
  plane: PBMeshRenderer_PlaneMesh;
6286
+ } | {
6287
+ $case: "gltf";
6288
+ gltf: PBMeshRenderer_GltfMesh;
5920
6289
  } | undefined;
5921
6290
  }
5922
6291
 
@@ -5964,6 +6333,25 @@ export declare namespace PBMeshRenderer_CylinderMesh {
5964
6333
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshRenderer_CylinderMesh;
5965
6334
  }
5966
6335
 
6336
+ /** A mesh from a Gltf. */
6337
+ /**
6338
+ * @public
6339
+ */
6340
+ export declare interface PBMeshRenderer_GltfMesh {
6341
+ /** the GLTF file path as listed in the scene's manifest. */
6342
+ gltfSrc: string;
6343
+ /** the name of the mesh asset */
6344
+ name: string;
6345
+ }
6346
+
6347
+ /**
6348
+ * @public
6349
+ */
6350
+ export declare namespace PBMeshRenderer_GltfMesh {
6351
+ export function encode(message: PBMeshRenderer_GltfMesh, writer?: _m0.Writer): _m0.Writer;
6352
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBMeshRenderer_GltfMesh;
6353
+ }
6354
+
5967
6355
  /** PlaneMesh renders a 2D rectangular shape. */
5968
6356
  /**
5969
6357
  * @public
@@ -6560,7 +6948,10 @@ export declare interface PBPrimaryPointerInfo {
6560
6948
  screenCoordinates?: PBVector2 | undefined;
6561
6949
  /** Movement since last frame (pixels) */
6562
6950
  screenDelta?: PBVector2 | undefined;
6563
- /** Direction vector for 3D ray casting */
6951
+ /**
6952
+ * ray direction that can be used with the primary camera origin for
6953
+ * raycasting from the cursor into the world
6954
+ */
6564
6955
  worldRayDirection?: PBVector3 | undefined;
6565
6956
  }
6566
6957
 
@@ -6631,6 +7022,10 @@ export declare interface PBRaycast {
6631
7022
  continuous?: boolean | undefined;
6632
7023
  /** Collision mask, by default CL_POINTER | CL_PHYSICS */
6633
7024
  collisionMask?: number | undefined;
7025
+ /** shape to cast, default ray */
7026
+ shape?: RaycastShape | undefined;
7027
+ /** include hits with entities from other scenes */
7028
+ includeWorld?: boolean | undefined;
6634
7029
  }
6635
7030
 
6636
7031
  /**
@@ -6788,6 +7183,46 @@ export declare namespace PBTextShape {
6788
7183
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBTextShape;
6789
7184
  }
6790
7185
 
7186
+ /**
7187
+ * @public
7188
+ */
7189
+ export declare interface PBTextureCamera {
7190
+ /** rendered texture width */
7191
+ width?: number | undefined;
7192
+ /** rendered texture height */
7193
+ height?: number | undefined;
7194
+ /**
7195
+ * which layer of entities to render. entity layers can be specified by adding PBCameraLayers to target entities.
7196
+ * defaults to 0
7197
+ */
7198
+ layer?: number | undefined;
7199
+ /** default black */
7200
+ clearColor?: PBColor4 | undefined;
7201
+ /** default infinity */
7202
+ farPlane?: number | undefined;
7203
+ mode?: {
7204
+ $case: "perspective";
7205
+ perspective: Perspective;
7206
+ } | {
7207
+ $case: "orthographic";
7208
+ orthographic: Orthographic;
7209
+ } | undefined;
7210
+ /**
7211
+ * controls whether this camera acts as a receiver for audio on sources with matching `PBCameraLayers`.
7212
+ * range: 0 (off) - 1 (full volume)
7213
+ * default: 0
7214
+ */
7215
+ volume?: number | undefined;
7216
+ }
7217
+
7218
+ /**
7219
+ * @public
7220
+ */
7221
+ export declare namespace PBTextureCamera {
7222
+ export function encode(message: PBTextureCamera, writer?: _m0.Writer): _m0.Writer;
7223
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBTextureCamera;
7224
+ }
7225
+
6791
7226
  /**
6792
7227
  * The TouchScreenControls component lets a scene configure the native on-screen touch
6793
7228
  * controls (the mobile joystick + gamepad). It must be set on the RootEntity.
@@ -7033,6 +7468,25 @@ export declare namespace PBUiBackground {
7033
7468
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiBackground;
7034
7469
  }
7035
7470
 
7471
+ /** The UiCanvas component can be attached to a ui root entity to specify properties of the ui texture. */
7472
+ /**
7473
+ * @public
7474
+ */
7475
+ export declare interface PBUiCanvas {
7476
+ width: number;
7477
+ height: number;
7478
+ /** default = (0.0, 0.0, 0.0, 0.0) / transparent */
7479
+ color?: PBColor4 | undefined;
7480
+ }
7481
+
7482
+ /**
7483
+ * @public
7484
+ */
7485
+ export declare namespace PBUiCanvas {
7486
+ export function encode(message: PBUiCanvas, writer?: _m0.Writer): _m0.Writer;
7487
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiCanvas;
7488
+ }
7489
+
7036
7490
  /** This component is created by the renderer and used by the scenes to know the resolution of the UI canvas */
7037
7491
  /**
7038
7492
  * @public
@@ -7132,6 +7586,10 @@ export declare interface PBUiInput {
7132
7586
  /** default=10 */
7133
7587
  fontSize?: number | undefined;
7134
7588
  value?: string | undefined;
7589
+ /** default=false; when true, the input accepts newlines and behaves as a textarea */
7590
+ multiLine?: boolean | undefined;
7591
+ /** default=true; when false, the input value is preserved after pressing Enter */
7592
+ clearOnSubmit?: boolean | undefined;
7135
7593
  /** a ttf font file in the scene content or a Google Fonts family name; `font` is the fallback (default: unset) */
7136
7594
  fontSrc?: string | undefined;
7137
7595
  }
@@ -7197,6 +7655,21 @@ export declare namespace PBUiInputResult {
7197
7655
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiInputResult;
7198
7656
  }
7199
7657
 
7658
+ /**
7659
+ * @public
7660
+ */
7661
+ export declare interface PBUiScrollResult {
7662
+ value: PBVector2 | undefined;
7663
+ }
7664
+
7665
+ /**
7666
+ * @public
7667
+ */
7668
+ export declare namespace PBUiScrollResult {
7669
+ export function encode(message: PBUiScrollResult, writer?: _m0.Writer): _m0.Writer;
7670
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBUiScrollResult;
7671
+ }
7672
+
7200
7673
  /**
7201
7674
  * @public
7202
7675
  */
@@ -7342,6 +7815,12 @@ export declare interface PBUiTransform {
7342
7815
  borderRightColor?: PBColor4 | undefined;
7343
7816
  /** default: 1 */
7344
7817
  opacity?: number | undefined;
7818
+ /** reference for scroll_position. default empty */
7819
+ elementId?: string | undefined;
7820
+ /** default position=(0,0) */
7821
+ scrollPosition?: ScrollPositionValue | undefined;
7822
+ /** default ShowScrollBar.SSB_BOTH */
7823
+ scrollVisible?: ShowScrollBar | undefined;
7345
7824
  /** default: 0 — controls render stacking order. Higher values appear in front of lower values. */
7346
7825
  zIndex?: number | undefined;
7347
7826
  }
@@ -7494,6 +7973,25 @@ export declare namespace PBVisibilityComponent {
7494
7973
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBVisibilityComponent;
7495
7974
  }
7496
7975
 
7976
+ /**
7977
+ * @public
7978
+ */
7979
+ export declare interface Perspective {
7980
+ /**
7981
+ * vertical field of view in radians
7982
+ * defaults to pi/4 = 45 degrees
7983
+ */
7984
+ fieldOfView?: number | undefined;
7985
+ }
7986
+
7987
+ /**
7988
+ * @public
7989
+ */
7990
+ export declare namespace Perspective {
7991
+ export function encode(message: Perspective, writer?: _m0.Writer): _m0.Writer;
7992
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): Perspective;
7993
+ }
7994
+
7497
7995
  /**
7498
7996
  * @public
7499
7997
  * Physics helpers for applying impulses and forces to the player.
@@ -7735,6 +8233,24 @@ export declare interface PointerEventsSystem {
7735
8233
  * @param entity - Entity where the callback was attached
7736
8234
  */
7737
8235
  removeOnPointerHoverLeave(entity: Entity): void;
8236
+ /**
8237
+ * @public
8238
+ * Remove the callback for onPointerDrag event
8239
+ * @param entity - Entity where the callback was attached
8240
+ */
8241
+ removeOnPointerDrag(entity: Entity): void;
8242
+ /**
8243
+ * @public
8244
+ * Remove the callback for onPointerDragLocked event
8245
+ * @param entity - Entity where the callback was attached
8246
+ */
8247
+ removeOnPointerDragLocked(entity: Entity): void;
8248
+ /**
8249
+ * @public
8250
+ * Remove the callback for onPointerDragEnd event
8251
+ * @param entity - Entity where the callback was attached
8252
+ */
8253
+ removeOnPointerDragEnd(entity: Entity): void;
7738
8254
  /**
7739
8255
  * @public
7740
8256
  * Remove the callback for onProximityDown event
@@ -7813,6 +8329,36 @@ export declare interface PointerEventsSystem {
7813
8329
  entity: Entity;
7814
8330
  opts?: Partial<EventSystemOptions>;
7815
8331
  }, cb: EventSystemCallback): void;
8332
+ /**
8333
+ * @public
8334
+ * Execute callback while the user holds the button pressed and moves the pointer, having pressed it on the entity
8335
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
8336
+ * @param cb - Function to execute on every drag update
8337
+ */
8338
+ onPointerDrag(pointerData: {
8339
+ entity: Entity;
8340
+ opts?: Partial<EventSystemOptions>;
8341
+ }, cb: EventSystemCallback): void;
8342
+ /**
8343
+ * @public
8344
+ * Same as onPointerDrag, but the cursor is locked in place for the duration of the drag
8345
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
8346
+ * @param cb - Function to execute on every drag update
8347
+ */
8348
+ onPointerDragLocked(pointerData: {
8349
+ entity: Entity;
8350
+ opts?: Partial<EventSystemOptions>;
8351
+ }, cb: EventSystemCallback): void;
8352
+ /**
8353
+ * @public
8354
+ * Execute callback when the user releases the button after a drag that started on the entity
8355
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
8356
+ * @param cb - Function to execute when the drag ends
8357
+ */
8358
+ onPointerDragEnd(pointerData: {
8359
+ entity: Entity;
8360
+ opts?: Partial<EventSystemOptions>;
8361
+ }, cb: EventSystemCallback): void;
7816
8362
  /**
7817
8363
  * @public
7818
8364
  * Execute callback when the user presses the proximity button on the entity
@@ -7871,7 +8417,10 @@ export declare const enum PointerEventType {
7871
8417
  PET_HOVER_ENTER = 2,
7872
8418
  PET_HOVER_LEAVE = 3,
7873
8419
  PET_PROXIMITY_ENTER = 4,
7874
- PET_PROXIMITY_LEAVE = 5
8420
+ PET_PROXIMITY_LEAVE = 5,
8421
+ PET_DRAG_LOCKED = 6,
8422
+ PET_DRAG = 7,
8423
+ PET_DRAG_END = 8
7875
8424
  }
7876
8425
 
7877
8426
  /**
@@ -7902,7 +8451,10 @@ export declare const enum PointerType {
7902
8451
  /** POT_NONE - No pointer input */
7903
8452
  POT_NONE = 0,
7904
8453
  /** POT_MOUSE - Traditional mouse input */
7905
- POT_MOUSE = 1
8454
+ POT_MOUSE = 1,
8455
+ POT_PAD = 2,
8456
+ POT_TOUCH = 3,
8457
+ POT_WAND = 4
7906
8458
  }
7907
8459
 
7908
8460
  /**
@@ -8359,6 +8911,16 @@ export declare const enum RaycastQueryType {
8359
8911
  /** @public */
8360
8912
  export declare const RaycastResult: LastWriteWinElementSetComponentDefinition<PBRaycastResult>;
8361
8913
 
8914
+ /**
8915
+ * @public
8916
+ */
8917
+ export declare const enum RaycastShape {
8918
+ /** RS_RAY - cast a point, get collisions along a ray */
8919
+ RS_RAY = 0,
8920
+ /** RS_AVATAR - cast the avatar collider shape, get collisions from sweeping the shape */
8921
+ RS_AVATAR = 1
8922
+ }
8923
+
8362
8924
  /**
8363
8925
  * @public
8364
8926
  */
@@ -8491,6 +9053,10 @@ export declare type RaycastSystemOptions = {
8491
9053
  queryType: RaycastQueryType;
8492
9054
  continuous?: boolean | undefined;
8493
9055
  collisionMask?: number | undefined;
9056
+ /** shape to sweep along the ray, default RS_RAY (a point) */
9057
+ shape?: RaycastShape | undefined;
9058
+ /** include colliders from other scenes, default false */
9059
+ includeWorld?: boolean | undefined;
8494
9060
  };
8495
9061
 
8496
9062
  /**
@@ -8539,6 +9105,20 @@ export declare interface ReactBasedUiSystem {
8539
9105
  * @param entity - The entity whose UI renderer should be removed
8540
9106
  */
8541
9107
  removeUiRenderer(entity: Entity): void;
9108
+ /**
9109
+ * Render a UI tree to a texture. The tree is rooted at `entity`, which must carry a UiCanvas
9110
+ * describing the texture; the result can be sampled through `TextureUnion.uiTexture`. Replaces
9111
+ * any texture renderer already set on the entity, and is torn down when the entity is removed.
9112
+ *
9113
+ * @param entity - The UiCanvas entity the UI tree hangs from
9114
+ * @param ui - The UI component to render
9115
+ */
9116
+ setTextureRenderer(entity: Entity, ui: UiComponent): void;
9117
+ /**
9118
+ * Remove a texture renderer previously set with setTextureRenderer(), destroying its entities.
9119
+ * @param entity - The UiCanvas entity the renderer was set on
9120
+ */
9121
+ removeTextureRenderer(entity: Entity): void;
8542
9122
  }
8543
9123
 
8544
9124
  /**
@@ -9129,6 +9709,33 @@ export declare namespace Schemas {
9129
9709
  */
9130
9710
  export declare function ScreenInsetArea(props: UiScreenInsetAreaProps): ReactEcs.JSX.Element;
9131
9711
 
9712
+ /**
9713
+ * @public
9714
+ */
9715
+ export declare interface ScrollPositionValue {
9716
+ value?: {
9717
+ $case: "position";
9718
+ position: PBVector2;
9719
+ } | {
9720
+ $case: "reference";
9721
+ reference: string;
9722
+ } | undefined;
9723
+ }
9724
+
9725
+ /**
9726
+ * @public
9727
+ */
9728
+ export declare namespace ScrollPositionValue {
9729
+ export function encode(message: ScrollPositionValue, writer?: _m0.Writer): _m0.Writer;
9730
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): ScrollPositionValue;
9731
+ }
9732
+
9733
+ /**
9734
+ * Which scrollbars are shown when the overflow is scrollable
9735
+ * @public
9736
+ */
9737
+ export declare type ScrollVisibleType = 'horizontal' | 'vertical' | 'both' | 'hidden';
9738
+
9132
9739
  /**
9133
9740
  * Register the composite provider used to resolve composite files. Also registers
9134
9741
  * any `provider.schemas` on the engine pre-seal so composites that reference those
@@ -9154,6 +9761,16 @@ export declare interface SetMoveRotateScaleParams extends MoveRotateScaleModePar
9154
9761
  easingFunction?: EasingFunction;
9155
9762
  }
9156
9763
 
9764
+ /**
9765
+ * @public
9766
+ */
9767
+ export declare const enum ShowScrollBar {
9768
+ SSB_BOTH = 0,
9769
+ SSB_ONLY_VERTICAL = 1,
9770
+ SSB_ONLY_HORIZONTAL = 2,
9771
+ SSB_HIDDEN = 3
9772
+ }
9773
+
9157
9774
  /** @public */
9158
9775
  export declare const SkyboxTime: LastWriteWinElementSetComponentDefinition<PBSkyboxTime>;
9159
9776
 
@@ -9260,6 +9877,9 @@ export declare namespace Texture {
9260
9877
  export function decode(input: _m0.Reader | Uint8Array, length?: number): Texture;
9261
9878
  }
9262
9879
 
9880
+ /** @public */
9881
+ export declare const TextureCamera: LastWriteWinElementSetComponentDefinition<PBTextureCamera>;
9882
+
9263
9883
  /**
9264
9884
  * @public
9265
9885
  */
@@ -9370,6 +9990,9 @@ export declare interface TextureUnion {
9370
9990
  } | {
9371
9991
  $case: "videoTexture";
9372
9992
  videoTexture: VideoTexture;
9993
+ } | {
9994
+ $case: "uiTexture";
9995
+ uiTexture: UiCanvasTexture;
9373
9996
  } | undefined;
9374
9997
  }
9375
9998
 
@@ -9600,16 +10223,6 @@ export declare type Transport = {
9600
10223
  onmessage?(message: Uint8Array): void;
9601
10224
  filter(message: Omit<TransportMessage, 'messageBuffer'>): boolean;
9602
10225
  type?: string;
9603
- /**
9604
- * Whether this transport is allowed to mutate reserved-range entities
9605
- * (root/player/camera + avatars, entity number below `RESERVED_STATIC_ENTITIES`).
9606
- * Only the trusted host/renderer transport sets this. An inbound DELETE_ENTITY
9607
- * or component operation (PUT_COMPONENT, DELETE_COMPONENT, APPEND_VALUE,
9608
- * AUTHORITATIVE_PUT_COMPONENT) on a reserved entity from a transport without
9609
- * this flag (a comms peer, or any scene-added transport) is rejected — see
9610
- * `receiveMessages`.
9611
- */
9612
- allowReservedEntities?: boolean;
9613
10226
  };
9614
10227
 
9615
10228
  /**
@@ -9918,6 +10531,8 @@ export declare interface UiBackgroundProps {
9918
10531
  uvs?: number[];
9919
10532
  /** AvatarTexture for the background */
9920
10533
  avatarTexture?: UiAvatarTexture;
10534
+ /** VideoTexture for the background: the frames of a VideoPlayer on another entity */
10535
+ videoTexture?: UiVideoTexture;
9921
10536
  /** Texture for the background */
9922
10537
  texture?: UiTexture;
9923
10538
  }
@@ -9937,9 +10552,31 @@ export declare interface UiButtonProps extends UiLabelProps, EntityPropTypes {
9937
10552
  disabled?: boolean;
9938
10553
  }
9939
10554
 
10555
+ /** @public */
10556
+ export declare const UiCanvas: LastWriteWinElementSetComponentDefinition<PBUiCanvas>;
10557
+
9940
10558
  /** @public */
9941
10559
  export declare const UiCanvasInformation: LastWriteWinElementSetComponentDefinition<PBUiCanvasInformation>;
9942
10560
 
10561
+ /**
10562
+ * @public
10563
+ */
10564
+ export declare interface UiCanvasTexture {
10565
+ uiCanvasEntity: number;
10566
+ /** default = TextureWrapMode.Clamp */
10567
+ wrapMode?: TextureWrapMode | undefined;
10568
+ /** default = FilterMode.Bilinear */
10569
+ filterMode?: TextureFilterMode | undefined;
10570
+ }
10571
+
10572
+ /**
10573
+ * @public
10574
+ */
10575
+ export declare namespace UiCanvasTexture {
10576
+ export function encode(message: UiCanvasTexture, writer?: _m0.Writer): _m0.Writer;
10577
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): UiCanvasTexture;
10578
+ }
10579
+
9943
10580
  /**
9944
10581
  * @public
9945
10582
  */
@@ -10035,7 +10672,7 @@ export declare interface UiLabelProps {
10035
10672
  textAlign?: TextAlignType | undefined;
10036
10673
  /** Label font type. @defaultValue 'sans-serif' */
10037
10674
  font?: UiFontType | undefined;
10038
- /** Path to a `.ttf` file in the scene content. `font` is used when it can't be loaded. */
10675
+ /** A `.ttf` file in the scene content, or a Google Fonts family name. `font` is used when it can't be loaded. */
10039
10676
  fontSrc?: string | undefined;
10040
10677
  /** Behaviour when text reached. @defaultValue 'wrap' */
10041
10678
  textWrap?: UiTextWrapType | undefined;
@@ -10105,6 +10742,9 @@ export declare type UiScreenInsetAreaProps = Omit<EntityPropTypes, 'uiTransform'
10105
10742
  uiTransform?: Omit<NonNullable<EntityPropTypes['uiTransform']>, 'positionType' | 'position'>;
10106
10743
  };
10107
10744
 
10745
+ /** @public */
10746
+ export declare const UiScrollResult: LastWriteWinElementSetComponentDefinition<PBUiScrollResult>;
10747
+
10108
10748
  /** @public */
10109
10749
  export declare const UiText: LastWriteWinElementSetComponentDefinition<PBUiText>;
10110
10750
 
@@ -10184,20 +10824,28 @@ export declare interface UiTransformProps {
10184
10824
  opacity?: number;
10185
10825
  /** default 0 */
10186
10826
  zIndex?: number;
10827
+ /** A reference id for the element, e.g. as a scrollPosition target or for SetUiFocus. default empty */
10828
+ elementId?: string;
10829
+ /** Scroll offset when overflow is 'scroll': a position, or the elementId of a child to scroll to. default (0, 0) */
10830
+ scrollPosition?: PBVector2 | string;
10831
+ /** Which scrollbars to show when overflow is 'scroll'. default 'both' */
10832
+ scrollVisible?: ScrollVisibleType;
10187
10833
  }
10188
10834
 
10189
10835
  /**
10836
+ * Video Texture
10190
10837
  * @public
10191
10838
  */
10192
- export declare type Unpacked<T> = T extends (infer U)[] ? U : T;
10839
+ export declare interface UiVideoTexture {
10840
+ videoPlayerEntity: Entity;
10841
+ wrapMode?: TextureWrapType;
10842
+ filterMode?: TextureFilterType;
10843
+ }
10193
10844
 
10194
- export declare type ValidateCallback<T> = (value: {
10195
- entity: Entity;
10196
- currentValue: T | undefined;
10197
- newValue: T | undefined;
10198
- senderAddress: string;
10199
- createdBy: string;
10200
- }) => boolean;
10845
+ /**
10846
+ * @public
10847
+ */
10848
+ export declare type Unpacked<T> = T extends (infer U)[] ? U : T;
10201
10849
 
10202
10850
  /**
10203
10851
  * @public