@needle-tools/engine 4.12.5 → 4.13.0-next.1eca7a7
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 +5 -0
- package/README.md +38 -1
- package/components.needle.json +1 -1
- package/custom-elements.json +156 -5
- package/dist/{gltf-progressive-BqUnxvCx.umd.cjs → gltf-progressive-BURrJW0U.umd.cjs} +1 -1
- package/dist/{gltf-progressive-CSaX5HQb.min.js → gltf-progressive-DHLDFNvQ.min.js} +1 -1
- package/dist/{gltf-progressive-ChnIhDXx.js → gltf-progressive-eiJCrjLb.js} +3 -3
- package/dist/materialx-B9ddsHcF.min.js +90 -0
- package/dist/materialx-BF23AVE8.umd.cjs +90 -0
- package/dist/materialx-fkoFuRh3.js +4636 -0
- package/dist/{needle-engine.bundle-Cnemui9H.umd.cjs → needle-engine.bundle-BfrDWglE.umd.cjs} +124 -124
- package/dist/{needle-engine.bundle-B_IGIr6Z.min.js → needle-engine.bundle-Bx_Lq_3v.min.js} +131 -131
- package/dist/{needle-engine.bundle-Cj66livk.js → needle-engine.bundle-MQyZGnMF.js} +3754 -3374
- package/dist/needle-engine.d.ts +2791 -309
- package/dist/needle-engine.js +415 -414
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/dist/{postprocessing-12-UW7je.min.js → postprocessing-BVNrgYZK.min.js} +1 -1
- package/dist/{postprocessing-B3Hu0Ryi.umd.cjs → postprocessing-CI2TjWpu.umd.cjs} +1 -1
- package/dist/{postprocessing-R535krvT.js → postprocessing-DdM-tz1j.js} +2 -2
- package/dist/{three-BzxwLtUE.umd.cjs → three-BW2s1Yl-.umd.cjs} +25 -25
- package/dist/{three-DMvLgxja.min.js → three-I__hSXzr.min.js} +26 -26
- package/dist/{three-D9pcFbxc.js → three-VvRoMeIN.js} +22 -0
- package/dist/{three-examples-F0MJj0vr.js → three-examples-BhfOE7NG.js} +1 -1
- package/dist/{three-examples-CjSwCv_b.umd.cjs → three-examples-Bpfu6ke_.umd.cjs} +1 -1
- package/dist/{three-examples-CIv2roOA.min.js → three-examples-D8zAE_7t.min.js} +1 -1
- package/dist/{three-mesh-ui-BLnJQzMl.umd.cjs → three-mesh-ui-BU55xDxJ.umd.cjs} +1 -1
- package/dist/{three-mesh-ui-BllgajJz.min.js → three-mesh-ui-C3QbemOV.min.js} +1 -1
- package/dist/{three-mesh-ui-DYyiRn5Y.js → three-mesh-ui-CcMp-FQm.js} +1 -1
- package/dist/{vendor-BIFy-gRe.js → vendor-BiyIZ61v.js} +1 -1
- package/dist/{vendor-BFgQSG2m.umd.cjs → vendor-COVQl0b8.umd.cjs} +1 -1
- package/dist/{vendor-ChgmXMYr.min.js → vendor-DW7zqjuT.min.js} +1 -1
- package/lib/engine/engine_context.d.ts +16 -0
- package/lib/engine/engine_context.js +16 -0
- package/lib/engine/engine_context.js.map +1 -1
- package/lib/engine/engine_gameobject.d.ts +72 -0
- package/lib/engine/engine_gameobject.js +38 -0
- package/lib/engine/engine_gameobject.js.map +1 -1
- package/lib/engine/engine_input.d.ts +80 -4
- package/lib/engine/engine_input.js +78 -2
- package/lib/engine/engine_input.js.map +1 -1
- package/lib/engine/engine_loaders.js +7 -1
- package/lib/engine/engine_loaders.js.map +1 -1
- package/lib/engine/engine_math.d.ts +81 -2
- package/lib/engine/engine_math.js +68 -2
- package/lib/engine/engine_math.js.map +1 -1
- package/lib/engine/engine_modules.d.ts +9 -0
- package/lib/engine/engine_modules.js +25 -0
- package/lib/engine/engine_modules.js.map +1 -1
- package/lib/engine/engine_networking.d.ts +181 -14
- package/lib/engine/engine_networking.js +181 -14
- package/lib/engine/engine_networking.js.map +1 -1
- package/lib/engine/engine_networking_auto.d.ts +35 -8
- package/lib/engine/engine_networking_auto.js +35 -8
- package/lib/engine/engine_networking_auto.js.map +1 -1
- package/lib/engine/engine_physics.d.ts +35 -1
- package/lib/engine/engine_physics.js +35 -1
- package/lib/engine/engine_physics.js.map +1 -1
- package/lib/engine/engine_physics_rapier.d.ts +76 -0
- package/lib/engine/engine_physics_rapier.js +76 -0
- package/lib/engine/engine_physics_rapier.js.map +1 -1
- package/lib/engine/engine_serialization_decorator.d.ts +28 -2
- package/lib/engine/engine_serialization_decorator.js +28 -2
- package/lib/engine/engine_serialization_decorator.js.map +1 -1
- package/lib/engine/engine_time.d.ts +23 -3
- package/lib/engine/engine_time.js +23 -3
- package/lib/engine/engine_time.js.map +1 -1
- package/lib/engine/engine_util_decorator.d.ts +31 -1
- package/lib/engine/engine_util_decorator.js +31 -1
- package/lib/engine/engine_util_decorator.js.map +1 -1
- package/lib/engine/engine_utils.d.ts +21 -5
- package/lib/engine/engine_utils.js +21 -5
- package/lib/engine/engine_utils.js.map +1 -1
- package/lib/engine/engine_utils_format.d.ts +1 -1
- package/lib/engine/engine_utils_format.js +4 -1
- package/lib/engine/engine_utils_format.js.map +1 -1
- package/lib/engine/extensions/NEEDLE_materialx.d.ts +29 -0
- package/lib/engine/extensions/NEEDLE_materialx.js +115 -0
- package/lib/engine/extensions/NEEDLE_materialx.js.map +1 -0
- package/lib/engine/extensions/extensions.js +2 -0
- package/lib/engine/extensions/extensions.js.map +1 -1
- package/lib/engine/extensions/index.d.ts +1 -0
- package/lib/engine/extensions/index.js +1 -0
- package/lib/engine/extensions/index.js.map +1 -1
- package/lib/engine-components/AlignmentConstraint.d.ts +23 -3
- package/lib/engine-components/AlignmentConstraint.js +23 -3
- package/lib/engine-components/AlignmentConstraint.js.map +1 -1
- package/lib/engine-components/Animation.d.ts +42 -0
- package/lib/engine-components/Animation.js +36 -0
- package/lib/engine-components/Animation.js.map +1 -1
- package/lib/engine-components/Animator.d.ts +37 -4
- package/lib/engine-components/Animator.js +37 -4
- package/lib/engine-components/Animator.js.map +1 -1
- package/lib/engine-components/AudioSource.d.ts +32 -10
- package/lib/engine-components/AudioSource.js +32 -10
- package/lib/engine-components/AudioSource.js.map +1 -1
- package/lib/engine-components/AxesHelper.d.ts +22 -3
- package/lib/engine-components/AxesHelper.js +22 -3
- package/lib/engine-components/AxesHelper.js.map +1 -1
- package/lib/engine-components/BasicIKConstraint.d.ts +27 -4
- package/lib/engine-components/BasicIKConstraint.js +27 -4
- package/lib/engine-components/BasicIKConstraint.js.map +1 -1
- package/lib/engine-components/Camera.d.ts +31 -1
- package/lib/engine-components/Camera.js +31 -1
- package/lib/engine-components/Camera.js.map +1 -1
- package/lib/engine-components/CharacterController.d.ts +67 -3
- package/lib/engine-components/CharacterController.js +67 -3
- package/lib/engine-components/CharacterController.js.map +1 -1
- package/lib/engine-components/Collider.d.ts +69 -12
- package/lib/engine-components/Collider.js +69 -12
- package/lib/engine-components/Collider.js.map +1 -1
- package/lib/engine-components/ContactShadows.d.ts +26 -6
- package/lib/engine-components/ContactShadows.js +46 -8
- package/lib/engine-components/ContactShadows.js.map +1 -1
- package/lib/engine-components/DeleteBox.d.ts +43 -2
- package/lib/engine-components/DeleteBox.js +43 -2
- package/lib/engine-components/DeleteBox.js.map +1 -1
- package/lib/engine-components/DeviceFlag.d.ts +21 -2
- package/lib/engine-components/DeviceFlag.js +21 -2
- package/lib/engine-components/DeviceFlag.js.map +1 -1
- package/lib/engine-components/DragControls.d.ts +32 -2
- package/lib/engine-components/DragControls.js +32 -2
- package/lib/engine-components/DragControls.js.map +1 -1
- package/lib/engine-components/DropListener.d.ts +33 -21
- package/lib/engine-components/DropListener.js +33 -21
- package/lib/engine-components/DropListener.js.map +1 -1
- package/lib/engine-components/Duplicatable.d.ts +36 -5
- package/lib/engine-components/Duplicatable.js +36 -5
- package/lib/engine-components/Duplicatable.js.map +1 -1
- package/lib/engine-components/EventList.d.ts +38 -10
- package/lib/engine-components/EventList.js +38 -10
- package/lib/engine-components/EventList.js.map +1 -1
- package/lib/engine-components/Fog.d.ts +23 -1
- package/lib/engine-components/Fog.js +23 -1
- package/lib/engine-components/Fog.js.map +1 -1
- package/lib/engine-components/GridHelper.d.ts +18 -2
- package/lib/engine-components/GridHelper.js +18 -2
- package/lib/engine-components/GridHelper.js.map +1 -1
- package/lib/engine-components/GroundProjection.d.ts +24 -2
- package/lib/engine-components/GroundProjection.js +24 -2
- package/lib/engine-components/GroundProjection.js.map +1 -1
- package/lib/engine-components/Interactable.d.ts +17 -2
- package/lib/engine-components/Interactable.js +17 -2
- package/lib/engine-components/Interactable.js.map +1 -1
- package/lib/engine-components/Joints.d.ts +50 -7
- package/lib/engine-components/Joints.js +50 -7
- package/lib/engine-components/Joints.js.map +1 -1
- package/lib/engine-components/LODGroup.d.ts +36 -14
- package/lib/engine-components/LODGroup.js +43 -11
- package/lib/engine-components/LODGroup.js.map +1 -1
- package/lib/engine-components/Light.d.ts +27 -5
- package/lib/engine-components/Light.js +27 -5
- package/lib/engine-components/Light.js.map +1 -1
- package/lib/engine-components/LookAtConstraint.d.ts +22 -7
- package/lib/engine-components/LookAtConstraint.js +22 -7
- package/lib/engine-components/LookAtConstraint.js.map +1 -1
- package/lib/engine-components/NeedleMenu.d.ts +27 -5
- package/lib/engine-components/NeedleMenu.js +27 -5
- package/lib/engine-components/NeedleMenu.js.map +1 -1
- package/lib/engine-components/NestedGltf.d.ts +39 -4
- package/lib/engine-components/NestedGltf.js +42 -4
- package/lib/engine-components/NestedGltf.js.map +1 -1
- package/lib/engine-components/OffsetConstraint.d.ts +27 -3
- package/lib/engine-components/OffsetConstraint.js +27 -3
- package/lib/engine-components/OffsetConstraint.js.map +1 -1
- package/lib/engine-components/OrbitControls.d.ts +41 -3
- package/lib/engine-components/OrbitControls.js +41 -3
- package/lib/engine-components/OrbitControls.js.map +1 -1
- package/lib/engine-components/ReflectionProbe.d.ts +17 -2
- package/lib/engine-components/ReflectionProbe.js +28 -10
- package/lib/engine-components/ReflectionProbe.js.map +1 -1
- package/lib/engine-components/Renderer.d.ts +34 -0
- package/lib/engine-components/Renderer.js +35 -2
- package/lib/engine-components/Renderer.js.map +1 -1
- package/lib/engine-components/SceneSwitcher.d.ts +11 -0
- package/lib/engine-components/SceneSwitcher.js +11 -0
- package/lib/engine-components/SceneSwitcher.js.map +1 -1
- package/lib/engine-components/ScreenCapture.d.ts +38 -6
- package/lib/engine-components/ScreenCapture.js +38 -6
- package/lib/engine-components/ScreenCapture.js.map +1 -1
- package/lib/engine-components/Skybox.js +1 -1
- package/lib/engine-components/Skybox.js.map +1 -1
- package/lib/engine-components/SmoothFollow.d.ts +66 -7
- package/lib/engine-components/SmoothFollow.js +66 -7
- package/lib/engine-components/SmoothFollow.js.map +1 -1
- package/lib/engine-components/SpatialTrigger.d.ts +48 -1
- package/lib/engine-components/SpatialTrigger.js +48 -1
- package/lib/engine-components/SpatialTrigger.js.map +1 -1
- package/lib/engine-components/SpectatorCamera.d.ts +21 -3
- package/lib/engine-components/SpectatorCamera.js +21 -3
- package/lib/engine-components/SpectatorCamera.js.map +1 -1
- package/lib/engine-components/SyncedRoom.d.ts +6 -0
- package/lib/engine-components/SyncedRoom.js +6 -0
- package/lib/engine-components/SyncedRoom.js.map +1 -1
- package/lib/engine-components/SyncedTransform.d.ts +55 -6
- package/lib/engine-components/SyncedTransform.js +55 -6
- package/lib/engine-components/SyncedTransform.js.map +1 -1
- package/lib/engine-components/TransformGizmo.d.ts +30 -3
- package/lib/engine-components/TransformGizmo.js +30 -3
- package/lib/engine-components/TransformGizmo.js.map +1 -1
- package/lib/engine-components/VideoPlayer.d.ts +33 -6
- package/lib/engine-components/VideoPlayer.js +45 -6
- package/lib/engine-components/VideoPlayer.js.map +1 -1
- package/lib/engine-components/Voip.d.ts +33 -2
- package/lib/engine-components/Voip.js +33 -2
- package/lib/engine-components/Voip.js.map +1 -1
- package/lib/engine-components/export/usdz/USDZExporter.d.ts +47 -13
- package/lib/engine-components/export/usdz/USDZExporter.js +47 -13
- package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
- package/lib/engine-components/particlesystem/ParticleSystem.d.ts +82 -3
- package/lib/engine-components/particlesystem/ParticleSystem.js +82 -3
- package/lib/engine-components/particlesystem/ParticleSystem.js.map +1 -1
- package/lib/engine-components/timeline/PlayableDirector.d.ts +99 -14
- package/lib/engine-components/timeline/PlayableDirector.js +91 -25
- package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
- package/lib/engine-components/ui/Button.d.ts +29 -3
- package/lib/engine-components/ui/Button.js +29 -3
- package/lib/engine-components/ui/Button.js.map +1 -1
- package/lib/engine-components/ui/Canvas.d.ts +28 -3
- package/lib/engine-components/ui/Canvas.js +28 -3
- package/lib/engine-components/ui/Canvas.js.map +1 -1
- package/lib/engine-components/ui/Image.d.ts +22 -3
- package/lib/engine-components/ui/Image.js +22 -3
- package/lib/engine-components/ui/Image.js.map +1 -1
- package/lib/engine-components/ui/Raycaster.d.ts +55 -6
- package/lib/engine-components/ui/Raycaster.js +55 -6
- package/lib/engine-components/ui/Raycaster.js.map +1 -1
- package/lib/engine-components/ui/Text.d.ts +23 -1
- package/lib/engine-components/ui/Text.js +23 -1
- package/lib/engine-components/ui/Text.js.map +1 -1
- package/lib/engine-components/webxr/TeleportTarget.d.ts +21 -2
- package/lib/engine-components/webxr/TeleportTarget.js +21 -2
- package/lib/engine-components/webxr/TeleportTarget.js.map +1 -1
- package/lib/engine-components/webxr/WebXR.d.ts +10 -2
- package/lib/engine-components/webxr/WebXR.js +10 -2
- package/lib/engine-components/webxr/WebXR.js.map +1 -1
- package/lib/engine-components/webxr/WebXRAvatar.d.ts +39 -2
- package/lib/engine-components/webxr/WebXRAvatar.js +35 -3
- package/lib/engine-components/webxr/WebXRAvatar.js.map +1 -1
- package/lib/engine-components/webxr/WebXRImageTracking.d.ts +266 -30
- package/lib/engine-components/webxr/WebXRImageTracking.js +266 -30
- package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -1
- package/lib/engine-components/webxr/XRFlag.d.ts +29 -2
- package/lib/engine-components/webxr/XRFlag.js +29 -2
- package/lib/engine-components/webxr/XRFlag.js.map +1 -1
- package/package.json +3 -2
- package/plugins/vite/custom-element-data.js +128 -19
- package/plugins/vite/dependencies.js +9 -4
- package/plugins/vite/index.js +0 -2
- package/src/engine/engine_context.ts +16 -0
- package/src/engine/engine_gameobject.ts +73 -0
- package/src/engine/engine_input.ts +83 -7
- package/src/engine/engine_loaders.ts +9 -2
- package/src/engine/engine_math.ts +81 -2
- package/src/engine/engine_modules.ts +24 -0
- package/src/engine/engine_networking.ts +187 -17
- package/src/engine/engine_networking_auto.ts +36 -9
- package/src/engine/engine_physics.ts +37 -1
- package/src/engine/engine_physics_rapier.ts +77 -0
- package/src/engine/engine_serialization_decorator.ts +28 -2
- package/src/engine/engine_time.ts +23 -3
- package/src/engine/engine_util_decorator.ts +31 -1
- package/src/engine/engine_utils.ts +21 -5
- package/src/engine/engine_utils_format.ts +6 -2
- package/src/engine/extensions/NEEDLE_materialx.ts +143 -0
- package/src/engine/extensions/extensions.ts +2 -0
- package/src/engine/extensions/index.ts +1 -0
- package/src/engine-components/AlignmentConstraint.ts +24 -4
- package/src/engine-components/Animation.ts +44 -2
- package/src/engine-components/Animator.ts +40 -7
- package/src/engine-components/AudioSource.ts +37 -15
- package/src/engine-components/AxesHelper.ts +23 -4
- package/src/engine-components/BasicIKConstraint.ts +28 -5
- package/src/engine-components/Camera.ts +33 -3
- package/src/engine-components/CharacterController.ts +73 -6
- package/src/engine-components/Collider.ts +78 -21
- package/src/engine-components/ContactShadows.ts +51 -11
- package/src/engine-components/DeleteBox.ts +43 -2
- package/src/engine-components/DeviceFlag.ts +22 -3
- package/src/engine-components/DragControls.ts +32 -2
- package/src/engine-components/DropListener.ts +42 -29
- package/src/engine-components/Duplicatable.ts +37 -6
- package/src/engine-components/EventList.ts +41 -13
- package/src/engine-components/Fog.ts +23 -1
- package/src/engine-components/GridHelper.ts +18 -2
- package/src/engine-components/GroundProjection.ts +25 -3
- package/src/engine-components/Interactable.ts +17 -2
- package/src/engine-components/Joints.ts +51 -8
- package/src/engine-components/LODGroup.ts +45 -11
- package/src/engine-components/Light.ts +30 -8
- package/src/engine-components/LookAtConstraint.ts +26 -8
- package/src/engine-components/NeedleMenu.ts +29 -7
- package/src/engine-components/NestedGltf.ts +40 -4
- package/src/engine-components/OffsetConstraint.ts +27 -3
- package/src/engine-components/OrbitControls.ts +41 -3
- package/src/engine-components/ReflectionProbe.ts +31 -13
- package/src/engine-components/Renderer.ts +34 -1
- package/src/engine-components/SceneSwitcher.ts +11 -0
- package/src/engine-components/ScreenCapture.ts +41 -9
- package/src/engine-components/Skybox.ts +1 -1
- package/src/engine-components/SmoothFollow.ts +69 -7
- package/src/engine-components/SpatialTrigger.ts +51 -4
- package/src/engine-components/SpectatorCamera.ts +23 -5
- package/src/engine-components/SyncedRoom.ts +6 -0
- package/src/engine-components/SyncedTransform.ts +59 -10
- package/src/engine-components/TransformGizmo.ts +31 -4
- package/src/engine-components/VideoPlayer.ts +48 -6
- package/src/engine-components/Voip.ts +33 -2
- package/src/engine-components/export/usdz/USDZExporter.ts +47 -13
- package/src/engine-components/particlesystem/ParticleSystem.ts +84 -5
- package/src/engine-components/timeline/PlayableDirector.ts +104 -27
- package/src/engine-components/ui/Button.ts +29 -3
- package/src/engine-components/ui/Canvas.ts +28 -3
- package/src/engine-components/ui/Image.ts +22 -3
- package/src/engine-components/ui/Raycaster.ts +57 -8
- package/src/engine-components/ui/Text.ts +24 -2
- package/src/engine-components/webxr/TeleportTarget.ts +23 -4
- package/src/engine-components/webxr/WebXR.ts +11 -3
- package/src/engine-components/webxr/WebXRAvatar.ts +41 -4
- package/src/engine-components/webxr/WebXRImageTracking.ts +282 -38
- package/src/engine-components/webxr/XRFlag.ts +30 -3
- package/plugins/vite/materialx.js +0 -32
|
@@ -1,7 +1,22 @@
|
|
|
1
1
|
import { type ITime } from './engine_types.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
3
|
+
* Provides time-related information for frame-based game logic.
|
|
4
|
+
* Access via `this.context.time` from any component.
|
|
5
|
+
*
|
|
6
|
+
* @example Using deltaTime for frame-rate independent movement
|
|
7
|
+
* ```ts
|
|
8
|
+
* update() {
|
|
9
|
+
* // Move 1 unit per second regardless of frame rate
|
|
10
|
+
* this.gameObject.position.x += 1 * this.context.time.deltaTime;
|
|
11
|
+
* }
|
|
12
|
+
* ```
|
|
13
|
+
* @example Checking elapsed time
|
|
14
|
+
* ```ts
|
|
15
|
+
* start() {
|
|
16
|
+
* console.log(`Time since start: ${this.context.time.time}s`);
|
|
17
|
+
* console.log(`Current frame: ${this.context.time.frameCount}`);
|
|
18
|
+
* }
|
|
19
|
+
* ```
|
|
5
20
|
*/
|
|
6
21
|
export declare class Time implements ITime {
|
|
7
22
|
/** The time in seconds since the start of Needle Engine. */
|
|
@@ -15,7 +30,12 @@ export declare class Time implements ITime {
|
|
|
15
30
|
/** The time in seconds it took to complete the last frame (Read Only). Timescale is not applied. */
|
|
16
31
|
get deltaTimeUnscaled(): number;
|
|
17
32
|
private _deltaTimeUnscaled;
|
|
18
|
-
/**
|
|
33
|
+
/**
|
|
34
|
+
* The scale at which time passes. Default is 1.
|
|
35
|
+
* - Values < 1 create slow motion (e.g. 0.5 = half speed)
|
|
36
|
+
* - Values > 1 speed up time (e.g. 2 = double speed)
|
|
37
|
+
* - Value of 0 effectively pauses time-dependent logic
|
|
38
|
+
*/
|
|
19
39
|
timeScale: number;
|
|
20
40
|
/** same as frameCount */
|
|
21
41
|
get frame(): number;
|
|
@@ -5,8 +5,23 @@ let timeScale = 1;
|
|
|
5
5
|
if (typeof timescaleUrl === "number")
|
|
6
6
|
timeScale = timescaleUrl;
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
8
|
+
* Provides time-related information for frame-based game logic.
|
|
9
|
+
* Access via `this.context.time` from any component.
|
|
10
|
+
*
|
|
11
|
+
* @example Using deltaTime for frame-rate independent movement
|
|
12
|
+
* ```ts
|
|
13
|
+
* update() {
|
|
14
|
+
* // Move 1 unit per second regardless of frame rate
|
|
15
|
+
* this.gameObject.position.x += 1 * this.context.time.deltaTime;
|
|
16
|
+
* }
|
|
17
|
+
* ```
|
|
18
|
+
* @example Checking elapsed time
|
|
19
|
+
* ```ts
|
|
20
|
+
* start() {
|
|
21
|
+
* console.log(`Time since start: ${this.context.time.time}s`);
|
|
22
|
+
* console.log(`Current frame: ${this.context.time.frameCount}`);
|
|
23
|
+
* }
|
|
24
|
+
* ```
|
|
10
25
|
*/
|
|
11
26
|
export class Time {
|
|
12
27
|
/** The time in seconds since the start of Needle Engine. */
|
|
@@ -20,7 +35,12 @@ export class Time {
|
|
|
20
35
|
/** The time in seconds it took to complete the last frame (Read Only). Timescale is not applied. */
|
|
21
36
|
get deltaTimeUnscaled() { return this._deltaTimeUnscaled; }
|
|
22
37
|
_deltaTimeUnscaled = 0;
|
|
23
|
-
/**
|
|
38
|
+
/**
|
|
39
|
+
* The scale at which time passes. Default is 1.
|
|
40
|
+
* - Values < 1 create slow motion (e.g. 0.5 = half speed)
|
|
41
|
+
* - Values > 1 speed up time (e.g. 2 = double speed)
|
|
42
|
+
* - Value of 0 effectively pauses time-dependent logic
|
|
43
|
+
*/
|
|
24
44
|
timeScale = 1;
|
|
25
45
|
/** same as frameCount */
|
|
26
46
|
get frame() { return this._frame; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine_time.js","sourceRoot":"","sources":["../../src/engine/engine_time.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAG7B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC3C,IAAI,SAAS,GAAG,CAAC,CAAC;AAClB,IAAI,OAAO,YAAY,KAAK,QAAQ;IAAE,SAAS,GAAG,YAAY,CAAC;AAE/D
|
|
1
|
+
{"version":3,"file":"engine_time.js","sourceRoot":"","sources":["../../src/engine/engine_time.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,37 @@
|
|
|
1
1
|
import { type Constructor, type IComponent } from "./engine_types.js";
|
|
2
2
|
declare type setter = (v: any) => void;
|
|
3
3
|
declare type getter = () => any;
|
|
4
|
-
/**
|
|
4
|
+
/**
|
|
5
|
+
* Marks a field to trigger the `onValidate` callback when its value changes.
|
|
6
|
+
* Useful for reacting to property changes from the editor or at runtime.
|
|
7
|
+
*
|
|
8
|
+
* Your component must implement `onValidate(property?: string)` to receive notifications.
|
|
9
|
+
*
|
|
10
|
+
* @param set Optional custom setter called before the value is assigned
|
|
11
|
+
* @param get Optional custom getter called when the value is read
|
|
12
|
+
*
|
|
13
|
+
* @example Basic usage
|
|
14
|
+
* ```ts
|
|
15
|
+
* export class MyComponent extends Behaviour {
|
|
16
|
+
* @serializable()
|
|
17
|
+
* @validate()
|
|
18
|
+
* color: Color = new Color(1, 0, 0);
|
|
19
|
+
*
|
|
20
|
+
* onValidate(property?: string) {
|
|
21
|
+
* if (property === "color") {
|
|
22
|
+
* console.log("Color changed to:", this.color);
|
|
23
|
+
* }
|
|
24
|
+
* }
|
|
25
|
+
* }
|
|
26
|
+
* ```
|
|
27
|
+
* @example With custom setter
|
|
28
|
+
* ```ts
|
|
29
|
+
* @validate(function(value) {
|
|
30
|
+
* console.log("Setting speed to", value);
|
|
31
|
+
* })
|
|
32
|
+
* speed: number = 1;
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
5
35
|
export declare const validate: (set?: setter, get?: getter) => (target: IComponent | any, propertyKey: string, descriptor?: undefined) => void;
|
|
6
36
|
/** Experimental attribute
|
|
7
37
|
* Use to hook into another type's methods and run before the other methods run (similar to Harmony prefixes).
|
|
@@ -2,7 +2,37 @@ import { Quaternion, Vector2, Vector3, Vector4 } from "three";
|
|
|
2
2
|
import { isDevEnvironment, LogType, showBalloonMessage } from "./debug/index.js";
|
|
3
3
|
import { $isAssigningProperties } from "./engine_serialization_core.js";
|
|
4
4
|
import { watchWrite } from "./engine_utils.js";
|
|
5
|
-
/**
|
|
5
|
+
/**
|
|
6
|
+
* Marks a field to trigger the `onValidate` callback when its value changes.
|
|
7
|
+
* Useful for reacting to property changes from the editor or at runtime.
|
|
8
|
+
*
|
|
9
|
+
* Your component must implement `onValidate(property?: string)` to receive notifications.
|
|
10
|
+
*
|
|
11
|
+
* @param set Optional custom setter called before the value is assigned
|
|
12
|
+
* @param get Optional custom getter called when the value is read
|
|
13
|
+
*
|
|
14
|
+
* @example Basic usage
|
|
15
|
+
* ```ts
|
|
16
|
+
* export class MyComponent extends Behaviour {
|
|
17
|
+
* @serializable()
|
|
18
|
+
* @validate()
|
|
19
|
+
* color: Color = new Color(1, 0, 0);
|
|
20
|
+
*
|
|
21
|
+
* onValidate(property?: string) {
|
|
22
|
+
* if (property === "color") {
|
|
23
|
+
* console.log("Color changed to:", this.color);
|
|
24
|
+
* }
|
|
25
|
+
* }
|
|
26
|
+
* }
|
|
27
|
+
* ```
|
|
28
|
+
* @example With custom setter
|
|
29
|
+
* ```ts
|
|
30
|
+
* @validate(function(value) {
|
|
31
|
+
* console.log("Setting speed to", value);
|
|
32
|
+
* })
|
|
33
|
+
* speed: number = 1;
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
6
36
|
export const validate = function (set, get) {
|
|
7
37
|
// "descriptor : undefined" prevents @validate() to be added to property getters or setters
|
|
8
38
|
return function (target, propertyKey, descriptor) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine_util_decorator.js","sourceRoot":"","sources":["../../src/engine/engine_util_decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAM/C
|
|
1
|
+
{"version":3,"file":"engine_util_decorator.js","sourceRoot":"","sources":["../../src/engine/engine_util_decorator.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,11 +36,27 @@ export declare class CircularBuffer<T> {
|
|
|
36
36
|
}
|
|
37
37
|
export declare function getUrlParams(): URLSearchParams;
|
|
38
38
|
type Param<T extends string> = string | boolean | number | T;
|
|
39
|
-
/**
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
39
|
+
/**
|
|
40
|
+
* Checks if a URL parameter exists and returns its value.
|
|
41
|
+
* Useful for debugging, feature flags, and configuration.
|
|
42
|
+
*
|
|
43
|
+
* @param paramName The URL parameter name to check
|
|
44
|
+
* @returns
|
|
45
|
+
* - `true` if the parameter exists without a value (e.g. `?debug`)
|
|
46
|
+
* - `false` if the parameter doesn't exist or is set to `0`
|
|
47
|
+
* - The numeric value if it's a number (e.g. `?level=5` returns `5`)
|
|
48
|
+
* - The string value otherwise (e.g. `?name=test` returns `"test"`)
|
|
49
|
+
*
|
|
50
|
+
* @example Check debug mode
|
|
51
|
+
* ```ts
|
|
52
|
+
* if (getParam("debug")) {
|
|
53
|
+
* console.log("Debug mode enabled");
|
|
54
|
+
* }
|
|
55
|
+
* ```
|
|
56
|
+
* @example Get a numeric value
|
|
57
|
+
* ```ts
|
|
58
|
+
* const level = getParam("level"); // Returns number if ?level=5
|
|
59
|
+
* ```
|
|
44
60
|
*/
|
|
45
61
|
export declare function getParam<T extends string>(paramName: T): Param<T>;
|
|
46
62
|
export declare function setParam(paramName: string, paramValue: string): void;
|
|
@@ -89,11 +89,27 @@ export function getUrlParams() {
|
|
|
89
89
|
// "window" may not exist in node.js
|
|
90
90
|
return new URLSearchParams(globalThis.location?.search);
|
|
91
91
|
}
|
|
92
|
-
/**
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
92
|
+
/**
|
|
93
|
+
* Checks if a URL parameter exists and returns its value.
|
|
94
|
+
* Useful for debugging, feature flags, and configuration.
|
|
95
|
+
*
|
|
96
|
+
* @param paramName The URL parameter name to check
|
|
97
|
+
* @returns
|
|
98
|
+
* - `true` if the parameter exists without a value (e.g. `?debug`)
|
|
99
|
+
* - `false` if the parameter doesn't exist or is set to `0`
|
|
100
|
+
* - The numeric value if it's a number (e.g. `?level=5` returns `5`)
|
|
101
|
+
* - The string value otherwise (e.g. `?name=test` returns `"test"`)
|
|
102
|
+
*
|
|
103
|
+
* @example Check debug mode
|
|
104
|
+
* ```ts
|
|
105
|
+
* if (getParam("debug")) {
|
|
106
|
+
* console.log("Debug mode enabled");
|
|
107
|
+
* }
|
|
108
|
+
* ```
|
|
109
|
+
* @example Get a numeric value
|
|
110
|
+
* ```ts
|
|
111
|
+
* const level = getParam("level"); // Returns number if ?level=5
|
|
112
|
+
* ```
|
|
97
113
|
*/
|
|
98
114
|
export function getParam(paramName) {
|
|
99
115
|
if (showHelp && !requestedParams.includes(paramName))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine_utils.js","sourceRoot":"","sources":["../../src/engine/engine_utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine_utils.js","sourceRoot":"","sources":["../../src/engine/engine_utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The supported file types that can be determined by the engine. Used in {@link tryDetermineMimetypeFromURL} and {@link tryDetermineMimetypeFromBinary}
|
|
3
3
|
*/
|
|
4
|
-
export type NeedleMimetype = "unknown" | "unsupported" | "model/gltf+json" | "model/gltf-binary" | "model/vrm" | "model/vnd.usdz+zip" | "model/vnd.usd" | "model/vnd.usda" | "model/vnd.usdc" | "model/fbx" | "model/vnd.autodesk.fbx" | "model/obj" | (string & {});
|
|
4
|
+
export type NeedleMimetype = "unknown" | "unsupported" | "model/gltf+json" | "model/gltf-binary" | "model/vrm" | "model/vnd.usdz+zip" | "model/vnd.usd" | "model/vnd.usda" | "model/vnd.usdc" | "model/fbx" | "model/vnd.autodesk.fbx" | "model/obj" | "application/materialx+xml" | (string & {});
|
|
5
5
|
export declare function determineMimeTypeFromExtension(name: string): NeedleMimetype | null;
|
|
6
6
|
/**
|
|
7
7
|
* Tries to determine the file type of a file from its URL
|
|
@@ -74,6 +74,8 @@ export async function tryDetermineMimetypeFromURL(url, opts) {
|
|
|
74
74
|
return "model/vnd.usdz+zip";
|
|
75
75
|
case "OBJ":
|
|
76
76
|
return "model/obj";
|
|
77
|
+
case "MTLX":
|
|
78
|
+
return "application/materialx+xml";
|
|
77
79
|
}
|
|
78
80
|
}
|
|
79
81
|
// If the URL doesnt contain a filetype we need to check the header
|
|
@@ -190,6 +192,7 @@ export function tryDetermineMimetypeFromBinary(url, data, response) {
|
|
|
190
192
|
case "model/fbx":
|
|
191
193
|
case "model/vnd.autodesk.fbx":
|
|
192
194
|
case "model/obj":
|
|
195
|
+
case "application/materialx+xml":
|
|
193
196
|
return content_type;
|
|
194
197
|
// case "model/stl":
|
|
195
198
|
// return "stl";
|
|
@@ -236,7 +239,7 @@ export function tryDetermineMimetypeFromBinary(url, data, response) {
|
|
|
236
239
|
}
|
|
237
240
|
if (isDevEnvironment() || debug) {
|
|
238
241
|
const text = new TextDecoder().decode(data.slice(0, Math.min(data.byteLength, 32)));
|
|
239
|
-
console.warn(`Could not determine file type.\n\nConsider registering a custom loader via the 'onCreateCustomModelLoader' callback: 'NeedleEngineModelLoader.onCreateCustomModelLoader(args => { })'\n\nContent-Type: \"${response.headers.get("content-type")}\n\"Text: \"${text}\"\nBinary:`, bytes);
|
|
242
|
+
console.warn(`Could not determine file type.\n\nConsider registering a custom loader via the 'onCreateCustomModelLoader' callback: 'NeedleEngineModelLoader.onCreateCustomModelLoader(args => { })'\n\nContent-Type: \"${response.headers.get("content-type")}\"\n\"Text: \"${text}\"\nBinary:`, bytes);
|
|
240
243
|
}
|
|
241
244
|
else {
|
|
242
245
|
console.debug(`Could not determine file type from binary data`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine_utils_format.js","sourceRoot":"","sources":["../../src/engine/engine_utils_format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"engine_utils_format.js","sourceRoot":"","sources":["../../src/engine/engine_utils_format.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Loader, LoadingManager, Material, Object3D } from "three";
|
|
2
|
+
import { GLTFLoader, GLTFLoaderPlugin, GLTFParser } from "three/examples/jsm/loaders/GLTFLoader.js";
|
|
3
|
+
import { IContext } from "../engine_types.js";
|
|
4
|
+
export declare namespace MaterialX {
|
|
5
|
+
/**
|
|
6
|
+
* Utility function to load a MaterialX material from a URL. This can be used in your own code to load MaterialX materials outside of the glTF loading process. The URL should point to a MaterialX XML file.
|
|
7
|
+
*/
|
|
8
|
+
function loadFromUrl(urlOrXML: string, opts?: {
|
|
9
|
+
url?: string;
|
|
10
|
+
loadingManager?: LoadingManager;
|
|
11
|
+
materialNameOrIndex?: number | string;
|
|
12
|
+
}): Promise<import("three").Material | null>;
|
|
13
|
+
}
|
|
14
|
+
export declare class MaterialXLoader extends Loader<Object3D | null> {
|
|
15
|
+
loadAsync(url: string, onProgress?: ((event: ProgressEvent<EventTarget>) => void) | undefined): Promise<Object3D>;
|
|
16
|
+
load(url: string, onLoad: (data: Object3D) => void, onProgress?: ((event: ProgressEvent<EventTarget>) => void) | undefined, onError?: ((err: unknown) => void) | undefined): void;
|
|
17
|
+
private onLoaded;
|
|
18
|
+
}
|
|
19
|
+
export declare class NEEDLE_materialx implements GLTFLoaderPlugin {
|
|
20
|
+
private readonly context;
|
|
21
|
+
private readonly loader;
|
|
22
|
+
private readonly url;
|
|
23
|
+
private readonly parser;
|
|
24
|
+
get name(): string;
|
|
25
|
+
constructor(context: IContext, loader: GLTFLoader, url: string, parser: GLTFParser);
|
|
26
|
+
private mtlxLoader?;
|
|
27
|
+
beforeRoot(): Promise<void>;
|
|
28
|
+
loadMaterial(index: any): Promise<Material> | null;
|
|
29
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { Loader, TextureLoader } from "three";
|
|
2
|
+
import { ObjectUtils } from "../engine_create_objects.js";
|
|
3
|
+
import { MODULES } from "../engine_modules.js";
|
|
4
|
+
// #region Utils
|
|
5
|
+
export var MaterialX;
|
|
6
|
+
(function (MaterialX) {
|
|
7
|
+
/**
|
|
8
|
+
* Utility function to load a MaterialX material from a URL. This can be used in your own code to load MaterialX materials outside of the glTF loading process. The URL should point to a MaterialX XML file.
|
|
9
|
+
*/
|
|
10
|
+
async function loadFromUrl(urlOrXML, opts) {
|
|
11
|
+
if (!urlOrXML)
|
|
12
|
+
throw new Error("URL or XML string is required to load a MaterialX material");
|
|
13
|
+
// Ensure the MaterialX module is loaded
|
|
14
|
+
const module = await MODULES.MaterialX.load();
|
|
15
|
+
// Check if the input is an XML string or a URL
|
|
16
|
+
// And fetch the XML content if it's a URL
|
|
17
|
+
const isXmlString = urlOrXML.trimStart().startsWith("<");
|
|
18
|
+
const xml = isXmlString ? urlOrXML : await fetch(urlOrXML).then(r => r.text()).catch(console.error);
|
|
19
|
+
if (!xml) {
|
|
20
|
+
console.warn("Failed to load MaterialX file from url", urlOrXML);
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
// For relative texture paths we might need to detect the base directory of the material file.
|
|
24
|
+
// We can only do this if we have a URL (not an XML string) and if the URL is not a data URL. In that case we can use the URL to determine the base path for textures.
|
|
25
|
+
// This can be used by the loader callback to resolve texture paths relative to the material file.
|
|
26
|
+
let dir = undefined;
|
|
27
|
+
if (opts?.url || !isXmlString) {
|
|
28
|
+
const parts = (opts?.url || urlOrXML).split('/');
|
|
29
|
+
parts.pop();
|
|
30
|
+
dir = parts.join('/');
|
|
31
|
+
}
|
|
32
|
+
const textureLoader = new TextureLoader();
|
|
33
|
+
return module.Experimental_API.createMaterialXMaterial(xml, opts?.materialNameOrIndex ?? 0, {
|
|
34
|
+
getTexture: async (url) => {
|
|
35
|
+
if (!url.startsWith("http") && !url.startsWith("data:") && !url.startsWith("blob:") && !url.startsWith("file:")) {
|
|
36
|
+
if (dir) {
|
|
37
|
+
url = dir + "/" + url;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return textureLoader.loadAsync(url).catch(e => {
|
|
41
|
+
console.warn(`Failed to load texture for MaterialX material ${url}`, e);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}, {
|
|
45
|
+
cacheKey: urlOrXML,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
MaterialX.loadFromUrl = loadFromUrl;
|
|
49
|
+
})(MaterialX || (MaterialX = {}));
|
|
50
|
+
// #region Loader
|
|
51
|
+
export class MaterialXLoader extends Loader {
|
|
52
|
+
loadAsync(url, onProgress) {
|
|
53
|
+
return new Promise((resolve, reject) => {
|
|
54
|
+
this.load(url, resolve, onProgress, reject);
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
load(url, onLoad, onProgress, onError) {
|
|
58
|
+
onProgress?.({ type: "progress", loaded: 0, total: 0 });
|
|
59
|
+
MaterialX.loadFromUrl(url, {}).then(mat => {
|
|
60
|
+
if (mat) {
|
|
61
|
+
onLoad(this.onLoaded(mat));
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
onError?.(new Error("Failed to load MaterialX material from url: " + url));
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
onLoaded(mat) {
|
|
69
|
+
const shaderball = ObjectUtils.createPrimitive("ShaderBall", { material: mat });
|
|
70
|
+
return shaderball;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
// #region GLTF Extension
|
|
74
|
+
export class NEEDLE_materialx {
|
|
75
|
+
context;
|
|
76
|
+
loader;
|
|
77
|
+
url;
|
|
78
|
+
parser;
|
|
79
|
+
get name() {
|
|
80
|
+
return "materialx-loading-helper";
|
|
81
|
+
}
|
|
82
|
+
constructor(context, loader, url, parser) {
|
|
83
|
+
this.context = context;
|
|
84
|
+
this.loader = loader;
|
|
85
|
+
this.url = url;
|
|
86
|
+
this.parser = parser;
|
|
87
|
+
}
|
|
88
|
+
mtlxLoader;
|
|
89
|
+
async beforeRoot() {
|
|
90
|
+
const mtlxExtension = this.parser.json.extensions?.["NEEDLE_materials_mtlx"];
|
|
91
|
+
if (mtlxExtension) {
|
|
92
|
+
const module = await MODULES.MaterialX.load();
|
|
93
|
+
try {
|
|
94
|
+
this.mtlxLoader = new module.MaterialXLoader(this.parser, {
|
|
95
|
+
cacheKey: `${this.url}:materialx`,
|
|
96
|
+
parameters: {
|
|
97
|
+
precision: this.context.renderer?.capabilities.precision,
|
|
98
|
+
}
|
|
99
|
+
}, {
|
|
100
|
+
getFrame: () => this.context.time.frame,
|
|
101
|
+
getTime: () => this.context.time.time,
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
console.error(error);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
loadMaterial(index) {
|
|
110
|
+
if (this.mtlxLoader)
|
|
111
|
+
return this.mtlxLoader.loadMaterial(index);
|
|
112
|
+
return null;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=NEEDLE_materialx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NEEDLE_materialx.js","sourceRoot":"","sources":["../../../src/engine/extensions/NEEDLE_materialx.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ import { EXT_texture_exr } from "./EXT_texture_exr.js";
|
|
|
7
7
|
import { NEEDLE_components } from "./NEEDLE_components.js";
|
|
8
8
|
import { NEEDLE_gameobject_data } from "./NEEDLE_gameobject_data.js";
|
|
9
9
|
import { NEEDLE_lighting_settings } from "./NEEDLE_lighting_settings.js";
|
|
10
|
+
import { NEEDLE_materialx } from "./NEEDLE_materialx.js";
|
|
10
11
|
import { NEEDLE_persistent_assets } from "./NEEDLE_persistent_assets.js";
|
|
11
12
|
import { NEEDLE_progressive } from "./NEEDLE_progressive.js";
|
|
12
13
|
import { NEEDLE_render_objects } from "./NEEDLE_render_objects.js";
|
|
@@ -77,6 +78,7 @@ export async function registerExtensions(loader, context, url, sourceId) {
|
|
|
77
78
|
loader.register(p => new NEEDLE_render_objects(p, sourceId));
|
|
78
79
|
loader.register(p => new NEEDLE_progressive(p));
|
|
79
80
|
loader.register(p => new EXT_texture_exr(p));
|
|
81
|
+
loader.register(p => new NEEDLE_materialx(context, loader, url, p));
|
|
80
82
|
if (isResourceTrackingEnabled())
|
|
81
83
|
loader.register(p => new InternalUsageTrackerPlugin(p));
|
|
82
84
|
await KHR_ANIMATIONPOINTER_IMPORT.catch(_ => { });
|