@needle-tools/engine 4.11.3 → 4.11.4-next.a568de7

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 (122) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/generateMeshBVH.worker-B9bjdr6J.js +25 -0
  3. package/dist/{needle-engine.bundle-B_aGaFmh.js → needle-engine.bundle-DpWrB4yf.js} +5306 -5268
  4. package/dist/{needle-engine.bundle-TscA1IdQ.min.js → needle-engine.bundle-lEVjhicZ.min.js} +133 -133
  5. package/dist/{needle-engine.bundle-YQ3I1QD8.umd.cjs → needle-engine.bundle-nX51yB5a.umd.cjs} +132 -132
  6. package/dist/needle-engine.js +2 -2
  7. package/dist/needle-engine.min.js +1 -1
  8. package/dist/needle-engine.umd.cjs +1 -1
  9. package/dist/{vendor-H-9KkM5B.umd.cjs → vendor-6kAXU6fm.umd.cjs} +39 -39
  10. package/dist/{vendor-BahM12Xj.min.js → vendor-CsyK1CFs.min.js} +46 -46
  11. package/dist/{vendor-Becub4o1.js → vendor-petGQl0N.js} +3130 -3069
  12. package/lib/engine/api.d.ts +1 -0
  13. package/lib/engine/api.js +1 -0
  14. package/lib/engine/api.js.map +1 -1
  15. package/lib/engine/engine_addressables.d.ts +74 -11
  16. package/lib/engine/engine_addressables.js +74 -11
  17. package/lib/engine/engine_addressables.js.map +1 -1
  18. package/lib/engine/engine_camera.fit.d.ts +48 -3
  19. package/lib/engine/engine_camera.fit.js +29 -0
  20. package/lib/engine/engine_camera.fit.js.map +1 -1
  21. package/lib/engine/engine_context.d.ts +18 -3
  22. package/lib/engine/engine_context.js +18 -3
  23. package/lib/engine/engine_context.js.map +1 -1
  24. package/lib/engine/engine_utils.d.ts +0 -23
  25. package/lib/engine/engine_utils.js +0 -202
  26. package/lib/engine/engine_utils.js.map +1 -1
  27. package/lib/engine/engine_utils_attributes.d.ts +48 -0
  28. package/lib/engine/engine_utils_attributes.js +70 -0
  29. package/lib/engine/engine_utils_attributes.js.map +1 -0
  30. package/lib/engine/engine_utils_qrcode.d.ts +23 -0
  31. package/lib/engine/engine_utils_qrcode.js +234 -0
  32. package/lib/engine/engine_utils_qrcode.js.map +1 -0
  33. package/lib/engine/extensions/NEEDLE_components.d.ts +4 -4
  34. package/lib/engine/extensions/NEEDLE_components.js +36 -17
  35. package/lib/engine/extensions/NEEDLE_components.js.map +1 -1
  36. package/lib/engine/webcomponents/buttons.js +1 -1
  37. package/lib/engine/webcomponents/buttons.js.map +1 -1
  38. package/lib/engine-components/Animation.d.ts +1 -1
  39. package/lib/engine-components/Animation.js +1 -1
  40. package/lib/engine-components/AnimationCurve.d.ts +3 -0
  41. package/lib/engine-components/AnimationCurve.js +3 -0
  42. package/lib/engine-components/AnimationCurve.js.map +1 -1
  43. package/lib/engine-components/Animator.d.ts +2 -1
  44. package/lib/engine-components/Animator.js +2 -1
  45. package/lib/engine-components/Animator.js.map +1 -1
  46. package/lib/engine-components/AnimatorController.d.ts +3 -0
  47. package/lib/engine-components/AnimatorController.js +3 -0
  48. package/lib/engine-components/AnimatorController.js.map +1 -1
  49. package/lib/engine-components/LookAtConstraint.d.ts +4 -0
  50. package/lib/engine-components/LookAtConstraint.js +4 -0
  51. package/lib/engine-components/LookAtConstraint.js.map +1 -1
  52. package/lib/engine-components/NeedleMenu.d.ts +1 -0
  53. package/lib/engine-components/NeedleMenu.js +1 -0
  54. package/lib/engine-components/NeedleMenu.js.map +1 -1
  55. package/lib/engine-components/NestedGltf.d.ts +3 -0
  56. package/lib/engine-components/NestedGltf.js +3 -0
  57. package/lib/engine-components/NestedGltf.js.map +1 -1
  58. package/lib/engine-components/ReflectionProbe.d.ts +4 -0
  59. package/lib/engine-components/ReflectionProbe.js +4 -0
  60. package/lib/engine-components/ReflectionProbe.js.map +1 -1
  61. package/lib/engine-components/Renderer.js +14 -40
  62. package/lib/engine-components/Renderer.js.map +1 -1
  63. package/lib/engine-components/RendererLightmap.d.ts +7 -0
  64. package/lib/engine-components/RendererLightmap.js +30 -21
  65. package/lib/engine-components/RendererLightmap.js.map +1 -1
  66. package/lib/engine-components/SeeThrough.d.ts +3 -0
  67. package/lib/engine-components/SeeThrough.js +3 -0
  68. package/lib/engine-components/SeeThrough.js.map +1 -1
  69. package/lib/engine-components/Skybox.d.ts +3 -0
  70. package/lib/engine-components/Skybox.js +3 -0
  71. package/lib/engine-components/Skybox.js.map +1 -1
  72. package/lib/engine-components/SpriteRenderer.d.ts +14 -1
  73. package/lib/engine-components/SpriteRenderer.js +17 -1
  74. package/lib/engine-components/SpriteRenderer.js.map +1 -1
  75. package/lib/engine-components/splines/Spline.d.ts +3 -0
  76. package/lib/engine-components/splines/Spline.js +3 -0
  77. package/lib/engine-components/splines/Spline.js.map +1 -1
  78. package/lib/engine-components/splines/SplineUtils.d.ts +3 -0
  79. package/lib/engine-components/splines/SplineUtils.js +3 -0
  80. package/lib/engine-components/splines/SplineUtils.js.map +1 -1
  81. package/lib/engine-components/splines/SplineWalker.d.ts +3 -0
  82. package/lib/engine-components/splines/SplineWalker.js +3 -0
  83. package/lib/engine-components/splines/SplineWalker.js.map +1 -1
  84. package/lib/engine-components/timeline/PlayableDirector.d.ts +2 -1
  85. package/lib/engine-components/timeline/PlayableDirector.js +16 -9
  86. package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
  87. package/lib/engine-components/timeline/SignalAsset.d.ts +11 -1
  88. package/lib/engine-components/timeline/SignalAsset.js +11 -1
  89. package/lib/engine-components/timeline/SignalAsset.js.map +1 -1
  90. package/lib/engine-components/ui/Raycaster.d.ts +18 -0
  91. package/lib/engine-components/ui/Raycaster.js +18 -0
  92. package/lib/engine-components/ui/Raycaster.js.map +1 -1
  93. package/package.json +2 -2
  94. package/src/engine/api.ts +1 -0
  95. package/src/engine/engine_addressables.ts +76 -11
  96. package/src/engine/engine_camera.fit.ts +50 -4
  97. package/src/engine/engine_context.ts +18 -3
  98. package/src/engine/engine_utils.ts +0 -229
  99. package/src/engine/engine_utils_attributes.ts +72 -0
  100. package/src/engine/engine_utils_qrcode.ts +266 -0
  101. package/src/engine/extensions/NEEDLE_components.ts +47 -26
  102. package/src/engine/webcomponents/buttons.ts +1 -1
  103. package/src/engine-components/Animation.ts +1 -1
  104. package/src/engine-components/AnimationCurve.ts +4 -1
  105. package/src/engine-components/Animator.ts +3 -2
  106. package/src/engine-components/AnimatorController.ts +3 -0
  107. package/src/engine-components/LookAtConstraint.ts +6 -1
  108. package/src/engine-components/NeedleMenu.ts +1 -0
  109. package/src/engine-components/NestedGltf.ts +3 -0
  110. package/src/engine-components/ReflectionProbe.ts +4 -0
  111. package/src/engine-components/Renderer.ts +14 -42
  112. package/src/engine-components/RendererLightmap.ts +34 -20
  113. package/src/engine-components/SeeThrough.ts +3 -0
  114. package/src/engine-components/Skybox.ts +3 -0
  115. package/src/engine-components/SpriteRenderer.ts +18 -2
  116. package/src/engine-components/splines/Spline.ts +3 -0
  117. package/src/engine-components/splines/SplineUtils.ts +3 -1
  118. package/src/engine-components/splines/SplineWalker.ts +3 -0
  119. package/src/engine-components/timeline/PlayableDirector.ts +16 -10
  120. package/src/engine-components/timeline/SignalAsset.ts +13 -2
  121. package/src/engine-components/ui/Raycaster.ts +19 -0
  122. package/dist/generateMeshBVH.worker-2qGLkQjg.js +0 -25
