@dcl/playground-assets 7.22.5-24836126953.commit-ddc8da1 → 7.22.5

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/beta.d.ts CHANGED
@@ -163,42 +163,6 @@ export declare interface AudioStreamComponentDefinitionExtended extends LastWrit
163
163
  getAudioState(entity: Entity): PBAudioEvent | undefined;
164
164
  }
165
165
 
166
- /**
167
- * @public
168
- */
169
- export declare type AuthoritativePutComponentMessage = CrdtMessageHeader & AuthoritativePutComponentMessageBody;
170
-
171
- /**
172
- * Server authoritative message - identical to PutComponentMessageBody but with forced processing
173
- * Min. length = header (8 bytes) + 16 bytes = 24 bytes
174
- *
175
- * @param entity - Uint32 number of the entity
176
- * @param componentId - Uint32 number of id
177
- * @param timestamp - Uint32 Lamport timestamp (server's authoritative timestamp)
178
- * @param data - Uint8[] data of component => length(4 bytes) + block of bytes[0..length-1]
179
- * @public
180
- */
181
- export declare type AuthoritativePutComponentMessageBody = {
182
- type: CrdtMessageType.AUTHORITATIVE_PUT_COMPONENT;
183
- entityId: Entity;
184
- componentId: number;
185
- timestamp: number;
186
- data: Uint8Array;
187
- };
188
-
189
- /**
190
- * @public
191
- */
192
- export declare namespace AuthoritativePutComponentOperation {
193
- const MESSAGE_HEADER_LENGTH = 16;
194
- /**
195
- * Call this function for an optimal writing data passing the ByteBuffer
196
- * already allocated
197
- */
198
- export function write(entity: Entity, timestamp: number, componentId: number, data: Uint8Array, buf: ByteBuffer): void;
199
- export function read(buf: ByteBuffer): AuthoritativePutComponentMessage | null;
200
- }
201
-
202
166
  /** AvatarAnchorPointType determines the part of the avatar's body that anchors the Entity. */
203
167
  /**
204
168
  * @public
@@ -358,22 +322,6 @@ export declare interface BaseComponent<T> {
358
322
  * If the value is undefined, the component was deleted.
359
323
  */
360
324
  onChange(entity: Entity, cb: (value: T | undefined) => void): void;
361
- /**
362
- * @public
363
- *
364
- */
365
- validateBeforeChange(entity: Entity, cb: ValidateCallback<T>): void;
366
- validateBeforeChange(cb: ValidateCallback<T>): void;
367
- /**
368
- * Get the CRDT state for an entity (serialized data and timestamp)
369
- * @param entity - Entity to get the CRDT state for
370
- * @returns Object with serialized data and timestamp, or null if entity doesn't have the component
371
- * @public
372
- */
373
- getCrdtState(entity: Entity): {
374
- data: Uint8Array;
375
- timestamp: number;
376
- } | null;
377
325
  }
378
326
 
379
327
  /** @public */
@@ -1340,6 +1288,23 @@ export declare type Color4Type = {
1340
1288
  a: number;
1341
1289
  };
1342
1290
 
1291
+ /** A range of Color4 values. Randomized or lerped between start and end. */
1292
+ /**
1293
+ * @public
1294
+ */
1295
+ export declare interface ColorRange {
1296
+ start: PBColor4 | undefined;
1297
+ end: PBColor4 | undefined;
1298
+ }
1299
+
1300
+ /**
1301
+ * @public
1302
+ */
1303
+ export declare namespace ColorRange {
1304
+ export function encode(message: ColorRange, writer?: _m0.Writer): _m0.Writer;
1305
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): ColorRange;
1306
+ }
1307
+
1343
1308
  /**
1344
1309
  * @public
1345
1310
  */
