@needle-tools/engine 2.63.3-pre.1 → 2.65.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 (289) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/needle-engine.js +7853 -7746
  3. package/dist/needle-engine.umd.cjs +215 -214
  4. package/lib/engine/api.js.map +1 -1
  5. package/lib/engine/assets/index.js.map +1 -1
  6. package/lib/engine/assets/logo.svg +1 -0
  7. package/lib/engine/codegen/register_types.js +169 -169
  8. package/lib/engine/codegen/register_types.js.map +1 -1
  9. package/lib/engine/debug/debug.js.map +1 -1
  10. package/lib/engine/debug/debug_console.js.map +1 -1
  11. package/lib/engine/debug/debug_overlay.js.map +1 -1
  12. package/lib/engine/debug/index.js.map +1 -1
  13. package/lib/engine/engine.js.map +1 -1
  14. package/lib/engine/engine_addressables.js.map +1 -1
  15. package/lib/engine/engine_application.js.map +1 -1
  16. package/lib/engine/engine_assetdatabase.js.map +1 -1
  17. package/lib/engine/engine_camera.js.map +1 -1
  18. package/lib/engine/engine_components.js.map +1 -1
  19. package/lib/engine/engine_constants.d.ts +1 -1
  20. package/lib/engine/engine_constants.js +1 -1
  21. package/lib/engine/engine_constants.js.map +1 -1
  22. package/lib/engine/engine_context_registry.js.map +1 -1
  23. package/lib/engine/engine_coroutine.js.map +1 -1
  24. package/lib/engine/engine_create_objects.js.map +1 -1
  25. package/lib/engine/engine_default_parameters.js.map +1 -1
  26. package/lib/engine/engine_element.d.ts +6 -4
  27. package/lib/engine/engine_element.js +152 -165
  28. package/lib/engine/engine_element.js.map +1 -1
  29. package/lib/engine/engine_element_loading.js.map +1 -1
  30. package/lib/engine/engine_element_overlay.js.map +1 -1
  31. package/lib/engine/engine_fileloader.js.map +1 -1
  32. package/lib/engine/engine_gameobject.d.ts +4 -2
  33. package/lib/engine/engine_gameobject.js +34 -15
  34. package/lib/engine/engine_gameobject.js.map +1 -1
  35. package/lib/engine/engine_generic_utils.js.map +1 -1
  36. package/lib/engine/engine_gizmos.js.map +1 -1
  37. package/lib/engine/engine_gltf.d.ts +1 -1
  38. package/lib/engine/engine_gltf.js.map +1 -1
  39. package/lib/engine/engine_gltf_builtin_components.js.map +1 -1
  40. package/lib/engine/engine_hot_reload.js.map +1 -1
  41. package/lib/engine/engine_input.js.map +1 -1
  42. package/lib/engine/engine_input_utils.js.map +1 -1
  43. package/lib/engine/engine_instancing.d.ts +1 -0
  44. package/lib/engine/engine_instancing.js +3 -2
  45. package/lib/engine/engine_instancing.js.map +1 -1
  46. package/lib/engine/engine_license.js +14 -13
  47. package/lib/engine/engine_license.js.map +1 -1
  48. package/lib/engine/engine_lightdata.js.map +1 -1
  49. package/lib/engine/engine_loaders.js.map +1 -1
  50. package/lib/engine/engine_mainloop_utils.js +62 -57
  51. package/lib/engine/engine_mainloop_utils.js.map +1 -1
  52. package/lib/engine/engine_math.js.map +1 -1
  53. package/lib/engine/engine_networking.js.map +1 -1
  54. package/lib/engine/engine_networking_auto.js.map +1 -1
  55. package/lib/engine/engine_networking_files.js.map +1 -1
  56. package/lib/engine/engine_networking_files_default_components.js.map +1 -1
  57. package/lib/engine/engine_networking_instantiate.js.map +1 -1
  58. package/lib/engine/engine_networking_peer.js.map +1 -1
  59. package/lib/engine/engine_networking_types.js.map +1 -1
  60. package/lib/engine/engine_networking_utils.js.map +1 -1
  61. package/lib/engine/engine_networking_websocket.js.map +1 -1
  62. package/lib/engine/engine_physics.d.ts +1 -0
  63. package/lib/engine/engine_physics.js +30 -0
  64. package/lib/engine/engine_physics.js.map +1 -1
  65. package/lib/engine/engine_physics.types.js.map +1 -1
  66. package/lib/engine/engine_playerview.js.map +1 -1
  67. package/lib/engine/engine_rendererdata.js.map +1 -1
  68. package/lib/engine/engine_scenetools.js.map +1 -1
  69. package/lib/engine/engine_serialization.js.map +1 -1
  70. package/lib/engine/engine_serialization_builtin_serializer.js.map +1 -1
  71. package/lib/engine/engine_serialization_core.js.map +1 -1
  72. package/lib/engine/engine_serialization_decorator.js.map +1 -1
  73. package/lib/engine/engine_setup.d.ts +6 -3
  74. package/lib/engine/engine_setup.js +14 -5
  75. package/lib/engine/engine_setup.js.map +1 -1
  76. package/lib/engine/engine_shaders.js.map +1 -1
  77. package/lib/engine/engine_texture.js.map +1 -1
  78. package/lib/engine/engine_three_utils.js.map +1 -1
  79. package/lib/engine/engine_time.d.ts +1 -0
  80. package/lib/engine/engine_time.js +5 -1
  81. package/lib/engine/engine_time.js.map +1 -1
  82. package/lib/engine/engine_types.d.ts +12 -0
  83. package/lib/engine/engine_types.js.map +1 -1
  84. package/lib/engine/engine_typestore.js.map +1 -1
  85. package/lib/engine/engine_util_decorator.js.map +1 -1
  86. package/lib/engine/engine_utils.js.map +1 -1
  87. package/lib/engine/engine_utils_screenshot.js.map +1 -1
  88. package/lib/engine/engine_web_api.js.map +1 -1
  89. package/lib/engine/extensions/EXT_texture_exr.js.map +1 -1
  90. package/lib/engine/extensions/NEEDLE_animator_controller_model.js.map +1 -1
  91. package/lib/engine/extensions/NEEDLE_components.js.map +1 -1
  92. package/lib/engine/extensions/NEEDLE_gameobject_data.js.map +1 -1
  93. package/lib/engine/extensions/NEEDLE_lighting_settings.js.map +1 -1
  94. package/lib/engine/extensions/NEEDLE_lightmaps.js.map +1 -1
  95. package/lib/engine/extensions/NEEDLE_persistent_assets.js.map +1 -1
  96. package/lib/engine/extensions/NEEDLE_progressive.js.map +1 -1
  97. package/lib/engine/extensions/NEEDLE_render_objects.js.map +1 -1
  98. package/lib/engine/extensions/NEEDLE_techniques_webgl.js.map +1 -1
  99. package/lib/engine/extensions/extension_resolver.js.map +1 -1
  100. package/lib/engine/extensions/extension_utils.js.map +1 -1
  101. package/lib/engine/extensions/extensions.js.map +1 -1
  102. package/lib/engine/js-extensions/Camera.js.map +1 -1
  103. package/lib/engine/js-extensions/Layers.js.map +1 -1
  104. package/lib/engine/js-extensions/index.js.map +1 -1
  105. package/lib/engine/shaders/shaderData.js.map +1 -1
  106. package/lib/engine/tests/test_utils.js.map +1 -1
  107. package/lib/engine-components/AlignmentConstraint.js.map +1 -1
  108. package/lib/engine-components/Animation.js +6 -6
  109. package/lib/engine-components/Animation.js.map +1 -1
  110. package/lib/engine-components/AnimationCurve.js.map +1 -1
  111. package/lib/engine-components/Animator.js.map +1 -1
  112. package/lib/engine-components/AnimatorController.js +2 -0
  113. package/lib/engine-components/AnimatorController.js.map +1 -1
  114. package/lib/engine-components/AudioListener.js.map +1 -1
  115. package/lib/engine-components/AudioSource.js +1 -1
  116. package/lib/engine-components/AudioSource.js.map +1 -1
  117. package/lib/engine-components/AvatarLoader.js.map +1 -1
  118. package/lib/engine-components/AxesHelper.js.map +1 -1
  119. package/lib/engine-components/BasicIKConstraint.js.map +1 -1
  120. package/lib/engine-components/BoxCollider.js.map +1 -1
  121. package/lib/engine-components/BoxHelperComponent.js.map +1 -1
  122. package/lib/engine-components/Camera.d.ts +3 -1
  123. package/lib/engine-components/Camera.js +11 -10
  124. package/lib/engine-components/Camera.js.map +1 -1
  125. package/lib/engine-components/CameraUtils.js.map +1 -1
  126. package/lib/engine-components/CharacterController.js.map +1 -1
  127. package/lib/engine-components/Collider.js.map +1 -1
  128. package/lib/engine-components/Component.d.ts +2 -1
  129. package/lib/engine-components/Component.js +2 -2
  130. package/lib/engine-components/Component.js.map +1 -1
  131. package/lib/engine-components/DeleteBox.js.map +1 -1
  132. package/lib/engine-components/DeviceFlag.js.map +1 -1
  133. package/lib/engine-components/DragControls.js.map +1 -1
  134. package/lib/engine-components/DropListener.js.map +1 -1
  135. package/lib/engine-components/Duplicatable.js.map +1 -1
  136. package/lib/engine-components/EventList.js.map +1 -1
  137. package/lib/engine-components/EventTrigger.js.map +1 -1
  138. package/lib/engine-components/EventType.js.map +1 -1
  139. package/lib/engine-components/FlyControls.js.map +1 -1
  140. package/lib/engine-components/Fog.js.map +1 -1
  141. package/lib/engine-components/Gizmos.js.map +1 -1
  142. package/lib/engine-components/GridHelper.js.map +1 -1
  143. package/lib/engine-components/GroundProjection.js.map +1 -1
  144. package/lib/engine-components/Interactable.js.map +1 -1
  145. package/lib/engine-components/Joints.js.map +1 -1
  146. package/lib/engine-components/LODGroup.js.map +1 -1
  147. package/lib/engine-components/Light.d.ts +0 -2
  148. package/lib/engine-components/Light.js +22 -14
  149. package/lib/engine-components/Light.js.map +1 -1
  150. package/lib/engine-components/LookAtConstraint.js.map +1 -1
  151. package/lib/engine-components/NestedGltf.js.map +1 -1
  152. package/lib/engine-components/Networking.js.map +1 -1
  153. package/lib/engine-components/OffsetConstraint.js.map +1 -1
  154. package/lib/engine-components/OrbitControls.js.map +1 -1
  155. package/lib/engine-components/ParticleSystem.js +13 -1
  156. package/lib/engine-components/ParticleSystem.js.map +1 -1
  157. package/lib/engine-components/ParticleSystemModules.js.map +1 -1
  158. package/lib/engine-components/ParticleSystemSubEmitter.js.map +1 -1
  159. package/lib/engine-components/PlayerColor.js.map +1 -1
  160. package/lib/engine-components/ReflectionProbe.js.map +1 -1
  161. package/lib/engine-components/Renderer.d.ts +5 -1
  162. package/lib/engine-components/Renderer.js +78 -29
  163. package/lib/engine-components/Renderer.js.map +1 -1
  164. package/lib/engine-components/RendererLightmap.js.map +1 -1
  165. package/lib/engine-components/RigidBody.js.map +1 -1
  166. package/lib/engine-components/ScreenCapture.js.map +1 -1
  167. package/lib/engine-components/ShadowCatcher.js.map +1 -1
  168. package/lib/engine-components/Skybox.d.ts +2 -0
  169. package/lib/engine-components/Skybox.js +43 -21
  170. package/lib/engine-components/Skybox.js.map +1 -1
  171. package/lib/engine-components/SmoothFollow.js.map +1 -1
  172. package/lib/engine-components/SpatialTrigger.js.map +1 -1
  173. package/lib/engine-components/SpectatorCamera.js.map +1 -1
  174. package/lib/engine-components/SphereCollider.js.map +1 -1
  175. package/lib/engine-components/SpriteRenderer.js.map +1 -1
  176. package/lib/engine-components/SyncedCamera.js.map +1 -1
  177. package/lib/engine-components/SyncedRoom.js.map +1 -1
  178. package/lib/engine-components/SyncedTransform.js.map +1 -1
  179. package/lib/engine-components/TestRunner.js.map +1 -1
  180. package/lib/engine-components/TransformGizmo.js.map +1 -1
  181. package/lib/engine-components/VideoPlayer.js.map +1 -1
  182. package/lib/engine-components/Voip.js.map +1 -1
  183. package/lib/engine-components/Volume.js +2 -0
  184. package/lib/engine-components/Volume.js.map +1 -1
  185. package/lib/engine-components/WebARSessionRoot.js.map +1 -1
  186. package/lib/engine-components/WebXR.js.map +1 -1
  187. package/lib/engine-components/WebXRAvatar.js.map +1 -1
  188. package/lib/engine-components/WebXRController.js.map +1 -1
  189. package/lib/engine-components/WebXRGrabRendering.js.map +1 -1
  190. package/lib/engine-components/WebXRRig.js.map +1 -1
  191. package/lib/engine-components/WebXRSync.js.map +1 -1
  192. package/lib/engine-components/XRFlag.js.map +1 -1
  193. package/lib/engine-components/avatar/AvatarBlink_Simple.js.map +1 -1
  194. package/lib/engine-components/avatar/AvatarEyeLook_Rotation.js.map +1 -1
  195. package/lib/engine-components/avatar/Avatar_Brain_LookAt.js.map +1 -1
  196. package/lib/engine-components/avatar/Avatar_MouthShapes.js.map +1 -1
  197. package/lib/engine-components/avatar/Avatar_MustacheShake.js.map +1 -1
  198. package/lib/engine-components/codegen/components.js.map +1 -1
  199. package/lib/engine-components/debug/LogStats.js.map +1 -1
  200. package/lib/engine-components/export/gltf/GltfExport.js.map +1 -1
  201. package/lib/engine-components/export/usdz/Extension.js.map +1 -1
  202. package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
  203. package/lib/engine-components/export/usdz/extensions/Animation.js.map +1 -1
  204. package/lib/engine-components/export/usdz/types.js.map +1 -1
  205. package/lib/engine-components/export/usdz/utils/animationutils.js.map +1 -1
  206. package/lib/engine-components/export/usdz/utils/quicklook.js.map +1 -1
  207. package/lib/engine-components/export/usdz/utils/timeutils.js.map +1 -1
  208. package/lib/engine-components/js-extensions/ExtensionUtils.js.map +1 -1
  209. package/lib/engine-components/js-extensions/Object3D.js +8 -1
  210. package/lib/engine-components/js-extensions/Object3D.js.map +1 -1
  211. package/lib/engine-components/js-extensions/RGBAColor.js.map +1 -1
  212. package/lib/engine-components/js-extensions/Vector.js.map +1 -1
  213. package/lib/engine-components/timeline/PlayableDirector.d.ts +5 -0
  214. package/lib/engine-components/timeline/PlayableDirector.js +36 -23
  215. package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
  216. package/lib/engine-components/timeline/SignalAsset.js.map +1 -1
  217. package/lib/engine-components/timeline/TimelineModels.js.map +1 -1
  218. package/lib/engine-components/timeline/TimelineTracks.d.ts +9 -0
  219. package/lib/engine-components/timeline/TimelineTracks.js +112 -19
  220. package/lib/engine-components/timeline/TimelineTracks.js.map +1 -1
  221. package/lib/engine-components/ui/BaseUIComponent.js.map +1 -1
  222. package/lib/engine-components/ui/Button.js.map +1 -1
  223. package/lib/engine-components/ui/Canvas.js +2 -2
  224. package/lib/engine-components/ui/Canvas.js.map +1 -1
  225. package/lib/engine-components/ui/CanvasGroup.js.map +1 -1
  226. package/lib/engine-components/ui/EventSystem.js.map +1 -1
  227. package/lib/engine-components/ui/Graphic.js.map +1 -1
  228. package/lib/engine-components/ui/Image.js.map +1 -1
  229. package/lib/engine-components/ui/InputField.js.map +1 -1
  230. package/lib/engine-components/ui/Interfaces.js.map +1 -1
  231. package/lib/engine-components/ui/Keyboard.js.map +1 -1
  232. package/lib/engine-components/ui/Layout.js.map +1 -1
  233. package/lib/engine-components/ui/PointerEvents.js.map +1 -1
  234. package/lib/engine-components/ui/RaycastUtils.js.map +1 -1
  235. package/lib/engine-components/ui/Raycaster.js.map +1 -1
  236. package/lib/engine-components/ui/RectTransform.js.map +1 -1
  237. package/lib/engine-components/ui/SpatialHtml.js.map +1 -1
  238. package/lib/engine-components/ui/Text.js.map +1 -1
  239. package/lib/engine-components/ui/Utils.js.map +1 -1
  240. package/lib/engine-components-experimental/Presentation.js.map +1 -1
  241. package/lib/engine-components-experimental/networking/PlayerSync.js.map +1 -1
  242. package/lib/engine-schemes/schemes.js.map +1 -1
  243. package/lib/engine-schemes/synced-camera-model.js.map +1 -1
  244. package/lib/engine-schemes/synced-transform-model.js.map +1 -1
  245. package/lib/engine-schemes/transform.js.map +1 -1
  246. package/lib/engine-schemes/vec2.js.map +1 -1
  247. package/lib/engine-schemes/vec3.js.map +1 -1
  248. package/lib/engine-schemes/vec4.js.map +1 -1
  249. package/lib/engine-schemes/vr-user-state-buffer.js.map +1 -1
  250. package/lib/include/three/ARButton.js.map +1 -1
  251. package/lib/include/three/EXT_mesh_gpu_instancing_exporter.js.map +1 -1
  252. package/lib/include/three/VRButton.js.map +1 -1
  253. package/lib/needle-engine.js.map +1 -1
  254. package/package.json +16 -3
  255. package/plugins/generate-font.js +65 -0
  256. package/plugins/vite/poster-client.js +3 -5
  257. package/plugins/vite/reload.js +2 -2
  258. package/src/engine/codegen/register_types.js +171 -171
  259. package/src/engine/engine_constants.ts +1 -1
  260. package/src/engine/engine_element.ts +162 -178
  261. package/src/engine/engine_gameobject.ts +583 -558
  262. package/src/engine/engine_gltf.ts +1 -1
  263. package/src/engine/engine_instancing.ts +3 -3
  264. package/src/engine/engine_license.ts +14 -13
  265. package/src/engine/engine_mainloop_utils.ts +66 -63
  266. package/src/engine/engine_physics.ts +23 -0
  267. package/src/engine/engine_setup.ts +21 -8
  268. package/src/engine/engine_time.ts +9 -4
  269. package/src/engine/engine_types.ts +36 -22
  270. package/src/engine-components/Animation.ts +6 -5
  271. package/src/engine-components/AnimatorController.ts +1 -0
  272. package/src/engine-components/AudioSource.ts +1 -1
  273. package/src/engine-components/Camera.ts +14 -12
  274. package/src/engine-components/Component.ts +5 -2
  275. package/src/engine-components/Light.ts +20 -13
  276. package/src/engine-components/ParticleSystem.ts +15 -2
  277. package/src/engine-components/Renderer.ts +92 -33
  278. package/src/engine-components/Skybox.ts +49 -22
  279. package/src/engine-components/Volume.ts +1 -0
  280. package/src/engine-components/js-extensions/Object3D.ts +8 -2
  281. package/src/engine-components/timeline/PlayableDirector.ts +35 -24
  282. package/src/engine-components/timeline/TimelineTracks.ts +124 -20
  283. package/src/engine-components/ui/Canvas.ts +2 -2
  284. package/lib/tsconfig.tsbuildinfo +0 -1
  285. package/lib/vite.config.d.ts +0 -2
  286. package/lib/vite.config.js +0 -26
  287. package/lib/vite.config.js.map +0 -1
  288. package/src/engine/codegen/license.js +0 -1
  289. package/src/tsconfig.json +0 -33
