@needle-tools/engine 2.50.0-pre → 2.52.0-pre

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.
Files changed (132) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/needle-engine.d.ts +74 -36
  3. package/dist/needle-engine.js +588 -3662
  4. package/dist/needle-engine.js.map +4 -4
  5. package/dist/needle-engine.min.js +24 -25
  6. package/dist/needle-engine.min.js.map +4 -4
  7. package/lib/engine/engine_addressables.d.ts +1 -1
  8. package/lib/engine/engine_create_objects.d.ts +1 -1
  9. package/lib/engine/engine_element.d.ts +5 -4
  10. package/lib/engine/engine_element.js.map +1 -1
  11. package/lib/engine/engine_element_overlay.d.ts +3 -2
  12. package/lib/engine/engine_element_overlay.js.map +1 -1
  13. package/lib/engine/engine_input.js +15 -9
  14. package/lib/engine/engine_input.js.map +1 -1
  15. package/lib/engine/engine_physics.d.ts +1 -1
  16. package/lib/engine/engine_physics.js +1 -1
  17. package/lib/engine/engine_physics.js.map +1 -1
  18. package/lib/engine/engine_scenetools.d.ts +1 -1
  19. package/lib/engine/engine_serialization_core.d.ts +1 -1
  20. package/lib/engine/engine_setup.d.ts +2 -1
  21. package/lib/engine/engine_setup.js +28 -5
  22. package/lib/engine/engine_setup.js.map +1 -1
  23. package/lib/engine/engine_three_utils.d.ts +1 -0
  24. package/lib/engine/engine_three_utils.js +6 -0
  25. package/lib/engine/engine_three_utils.js.map +1 -1
  26. package/lib/engine/engine_types.d.ts +10 -9
  27. package/lib/engine/engine_utils.d.ts +3 -1
  28. package/lib/engine/engine_utils.js +9 -0
  29. package/lib/engine/engine_utils.js.map +1 -1
  30. package/lib/engine/extensions/NEEDLE_components.js +15 -11
  31. package/lib/engine/extensions/NEEDLE_components.js.map +1 -1
  32. package/lib/engine/extensions/NEEDLE_deferred_texture.js +4 -3
  33. package/lib/engine/extensions/NEEDLE_deferred_texture.js.map +1 -1
  34. package/lib/engine/extensions/NEEDLE_lighting_settings.d.ts +1 -1
  35. package/lib/engine-components/Camera.d.ts +8 -2
  36. package/lib/engine-components/Camera.js +39 -2
  37. package/lib/engine-components/Camera.js.map +1 -1
  38. package/lib/engine-components/Component.d.ts +2 -1
  39. package/lib/engine-components/DragControls.js +10 -4
  40. package/lib/engine-components/DragControls.js.map +1 -1
  41. package/lib/engine-components/EventTrigger.d.ts +10 -1
  42. package/lib/engine-components/EventTrigger.js +47 -0
  43. package/lib/engine-components/EventTrigger.js.map +1 -1
  44. package/lib/engine-components/Light.js +20 -20
  45. package/lib/engine-components/Light.js.map +1 -1
  46. package/lib/engine-components/OrbitControls.js +19 -14
  47. package/lib/engine-components/OrbitControls.js.map +1 -1
  48. package/lib/engine-components/ParticleSystemModules.js +0 -1
  49. package/lib/engine-components/ParticleSystemModules.js.map +1 -1
  50. package/lib/engine-components/Renderer.d.ts +1 -0
  51. package/lib/engine-components/Renderer.js +10 -3
  52. package/lib/engine-components/Renderer.js.map +1 -1
  53. package/lib/engine-components/RigidBody.js +13 -1
  54. package/lib/engine-components/RigidBody.js.map +1 -1
  55. package/lib/engine-components/ScreenCapture.js +2 -0
  56. package/lib/engine-components/ScreenCapture.js.map +1 -1
  57. package/lib/engine-components/ShadowCatcher.js +5 -6
  58. package/lib/engine-components/ShadowCatcher.js.map +1 -1
  59. package/lib/engine-components/Skybox.d.ts +1 -0
  60. package/lib/engine-components/Skybox.js +5 -0
  61. package/lib/engine-components/Skybox.js.map +1 -1
  62. package/lib/engine-components/SpriteRenderer.d.ts +19 -3
  63. package/lib/engine-components/SpriteRenderer.js +154 -41
  64. package/lib/engine-components/SpriteRenderer.js.map +1 -1
  65. package/lib/engine-components/VideoPlayer.js +2 -1
  66. package/lib/engine-components/VideoPlayer.js.map +1 -1
  67. package/lib/engine-components/WebARSessionRoot.d.ts +2 -2
  68. package/lib/engine-components/WebARSessionRoot.js.map +1 -1
  69. package/lib/engine-components/WebXR.d.ts +2 -1
  70. package/lib/engine-components/WebXR.js +5 -2
  71. package/lib/engine-components/WebXR.js.map +1 -1
  72. package/lib/engine-components/WebXRAvatar.d.ts +1 -1
  73. package/lib/engine-components/WebXRAvatar.js +6 -1
  74. package/lib/engine-components/WebXRAvatar.js.map +1 -1
  75. package/lib/engine-components/WebXRController.d.ts +2 -1
  76. package/lib/engine-components/WebXRController.js +3 -2
  77. package/lib/engine-components/WebXRController.js.map +1 -1
  78. package/lib/engine-components/WebXRRig.js +12 -0
  79. package/lib/engine-components/WebXRRig.js.map +1 -1
  80. package/lib/engine-components/WebXRSync.js +5 -0
  81. package/lib/engine-components/WebXRSync.js.map +1 -1
  82. package/lib/engine-components/XRFlag.js +6 -6
  83. package/lib/engine-components/XRFlag.js.map +1 -1
  84. package/lib/engine-components/codegen/components.d.ts +1 -0
  85. package/lib/engine-components/codegen/components.js +1 -0
  86. package/lib/engine-components/codegen/components.js.map +1 -1
  87. package/lib/engine-components/js-extensions/Vector.js +2 -5
  88. package/lib/engine-components/js-extensions/Vector.js.map +1 -1
  89. package/lib/engine-components/timeline/PlayableDirector.d.ts +1 -1
  90. package/lib/engine-components/timeline/PlayableDirector.js +7 -5
  91. package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
  92. package/lib/engine-components/ui/EventSystem.d.ts +2 -1
  93. package/lib/engine-components/ui/EventSystem.js +9 -1
  94. package/lib/engine-components/ui/EventSystem.js.map +1 -1
  95. package/lib/engine-components/ui/Utils.d.ts +1 -1
  96. package/package.json +2 -4
  97. package/src/engine/codegen/register_types.js +2 -0
  98. package/src/engine/engine_element.ts +5 -5
  99. package/src/engine/engine_element_overlay.ts +2 -2
  100. package/src/engine/engine_input.ts +12 -8
  101. package/src/engine/engine_physics.ts +1 -1
  102. package/src/engine/engine_setup.ts +25 -6
  103. package/src/engine/engine_three_utils.ts +7 -0
  104. package/src/engine/engine_types.ts +3 -3
  105. package/src/engine/engine_utils.ts +13 -2
  106. package/src/engine/extensions/NEEDLE_components.ts +13 -9
  107. package/src/engine/extensions/NEEDLE_deferred_texture.ts +9 -6
  108. package/src/engine-components/Camera.ts +36 -2
  109. package/src/engine-components/Component.ts +1 -1
  110. package/src/engine-components/DragControls.ts +8 -4
  111. package/src/engine-components/EventTrigger.ts +39 -19
  112. package/src/engine-components/Light.ts +18 -16
  113. package/src/engine-components/OrbitControls.ts +19 -14
  114. package/src/engine-components/ParticleSystemModules.ts +0 -3
  115. package/src/engine-components/Renderer.ts +10 -4
  116. package/src/engine-components/RigidBody.ts +13 -1
  117. package/src/engine-components/ScreenCapture.ts +1 -0
  118. package/src/engine-components/ShadowCatcher.ts +5 -6
  119. package/src/engine-components/Skybox.ts +4 -0
  120. package/src/engine-components/SpriteRenderer.ts +140 -44
  121. package/src/engine-components/VideoPlayer.ts +2 -1
  122. package/src/engine-components/WebARSessionRoot.ts +1 -2
  123. package/src/engine-components/WebXR.ts +5 -3
  124. package/src/engine-components/WebXRAvatar.ts +6 -1
  125. package/src/engine-components/WebXRController.ts +4 -3
  126. package/src/engine-components/WebXRRig.ts +14 -1
  127. package/src/engine-components/WebXRSync.ts +6 -1
  128. package/src/engine-components/XRFlag.ts +7 -6
  129. package/src/engine-components/codegen/components.ts +1 -0
  130. package/src/engine-components/js-extensions/Vector.ts +2 -5
  131. package/src/engine-components/timeline/PlayableDirector.ts +6 -4
  132. package/src/engine-components/ui/EventSystem.ts +12 -1
