@needle-tools/engine 4.12.0-next.fb75c78 → 4.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -4
- package/README.md +4 -2
- package/components.needle.json +1 -1
- package/dist/{gltf-progressive-Rs-ojtXy.umd.cjs → gltf-progressive-Bfpfaz84.umd.cjs} +1 -1
- package/dist/{gltf-progressive-DnLBuGK5.js → gltf-progressive-DPunMlEM.js} +1 -1
- package/dist/{gltf-progressive-BmSygnAC.min.js → gltf-progressive-hFPACYio.min.js} +1 -1
- package/dist/{needle-engine.bundle-CJSpoHVo.min.js → needle-engine.bundle-BhAUDZcQ.min.js} +146 -145
- package/dist/{needle-engine.bundle-C5pBHUhB.js → needle-engine.bundle-CpPhY8AW.js} +7984 -7801
- package/dist/{needle-engine.bundle-Cb3SBLtg.umd.cjs → needle-engine.bundle-DQdhrcLq.umd.cjs} +143 -142
- package/dist/needle-engine.d.ts +30 -23
- package/dist/needle-engine.js +3 -3
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/dist/{postprocessing-DZtb9Nnn.umd.cjs → postprocessing-BHQvwehB.umd.cjs} +1 -1
- package/dist/{postprocessing-B5ksn9-G.min.js → postprocessing-ClLv0reO.min.js} +1 -1
- package/dist/{postprocessing-__7s9wON.js → postprocessing-DLI2N3LL.js} +1 -1
- package/dist/{three-examples-y2GeYlze.js → three-examples-D4rE49Ui.js} +10 -2
- package/dist/{three-examples-MsJjauyk.min.js → three-examples-DB5Uoja4.min.js} +2 -2
- package/dist/{three-examples-Dho7cuu4.umd.cjs → three-examples-Djbk6WA4.umd.cjs} +2 -2
- package/lib/engine/engine_context.js +2 -0
- package/lib/engine/engine_context.js.map +1 -1
- package/lib/engine/engine_license.d.ts +18 -0
- package/lib/engine/engine_license.js +161 -9
- package/lib/engine/engine_license.js.map +1 -1
- package/lib/engine/engine_networking.js +15 -0
- package/lib/engine/engine_networking.js.map +1 -1
- package/lib/engine/engine_serialization_builtin_serializer.js +1 -1
- package/lib/engine/engine_serialization_builtin_serializer.js.map +1 -1
- package/lib/engine/engine_three_utils.js +2 -2
- package/lib/engine/engine_three_utils.js.map +1 -1
- package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js +2 -1
- package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js.map +1 -1
- package/lib/engine/webcomponents/needle menu/needle-menu.d.ts +2 -0
- package/lib/engine/webcomponents/needle menu/needle-menu.js +41 -2
- package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
- package/lib/engine/xr/NeedleXRSession.js +45 -7
- package/lib/engine/xr/NeedleXRSession.js.map +1 -1
- package/lib/engine-components/DragControls.js +1 -1
- package/lib/engine-components/DragControls.js.map +1 -1
- package/lib/engine-components/DropListener.d.ts +1 -0
- package/lib/engine-components/DropListener.js +26 -8
- package/lib/engine-components/DropListener.js.map +1 -1
- package/lib/engine-components/EventList.js +4 -1
- package/lib/engine-components/EventList.js.map +1 -1
- package/lib/engine-components/SceneSwitcher.d.ts +3 -2
- package/lib/engine-components/SceneSwitcher.js +24 -11
- package/lib/engine-components/SceneSwitcher.js.map +1 -1
- package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js +8 -0
- package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js.map +1 -1
- package/lib/engine-components/webxr/WebARSessionRoot.d.ts +5 -2
- package/lib/engine-components/webxr/WebARSessionRoot.js +5 -2
- package/lib/engine-components/webxr/WebARSessionRoot.js.map +1 -1
- package/lib/engine-components/webxr/WebXR.d.ts +3 -1
- package/lib/engine-components/webxr/WebXR.js +3 -1
- package/lib/engine-components/webxr/WebXR.js.map +1 -1
- package/package.json +3 -3
- package/src/engine/engine_context.ts +2 -0
- package/src/engine/engine_license.ts +178 -9
- package/src/engine/engine_networking.ts +15 -0
- package/src/engine/engine_serialization_builtin_serializer.ts +1 -1
- package/src/engine/engine_three_utils.ts +4 -2
- package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +2 -1
- package/src/engine/webcomponents/needle menu/needle-menu.ts +44 -3
- package/src/engine/xr/NeedleXRSession.ts +53 -11
- package/src/engine-components/DragControls.ts +1 -1
- package/src/engine-components/DropListener.ts +29 -8
- package/src/engine-components/EventList.ts +5 -1
- package/src/engine-components/SceneSwitcher.ts +26 -13
- package/src/engine-components/export/usdz/extensions/behavior/BehaviourComponents.ts +11 -0
- package/src/engine-components/webxr/WebARSessionRoot.ts +7 -3
- package/src/engine-components/webxr/WebXR.ts +4 -2
package/CHANGELOG.md
CHANGED
|
@@ -4,20 +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
|
-
## [4.12.0
|
|
7
|
+
## [4.12.0] - 2026-01-30
|
|
8
|
+
- **NEW:** WebXR support for iOS - Your AR experiences now launch instantly on iPhone and iPad without app installation. Just tap "Enter AR" and you're in. Powered by Needle Go AppClip, combining Apple's excellent AR tracking with standards-compliant WebXR. Try it at [appclip.needle.tools](https://appclip.needle.tools)
|
|
8
9
|
- **NEW:** Intellisense support for the `<needle-engine>` web component and its attributes, both in HTML and in code. The `custom-elements.json` allows for VSCode intellisense support, while `HTMLElementTagNameMap` and `get/setAttribute` overloads bring code completion and documentation.
|
|
9
10
|
- Add: exposed `createCollider` API for the Rapier physics engine
|
|
10
|
-
- Add:
|
|
11
|
-
- Add: `?spector=#frame` URL parameter to enable a Spector.js capture on the specified frame number after page load. Make sure to install the [Spector.js browser extension](https://chromewebstore.google.com/detail/spectorjs/denbgaamihkadbghdceggmchnflmhpmk?pli=1). You can optionally specify a frame number for capturing: `?spector=15`.
|
|
11
|
+
- Add: `beforeLODExport` callback for USDZ export. This allows overriding which LOD level gets exported per object.
|
|
12
|
+
- Add: `?spector=#frame` URL parameter to enable a Spector.js capture on the specified frame number after page load. Make sure to install the [Spector.js browser extension](<https://chromewebstore.google.com/detail/spectorjs/denbgaamihkadbghdceggmchnflmhpmk?pli=1>). You can optionally specify a frame number for capturing: `?spector=15`.
|
|
12
13
|
- Add: auto-registration of custom elements for easier discovery of available web components in Needle Engine. You can disable this feature by setting `noCustomElementData` to false in vite config. To manually register custom elements data, add it to your workspace or `.vscode/settings.json` via the `html.customData` setting.
|
|
13
|
-
-
|
|
14
|
+
- Add: Support for rotation and scaling in DropListener component
|
|
15
|
+
- Improve: VisionOS and iPad detection for better WebXR compatibility
|
|
16
|
+
- Improve: WebXR session flow and error handling
|
|
17
|
+
- Improve: QuickLook integration - disabled by default in WebXR component, shows "Open in Quicklook" button
|
|
18
|
+
- Improve: SceneSwitcher now supports multiple scene switchers referencing the same asset reference
|
|
19
|
+
- Improve: DragControls smoothed velocity calculations and region support
|
|
20
|
+
- Improve: Detection of user interactions to enable media playback
|
|
14
21
|
- Improve: JSDoc documentation for Everywhere Actions and other components
|
|
15
22
|
- Fix: issue with callbacks on freshly destroyed components when leaving XR sessions
|
|
16
23
|
- Fix: Instancing issue with growing vertex/index buffers when not necessary
|
|
17
24
|
- Fix: Instancing and texture LODs
|
|
18
25
|
- Fix: Issue with `<needle-engine>` element being moved in the DOM
|
|
26
|
+
- Fix: SceneSwitcher was destroying local scene content
|
|
19
27
|
- Fix: Better type declarations in package.json
|
|
20
28
|
|
|
29
|
+
https://cloud.needle.tools/-/media/WI0Q0s961BjdXgUEQHxifQ.gif
|
|
30
|
+
|
|
21
31
|
## [4.11.5] - 2025-10-31
|
|
22
32
|
- Fix: Timeline cloning with `instantiate` ([forum 2733](<https://forum.needle.tools/t/2733>))
|
|
23
33
|
- Fix: Renderer `sharedMaterials` being null in awake
|
package/README.md
CHANGED
|
@@ -15,8 +15,8 @@ Built on three.js and the glTF standard, Needle Engine delivers flexible, extens
|
|
|
15
15
|
- Multi-scene support with dynamic content loading
|
|
16
16
|
|
|
17
17
|
**🌐 Web & XR Ready**
|
|
18
|
-
- WebXR support for immersive experiences
|
|
19
|
-
-
|
|
18
|
+
- WebXR support for immersive experiences on Android and iOS ([yes! WebXR on iOS!](https://engine.needle.tools/docs/how-to-guides/xr/ios-webxr-app-clip.html))
|
|
19
|
+
- Interactive QuickLook support for interactive AR on Vision Pro
|
|
20
20
|
- Built-in networking and collaboration
|
|
21
21
|
|
|
22
22
|
**⚡ Performance Optimized**
|
|
@@ -58,6 +58,8 @@ npm install @needle-tools/engine
|
|
|
58
58
|
|
|
59
59
|
| Preview | Example | Description | Links |
|
|
60
60
|
|---------|---------|-------------|-------|
|
|
61
|
+
| [](https://engine.needle.tools/samples/collaborative-sandbox) | [Collaborative Sandbox](https://engine.needle.tools/samples/collaborative-sandbox) | Real-time collaborative multiplayer sandbox experience with WebXR on Android and iOS |
|
|
62
|
+
| [](https://engine.needle.tools/samples/image-tracking/?room=needle110) | [Image Tracking AR](https://engine.needle.tools/samples/image-tracking/?room=needle110) | AR image tracking example (iOS and Android). [See docs](https://docs.needle.tools/image-tracking) |
|
|
61
63
|
| [](https://scrollytelling-bike-z23hmxb2gnu5a.needle.run/) | [Scrollytelling Bike Example](https://scrollytelling-bike-z23hmxb2gnu5a.needle.run/) | Timeline Animation using ScrollFollow, ViewBox and FocusRect | [Project on Github](https://github.com/needle-engine/needle-engine-bike-scrollytelling) |
|
|
62
64
|
| [](https://engine.needle.tools/samples/see-through) | [See-Through Walls](https://engine.needle.tools/samples/see-through) | See-Through component sample |
|
|
63
65
|
| [](https://engine.needle.tools/samples/look-at-cursor-interactive-3d-header) | [Cursor Follow](https://engine.needle.tools/samples/look-at-cursor-interactive-3d-header) | Cursor Follow sample |
|