@@ -74,6 +74,7 @@ export { registerType, TypeStore } from "./engine_typestore.js";
74
74
  export { prefix, validate } from "./engine_util_decorator.js";
75
75
  export * from "./engine_utils.js";
76
76
  export * from "./engine_utils_format.js";
77
+ export { generateQRCode } from "./engine_utils_qrcode.js";
77
78
  export * from "./engine_utils_screenshot.js";
78
79
  export * from "./export/index.js";
79
80
  export * from "./extensions/index.js";
package/lib/engine/api.js CHANGED
@@ -73,6 +73,7 @@ export { registerType, TypeStore } from "./engine_typestore.js";
73
73
  export { prefix, validate } from "./engine_util_decorator.js";
74
74
  export * from "./engine_utils.js";
75
75
  export * from "./engine_utils_format.js";
76
+ export { generateQRCode } from "./engine_utils_qrcode.js";
76
77
  export * from "./engine_utils_screenshot.js";
77
78
  export * from "./export/index.js";
78
79
  export * from "./extensions/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/engine/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAChH,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC3F,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrE,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACvE,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAE1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC9D,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,6CAA6C,CAAC;AAC5D,cAAc,kCAAkC,CAAC;AACjD,cAAc,0CAA0C,CAAC;AACzD,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/engine/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAChH,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC3F,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrE,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACvE,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAE1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC9D,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,6CAA6C,CAAC;AAC5D,cAAc,kCAAkC,CAAC;AACjD,cAAc,0CAA0C,CAAC;AACzD,cAAc,aAAa,CAAA"}