package/CHANGELOG.md CHANGED
@@ -4,6 +4,32 @@ All notable changes to this package will be documented in this file.
4
4
  The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
5
5
  and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [2.52.0-pre] - 2022-12-05
8
+ - Add iOS platform util methods
9
+ - Add ``?debugrig`` to render XRRig gizmo
10
+ - Add support for Spritesheet Animation
11
+ - Add: EventTrigger implementations for onPointerClick, onPointerEnter, onPointerExit, onPointerDown, onPointerUp
12
+ - Add: RemoteSkybox environmentBlurriness setting
13
+ - Fix: Renderer reflection probe event order issue not applying reflection probes when enabling/disabling object because reflection probes have not been enabled
14
+ - Fix: remove log in ParticleSystemModules
15
+
16
+ ## [2.51.0-pre] - 2022-11-30
17
+ - Change: remove nebula, dat.gui and symlink package dependencies
18
+ - Change: Light does not change renderer shadowtype anymore
19
+ - Change: update threejs to 146
20
+ - Change: update threejs types
21
+ - Change: Screencapture should not start on click when not connected to networked room
22
+ - Change: WebXR returns ar supported when using Mozilla WebXR
23
+ - Fix DragControls drag interaction not disabling OrbitControls at right time
24
+ - Fix physics collider position in certain cases
25
+ - Fix Rigidbody not syncing physics position when parent transform changes
26
+ - Fix Timeline awake / active and enable
27
+ - Fix: OrbitControls calulcating target position with middle mouse click in worldspace instead of localspace causing wrong movement when parent is transformed
28
+ - Fix: Raycast in Mozilla WebXR / using window sizes instead of dom element sizes
29
+ - Fix input with scrolled window
30
+ - Fix: destroy local avatar on end of webxr session (https://github.com/needle-tools/needle-engine-support/issues/117)
31
+ - Fix: WebXRAvatar setting correct XRFlags
32
+
7
33
  ## [2.50.0-pre] - 2022-11-28
8
34
  - Add warning to Light when soft shadows change renderer shadow type
9
35
  - Add: RemoteSkybox can now load jpg and png textures as skybox
@@ -1,3 +1,4 @@
1
+ /// <reference types="webxr" />
1
2
  declare module "engine/engine_math" {
2
3
  class MathHelper {
3
4
  random(): number;
@@ -56,6 +57,7 @@ declare module "engine/engine_physics.types" {
56
57
  declare module "engine/engine_three_utils" {
57
58
  import * as THREE from "three";
58
59
  import { Vector3, Texture, ShaderMaterial } from "three";
60
+ export function slerp(vec: Vector3, end: Vector3, t: number): THREE.Vector3;
59
61
  export function lookAtInverse(obj: THREE.Object3D, target: Vector3): void;
60
62
  export function getWorldPosition(obj: THREE.Object3D, vec?: THREE.Vector3 | null, updateParents?: boolean): THREE.Vector3;
61
63
  export function setWorldPosition(obj: THREE.Object3D, val: THREE.Vector3): void;
@@ -108,8 +110,8 @@ declare module "engine/engine_types" {
108
110
  }
109
111
  export interface INeedleEngineComponent extends HTMLElement {
110
112
  getAROverlayContainer(): HTMLElement;
111
- onEnterAR(session: THREE.XRSession, overlayContainer: HTMLElement): any;
112
- onExitAR(session: THREE.XRSession): any;
113
+ onEnterAR(session: XRSession, overlayContainer: HTMLElement): any;
114
+ onExitAR(session: XRSession): any;
113
115
  }
114
116
  export interface IGameObject extends Object3D {
115
117
  guid: string | undefined;
@@ -158,7 +160,7 @@ declare module "engine/engine_types" {
158
160
  earlyUpdate?(): void;
159
161
  update?(): void;
160
162
  lateUpdate?(): void;
161
- onBeforeRender?(frame: THREE.XRFrame | null): void;
163
+ onBeforeRender?(frame: XRFrame | null): void;
162
164
  onAfterRender?(): void;
163
165
  onCollisionEnter?(col: Collision): any;
164
166
  onCollisionExit?(col: Collision): any;
@@ -306,6 +308,8 @@ declare module "engine/engine_utils" {
306
308
  }
307
309
  export function isMobileDevice(): boolean;
308
310
  export function isMozillaXR(): boolean;
311
+ export function isiOS(): boolean;
312
+ export function isSafari(): boolean;
309
313
  }
310
314
  declare module "engine/engine_networking_utils" {
311
315
  export function isLocalNetwork(hostname?: string): boolean;
@@ -1381,7 +1385,7 @@ declare module "engine-components/Component" {
1381
1385
  earlyUpdate?(): void;
1382
1386
  update?(): void;
1383
1387
  lateUpdate?(): void;
1384
- onBeforeRender?(frame: THREE.XRFrame | null): void;
1388
+ onBeforeRender?(frame: XRFrame | null): void;
1385
1389
  onAfterRender?(): void;
1386
1390
  onCollisionEnter?(col: Collision): any;
1387
1391
  onCollisionExit?(col: Collision): any;
@@ -1847,7 +1851,7 @@ declare module "engine/engine_setup" {
1847
1851
  xrSessionMode: XRSessionMode | undefined;
1848
1852
  get isInVR(): boolean;
1849
1853
  get isInAR(): boolean;
1850
- get xrSession(): THREE.XRSession | null;
1854
+ get xrSession(): XRSession | null;
1851
1855
  get arOverlayElement(): HTMLElement;
1852
1856
  /** Current event of the update cycle */
1853
1857
  get currentFrameEvent(): FrameEvent;
@@ -1940,12 +1944,12 @@ declare module "engine/engine_element_overlay" {
1940
1944
  constructor();
1941
1945
  private arContainer;
1942
1946
  closeARCallback: any;
1943
- currentSession: THREE.XRSession | null;
1947
+ currentSession: XRSession | null;
1944
1948
  registeredCloseEventElements: Element[];
1945
1949
  private _createdAROnlyElements;
1946
1950
  private _reparentedObjects;
1947
1951
  requestEndAR(): void;
1948
- onBegin(context: Context, overlayContainer: HTMLElement, session: THREE.XRSession): void;
1952
+ onBegin(context: Context, overlayContainer: HTMLElement, session: XRSession): void;
1949
1953
  onEnd(_context: Context): void;
1950
1954
  findOrCreateARContainer(element: HTMLElement): HTMLElement;
1951
1955
  private onRequestedEndAR;
@@ -2553,10 +2557,10 @@ declare module "engine/engine_element" {
2553
2557
  private registerEventFromAttribute;
2554
2558
  getAROverlayContainer(): HTMLElement;
2555
2559
  getVROverlayContainer(): HTMLElement | null;
2556
- onEnterAR(session: THREE.XRSession, overlayContainer: HTMLElement): void;
2557
- onExitAR(session: THREE.XRSession): void;
2558
- onEnterVR(session: THREE.XRSession): void;
2559
- onExitVR(session: THREE.XRSession): void;
2560
+ onEnterAR(session: XRSession, overlayContainer: HTMLElement): void;
2561
+ onExitAR(session: XRSession): void;
2562
+ onEnterVR(session: XRSession): void;
2563
+ onExitVR(session: XRSession): void;
2560
2564
  private onElementsChanged;
2561
2565
  private onSetupAR;
2562
2566
  private onSetupVR;
@@ -2675,8 +2679,10 @@ declare module "engine-components/Camera" {
2675
2679
  set fieldOfView(val: number);
2676
2680
  get nearClipPlane(): number;
2677
2681
  set nearClipPlane(val: number);
2682
+ private _nearClipPlane;
2678
2683
  get farClipPlane(): number;
2679
2684
  set farClipPlane(val: number);
2685
+ private _farClipPlane;
2680
2686
  get clearFlags(): ClearFlags;
2681
2687
  set clearFlags(val: ClearFlags);
2682
2688
  orthographic: boolean;
@@ -2685,8 +2691,12 @@ declare module "engine-components/Camera" {
2685
2691
  set cullingMask(val: number);
2686
2692
  get cullingMask(): number;
2687
2693
  private _cullingMask;
2688
- private _nearClipPlane;
2689
- private _farClipPlane;
2694
+ set backgroundBlurriness(val: number | undefined);
2695
+ get backgroundBlurriness(): number | undefined;
2696
+ private _backgroundBlurriness?;
2697
+ set backgroundIntensity(val: number | undefined);
2698
+ get backgroundIntensity(): number | undefined;
2699
+ private _backgroundIntensity?;
2690
2700
  get backgroundColor(): RGBAColor | null;
2691
2701
  set backgroundColor(val: RGBAColor | null);
2692
2702
  private _backgroundColor?;
@@ -3057,8 +3067,7 @@ declare module "engine-components/Voip" {
3057
3067
  }
3058
3068
  declare module "engine-components/WebARSessionRoot" {
3059
3069
  import { Behaviour } from "engine-components/Component";
3060
- import { XRSession } from 'three';
3061
- import { Matrix4, Object3D, XRPose } from "three";
3070
+ import { Matrix4, Object3D } from "three";
3062
3071
  import { WebAR } from "engine-components/WebXR";
3063
3072
  export class WebARSessionRoot extends Behaviour {
3064
3073
  webAR: WebAR | null;
@@ -3412,9 +3421,10 @@ declare module "engine-components/ui/EventSystem" {
3412
3421
  import { Context } from "engine/engine_setup";
3413
3422
  import { Raycaster } from "engine-components/ui/Raycaster";
3414
3423
  export class EventSystem extends Behaviour {
3424
+ private static _eventSystemMap;
3415
3425
  static didSearchEventSystem: boolean;
3416
3426
  static createIfNoneExists(context: Context): void;
3417
- static systems: EventSystem[];
3427
+ static get systems(): EventSystem[];
3418
3428
  static ensureUpdateMeshUI(instance: any, context: Context): void;
3419
3429
  static markUIDirty(_context: Context): void;
3420
3430
  static get instance(): EventSystem | null;
@@ -3591,6 +3601,7 @@ declare module "engine-components/Renderer" {
3591
3601
  private applySettings;
3592
3602
  private _reflectionProbe;
3593
3603
  private updateReflectionProbe;
3604
+ private _updateReflectionProbe;
3594
3605
  private setVisibility;
3595
3606
  private isMultiMaterialObject;
3596
3607
  private isMeshOrSkinnedMesh;
@@ -3648,7 +3659,7 @@ declare module "engine-components/ui/RaycastUtils" {
3648
3659
  }
3649
3660
  }
3650
3661
  declare module "engine-components/WebXRController" {
3651
- import { Group, Intersection, Mesh, Object3D, Quaternion, Ray, Vector3, XRInputSource, XRSession } from "three";
3662
+ import { Group, Intersection, Mesh, Object3D, Quaternion, Ray, Vector3 } from "three";
3652
3663
  import { OculusHandPointerModel } from 'three/examples/jsm/webxr/OculusHandPointerModel.js';
3653
3664
  import { XRControllerModel, XRControllerModelFactory } from 'three/examples/jsm/webxr/XRControllerModelFactory.js';
3654
3665
  import { Behaviour, GameObject } from "engine-components/Component";
@@ -3796,6 +3807,20 @@ declare module "engine-components/WebXRController" {
3796
3807
  update(): void;
3797
3808
  }
3798
3809
  }
3810
+ declare module "engine-components/Gizmos" {
3811
+ import { Behaviour } from "engine-components/Component";
3812
+ import * as THREE from "three";
3813
+ export class BoxGizmo extends Behaviour {
3814
+ objectBounds: boolean;
3815
+ color?: THREE.Color;
3816
+ isGizmo: boolean;
3817
+ private _gizmoObject;
3818
+ private _boxHelper;
3819
+ onEnable(): void;
3820
+ onDisable(): void;
3821
+ private syncObjectBounds;
3822
+ }
3823
+ }
3799
3824
  declare module "engine-components/WebXRRig" {
3800
3825
  import { Behaviour } from "engine-components/Component";
3801
3826
  export class XRRig extends Behaviour {
@@ -3803,7 +3828,7 @@ declare module "engine-components/WebXRRig" {
3803
3828
  }
3804
3829
  }
3805
3830
  declare module "engine-components/WebXR" {
3806
- import { Object3D, Quaternion, XRFrame, XRSession, XRViewerPose } from 'three';
3831
+ import { Object3D, Quaternion } from 'three';
3807
3832
  import { AssetReference } from "engine/engine_addressables";
3808
3833
  import { Behaviour } from "engine-components/Component";
3809
3834
  import { WebXRController } from "engine-components/WebXRController";
@@ -4020,8 +4045,17 @@ declare module "engine-components/EventType" {
4020
4045
  }
4021
4046
  }
4022
4047
  declare module "engine-components/EventTrigger" {
4048
+ import { IPointerEventHandler, PointerEventData } from "engine-components/ui/PointerEvents";
4023
4049
  import { Behaviour } from "engine-components/Component";
4024
- export class EventTrigger extends Behaviour {
4050
+ import { EventType } from "engine-components/EventType";
4051
+ export class EventTrigger extends Behaviour implements IPointerEventHandler {
4052
+ private triggers?;
4053
+ invoke(type: EventType): void;
4054
+ onPointerClick(_: PointerEventData): void;
4055
+ onPointerEnter(_: PointerEventData): void;
4056
+ onPointerExit(_: PointerEventData): void;
4057
+ onPointerDown(_: PointerEventData): void;
4058
+ onPointerUp(_: PointerEventData): void;
4025
4059
  }
4026
4060
  }
4027
4061
  declare module "engine-components/FlyControls" {
@@ -4033,20 +4067,6 @@ declare module "engine-components/FlyControls" {
4033
4067
  update(): void;
4034
4068
  }
4035
4069
  }
4036
- declare module "engine-components/Gizmos" {
4037
- import { Behaviour } from "engine-components/Component";
4038
- import * as THREE from "three";
4039
- export class BoxGizmo extends Behaviour {
4040
- objectBounds: boolean;
4041
- color?: THREE.Color;
4042
- isGizmo: boolean;
4043
- private _gizmoObject;
4044
- private _boxHelper;
4045
- onEnable(): void;
4046
- onDisable(): void;
4047
- private syncObjectBounds;
4048
- }
4049
- }
4050
4070
  declare module "engine-components/GridHelper" {
4051
4071
  import { Behaviour } from "engine-components/Component";
4052
4072
  export class GridHelper extends Behaviour {
@@ -5011,6 +5031,7 @@ declare module "engine-components/Skybox" {
5011
5031
  url?: string;
5012
5032
  allowDrop: boolean;
5013
5033
  background: boolean;
5034
+ backgroundBlurriness: number;
5014
5035
  environment: boolean;
5015
5036
  private _loader?;
5016
5037
  private _prevLoadedEnvironment?;
@@ -5118,6 +5139,7 @@ declare module "engine-components/SpectatorCamera" {
5118
5139
  declare module "engine-components/SpriteRenderer" {
5119
5140
  import { Behaviour } from "engine-components/Component";
5120
5141
  import * as THREE from "three";
5142
+ import { Vector2 } from "three";
5121
5143
  import { RGBAColor } from "engine-components/js-extensions/RGBAColor";
5122
5144
  export enum SpriteDrawMode {
5123
5145
  Simple = 0,
@@ -5129,20 +5151,35 @@ declare module "engine-components/SpriteRenderer" {
5129
5151
  y: number;
5130
5152
  }
5131
5153
  export class Sprite {
5154
+ guid?: string;
5132
5155
  texture?: THREE.Texture;
5133
5156
  triangles: Array<number>;
5134
5157
  uv: Array<Vec2>;
5135
5158
  vertices: Array<Vec2>;
5136
5159
  _geometry?: THREE.BufferGeometry;
5137
5160
  }
5161
+ class Slice {
5162
+ name: string;
5163
+ offset: Vector2;
5164
+ size: Vector2;
5165
+ }
5166
+ export class SpriteSheet {
5167
+ sprite?: Sprite;
5168
+ index: number;
5169
+ slices: Slice[];
5170
+ update(): void;
5171
+ }
5138
5172
  export class SpriteRenderer extends Behaviour {
5139
5173
  drawMode: SpriteDrawMode;
5140
5174
  size: Vec2;
5141
5175
  color?: RGBAColor;
5142
5176
  sharedMaterial?: THREE.Material;
5143
- get sprite(): Sprite | undefined;
5144
- set sprite(value: Sprite | undefined);
5145
- private _sprite?;
5177
+ get sprite(): SpriteSheet | undefined;
5178
+ set sprite(value: SpriteSheet | undefined | number);
5179
+ set spriteIndex(value: number);
5180
+ get spriteIndex(): number;
5181
+ get spriteFrames(): number;
5182
+ private _spriteSheet?;
5146
5183
  private _currentSprite?;
5147
5184
  awake(): void;
5148
5185
  start(): void;
@@ -6154,6 +6191,7 @@ declare module "engine-components/codegen/components" {
6154
6191
  export { SpatialTrigger } from "engine-components/SpatialTrigger";
6155
6192
  export { SpectatorCamera } from "engine-components/SpectatorCamera";
6156
6193
  export { Sprite } from "engine-components/SpriteRenderer";
6194
+ export { SpriteSheet } from "engine-components/SpriteRenderer";
6157
6195
  export { SpriteRenderer } from "engine-components/SpriteRenderer";
6158
6196
  export { SyncedCamera } from "engine-components/SyncedCamera";
6159
6197
  export { SyncedRoom } from "engine-components/SyncedRoom";