@needle-tools/engine 5.1.0-alpha.1 → 5.1.0-alpha.2

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 (162) hide show
  1. package/.needle/generated/needle-bindings.gen.d.ts +5 -0
  2. package/CHANGELOG.md +18 -0
  3. package/components.needle.json +1 -1
  4. package/dist/{gltf-progressive-DJBMx-zB.umd.cjs → gltf-progressive-BmblPzFj.umd.cjs} +4 -4
  5. package/dist/{gltf-progressive-BryRjllq.min.js → gltf-progressive-CN_mbb66.min.js} +2 -2
  6. package/dist/{gltf-progressive-Cl167Vjx.js → gltf-progressive-DUlhxdv4.js} +5 -2
  7. package/dist/{needle-engine.bundle-CiYtOO2O.min.js → needle-engine.bundle-B-5Q2CpC.min.js} +163 -163
  8. package/dist/{needle-engine.bundle-BGyKqxBH.js → needle-engine.bundle-dit3f1l5.js} +7501 -7307
  9. package/dist/{needle-engine.bundle-DzVx9Z8D.umd.cjs → needle-engine.bundle-qZfVf_v-.umd.cjs} +163 -163
  10. package/dist/needle-engine.d.ts +119 -27
  11. package/dist/needle-engine.js +172 -170
  12. package/dist/needle-engine.min.js +1 -1
  13. package/dist/needle-engine.umd.cjs +1 -1
  14. package/dist/{postprocessing-B_9sKVU7.min.js → postprocessing-B571qGWR.min.js} +34 -34
  15. package/dist/{postprocessing-WDc9WwI3.js → postprocessing-CfrLAbLX.js} +0 -1
  16. package/dist/{postprocessing-B2wb6pzI.umd.cjs → postprocessing-CiGkAeM9.umd.cjs} +17 -17
  17. package/dist/{vendor-CAcsI0eU.js → vendor-BFrMaK9q.js} +8983 -9136
  18. package/dist/vendor-CJmyOrCq.min.js +1116 -0
  19. package/dist/vendor-DkMW3WY4.umd.cjs +1116 -0
  20. package/lib/engine/api.d.ts +12 -0
  21. package/lib/engine/api.js +2 -0
  22. package/lib/engine/api.js.map +1 -1
  23. package/lib/engine/debug/debug_environment.js +1 -1
  24. package/lib/engine/debug/debug_environment.js.map +1 -1
  25. package/lib/engine/engine_application.js +8 -6
  26. package/lib/engine/engine_application.js.map +1 -1
  27. package/lib/engine/engine_constants.js +6 -0
  28. package/lib/engine/engine_constants.js.map +1 -1
  29. package/lib/engine/engine_context.d.ts +33 -7
  30. package/lib/engine/engine_context.js +40 -2
  31. package/lib/engine/engine_context.js.map +1 -1
  32. package/lib/engine/engine_context_registry.js +1 -1
  33. package/lib/engine/engine_context_registry.js.map +1 -1
  34. package/lib/engine/engine_init.js +5 -0
  35. package/lib/engine/engine_init.js.map +1 -1
  36. package/lib/engine/engine_input.d.ts +3 -2
  37. package/lib/engine/engine_input.js +3 -2
  38. package/lib/engine/engine_input.js.map +1 -1
  39. package/lib/engine/engine_license.d.ts +2 -0
  40. package/lib/engine/engine_license.js +25 -15
  41. package/lib/engine/engine_license.js.map +1 -1
  42. package/lib/engine/engine_lifecycle_functions_internal.js +5 -0
  43. package/lib/engine/engine_lifecycle_functions_internal.js.map +1 -1
  44. package/lib/engine/engine_networking_blob.d.ts +1 -1
  45. package/lib/engine/engine_networking_blob.js +5 -11
  46. package/lib/engine/engine_networking_blob.js.map +1 -1
  47. package/lib/engine/engine_physics_rapier.js +0 -1
  48. package/lib/engine/engine_physics_rapier.js.map +1 -1
  49. package/lib/engine/engine_pmrem.js +2 -2
  50. package/lib/engine/engine_pmrem.js.map +1 -1
  51. package/lib/engine/engine_scenedata.d.ts +30 -0
  52. package/lib/engine/engine_scenedata.js +136 -0
  53. package/lib/engine/engine_scenedata.js.map +1 -0
  54. package/lib/engine/engine_ssr.d.ts +18 -0
  55. package/lib/engine/engine_ssr.js +40 -0
  56. package/lib/engine/engine_ssr.js.map +1 -0
  57. package/lib/engine/engine_three_utils.d.ts +14 -7
  58. package/lib/engine/engine_three_utils.js +14 -7
  59. package/lib/engine/engine_three_utils.js.map +1 -1
  60. package/lib/engine/engine_types.d.ts +2 -0
  61. package/lib/engine/engine_types.js.map +1 -1
  62. package/lib/engine/engine_utils.js +2 -0
  63. package/lib/engine/engine_utils.js.map +1 -1
  64. package/lib/engine/engine_utils_hash.d.ts +9 -0
  65. package/lib/engine/engine_utils_hash.js +112 -0
  66. package/lib/engine/engine_utils_hash.js.map +1 -0
  67. package/lib/engine/webcomponents/jsx.d.ts +51 -0
  68. package/lib/engine/webcomponents/logo-element.d.ts +2 -1
  69. package/lib/engine/webcomponents/logo-element.js +2 -1
  70. package/lib/engine/webcomponents/logo-element.js.map +1 -1
  71. package/lib/engine/webcomponents/needle menu/needle-menu.d.ts +4 -4
  72. package/lib/engine/webcomponents/needle menu/needle-menu.js +2 -1
  73. package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
  74. package/lib/engine/webcomponents/needle-button.d.ts +2 -1
  75. package/lib/engine/webcomponents/needle-button.js +2 -1
  76. package/lib/engine/webcomponents/needle-button.js.map +1 -1
  77. package/lib/engine/webcomponents/needle-engine.d.ts +2 -1
  78. package/lib/engine/webcomponents/needle-engine.js +2 -1
  79. package/lib/engine/webcomponents/needle-engine.js.map +1 -1
  80. package/lib/engine/xr/NeedleXRSession.js +1 -1
  81. package/lib/engine/xr/NeedleXRSession.js.map +1 -1
  82. package/lib/engine-components/Light.d.ts +6 -8
  83. package/lib/engine-components/Light.js +40 -27
  84. package/lib/engine-components/Light.js.map +1 -1
  85. package/lib/engine-components/RigidBody.js +3 -3
  86. package/lib/engine-components/RigidBody.js.map +1 -1
  87. package/lib/engine-components/SceneSwitcher.js +2 -0
  88. package/lib/engine-components/SceneSwitcher.js.map +1 -1
  89. package/lib/engine-components/postprocessing/Effects/BloomEffect.d.ts +1 -1
  90. package/lib/engine-components/postprocessing/Effects/Sharpening.js +1 -2
  91. package/lib/engine-components/postprocessing/Effects/Sharpening.js.map +1 -1
  92. package/lib/engine-components/postprocessing/PostProcessingHandler.js +5 -6
  93. package/lib/engine-components/postprocessing/PostProcessingHandler.js.map +1 -1
  94. package/lib/engine-components/web/ScrollFollow.d.ts +0 -1
  95. package/lib/engine-components/web/ScrollFollow.js +3 -2
  96. package/lib/engine-components/web/ScrollFollow.js.map +1 -1
  97. package/lib/needle-engine.d.ts +2 -0
  98. package/lib/needle-engine.js +2 -0
  99. package/lib/needle-engine.js.map +1 -1
  100. package/package.json +6 -4
  101. package/plugins/dts-generator/dts.codegen.js +334 -0
  102. package/plugins/dts-generator/dts.scan.js +99 -0
  103. package/plugins/dts-generator/dts.writer.js +59 -0
  104. package/plugins/dts-generator/glb.discovery.js +279 -0
  105. package/plugins/dts-generator/glb.extractor.js +215 -0
  106. package/plugins/dts-generator/glb.reader.js +167 -0
  107. package/plugins/dts-generator/index.js +36 -0
  108. package/plugins/dts-generator/manifest.types.js +174 -0
  109. package/plugins/types/index.d.ts +2 -1
  110. package/plugins/types/needle-bindings.d.ts +30 -0
  111. package/plugins/types/userconfig.d.ts +21 -2
  112. package/plugins/vite/asap.js +1 -1
  113. package/plugins/vite/dependency-watcher.d.ts +2 -2
  114. package/plugins/vite/dependency-watcher.js +3 -4
  115. package/plugins/vite/drop.d.ts +2 -2
  116. package/plugins/vite/drop.js +3 -4
  117. package/plugins/vite/dts-generator.d.ts +7 -0
  118. package/plugins/vite/dts-generator.js +191 -0
  119. package/plugins/vite/index.d.ts +10 -3
  120. package/plugins/vite/index.js +27 -10
  121. package/plugins/vite/logging.js +2 -2
  122. package/plugins/vite/meta.js +4 -2
  123. package/plugins/vite/poster.d.ts +2 -2
  124. package/plugins/vite/poster.js +3 -5
  125. package/plugins/vite/reload.d.ts +2 -2
  126. package/plugins/vite/reload.js +23 -22
  127. package/src/engine/api.ts +15 -1
  128. package/src/engine/debug/debug_environment.ts +1 -1
  129. package/src/engine/engine_application.ts +8 -6
  130. package/src/engine/engine_constants.ts +11 -6
  131. package/src/engine/engine_context.ts +50 -7
  132. package/src/engine/engine_context_registry.ts +1 -1
  133. package/src/engine/engine_init.ts +4 -0
  134. package/src/engine/engine_input.ts +3 -2
  135. package/src/engine/engine_license.ts +23 -19
  136. package/src/engine/engine_lifecycle_functions_internal.ts +7 -0
  137. package/src/engine/engine_networking_blob.ts +5 -11
  138. package/src/engine/engine_physics_rapier.ts +0 -3
  139. package/src/engine/engine_pmrem.ts +3 -3
  140. package/src/engine/engine_scenedata.ts +134 -0
  141. package/src/engine/engine_ssr.ts +48 -0
  142. package/src/engine/engine_three_utils.ts +15 -7
  143. package/src/engine/engine_types.ts +2 -0
  144. package/src/engine/engine_utils.ts +1 -0
  145. package/src/engine/engine_utils_hash.ts +65 -0
  146. package/src/engine/webcomponents/jsx.d.ts +51 -0
  147. package/src/engine/webcomponents/logo-element.ts +3 -1
  148. package/src/engine/webcomponents/needle menu/needle-menu.ts +4 -2
  149. package/src/engine/webcomponents/needle-button.ts +3 -1
  150. package/src/engine/webcomponents/needle-engine.ts +3 -1
  151. package/src/engine/xr/NeedleXRSession.ts +1 -1
  152. package/src/engine-components/Light.ts +40 -26
  153. package/src/engine-components/RigidBody.ts +3 -3
  154. package/src/engine-components/SceneSwitcher.ts +1 -0
  155. package/src/engine-components/postprocessing/Effects/BloomEffect.ts +1 -1
  156. package/src/engine-components/postprocessing/Effects/Sharpening.ts +1 -2
  157. package/src/engine-components/postprocessing/PostProcessingHandler.ts +4 -8
  158. package/src/engine-components/web/ScrollFollow.ts +2 -2
  159. package/src/needle-engine.ts +3 -0
  160. package/src/vite-env.d.ts +16 -0
  161. package/dist/vendor-CEM38hLE.umd.cjs +0 -1116
  162. package/dist/vendor-HRlxIBga.min.js +0 -1116