package/CHANGELOG.md CHANGED
@@ -4,6 +4,30 @@ 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.65.0-pre] - 2023-03-09
8
+ - Add: runtime checks for recursive loading to prevent it from breaking
9
+ - Change: internal duplicate active state on `Object3D` has been removed, instead `visible` is used. This was previously a workaround for the `Renderer` setting the visible state when being enabled or disabled but this has been changed in a previous version and it now only sets a flag in the object's Layers instead (which allows for a single object in the hierarchy to not being rendered by setting `Renderer.enabled = false` while objects in the child hierarchy stay visible)
10
+ - Change: `<needle-engine>` src attribute can now also take an array of glbs to load. This simplifies codegen done by exporters and also prevents errors due to bundler optimizations as well as being easier to understand. Runtime changes of the `src` attribute (especially when using arrays of files) have not been tested for this release. Networking for `src` changes has been removed in this release.
11
+ - Change: move engine into src subfolder. All paths to explicit script files are now `@needle-tools/engine/src/...`
12
+ - Change: poster screenshot will be taken after 200ms now
13
+ - Change: canvas default set to false for castShadow and receiveShadow
14
+ - Change: Remote skybox should not set `scene.background` when in XR with pass through device (e.g. when using Quest Pro AR or AR on mobile)
15
+ - Fix: issue where ColorAdjustments Volume effect was applied with `active` set to false
16
+ - Fix: `Light` not being enabled again after disabling the component once
17
+
18
+ ## [2.64.0-pre] - 2023-03-07
19
+ - Add: `PlayableDirector` now correctly applies timescale
20
+ - Add: `PlayableDirector.speed` property allowing to play the timeline at different speeds or even reverse (reversed audio playback is not supported at the moment)
21
+ - Add: `Physics.enabled` property for disabling physics updates. This also prevents any collider shapes to be created
22
+ - Add: `this.gameObject.transform` property to ease getting started for devs coming from Unity. This property is merely a forward to `this.gameObject` and shouldnt really be used. The property description contains information and a [link to the docs](https://fwd.needle.tools/needle-engine/docs/transform) with further information.
23
+ - Fix: instanced materials using progressive loading are now correctly updated
24
+ - Fix: Timeline animation tracks now disable the `Animator`. This fixes cases where two animations were played at the same time. When the PlayableDirector is paused or stopped the animator state is reset
25
+ - Fix: License styles leaking into website
26
+ - Fix: Timeline audio not stopping correctly at end of timeline when set to hold
27
+ - Change: improve instancing updates, instanced objects now auto update detect matrix changes. This includes improvements of instancing when used with `Animation` components
28
+ - Change: set particle system layers to `IgnoreRaycast` to not receive wrong click events on batched particle meshes
29
+ - Change: Timeline audio is now loaded on evaluation. Only clips in a range of 1 second to the current time are loading. To manually trigger preload of audio you can invoke `loadAudio` with a time range on audio tracks of a timeline
30
+
7
31
  ## [2.63.3-pre] - 2023-03-03
8
32
  - Fix: engine published to npm was missing vite plugins
9
33