@@ -1396,6 +1361,7 @@ export declare const componentDefinitionByName: {
1396
1361
  "core::MeshCollider": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMeshCollider>>;
1397
1362
  "core::MeshRenderer": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBMeshRenderer>>;
1398
1363
  "core::NftShape": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBNftShape>>;
1364
+ "core::ParticleSystem": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBParticleSystem>>;
1399
1365
  "core::PhysicsCombinedForce": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBPhysicsCombinedForce>>;
1400
1366
  "core::PhysicsCombinedImpulse": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBPhysicsCombinedImpulse>>;
1401
1367
  "core::PlayerIdentityData": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBPlayerIdentityData>>;
@@ -1584,12 +1550,12 @@ export declare const CRDT_MESSAGE_HEADER_LENGTH = 8;
1584
1550
  /**
1585
1551
  * @public
1586
1552
  */
1587
- export declare type CrdtMessage = PutComponentMessage | AuthoritativePutComponentMessage | DeleteComponentMessage | AppendValueMessage | DeleteEntityMessage | PutNetworkComponentMessage | DeleteComponentNetworkMessage | DeleteEntityNetworkMessage;
1553
+ export declare type CrdtMessage = PutComponentMessage | DeleteComponentMessage | AppendValueMessage | DeleteEntityMessage | PutNetworkComponentMessage | DeleteComponentNetworkMessage | DeleteEntityNetworkMessage;
1588
1554
 
1589
1555
  /**
1590
1556
  * @public
1591
1557
  */
1592
- export declare type CrdtMessageBody = PutComponentMessageBody | AuthoritativePutComponentMessageBody | DeleteComponentMessageBody | DeleteEntityMessageBody | AppendValueMessageBody | CrdtNetworkMessageBody;
1558
+ export declare type CrdtMessageBody = PutComponentMessageBody | DeleteComponentMessageBody | DeleteEntityMessageBody | AppendValueMessageBody | CrdtNetworkMessageBody;
1593
1559
 
1594
1560
  /**
1595
1561
  * Min length = 8 bytes
@@ -1644,8 +1610,7 @@ export declare enum CrdtMessageType {
1644
1610
  PUT_COMPONENT_NETWORK = 5,
1645
1611
  DELETE_COMPONENT_NETWORK = 6,
1646
1612
  DELETE_ENTITY_NETWORK = 7,
1647
- AUTHORITATIVE_PUT_COMPONENT = 8,
1648
- MAX_MESSAGE_TYPE = 9
1613
+ MAX_MESSAGE_TYPE = 8
1649
1614
  }
1650
1615
 
1651
1616
  /**
@@ -1653,8 +1618,6 @@ export declare enum CrdtMessageType {
1653
1618
  */
1654
1619
  export declare type CrdtNetworkMessageBody = PutNetworkComponentMessageBody | DeleteComponentNetworkMessageBody | DeleteEntityNetworkMessageBody;
1655
1620
 
1656
- export declare const CreatedBy: ICreatedBy;
1657
-
1658
1621
  /**
1659
1622
  * @public
1660
1623
  */
@@ -2089,6 +2052,7 @@ export declare type EventSystemOptions = {
2089
2052
  showFeedback?: boolean;
2090
2053
  showHighlight?: boolean;
2091
2054
  maxPlayerDistance?: number;
2055
+ priority?: number;
2092
2056
  };
2093
2057
 
2094
2058
  /**
@@ -2202,6 +2166,23 @@ export declare type FlexWrapType = 'wrap' | 'nowrap' | 'wrap-reverse';
2202
2166
  /** @public */
2203
2167
  export declare type FloatArray = number[];
2204
2168
 
2169
+ /** A range of float values. Randomized or lerped between start and end. */
2170
+ /**
2171
+ * @public
2172
+ */
2173
+ export declare interface FloatRange {
2174
+ start: number;
2175
+ end: number;
2176
+ }
2177
+
2178
+ /**
2179
+ * @public
2180
+ */
2181
+ export declare namespace FloatRange {
2182
+ export function encode(message: FloatRange, writer?: _m0.Writer): _m0.Writer;
2183
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): FloatRange;
2184
+ }
2185
+
2205
2186
  /**
2206
2187
  * @public
2207
2188
  */
@@ -2356,12 +2337,6 @@ export declare interface GrowOnlyValueSetComponentDefinition<T> extends BaseComp
2356
2337
 
2357
2338
  export declare type GSetComponentGetter<T extends GrowOnlyValueSetComponentDefinition<any>> = (engine: Pick<IEngine, 'defineValueSetComponentFromSchema'>) => T;
2358
2339
 
2359
- export declare type ICreatedBy = LastWriteWinElementSetComponentDefinition<ICreatedByType>;
2360
-
2361
- export declare interface ICreatedByType {
2362
- address: string;
2363
- }
2364
-
2365
2340
  /**
2366
2341
  * @public
2367
2342
  */
@@ -2797,32 +2772,11 @@ export declare type InstanceCompositeOptions = {
2797
2772
  };
2798
2773
 
2799
2774
  /**
2800
- * Internal component interface that exposes all internal methods for SDK use
2801
- * This is not exposed to users, only for internal SDK operations
2775
+ * @public
2802
2776
  */
