@needle-tools/engine 5.1.9 → 5.1.11
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 +9 -0
- package/SKILL.md +64 -4
- package/components.needle.json +1 -1
- package/dist/{needle-engine.bundle-CHq9xqXv.min.js → needle-engine.bundle-d-dLyN3s.min.js} +137 -136
- package/dist/{needle-engine.bundle-DYPk7VZg.umd.cjs → needle-engine.bundle-n5YALNtc.umd.cjs} +140 -139
- package/dist/{needle-engine.bundle-XZ6cKssu.js → needle-engine.bundle-ue2Lw4bF.js} +5267 -5101
- package/dist/needle-engine.d.ts +138 -26
- package/dist/needle-engine.js +522 -518
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/dist/three-examples.js +727 -781
- package/dist/three-examples.min.js +12 -12
- package/dist/three-examples.umd.cjs +9 -9
- package/lib/engine/api.d.ts +1 -1
- package/lib/engine/api.js +1 -1
- package/lib/engine/api.js.map +1 -1
- package/lib/engine/engine_init.js +2 -2
- package/lib/engine/engine_init.js.map +1 -1
- package/lib/engine/engine_license.d.ts +7 -7
- package/lib/engine/engine_license.js +71 -71
- package/lib/engine/engine_license.js.map +1 -1
- package/lib/engine/engine_materialpropertyblock.d.ts +13 -4
- package/lib/engine/engine_materialpropertyblock.js +16 -5
- package/lib/engine/engine_materialpropertyblock.js.map +1 -1
- package/lib/engine/engine_math.d.ts +13 -0
- package/lib/engine/engine_math.js +17 -0
- package/lib/engine/engine_math.js.map +1 -1
- package/lib/engine/engine_networking_blob.js +3 -3
- package/lib/engine/engine_networking_blob.js.map +1 -1
- package/lib/engine/engine_utils_qrcode.js +2 -2
- package/lib/engine/engine_utils_qrcode.js.map +1 -1
- package/lib/engine/postprocessing/postprocessing.d.ts +18 -0
- package/lib/engine/postprocessing/postprocessing.js +31 -2
- package/lib/engine/postprocessing/postprocessing.js.map +1 -1
- package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js +2 -2
- package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js.map +1 -1
- package/lib/engine/webcomponents/needle menu/needle-menu.js +5 -5
- package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.js +2 -2
- package/lib/engine/webcomponents/needle-engine.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.loading.js +2 -2
- package/lib/engine/webcomponents/needle-engine.loading.js.map +1 -1
- package/lib/engine/xr/TempXRContext.js +2 -2
- package/lib/engine/xr/TempXRContext.js.map +1 -1
- package/lib/engine/xr/XRHandMeshModel.d.ts +31 -0
- package/lib/engine/xr/XRHandMeshModel.js +153 -0
- package/lib/engine/xr/XRHandMeshModel.js.map +1 -0
- package/lib/engine-components/DragControls.d.ts +0 -5
- package/lib/engine-components/DragControls.js +0 -8
- package/lib/engine-components/DragControls.js.map +1 -1
- package/lib/engine-components/ReflectionProbe.js +3 -3
- package/lib/engine-components/ReflectionProbe.js.map +1 -1
- package/lib/engine-components/RendererInstancing.d.ts +34 -3
- package/lib/engine-components/RendererInstancing.js +92 -11
- package/lib/engine-components/RendererInstancing.js.map +1 -1
- package/lib/engine-components/RendererLightmap.js +1 -1
- package/lib/engine-components/RendererLightmap.js.map +1 -1
- package/lib/engine-components/SyncedRoom.js +5 -0
- package/lib/engine-components/SyncedRoom.js.map +1 -1
- package/lib/engine-components/export/usdz/USDZExporter.js +4 -4
- package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/DepthOfField.js +10 -2
- package/lib/engine-components/postprocessing/Effects/DepthOfField.js.map +1 -1
- package/lib/engine-components/postprocessing/index.d.ts +4 -0
- package/lib/engine-components/postprocessing/index.js +7 -0
- package/lib/engine-components/postprocessing/index.js.map +1 -1
- package/lib/engine-components/splines/SplineWalker.js +9 -3
- package/lib/engine-components/splines/SplineWalker.js.map +1 -1
- package/lib/engine-components/utils/LookAt.d.ts +13 -4
- package/lib/engine-components/utils/LookAt.js +13 -4
- package/lib/engine-components/utils/LookAt.js.map +1 -1
- package/lib/engine-components/webxr/WebXR.js +1 -1
- package/lib/engine-components/webxr/WebXR.js.map +1 -1
- package/lib/engine-components/webxr/controllers/XRControllerModel.d.ts +1 -1
- package/lib/engine-components/webxr/controllers/XRControllerModel.js +12 -7
- package/lib/engine-components/webxr/controllers/XRControllerModel.js.map +1 -1
- package/package.json +2 -2
- package/plugins/common/license.js +4 -4
- package/plugins/vite/license.js +4 -4
- package/src/engine/api.ts +1 -1
- package/src/engine/engine_init.ts +2 -2
- package/src/engine/engine_license.ts +68 -68
- package/src/engine/engine_materialpropertyblock.ts +17 -5
- package/src/engine/engine_math.ts +17 -0
- package/src/engine/engine_networking_blob.ts +3 -3
- package/src/engine/engine_utils_qrcode.ts +2 -2
- package/src/engine/postprocessing/postprocessing.ts +32 -2
- package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +2 -2
- package/src/engine/webcomponents/needle menu/needle-menu.ts +5 -5
- package/src/engine/webcomponents/needle-engine.loading.ts +6 -6
- package/src/engine/webcomponents/needle-engine.ts +2 -2
- package/src/engine/xr/TempXRContext.ts +2 -2
- package/src/engine/xr/XRHandMeshModel.ts +179 -0
- package/src/engine-components/DragControls.ts +0 -7
- package/src/engine-components/ReflectionProbe.ts +3 -3
- package/src/engine-components/RendererInstancing.ts +92 -11
- package/src/engine-components/RendererLightmap.ts +1 -1
- package/src/engine-components/SyncedRoom.ts +5 -0
- package/src/engine-components/export/usdz/USDZExporter.ts +4 -4
- package/src/engine-components/postprocessing/Effects/DepthOfField.ts +10 -2
- package/src/engine-components/postprocessing/index.ts +7 -0
- package/src/engine-components/splines/SplineWalker.ts +9 -3
- package/src/engine-components/utils/LookAt.ts +13 -4
- package/src/engine-components/webxr/WebXR.ts +1 -1
- package/src/engine-components/webxr/controllers/XRControllerModel.ts +13 -7
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { AxesHelper, Group, Material, Mesh, Object3D, XRHandSpace } from "three";
|
|
2
2
|
import { GLTFLoader } from "three/examples/jsm/loaders/GLTFLoader.js";
|
|
3
3
|
import { XRControllerModelFactory } from "three/examples/jsm/webxr/XRControllerModelFactory.js";
|
|
4
|
-
import { XRHandMeshModel } from "three/examples/jsm/webxr/XRHandMeshModel.js";
|
|
5
4
|
|
|
6
5
|
import { AssetReference } from "../../../engine/engine_addressables.js";
|
|
7
6
|
import { setDontDestroy } from "../../../engine/engine_gameobject.js";
|
|
@@ -15,6 +14,7 @@ import { NeedleXRController, type NeedleXRControllerEventArgs, type NeedleXREven
|
|
|
15
14
|
import { registerComponentExtension, registerExtensions } from "../../../engine/extensions/extensions.js";
|
|
16
15
|
import { NEEDLE_progressive } from "../../../engine/extensions/NEEDLE_progressive.js";
|
|
17
16
|
import { flipForwardMatrix } from "../../../engine/xr/internal.js";
|
|
17
|
+
import { XRHandMeshModel } from "../../../engine/xr/XRHandMeshModel.js";
|
|
18
18
|
import { Behaviour, Component, GameObject } from "../../Component.js"
|
|
19
19
|
|
|
20
20
|
const debug = getParam("debugwebxr");
|
|
@@ -288,8 +288,6 @@ export class XRControllerModel extends Behaviour {
|
|
|
288
288
|
|
|
289
289
|
const loader = new GLTFLoader();
|
|
290
290
|
addDracoAndKTX2Loaders(loader, context);
|
|
291
|
-
await registerExtensions(loader, context, this.sourceId ?? "", this.sourceId ?? "");
|
|
292
|
-
const componentsExtension = registerComponentExtension(loader);
|
|
293
291
|
|
|
294
292
|
let filename = "";
|
|
295
293
|
|
|
@@ -306,22 +304,30 @@ export class XRControllerModel extends Behaviour {
|
|
|
306
304
|
loader.setPath('https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles/generic-hand/');
|
|
307
305
|
}
|
|
308
306
|
|
|
307
|
+
// The hand is a separate glTF and needs its own source id: its components resolve their
|
|
308
|
+
// relative uris against it (resolveUrl) and its lightmaps/skybox are keyed by it. Using
|
|
309
|
+
// this component's id resolved the hand's uris next to the HOST glb and let the hand's
|
|
310
|
+
// skybox overwrite the scene's. customHand.url is already resolved, `filename` is not
|
|
311
|
+
// (extension stripped for XRHandMeshModel).
|
|
312
|
+
const handSourceId = customHand?.url ?? `${loader.path}${filename}.glb`;
|
|
313
|
+
await registerExtensions(loader, context, handSourceId, handSourceId);
|
|
314
|
+
const componentsExtension = registerComponentExtension(loader);
|
|
315
|
+
|
|
309
316
|
|
|
310
317
|
const handObject = new Object3D();
|
|
311
318
|
setDontDestroy(handObject);
|
|
312
|
-
// @ts-ignore
|
|
313
319
|
const handmesh = new XRHandMeshModel(handObject, hand, loader.path, filename, loader, (object: Object3D) => {
|
|
314
320
|
|
|
315
321
|
const gltf = componentsExtension?.gltf;
|
|
316
|
-
//
|
|
317
|
-
// we need
|
|
322
|
+
// XRHandMeshModel reparents the hand out of the gltf scene before calling this
|
|
323
|
+
// callback; we need it back in the scene so the builtin components are created on it
|
|
318
324
|
if (gltf?.scene.children?.length === 0) {
|
|
319
325
|
gltf.scene.children[0] = object;
|
|
320
326
|
}
|
|
321
327
|
|
|
322
328
|
// console.log(controller.side, componentsExtension.gltf, object, componentsExtension.gltf.scene?.children)
|
|
323
329
|
if (componentsExtension?.gltf)
|
|
324
|
-
getLoader().createBuiltinComponents(comp.context,
|
|
330
|
+
getLoader().createBuiltinComponents(comp.context, handSourceId, componentsExtension.gltf, null, componentsExtension);
|
|
325
331
|
|
|
326
332
|
// The hand mesh should not receive raycasts
|
|
327
333
|
object.traverse(child => {
|