@@ -29,13 +29,50 @@ export declare class Addressables {
29
29
  unregisterAssetReference(ref: AssetReference): void;
30
30
  }
31
31
  export type ProgressCallback = (asset: AssetReference, prog: ProgressEvent) => void;
32
- /** ### AssetReferences can be used to easily load glTF or GLB assets
33
- * You can use `AssetReference.getOrCreate` to get an AssetReference for a URL to be easily loaded.
34
- * When using the same URL multiple times the same AssetReference will be returned, this avoids loading or creating the same asset multiple times.
35
- * - `myAssetReference.preload()` to load the asset binary without creating an instance yet.
36
- * - `myAssetReference.loadAssetAsync()` to load the asset and create an instance.
37
- * - `myAssetReference.instantiate()` to load the asset and create a new instance.
38
- * - `myAssetReference.unload()` to dispose allocated memory and destroy the asset instance.
32
+ /** ### AssetReferences can be used to load glTF or GLB assets
33
+ * Use {@link AssetReference.getOrCreateFromUrl} to get an AssetReference for a URL to be easily loaded. When using the same URL multiple times the same AssetReference will be returned, this avoids loading or creating the same asset multiple times.
34
+ *
35
+ * **Important methods:**
36
+ * - {@link preload} to load the asset binary without creating an instance yet.
37
+ * - {@link loadAssetAsync} to load the asset and create an instance.
38
+ * - {@link instantiate} to load the asset and create another instance.
39
+ * - {@link unload} to dispose allocated memory and destroy the asset instance.
40
+ *
41
+ * @example Loading an asset from a URL
42
+ * ```ts
43
+ * import { AssetReference } from '@needle-tools/engine';
44
+ * const assetRef = AssetReference.getOrCreateFromUrl("https://example.com/myModel.glb");
45
+ * const instance = await assetRef.loadAssetAsync();
46
+ * scene.add(instance);
47
+ * ```
48
+ *
49
+ * @example Referencing an asset in a component and loading it on start
50
+ * ```ts
51
+ * import { Behaviour, serializable, AssetReference } from '@needle-tools/engine';
52
+ *
53
+ * export class MyComponent extends Behaviour {
54
+ *
55
+ * @serializable(AssetReference)
56
+ * myModel?: AssetReference;
57
+ *
58
+ * // Load the model on start. Start is called after awake and onEnable
59
+ * start() {
60
+ * if (this.myModel) {
61
+ * this.myModel.loadAssetAsync().then(instance => {
62
+ * if (instance) {
63
+ * // add the loaded model to this component's game object
64
+ * this.gameObject.add(instance);
65
+ * }
66
+ * });
67
+ * }
68
+ * }
69
+ * }
70
+ * ```
71
+ *
72
+ * ### Related:
73
+ * - {@link ImageReference} to load external image URLs
74
+ * - {@link FileReference} to load external file URLs
75
+ * - {@link loadAsset} to load assets directly without using AssetReferences
39
76
  */