2803
- export declare interface InternalBaseComponent<T> extends BaseComponent<T> {
2804
- /**
2805
- * @public
2806
- * Dry run update to check if a CRDT message would be accepted without actually applying it
2807
- */
2808
- __dry_run_updateFromCrdt(body: CrdtMessageBody): ProcessMessageResultType;
2809
- /**
2810
- * @public
2811
- * Get the iterator to every entity has the component
2812
- */
2813
- iterator(): Iterable<[Entity, any]>;
2814
- /**
2815
- * @public
2816
- */
2817
- dirtyIterator(): Iterable<Entity>;
2818
- /**
2819
- * @public
2820
- */
2821
- __onChangeCallbacks(entity: Entity, value: T): void;
2822
- /**
2823
- * @public
2824
- */
2825
- __run_validateBeforeChange(entity: Entity, newValue: T | undefined, senderAddress: string, createdBy: string): boolean;
2777
+ export declare const enum InteractionType {
2778
+ CURSOR = 0,
2779
+ PROXIMITY = 1
2826
2780
  }
2827
2781
 
2828
2782
  /**
@@ -2903,6 +2857,19 @@ export declare type JustifyType = 'flex-start' | 'center' | 'flex-end' | 'space-
2903
2857
  */
2904
2858
  export declare type Key = number | string;
2905
2859
 
2860
+ /**
2861
+ * @public
2862
+ * Falloff mode for knockback force over distance.
2863
+ */
2864
+ export declare enum KnockbackFalloff {
2865
+ /** Same force at any distance within radius */
2866
+ CONSTANT = 0,
2867
+ /** Smooth linear decrease to 0 at radius edge: F = magnitude * (1 - distance / radius) */
2868
+ LINEAR = 1,
2869
+ /** Sharp drop-off, physically realistic: F = magnitude / (distance^2 + 1) */
2870
+ INVERSE_SQUARE = 2
2871
+ }
2872
+
2906
2873
  /**
2907
2874
  *
2908
2875
  * @public
@@ -4413,6 +4380,30 @@ export declare const onVideoEvent: Observable<{
4413
4380
  */
4414
4381
  export declare type OverflowType = 'hidden' | 'scroll' | 'visible';
4415
4382
 
4383
+ export declare const ParticleSystem: ParticleSystemComponentDefinitionExtended;
4384
+
4385
+ /**
4386
+ * @public
4387
+ */
4388
+ export declare interface ParticleSystemComponentDefinitionExtended extends LastWriteWinElementSetComponentDefinition<PBParticleSystem> {
4389
+ /** Helpers for constructing emitter shapes */
4390
+ Shape: ParticleSystemHelper;
4391
+ }
4392
+
4393
+ /**
4394
+ * @public
4395
+ */
4396
+ export declare interface ParticleSystemHelper {
4397
+ /** Emit from a single point */
4398
+ Point: (point?: PBParticleSystem_Point) => PBParticleSystem['shape'];
4399
+ /** Emit from the surface or volume of a sphere */
4400
+ Sphere: (sphere?: PBParticleSystem_Sphere) => PBParticleSystem['shape'];
4401
+ /** Emit from the base of a cone, projecting outward */
4402
+ Cone: (cone?: PBParticleSystem_Cone) => PBParticleSystem['shape'];
4403
+ /** Emit from the surface or volume of a box */
4404
+ Box: (box?: PBParticleSystem_Box) => PBParticleSystem['shape'];
4405
+ }
4406
+
4416
4407
  /** AnimationState indicates the status and configuration of one available animation. */
4417
4408
  /**
4418
4409
  * @public
@@ -5464,6 +5455,267 @@ export declare namespace PBNftShape {
5464
5455
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBNftShape;
5465
5456
  }
5466
5457
 
5458
+ /**
5459
+ * @public
5460
+ */
5461
+ export declare interface PBParticleSystem {
5462
+ /** --- Emission --- */
5463
+ active?: boolean | undefined;
5464
+ /** default = 10. Particles emitted per second. */
5465
+ rate?: number | undefined;
5466
+ /** default = 1000. Maximum number of live particles. */
5467
+ maxParticles?: number | undefined;
5468
+ /** default = 5. Particle lifetime in seconds. */
5469
+ lifetime?: number | undefined;
5470
+ /** --- Motion --- */
5471
+ gravity?: number | undefined;
5472
+ /** Constant force vector applied to each particle (world space). */
5473
+ additionalForce?: PBVector3 | undefined;
5474
+ /** --- Size --- */
5475
+ initialSize?: FloatRange | undefined;
5476
+ /** default = {1, 1}. Particle size lerped from start to end over its lifetime. */
5477
+ sizeOverTime?: FloatRange | undefined;
5478
+ /** --- Rotation --- */
5479
+ initialRotation?: PBQuaternion | undefined;
5480
+ /** default = identity (0,0,0,1). Per-axis angular velocity as quaternion; converted to Euler XYZ. */
5481
+ rotationOverTime?: PBQuaternion | undefined;
5482
+ /** default = false. Particles orient along their velocity direction. */
5483
+ faceTravelDirection?: boolean | undefined;
5484
+ /** --- Color --- */
5485
+ initialColor?: ColorRange | undefined;
5486
+ /** default = {white, white}. Particle color lerped from start to end over its lifetime. */
5487
+ colorOverTime?: ColorRange | undefined;
5488
+ /** --- Velocity --- */
5489
+ initialVelocitySpeed?: FloatRange | undefined;
5490
+ /** --- Rendering --- */
5491
+ texture?: Texture | undefined;
5492
+ /** default = PSB_ALPHA */
5493
+ blendMode?: PBParticleSystem_BlendMode | undefined;
5494
+ /** default = true */
5495
+ billboard?: boolean | undefined;
5496
+ /** --- Sprite Sheet Animation --- */
5497
+ spriteSheet?: PBParticleSystem_SpriteSheetAnimation | undefined;
5498
+ shape?: {
5499
+ $case: "point";
5500
+ point: PBParticleSystem_Point;
5501
+ } | {
5502
+ $case: "sphere";
5503
+ sphere: PBParticleSystem_Sphere;
5504
+ } | {
5505
+ $case: "cone";
5506
+ cone: PBParticleSystem_Cone;
5507
+ } | {
5508
+ $case: "box";
5509
+ box: PBParticleSystem_Box;
5510
+ } | undefined;
5511
+ /** --- Simulation --- */
5512
+ loop?: boolean | undefined;
5513
+ /** default = false. Start as if already simulated for one full loop cycle. Requires loop = true. */
5514
+ prewarm?: boolean | undefined;
5515
+ /** default = PSS_LOCAL. Controls whether particles simulate in local or world space. */
5516
+ simulationSpace?: PBParticleSystem_SimulationSpace | undefined;
5517
+ /** --- Limit Velocity Over Lifetime --- */
5518
+ limitVelocity?: PBParticleSystem_LimitVelocity | undefined;
5519
+ /** --- Playback --- */
5520
+ playbackState?: PBParticleSystem_PlaybackState | undefined;
5521
+ /** --- Emission Bursts --- */
5522
+ bursts?: PBParticleSystem_BurstConfiguration | undefined;
5523
+ }
5524
+
5525
+ /**
5526
+ * @public
5527
+ */
5528
+ export declare namespace PBParticleSystem {
5529
+ export function encode(message: PBParticleSystem, writer?: _m0.Writer): _m0.Writer;
5530
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBParticleSystem;
5531
+ }
5532
+
5533
+ /**
5534
+ * @public
5535
+ */
5536
+ declare const enum PBParticleSystem_BlendMode {
5537
+ /** PSB_ALPHA - Standard alpha transparency. */
5538
+ PSB_ALPHA = 0,
5539
+ /** PSB_ADD - Additive blending (brightens underlying pixels). */
5540
+ PSB_ADD = 1,
5541
+ /** PSB_MULTIPLY - Multiply blending (darkens underlying pixels). */
5542
+ PSB_MULTIPLY = 2
5543
+ }
5544
+ export { PBParticleSystem_BlendMode }
5545
+ export { PBParticleSystem_BlendMode as ParticleSystemBlendMode }
5546
+
5547
+ /** Emitter spawns particles from the surface or volume of a box. */
5548
+ /**
5549
+ * @public
5550
+ */
5551
+ export declare interface PBParticleSystem_Box {
5552
+ /** default = {1, 1, 1} */
5553
+ size?: PBVector3 | undefined;
5554
+ }
5555
+
5556
+ /**
5557
+ * @public
5558
+ */
5559
+ export declare namespace PBParticleSystem_Box {
5560
+ export function encode(message: PBParticleSystem_Box, writer?: _m0.Writer): _m0.Writer;
5561
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBParticleSystem_Box;
5562
+ }
5563
+
5564
+ /**
5565
+ * @public
5566
+ */
5567
+ export declare interface PBParticleSystem_Burst {
5568
+ /** Seconds from start of cycle. */
5569
+ time: number;
5570
+ /** Particles to emit. */
5571
+ count: number;
5572
+ /** default = 1. Repeat count (0 = infinite). */
5573
+ cycles?: number | undefined;
5574
+ /** default = 0.01. Seconds between cycles. */
5575
+ interval?: number | undefined;
5576
+ /** default = 1.0. Emission chance [0,1]. */
5577
+ probability?: number | undefined;
5578
+ }
5579
+
5580
+ /**
5581
+ * @public
5582
+ */
5583
+ export declare namespace PBParticleSystem_Burst {
5584
+ export function encode(message: PBParticleSystem_Burst, writer?: _m0.Writer): _m0.Writer;
5585
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBParticleSystem_Burst;
5586
+ }
5587
+
5588
+ /** Emission burst configuration. */
5589
+ /**
5590
+ * @public
5591
+ */
5592
+ export declare interface PBParticleSystem_BurstConfiguration {
5593
+ values: PBParticleSystem_Burst[];
5594
+ }
5595
+
5596
+ /**
5597
+ * @public
5598
+ */
5599
+ export declare namespace PBParticleSystem_BurstConfiguration {
5600
+ export function encode(message: PBParticleSystem_BurstConfiguration, writer?: _m0.Writer): _m0.Writer;
5601
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBParticleSystem_BurstConfiguration;
5602
+ }
5603
+
5604
+ /** Emitter spawns particles from the base of a cone and projects them outward. */
5605
+ /**
5606
+ * @public
5607
+ */
5608
+ export declare interface PBParticleSystem_Cone {
5609
+ /** default = 25. Half-angle of the cone in degrees. */
5610
+ angle?: number | undefined;
5611
+ /** default = 1. Base radius in meters. */
5612
+ radius?: number | undefined;
5613
+ }
5614
+
5615
+ /**
5616
+ * @public
5617
+ */
5618
+ export declare namespace PBParticleSystem_Cone {
5619
+ export function encode(message: PBParticleSystem_Cone, writer?: _m0.Writer): _m0.Writer;
5620
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBParticleSystem_Cone;
5621
+ }
5622
+
5623
+ /** Clamps particle speed over lifetime. */
5624
+ /**
5625
+ * @public
5626
+ */
5627
+ export declare interface PBParticleSystem_LimitVelocity {
5628
+ /** Maximum particle speed (m/s). */
5629
+ speed: number;
5630
+ /** default = 1. Fraction (0–1) of excess velocity removed per frame. 1 = hard clamp. */
5631
+ dampen?: number | undefined;
5632
+ }
5633
+
5634
+ /**
5635
+ * @public
5636
+ */
5637
+ export declare namespace PBParticleSystem_LimitVelocity {
5638
+ export function encode(message: PBParticleSystem_LimitVelocity, writer?: _m0.Writer): _m0.Writer;
5639
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBParticleSystem_LimitVelocity;
5640
+ }
5641
+
5642
+ /**
5643
+ * @public
5644
+ */
5645
+ declare const enum PBParticleSystem_PlaybackState {
5646
+ /** PS_PLAYING - Particle system is emitting and simulating. */
5647
+ PS_PLAYING = 0,
5648
+ /** PS_PAUSED - Simulation is frozen; no new particles are emitted. */
5649
+ PS_PAUSED = 1,
5650
+ /** PS_STOPPED - Simulation stopped and existing particles cleared. */
5651
+ PS_STOPPED = 2
5652
+ }
5653
+ export { PBParticleSystem_PlaybackState }
5654
+ export { PBParticleSystem_PlaybackState as ParticleSystemPlaybackState }
5655
+
5656
+ /** Emitter spawns particles from a single point. */
5657
+ /**
5658
+ * @public
5659
+ */
5660
+ export declare interface PBParticleSystem_Point {
5661
+ }
5662
+
5663
+ /**
5664
+ * @public
5665
+ */
5666
+ export declare namespace PBParticleSystem_Point {
5667
+ export function encode(_: PBParticleSystem_Point, writer?: _m0.Writer): _m0.Writer;
5668
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBParticleSystem_Point;
5669
+ }
5670
+
5671
+ /**
5672
+ * @public
5673
+ */
5674
+ export declare const enum PBParticleSystem_SimulationSpace {
5675
+ /** PSS_LOCAL - Particles move with the entity transform. */
5676
+ PSS_LOCAL = 0,
5677
+ /** PSS_WORLD - Particles stay in world position after emission. */
5678
+ PSS_WORLD = 1
5679
+ }
5680
+
5681
+ /** Emitter spawns particles from the surface or volume of a sphere. */
5682
+ /**
5683
+ * @public
5684
+ */
5685
+ export declare interface PBParticleSystem_Sphere {
5686
+ /** default = 1 */
5687
+ radius?: number | undefined;
5688
+ }
5689
+
5690
+ /**
5691
+ * @public
5692
+ */
5693
+ export declare namespace PBParticleSystem_Sphere {
5694
+ export function encode(message: PBParticleSystem_Sphere, writer?: _m0.Writer): _m0.Writer;
5695
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBParticleSystem_Sphere;
5696
+ }
5697
+
5698
+ /** Sprite sheet (texture atlas) animation settings. */
5699
+ /**
5700
+ * @public
5701
+ */
5702
+ export declare interface PBParticleSystem_SpriteSheetAnimation {
5703
+ /** Number of columns in the sprite sheet. */
5704
+ tilesX: number;
5705
+ /** Number of rows in the sprite sheet. */
5706
+ tilesY: number;
5707
+ /** default = 30. Playback speed in frames per second. */
5708
+ framesPerSecond?: number | undefined;
5709
+ }
5710
+
5711
+ /**
5712
+ * @public
5713
+ */
5714
+ export declare namespace PBParticleSystem_SpriteSheetAnimation {
5715
+ export function encode(message: PBParticleSystem_SpriteSheetAnimation, writer?: _m0.Writer): _m0.Writer;
5716
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): PBParticleSystem_SpriteSheetAnimation;
5717
+ }
5718
+
5467
5719
  /**
5468
5720
  * This component applies a continuous physics force.
5469
5721
  *
@@ -5601,6 +5853,8 @@ export declare interface PBPointerEvents_Entry {
5601
5853
  eventType: PointerEventType;
5602
5854
  /** additional configuration for this detection */