@@ -84,6 +84,7 @@ import { RawShaderMaterial } from 'three';
84
84
  import { Ray } from 'three';
85
85
  import { Raycaster } from 'three';
86
86
  import { Scene } from 'three';
87
+ import { SceneData } from '../../plugins/types/needle-bindings.d.ts';
87
88
  import { ShaderMaterial } from 'three';
88
89
  import { ShapeJSON } from 'three.quarks';
89
90
  import { SkinnedMesh } from 'three';
@@ -2192,7 +2193,7 @@ export declare namespace BlobStorage {
2192
2193
  /**
2193
2194
  * Generates an md5 hash from a given buffer
2194
2195
  * @param buffer The buffer to hash
2195
- * @returns The md5 hash
2196
+ * @returns The md5 hash as a hex string
2196
2197
  */
2197
2198
  export function hashMD5(buffer: ArrayBuffer): string;
2198
2199
  export function hashMD5_Base64(buffer: ArrayBuffer): string;
@@ -4458,6 +4459,25 @@ export declare class Context implements IContext {
4458
4459
  * The main camera of the scene - this camera is used for rendering
4459
4460
  * Use `setCurrentCamera` for updating the main camera.
4460
4461
  */
4462
+ /**
4463
+ * Access your scene's full hierarchy, objects, and components directly by name — with full autocomplete.
4464
+ * Types are generated automatically from your GLB files when the dev server starts.
4465
+ *
4466
+ * You can store references to objects or components for later use.
4467
+ * Note that the scene hierarchy can change at runtime (e.g. when objects are added, removed, or re-parented),
4468
+ * in which case stored references may become stale.
4469
+ *
4470
+ * @experimental This API may change in future versions.
4471
+ *
4472
+ * @example
4473
+ * // Toggle auto-rotate on the orbit camera
4474
+ * ctx.sceneData.Camera.OrbitControls.autoRotate = true;
4475
+ *
4476
+ * @example
4477
+ * // Change the background color
4478
+ * ctx.sceneData.Camera.Camera.backgroundColor = new RGBAColor(1, 0, 0, 1);
4479
+ */
4480
+ get sceneData(): SceneData;
4461
4481
  get mainCamera(): Camera_2;
4462
4482
  /** Set the main camera of the scene. If set to null the camera of the {@link mainCameraComponent} will be used - this camera is used for rendering */
4463
4483
  set mainCamera(cam: Camera_2 | null);
@@ -4479,15 +4499,21 @@ export declare class Context implements IContext {
4479
4499
  connection: NetworkConnection;
4480
4500
  /** @deprecated AssetDatabase is deprecated */
4481
4501
  assets: AssetDatabase;
4482
- /** The main light in the scene */
4483
- mainLight: ILight | null;
4502
+ /** All registered lights in the scene, maintained by the Light component.
4503
+ * @see mainLight for accessing the main directional light in the scene
4504
+ */
4505
+ readonly lights: ILight[];
4506
+ /** The brightest registered directional light, or null if none are registered
4507
+ * @see lights
4508
+ */
4509
+ get mainLight(): ILight | null;
4484
4510
  /** @deprecated Use sceneLighting */
4485
- get rendererData(): RendererData;
4511
+ private get rendererData();
4486
4512
  /** Access the scene lighting manager to control lighting settings in the context */
4487
- sceneLighting: RendererData;
4488
- addressables: Addressables;
4489
- lightmaps: ILightDataRegistry;
4490
- players: PlayerViewManager;
4513
+ readonly sceneLighting: RendererData;
4514
+ readonly addressables: Addressables;
4515
+ readonly lightmaps: ILightDataRegistry;
4516
+ readonly players: PlayerViewManager;
4491
4517
  /** Access the LODs manager to control LOD behavior in the context */
4492
4518
  readonly lodsManager: LODsManager;
4493
4519
  /** Access the needle menu to add or remove buttons to the menu element */
@@ -7130,6 +7156,20 @@ export declare function getPeerOptions(): PeerJSOption | undefined;
7130
7156
 
7131
7157
  export declare function getResourceUserCount(object: object): number | undefined;
7132
7158
 
7159
+ /**
7160
+ * Returns a lazily-resolved proxy typed as {@link SceneData}.
7161
+ * The proxy is cached per context — each context gets exactly one instance.
7162
+ *
7163
+ * Shape mirrors the generated `needle-bindings.gen.d.ts`:
7164
+ * ctx.sceneData.MyGlb.Camera.$components.OrbitControls.autoRotate = true;
7165
+ * ctx.sceneData.MyGlb.Camera.$object // → THREE.Camera
7166
+ * ctx.sceneData.MyGlb.UI.Button.$components.Button // → Needle Button component
7167
+ *
7168
+ * GLB name is ignored at runtime (scene is already loaded).
7169
+ * Node lookup starts at the scene root.
7170
+ */
7171
+ export declare function getSceneData(ctx: IContext): SceneData;
7172
+
7133
7173
  export declare function getTempColor(color?: Color): Color;
7134
7174
 
7135
7175
  /**
@@ -7460,13 +7500,20 @@ export declare class GraphicRaycaster extends ObjectRaycaster {
7460
7500
  * Utility class to perform various graphics operations like copying textures to canvas
7461
7501
  */
7462
7502
  export declare class Graphics {
7463
- private static readonly planeGeometry;
7464
- private static readonly renderer;
7465
- private static readonly perspectiveCam;
7466
- private static readonly orthographicCam;
7467
- private static readonly scene;
7468
- private static readonly blitMaterial;
7469
- private static readonly mesh;
7503
+ private static _planeGeometry;
7504
+ private static _renderer;
7505
+ private static _perspectiveCam;
7506
+ private static _orthographicCam;
7507
+ private static _scene;
7508
+ private static _blitMaterial;
7509
+ private static _mesh;
7510
+ private static get planeGeometry();
7511
+ private static get renderer();
7512
+ private static get perspectiveCam();
7513
+ private static get orthographicCam();
7514
+ private static get scene();
7515
+ private static get blitMaterial();
7516
+ private static get mesh();
7470
7517
  /**
7471
7518
  * Copy a texture to a new texture
7472
7519
  * @param texture the texture to copy
@@ -7930,6 +7977,9 @@ export declare class HoverAnimation extends Component {
7930
7977
  private playHover;
7931
7978
  }
7932
7979
 
7980
+ /** SSR-safe base class for web components. */
7981
+ declare const HTMLElementBase: typeof HTMLElement;
7982
+
7933
7983
  export declare type IAnimationComponent = Pick<IComponent, "gameObject"> & {
7934
7984
  isAnimationComponent: boolean;
7935
7985
  addClip?(clip: AnimationClip): any;
@@ -8189,6 +8239,8 @@ declare interface ILayoutGroup extends IComponent {
8189
8239
  export declare interface ILight extends IComponent {
8190
8240
  intensity: number;
8191
8241
  color: Color;
8242
+ /** The type of light as a lowercase string: `"directional"`, `"point"`, `"spot"` */
8243
+ readonly type: "directional" | "point" | "spot";
8192
8244
  }
8193
8245
 
8194
8246
  declare interface ILightDataRegistry {
@@ -9699,6 +9751,9 @@ declare const enum KeyboardEnumType {
9699
9751
  KeyPressed = "keypress"
9700
9752
  }
9701
9753
 
9754
+ /** SSR-safe base class for keyboard events. */
9755
+ declare const KeyboardEventBase: typeof KeyboardEvent;
9756
+
9702
9757
  declare type KeyboardEventListener = (evt: NEKeyboardEvent) => void;
9703
9758
 
9704
9759
  declare type KeyboardEventNames = EnumToPrimitiveUnion<KeyboardEnumType>;
@@ -9823,10 +9878,13 @@ declare type LifecycleMethodOptions = {
9823
9878
  */
9824
9879
  export declare class Light extends Component implements ILight {
9825
9880
  /**
9826
- * The type of light (spot, directional, point, etc.)
9827
- * Can not be changed at runtime.
9881
+ * The type of light as a lowercase string: `"directional"`, `"point"`, `"spot"`.
9882
+ * Implements {@link ILight.type}. Can not be changed at runtime.
9828
9883
  */
9829
- private type;
9884
+ get type(): ILight["type"];
9885
+ /** Numeric LightType serialized from Unity/Blender — converts to string on write */
9886
+ set type(value: LightType | ILight["type"]);
9887
+ private _type;
9830
9888
  /**
9831
9889
  * The maximum distance the light affects.
9832
9890
  * Only applicable for spot and point lights.
@@ -9932,11 +9990,6 @@ export declare class Light extends Component implements ILight {
9932
9990
  * and applies all settings like shadows, intensity, and color.
9933
9991
  */
9934
9992
  createLight(): void;
9935
- /**
9936
- * Coroutine that updates the main light reference in the context
9937
- * if this directional light should be the main light
9938
- */
9939
- updateMainLightRoutine(): Generator<undefined, void, unknown>;
9940
9993
  /**
9941
9994
  * Controls whether the renderer's shadow map type can be changed when soft shadows are used
9942
9995
  */
@@ -9985,6 +10038,25 @@ declare enum LightShadows {
9985
10038
  Soft = 2
9986
10039
  }
9987
10040
 
10041
+ /**
10042
+ * Defines the type of light in a scene.
10043
+ * @see {@link Light} for configuring light properties and behavior
10044
+ */
10045
+ declare enum LightType {
10046
+ /** Spot light that emits light in a cone shape */
10047
+ Spot = 0,
10048
+ /** Directional light that emits parallel light rays in a specific direction */
10049
+ Directional = 1,
10050
+ /** Point light that emits light in all directions from a single point */
10051
+ Point = 2,
10052
+ /** Area light */
10053
+ Area = 3,
10054
+ /** Rectangle shaped area light that only affects baked lightmaps and light probes */
10055
+ Rectangle = 3,
10056
+ /** Disc shaped area light that only affects baked lightmaps and light probes */
10057
+ Disc = 4
10058
+ }
10059
+
9988
10060
  export declare class LimitVelocityOverLifetimeModule {
9989
10061
  enabled: boolean;
9990
10062
  dampen: number;
@@ -10972,6 +11044,21 @@ export declare type MouseButtonName = "left" | "right" | "middle";
10972
11044
 
10973
11045
  /* Excluded from this release type: nameofFactory */
10974
11046
 
11047
+ /**
11048
+ * Quick access to the current Needle Engine context from anywhere — no need to pass `ctx` around.
11049
+ * Use it in React/Svelte/Vue components, button handlers, or plain JavaScript.
11050
+ *
11051
+ * Safe to import at module level, including in SSR environments.
11052
+ * For pages with multiple `<needle-engine>` elements, use `ctx` directly instead.
11053
+ *
11054
+ * @example
11055
+ * import { needle } from "@needle-tools/engine";
11056
+ * button.onclick = () => {
11057
+ * needle.sceneData.Camera.OrbitControls.autoRotate = true;
11058
+ * };
11059
+ */
11060
+ export declare const needle: IContext;
11061
+
10975
11062
  declare class NEEDLE_components implements GLTFLoaderPlugin {
10976
11063
  get name(): string;
10977
11064
  exportContext: {
@@ -11105,7 +11192,7 @@ export { NEEDLE_progressive }
11105
11192
  * @see {@link NeedleEngineWebComponent} for the main &lt;needle-engine&gt; element
11106
11193
  * @see {@link NeedleMenu} for the built-in menu component that can display similar buttons
11107
11194
  */
11108
- export declare class NeedleButtonElement extends HTMLElement {
11195
+ export declare class NeedleButtonElement extends HTMLElementBase {
11109
11196
  #private;
11110
11197
  static observedAttributes: string[];
11111
11198
  constructor();
@@ -11245,7 +11332,7 @@ export declare namespace NeedleEngineModelLoader {
11245
11332
  * @see {@link NeedleButtonElement} for adding AR/VR/Quicklook buttons via &lt;needle-button&gt;
11246
11333
  * @see {@link NeedleMenu} for the built-in menu configuration component
11247
11334
  */
11248
- export declare class NeedleEngineWebComponent extends HTMLElement implements INeedleEngineComponent {
11335
+ export declare class NeedleEngineWebComponent extends HTMLElementBase implements INeedleEngineComponent {
11249
11336
  static get observedAttributes(): string[];
11250
11337
  get loadingProgress01(): number;
11251
11338
  get loadingFinished(): boolean;
@@ -12218,7 +12305,7 @@ export declare class NeedleXRUtils {
12218
12305
  }): void;
12219
12306
  }
12220
12307
 
12221
- export declare class NEKeyboardEvent extends KeyboardEvent {
12308
+ export declare class NEKeyboardEvent extends KeyboardEventBase {
12222
12309
  source?: Event;
12223
12310
  constructor(type: InputEvents, source: Event, init: KeyboardEventInit);
12224
12311
  stopImmediatePropagation(): void;
@@ -12242,7 +12329,7 @@ export declare class NEKeyboardEvent extends KeyboardEvent {
12242
12329
  * @see {@link Input} for the input management system
12243
12330
  * @see {@link PointerType} for available pointer types
12244
12331
  */
12245
- export declare class NEPointerEvent extends PointerEvent {
12332
+ export declare class NEPointerEvent extends PointerEventBase {
12246
12333
  /**
12247
12334
  * Spatial input data
12248
12335
  */
@@ -15074,6 +15161,9 @@ export declare class OrbitControls extends Component implements ICameraControlle
15074
15161
  PointerMove = "pointermove"
15075
15162
  }
15076
15163
 
15164
+ /** SSR-safe base class for pointer events. */
15165
+ declare const PointerEventBase: typeof PointerEvent;
15166
+
15077
15167
  /** [PointerEventData](https://engine.needle.tools/docs/api/PointerEventData) This pointer event data object is passed to all event receivers that are currently active
15078
15168
  * It contains hit information if an object was hovered or clicked
15079
15169
  * If the event is received in onPointerDown or onPointerMove, you can call `setPointerCapture` to receive onPointerMove events even when the pointer has left the object until you call `releasePointerCapture` or when the pointerUp event happens
@@ -16961,6 +17051,8 @@ export declare class OrbitControls extends Component implements ICameraControlle
16961
17051
  */
16962
17052
  declare type ScaleClipType = "linear" | "spring";
16963
17053
 
17054
+ export { SceneData }
17055
+
16964
17056
  export declare class SceneLightSettings extends Component {
16965
17057
  ambientMode: AmbientMode;
16966
17058
  ambientLight?: Color;