40
77
  export declare class AssetReference {
41
78
  /**
@@ -116,12 +153,33 @@ export declare class AssetReference {
116
153
  */
117
154
  private tryGetActualGameObjectRoot;
118
155
  }
119
- /** Use this if a file is a external image URL
156
+ /**
157
+ * Load images or textures from external URLs.
158
+ *
159
+ * **Important methods:**
160
+ * - {@link createHTMLImage} to create an HTMLImageElement from the URL
161
+ * - {@link createTexture} to create a Three.js Texture from the URL
162
+ *
120
163
  * @example
121
164
  * ```ts
122
- * @serializable(ImageReference)
123
- * myImage?:ImageReference;
165
+ * import { ImageReference, serializable } from '@needle-tools/engine';
166
+ *
167
+ * export class MyComponent extends Behaviour {
168
+ * @serializable(ImageReference)
169
+ * myImage?:ImageReference;
170
+ * async start() {
171
+ * if(this.myImage) {
172
+ * const texture = await this.myImage.createTexture();
173
+ * if(texture) {
174
+ * // use the texture
175
+ * }
176
+ * }
177
+ * }
124
178
  * ```
179
+ *
180
+ * ### Related:
181
+ * - {@link AssetReference} to load glTF or GLB assets
182
+ * - {@link FileReference} to load external file URLs
125
183
  */