5603
5855
  eventInfo: PBPointerEvents_Info | undefined;
5856
+ /** the type of interaction source (default 0 == CURSOR) */
5857
+ interactionType?: InteractionType | undefined;
5604
5858
  }
5605
5859
 
5606
5860
  /**
@@ -5627,6 +5881,8 @@ export declare interface PBPointerEvents_Info {
5627
5881
  showHighlight?: boolean | undefined;
5628
5882
  /** range of interaction from the avatar's position (default 0) */
5629
5883
  maxPlayerDistance?: number | undefined;
5884
+ /** resolution order when multiple events overlap, higher wins (default 0) */
5885
+ priority?: number | undefined;
5630
5886
  }
5631
5887
 
5632
5888
  /**
@@ -6544,12 +6800,92 @@ export declare namespace PBVisibilityComponent {
6544
6800
  export function decode(input: _m0.Reader | Uint8Array, length?: number): PBVisibilityComponent;
6545
6801
  }
6546
6802
 
6803
+ /**
6804
+ * @public
6805
+ * Physics helpers for applying impulses and forces to the player.
6806
+ */
6807
+ export declare const Physics: PhysicsSystem;
6808
+
6547
6809
  /** @public */
6548
6810
  export declare const PhysicsCombinedForce: LastWriteWinElementSetComponentDefinition<PBPhysicsCombinedForce>;
6549
6811
 
6550
6812
  /** @public */
6551
6813
  export declare const PhysicsCombinedImpulse: LastWriteWinElementSetComponentDefinition<PBPhysicsCombinedImpulse>;
6552
6814
 
6815
+ /**
6816
+ * @public
6817
+ */
6818
+ export declare interface PhysicsSystem {
6819
+ /**
6820
+ * Apply a one-shot impulse to the player entity.
6821
+ * Multiple calls within the same frame are accumulated (summed).
6822
+ *
6823
+ * @param vector - a single `vector` whose length encodes the strength.
6824
+ * or use overload for `direction` with a separate `magnitude` — the direction will be normalized before scaling.
6825
+ */
6826
+ applyImpulseToPlayer(vector: Vector3Type): void;
6827
+ applyImpulseToPlayer(direction: Vector3Type, magnitude: number): void;
6828
+ /**
6829
+ * Apply a continuous force to the player from a given source entity.
6830
+ * Multiple sources are accumulated: the registry sums all active forces
6831
+ * and writes a single PBPhysicsCombinedForce component.
6832
+ * Calling again with the same source replaces its previous force.
6833
+ *
6834
+ * @param source - Entity key identifying this force source
6835
+ * @param vector - single `vector` whose length encodes the strength
6836
+ * or use overload for `direction` with a separate `magnitude` — the direction will be normalized before scaling.
6837
+ */
6838
+ applyForceToPlayer(source: Entity, vector: Vector3Type): void;
6839
+ applyForceToPlayer(source: Entity, direction: Vector3Type, magnitude: number): void;
6840
+ /**
6841
+ * Remove a continuous force from the player. Remaining sources are
6842
+ * re-summed; if none remain the force is cleared. No-op if the source
6843
+ * is not registered.
6844
+ *
6845
+ * @param source - Entity key identifying the force source to remove
6846
+ */
6847
+ removeForceFromPlayer(source: Entity): void;
6848
+ /**
6849
+ * Push the player away from a point. Computes direction from
6850
+ * `fromPosition` to the player, applies falloff, and delegates
6851
+ * to applyImpulseToPlayer.
6852
+ *
6853
+ * If the player is exactly at `fromPosition`, pushes upward.
6854
+ *
6855
+ * @param fromPosition - world-space origin of the knockback (explosion center, enemy position, etc.)
6856
+ * @param magnitude - base impulse strength
6857
+ * @param radius - max distance of effect (default: Infinity)
6858
+ * @param falloff - how force decreases with distance (default: CONSTANT)
6859
+ */
6860
+ applyKnockbackToPlayer(fromPosition: Vector3Type, magnitude: number, radius?: number, falloff?: KnockbackFalloff): void;
6861
+ /**
6862
+ * Apply a continuous force to the player for a limited duration.
6863
+ * After `duration` seconds the force is automatically removed.
6864
+ * Calling again with the same source resets the timer.
6865
+ *
6866
+ * @param source - Entity key identifying this force source
6867
+ * @param duration - how long the force lasts, in seconds
6868
+ * @param vector - single `vector` whose length encodes the strength
6869
+ * or use overload for `direction` with a separate `magnitude` — the direction will be normalized before scaling.
6870
+ */
6871
+ applyForceToPlayerForDuration(source: Entity, duration: number, vector: Vector3Type): void;
6872
+ applyForceToPlayerForDuration(source: Entity, duration: number, direction: Vector3Type, magnitude: number): void;
6873
+ /**
6874
+ * Apply a continuous repulsion force that pushes the player away from a point,
6875
+ * recalculating direction every tick as the player moves.
6876
+ * Remove with `removeForceFromPlayer(source)`.
6877
+ *
6878
+ * Negative magnitude = attraction (pulls toward the source).
6879
+ *
6880
+ * @param source - Entity key identifying this force source
6881
+ * @param fromPosition - world-space origin of repulsion
6882
+ * @param magnitude - base force strength
6883
+ * @param radius - max distance of effect (default: Infinity)
6884
+ * @param falloff - how force decreases with distance (default: CONSTANT)
6885
+ */
6886
+ applyRepulsionForceToPlayer(source: Entity, fromPosition: Vector3Type, magnitude: number, radius?: number, falloff?: KnockbackFalloff): void;
6887
+ }
6888
+
6553
6889
  /**
6554
6890
  * Represens a plane by the equation ax + by + cz + d = 0
6555
6891
  * @public
@@ -6705,6 +7041,30 @@ export declare interface PointerEventsSystem {
6705
7041
  * @param entity - Entity where the callback was attached
6706
7042
  */