126
184
  export declare class ImageReference {
127
185
  private static imageReferences;
@@ -143,7 +201,12 @@ export declare class ImageReferenceSerializer extends TypeSerializer {
143
201
  onSerialize(_data: string, _context: SerializationContext): null;
144
202
  onDeserialize(data: string, _context: SerializationContext): ImageReference | undefined;
145
203
  }
146
- /** Use this if a file is a external file URL. The file can be any arbitrary binary data like a videofile or a text asset
204
+ /**
205
+ * Use this if a file is a external file URL. The file can be any arbitrary binary data like a videofile or a text asset.
206
+ *
207
+ * ### Related:
208
+ * - {@link AssetReference} to load glTF or GLB assets
209
+ * - {@link ImageReference} to load external image URLs
147
210
  */
148
211
  export declare class FileReference {
149
212
  private static cache;
@@ -63,13 +63,50 @@ export class Addressables {
63
63
  }
64
64
  }
65
65
  const $assetReference = Symbol("assetReference");
66
- /** ### AssetReferences can be used to easily load glTF or GLB assets
67
- * You can use `AssetReference.getOrCreate` to get an AssetReference for a URL to be easily loaded.
68
- * When using the same URL multiple times the same AssetReference will be returned, this avoids loading or creating the same asset multiple times.
69
- * - `myAssetReference.preload()` to load the asset binary without creating an instance yet.
70
- * - `myAssetReference.loadAssetAsync()` to load the asset and create an instance.
71
- * - `myAssetReference.instantiate()` to load the asset and create a new instance.
72
- * - `myAssetReference.unload()` to dispose allocated memory and destroy the asset instance.
66
+ /** ### AssetReferences can be used to load glTF or GLB assets
67
+ * Use {@link AssetReference.getOrCreateFromUrl} to get an AssetReference for a URL to be easily loaded. When using the same URL multiple times the same AssetReference will be returned, this avoids loading or creating the same asset multiple times.
68
+ *
69
+ * **Important methods:**
70
+ * - {@link preload} to load the asset binary without creating an instance yet.
71
+ * - {@link loadAssetAsync} to load the asset and create an instance.
72
+ * - {@link instantiate} to load the asset and create another instance.
73
+ * - {@link unload} to dispose allocated memory and destroy the asset instance.
74
+ *
75
+ * @example Loading an asset from a URL
76
+ * ```ts
77
+ * import { AssetReference } from '@needle-tools/engine';
78
+ * const assetRef = AssetReference.getOrCreateFromUrl("https://example.com/myModel.glb");
79
+ * const instance = await assetRef.loadAssetAsync();
80
+ * scene.add(instance);
81
+ * ```
82
+ *
83
+ * @example Referencing an asset in a component and loading it on start
84
+ * ```ts
85
+ * import { Behaviour, serializable, AssetReference } from '@needle-tools/engine';
86
+ *
87
+ * export class MyComponent extends Behaviour {
88
+ *
89
+ * @serializable(AssetReference)
90
+ * myModel?: AssetReference;
91
+ *
92
+ * // Load the model on start. Start is called after awake and onEnable
93
+ * start() {
94
+ * if (this.myModel) {
95
+ * this.myModel.loadAssetAsync().then(instance => {
96
+ * if (instance) {
97
+ * // add the loaded model to this component's game object
98
+ * this.gameObject.add(instance);
99
+ * }
100
+ * });
101
+ * }
102
+ * }
103
+ * }
104
+ * ```
105
+ *
106
+ * ### Related:
107
+ * - {@link ImageReference} to load external image URLs
108
+ * - {@link FileReference} to load external file URLs
109
+ * - {@link loadAsset} to load assets directly without using AssetReferences
73
110
  */
74
111
  export class AssetReference {
75
112
  /**
@@ -469,12 +506,33 @@ class AddressableSerializer extends TypeSerializer {
469
506
  }
470
507
  new AddressableSerializer();
471
508
  const failedTexturePromise = Promise.resolve(null);
472
- /** Use this if a file is a external image URL
509
+ /**
510
+ * Load images or textures from external URLs.
511
+ *
512
+ * **Important methods:**
513
+ * - {@link createHTMLImage} to create an HTMLImageElement from the URL
514
+ * - {@link createTexture} to create a Three.js Texture from the URL
515
+ *
473
516
  * @example
474
517
  * ```ts
475
- * @serializable(ImageReference)
476
- * myImage?:ImageReference;
518
+ * import { ImageReference, serializable } from '@needle-tools/engine';
519
+ *
520
+ * export class MyComponent extends Behaviour {
521
+ * @serializable(ImageReference)
522
+ * myImage?:ImageReference;
523
+ * async start() {
524
+ * if(this.myImage) {
525
+ * const texture = await this.myImage.createTexture();
526
+ * if(texture) {
527
+ * // use the texture
528
+ * }
529
+ * }
530
+ * }
477
531
  * ```
532
+ *
533
+ * ### Related:
534
+ * - {@link AssetReference} to load glTF or GLB assets
535
+ * - {@link FileReference} to load external file URLs
478
536
  */
479
537
  export class ImageReference {
480
538
  static imageReferences = new Map();
@@ -567,7 +625,12 @@ export class ImageReferenceSerializer extends TypeSerializer {
567
625
  }
568
626
  }
569
627
  new ImageReferenceSerializer();
570
- /** Use this if a file is a external file URL. The file can be any arbitrary binary data like a videofile or a text asset
628
+ /**
629
+ * Use this if a file is a external file URL. The file can be any arbitrary binary data like a videofile or a text asset.
630
+ *
631
+ * ### Related:
632
+ * - {@link AssetReference} to load glTF or GLB assets
633
+ * - {@link ImageReference} to load external image URLs
571
634
  */
572
635
  export class FileReference {
573
636
  static cache = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"engine_addressables.js","sourceRoot":"","sources":["../../src/engine/engine_addressables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_addressables.js","sourceRoot":"","sources":["../../src/engine/engine_addressables.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,10 @@
1
1
  import { Camera, Object3D, Vector3, Vector3Like } from "three";
2
2
  import { Context } from "./engine_context.js";
3
3
  /**
4
- * Options for fitting the camera to the scene. Used in {@link OrbitControls.fitCamera}
4
+ * Options for fitting a camera to the scene or specific objects.
5
+ *
6
+ * Used by {@link OrbitControls.fitCamera} and the {@link fitCamera}.
7
+ *
5
8
  */
6
9
  export type FitCameraOptions = {
7
10
  /** When enabled debug rendering will be shown */
@@ -19,14 +22,27 @@ export type FitCameraOptions = {
19
22
  * The camera to fit. If not provided the current camera will be used
20
23
  */
21
24
  camera?: Camera;
25
+ /**
26
+ * The current zoom level of the camera (used to avoid clipping when fitting)
27
+ */
22
28
  currentZoom?: number;
29
+ /**
30
+ * Minimum and maximum zoom levels for the camera (e.g. if zoom is constrained by OrbitControls)
31
+ */
23
32
  minZoom?: number;
33
+ /**
34
+ * Maximum zoom level for the camera (e.g. if zoom is constrained by OrbitControls)
35
+ */
24
36
  maxZoom?: number;
25
37
  /**
26
38
  * The objects to fit the camera to. If not provided the scene children will be used
27
39
  */
28
40
  objects?: Object3D[] | Object3D;
29
- /** Fit offset: A factor to multiply the distance to the objects by
41
+ /**
42
+ * A factor to control padding around the fitted objects.
43
+ *
44
+ * Values > 1 will add more space around the fitted objects, values < 1 will zoom in closer.
45
+ *
30
46
  * @default 1.1
31
47
  */
32
48
  fitOffset?: number;
@@ -55,7 +71,7 @@ export type FitCameraOptions = {
55
71
  */
56
72
  relativeTargetOffset?: Partial<Vector3Like>;
57
73
  /**
58
- * Field of view (FOV) for the camera
74
+ * Target field of view (FOV) for the camera
59
75
  */
60
76
  fov?: number;
61
77
  };
@@ -65,4 +81,33 @@ export type FitCameraReturnType = {
65
81
  lookAt: Vector3;
66
82
  fov: number | undefined;
67
83
  };
84
+ /**
85
+ * Fit the camera to the specified objects or the whole scene.
86
+ * Adjusts the camera position and optionally the FOV to ensure all objects are visible.
87
+ *
88
+ * @example Fit the main camera to the entire scene:
89
+ * ```ts
90
+ * import { fitCamera } from '@needle-tools/engine';
91
+ *
92
+ * // Fit the main camera to the entire scene
93
+ * fitCamera();
94
+ * ```
95
+ * @example Fit a specific camera to specific objects with custom options:
96
+ * ```ts
97
+ * import { fitCamera } from '@needle-tools/engine';
98
+ *
99
+ * // Fit a specific camera to specific objects with custom options
100
+ * const myCamera = ...; // your camera
101
+ * const objectsToFit = [...]; // array of objects to fit
102
+ * fitCamera({
103
+ * camera: myCamera,
104
+ * objects: objectsToFit,
105
+ * fitOffset: 1,
106
+ * fov: 20,
107
+ * });
108
+ * ```
109
+ *
110
+ * @param options Options for fitting the camera
111
+ * @returns
112
+ */
68
113
  export declare function fitCamera(options?: FitCameraOptions): null | FitCameraReturnType;
@@ -5,6 +5,35 @@ import { Context } from "./engine_context.js";
5
5
  import { Gizmos } from "./engine_gizmos.js";
6
6
  import { getBoundingBox } from "./engine_three_utils.js";
7
7
  import { NeedleXRSession } from "./xr/NeedleXRSession.js";
8
+ /**
9
+ * Fit the camera to the specified objects or the whole scene.
10
+ * Adjusts the camera position and optionally the FOV to ensure all objects are visible.
11
+ *
12
+ * @example Fit the main camera to the entire scene:
13
+ * ```ts
14
+ * import { fitCamera } from '@needle-tools/engine';
15
+ *
16
+ * // Fit the main camera to the entire scene
17
+ * fitCamera();
18
+ * ```
19
+ * @example Fit a specific camera to specific objects with custom options:
20
+ * ```ts
21
+ * import { fitCamera } from '@needle-tools/engine';
22
+ *
23
+ * // Fit a specific camera to specific objects with custom options
24
+ * const myCamera = ...; // your camera
25
+ * const objectsToFit = [...]; // array of objects to fit
26
+ * fitCamera({
27
+ * camera: myCamera,
28
+ * objects: objectsToFit,
29
+ * fitOffset: 1,
30
+ * fov: 20,
31
+ * });
32
+ * ```
33
+ *
34
+ * @param options Options for fitting the camera
35
+ * @returns
36
+ */
8
37
  export function fitCamera(options) {
9
38
  if (NeedleXRSession.active) {
10
39
  // camera fitting in XR is not supported
@@ -1 +1 @@
1
- {"version":3,"file":"engine_camera.fit.js","sourceRoot":"","sources":["../../src/engine/engine_camera.fit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_camera.fit.js","sourceRoot":"","sources":["../../src/engine/engine_camera.fit.ts"],"names":[],"mappings":"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"}
@@ -76,9 +76,12 @@ export declare enum FrameEvent {
76
76
  export declare type OnRenderCallback = (renderer: WebGLRenderer, scene: Scene, camera: Camera, geometry: BufferGeometry, material: Material, group: Group) => void;
77
77
  export declare function registerComponent(script: IComponent, context?: Context): void;
78
78
  /**
79
- * The context is the main object that holds all the data and state of the Needle Engine.
80
- * It can be used to access the scene, renderer, camera, input, physics, networking, and more.
81
- * @example
79
+ * The Needle Engine context is the main access point that holds all the data and state of a Needle Engine application.
80
+ * It can be used to access the {@link Context.scene}, {@link Context.renderer}, {@link Context.mainCamera}, {@link Context.input}, {@link Context.physics}, {@link Context.time}, {@link Context.connection} (networking), and more.
81
+ *
82
+ * The context is automatically created when using the `<needle-engine>` web component.
83
+ *
84
+ * @example Accessing the context from a [component](https://engine.needle.tools/docs/api/Behaviour):
82
85
  * ```typescript
83
86
  * import { Behaviour } from "@needle-tools/engine";
84
87
  * import { Mesh, BoxGeometry, MeshBasicMaterial } from "three";
@@ -89,6 +92,18 @@ export declare function registerComponent(script: IComponent, context?: Context)
89
92
  * }
90
93
  * }
91
94
  * ```
95
+ *
96
+ * @example Accessing the context from a [hook](https://engine.needle.tools/docs/scripting.html#hooks) without a component e.g. from a javascript module or svelte or react component.
97
+ *
98
+ * ```typescript
99
+ * import { onStart } from "@needle-tools/engine";
100
+ *
101
+ * onStart((context) => {
102
+ * console.log("Hello from onStart hook");
103
+ * context.scene.add(new Mesh(new BoxGeometry(), new MeshBasicMaterial()));
104
+ * });
105
+ * ```
106
+ *
92
107
  */
93
108
  export declare class Context implements IContext {
94
109
  private static _defaultTargetFramerate;
@@ -86,9 +86,12 @@ export function registerComponent(script, context) {
86
86
  }
87
87
  }
88
88
  /**
89
- * The context is the main object that holds all the data and state of the Needle Engine.
90
- * It can be used to access the scene, renderer, camera, input, physics, networking, and more.
91
- * @example
89
+ * The Needle Engine context is the main access point that holds all the data and state of a Needle Engine application.
90
+ * It can be used to access the {@link Context.scene}, {@link Context.renderer}, {@link Context.mainCamera}, {@link Context.input}, {@link Context.physics}, {@link Context.time}, {@link Context.connection} (networking), and more.
91
+ *
92
+ * The context is automatically created when using the `<needle-engine>` web component.
93
+ *
94
+ * @example Accessing the context from a [component](https://engine.needle.tools/docs/api/Behaviour):
92
95
  * ```typescript
93
96
  * import { Behaviour } from "@needle-tools/engine";
94
97
  * import { Mesh, BoxGeometry, MeshBasicMaterial } from "three";
@@ -99,6 +102,18 @@ export function registerComponent(script, context) {
99
102
  * }
100
103
  * }
101
104
  * ```
105
+ *
106
+ * @example Accessing the context from a [hook](https://engine.needle.tools/docs/scripting.html#hooks) without a component e.g. from a javascript module or svelte or react component.
107
+ *
108
+ * ```typescript
109
+ * import { onStart } from "@needle-tools/engine";
110
+ *
111
+ * onStart((context) => {
112
+ * console.log("Hello from onStart hook");
113
+ * context.scene.add(new Mesh(new BoxGeometry(), new MeshBasicMaterial()));
114
+ * });
115
+ * ```
116
+ *
102
117
  */
103
118
  export class Context {
104
119
  static _defaultTargetFramerate = { value: 90, toString() { return this.value; } };