6707
7043
  removeOnPointerHoverLeave(entity: Entity): void;
7044
+ /**
7045
+ * @public
7046
+ * Remove the callback for onProximityDown event
7047
+ * @param entity - Entity where the callback was attached
7048
+ */
7049
+ removeOnProximityDown(entity: Entity): void;
7050
+ /**
7051
+ * @public
7052
+ * Remove the callback for onProximityUp event
7053
+ * @param entity - Entity where the callback was attached
7054
+ */
7055
+ removeOnProximityUp(entity: Entity): void;
7056
+ /**
7057
+ * @public
7058
+ * Remove the callback for onProximityEnter event
7059
+ * @param entity - Entity where the callback was attached
7060
+ */
7061
+ removeOnProximityEnter(entity: Entity): void;
7062
+ /**
7063
+ * @public
7064
+ * Remove the callback for onProximityLeave event
7065
+ * @param entity - Entity where the callback was attached
7066
+ */
7067
+ removeOnProximityLeave(entity: Entity): void;
6708
7068
  /**
6709
7069
  * @public
6710
7070
  * Execute callback when the user press the InputButton pointing at the entity
@@ -6759,6 +7119,46 @@ export declare interface PointerEventsSystem {
6759
7119
  entity: Entity;
6760
7120
  opts?: Partial<EventSystemOptions>;
6761
7121
  }, cb: EventSystemCallback): void;
7122
+ /**
7123
+ * @public
7124
+ * Execute callback when the user presses the proximity button on the entity
7125
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
7126
+ * @param cb - Function to execute when click fires
7127
+ */
7128
+ onProximityDown(pointerData: {
7129
+ entity: Entity;
7130
+ opts?: Partial<EventSystemOptions>;
7131
+ }, cb: EventSystemCallback): void;
7132
+ /**
7133
+ * @public
7134
+ * Execute callback when the user releases the proximity button on the entity
7135
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
7136
+ * @param cb - Function to execute when event fires
7137
+ */
7138
+ onProximityUp(pointerData: {
7139
+ entity: Entity;
7140
+ opts?: Partial<EventSystemOptions>;
7141
+ }, cb: EventSystemCallback): void;
7142
+ /**
7143
+ * @public
7144
+ * Execute callback when the entity enters the proximity zone of the user
7145
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
7146
+ * @param cb - Function to execute when event fires
7147
+ */
7148
+ onProximityEnter(pointerData: {
7149
+ entity: Entity;
7150
+ opts?: Partial<EventSystemOptions>;
7151
+ }, cb: EventSystemCallback): void;
7152
+ /**
7153
+ * @public
7154
+ * Execute callback when the entity leaves the proximity zone of the user
7155
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
7156
+ * @param cb - Function to execute when event fires
7157
+ */
7158
+ onProximityLeave(pointerData: {
7159
+ entity: Entity;
7160
+ opts?: Partial<EventSystemOptions>;
7161
+ }, cb: EventSystemCallback): void;
6762
7162
  }
6763
7163
 
6764
7164
  /**
@@ -6775,7 +7175,9 @@ export declare const enum PointerEventType {
6775
7175
  PET_UP = 0,
6776
7176
  PET_DOWN = 1,
6777
7177
  PET_HOVER_ENTER = 2,
6778
- PET_HOVER_LEAVE = 3
7178
+ PET_HOVER_LEAVE = 3,
7179
+ PET_PROXIMITY_ENTER = 4,
7180
+ PET_PROXIMITY_LEAVE = 5
6779
7181
  }
6780
7182
 
6781
7183
  /**
@@ -7670,6 +8072,13 @@ export declare namespace RotateContinuous {
7670
8072
  export function decode(input: _m0.Reader | Uint8Array, length?: number): RotateContinuous;
7671
8073
  }
7672
8074
 
8075
+ /**
8076
+ * @public
8077
+ * Rotate a vector by a quaternion
8078
+ * Uses the formula: v' = q * v * q^(-1), optimized version
8079
+ */
8080
+ export declare function rotateVectorByQuaternion(v: Vector3Type, q: QuaternionType): Vector3Type;
8081
+
7673
8082
  export declare type RPCSendableMessage = {
7674
8083
  jsonrpc: '2.0';
7675
8084
  id: number;
@@ -8361,6 +8770,18 @@ export declare type TransformComponent = LastWriteWinElementSetComponentDefiniti
8361
8770
  export declare interface TransformComponentExtended extends TransformComponent {
8362
8771
  create(entity: Entity, val?: TransformTypeWithOptionals): TransformType;
8363
8772
  createOrReplace(entity: Entity, val?: TransformTypeWithOptionals): TransformType;
8773
+ /**
8774
+ * Transforms a direction vector from an entity's local coordinate space
8775
+ * to world space, accounting for the full parent hierarchy.
8776
+ *
8777
+ * This applies only rotation (not translation or scale) — suitable for
8778
+ * direction vectors like force/impulse directions.
8779
+ *
8780
+ * @param entity - The source entity whose local space defines the direction
8781
+ * @param localDirection - Direction vector in the entity's local coordinates
8782
+ * @returns The direction vector in world coordinates
8783
+ */
8784
+ localToWorldDirection(entity: Entity, localDirection: Vector3Type): Vector3Type;
8364
8785
  }
8365
8786
 
8366
8787
  /**
@@ -8911,14 +9332,6 @@ export declare interface UiTransformProps {
8911
9332
  */
8912
9333
  export declare type Unpacked<T> = T extends (infer U)[] ? U : T;
8913
9334
 
8914
- export declare type ValidateCallback<T> = (value: {
8915
- entity: Entity;
8916
- currentValue: T | undefined;
8917
- newValue: T | undefined;
8918
- senderAddress: string;
8919
- createdBy: string;
8920
- }) => boolean;
8921
-
8922
9335
  /**
8923
9336
  * @public
8924
9337
  */