@needle-tools/engine 5.1.0-canary.30cc545 → 5.1.0-canary.40da791
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/.needle/generated/needle-bindings.gen.d.ts +5 -0
- package/CHANGELOG.md +91 -0
- package/SKILL.md +4 -1
- package/components.needle.json +1 -1
- package/dist/{needle-engine.bundle-d_9mSxN4.js → needle-engine.bundle-Cu2B9CsR.js} +16112 -15269
- package/dist/needle-engine.bundle-ZoVUaB89.umd.cjs +1733 -0
- package/dist/needle-engine.bundle-hBWUJPxm.min.js +1733 -0
- package/dist/needle-engine.d.ts +1527 -384
- package/dist/needle-engine.js +573 -569
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/dist/three.js +1 -0
- package/dist/three.min.js +21 -21
- package/dist/three.umd.cjs +16 -16
- package/lib/engine/api.d.ts +8 -1
- package/lib/engine/api.js +6 -0
- package/lib/engine/api.js.map +1 -1
- package/lib/engine/codegen/register_types.js +10 -18
- package/lib/engine/codegen/register_types.js.map +1 -1
- package/lib/engine/debug/debug_spatial_console.d.ts +2 -0
- package/lib/engine/debug/debug_spatial_console.js +10 -7
- package/lib/engine/debug/debug_spatial_console.js.map +1 -1
- package/lib/engine/engine_addressables.d.ts +2 -0
- package/lib/engine/engine_addressables.js +6 -3
- package/lib/engine/engine_addressables.js.map +1 -1
- package/lib/engine/engine_audio.d.ts +68 -0
- package/lib/engine/engine_audio.js +172 -0
- package/lib/engine/engine_audio.js.map +1 -1
- package/lib/engine/engine_camera.fit.js +16 -4
- package/lib/engine/engine_camera.fit.js.map +1 -1
- package/lib/engine/engine_components.js +1 -1
- package/lib/engine/engine_components.js.map +1 -1
- package/lib/engine/engine_context.d.ts +41 -27
- package/lib/engine/engine_context.js +57 -30
- package/lib/engine/engine_context.js.map +1 -1
- package/lib/engine/engine_context_eventbus.d.ts +47 -0
- package/lib/engine/engine_context_eventbus.js +47 -0
- package/lib/engine/engine_context_eventbus.js.map +1 -0
- package/lib/engine/engine_disposable.d.ts +172 -0
- package/lib/engine/engine_disposable.js +136 -0
- package/lib/engine/engine_disposable.js.map +1 -0
- package/lib/engine/engine_gameobject.d.ts +1 -10
- package/lib/engine/engine_gameobject.js +22 -120
- package/lib/engine/engine_gameobject.js.map +1 -1
- package/lib/engine/engine_gltf_builtin_components.js +7 -69
- package/lib/engine/engine_gltf_builtin_components.js.map +1 -1
- package/lib/engine/engine_init.js +16 -1
- package/lib/engine/engine_init.js.map +1 -1
- package/lib/engine/engine_input.d.ts +24 -5
- package/lib/engine/engine_input.js +3 -2
- package/lib/engine/engine_input.js.map +1 -1
- package/lib/engine/engine_instantiate_resolve.d.ts +42 -0
- package/lib/engine/engine_instantiate_resolve.js +372 -0
- package/lib/engine/engine_instantiate_resolve.js.map +1 -0
- package/lib/engine/engine_license.d.ts +2 -0
- package/lib/engine/engine_license.js +14 -6
- package/lib/engine/engine_license.js.map +1 -1
- package/lib/engine/engine_lifecycle_functions_internal.js +5 -0
- package/lib/engine/engine_lifecycle_functions_internal.js.map +1 -1
- package/lib/engine/engine_mainloop_utils.js +7 -4
- package/lib/engine/engine_mainloop_utils.js.map +1 -1
- package/lib/engine/engine_networking.d.ts +51 -37
- package/lib/engine/engine_networking.js +132 -82
- package/lib/engine/engine_networking.js.map +1 -1
- package/lib/engine/engine_networking.transport.websocket.d.ts +15 -0
- package/lib/engine/engine_networking.transport.websocket.js +38 -0
- package/lib/engine/engine_networking.transport.websocket.js.map +1 -0
- package/lib/engine/engine_networking_blob.js +1 -1
- package/lib/engine/engine_networking_blob.js.map +1 -1
- package/lib/engine/engine_networking_instantiate.js +2 -2
- package/lib/engine/engine_networking_instantiate.js.map +1 -1
- package/lib/engine/engine_networking_types.d.ts +39 -1
- package/lib/engine/engine_networking_types.js +7 -0
- package/lib/engine/engine_networking_types.js.map +1 -1
- package/lib/engine/engine_physics_rapier.d.ts +21 -3
- package/lib/engine/engine_physics_rapier.js +94 -25
- package/lib/engine/engine_physics_rapier.js.map +1 -1
- package/lib/engine/engine_scenedata.d.ts +13 -17
- package/lib/engine/engine_scenedata.js +58 -31
- package/lib/engine/engine_scenedata.js.map +1 -1
- package/lib/engine/engine_serialization_builtin_serializer.d.ts +10 -16
- package/lib/engine/engine_serialization_builtin_serializer.js +56 -46
- package/lib/engine/engine_serialization_builtin_serializer.js.map +1 -1
- package/lib/engine/engine_serialization_core.d.ts +1 -0
- package/lib/engine/engine_serialization_core.js +7 -0
- package/lib/engine/engine_serialization_core.js.map +1 -1
- package/lib/engine/engine_ssr.d.ts +2 -0
- package/lib/engine/engine_ssr.js +2 -0
- package/lib/engine/engine_ssr.js.map +1 -1
- package/lib/engine/engine_types.d.ts +31 -11
- package/lib/engine/engine_types.js +1 -1
- package/lib/engine/engine_types.js.map +1 -1
- package/lib/engine/engine_util_decorator.js +7 -2
- package/lib/engine/engine_util_decorator.js.map +1 -1
- package/lib/engine/engine_utils.d.ts +1 -1
- package/lib/engine/engine_utils.js +19 -5
- package/lib/engine/engine_utils.js.map +1 -1
- package/lib/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js +1 -1
- package/lib/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js.map +1 -1
- package/lib/engine/webcomponents/jsx.d.ts +51 -0
- package/lib/engine/webcomponents/logo-element.js.map +1 -1
- package/lib/engine/webcomponents/needle menu/needle-menu.d.ts +3 -4
- package/lib/engine/webcomponents/needle menu/needle-menu.js +1 -1
- package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
- package/lib/engine/webcomponents/needle-button.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.d.ts +10 -4
- package/lib/engine/webcomponents/needle-engine.js +1 -1
- package/lib/engine/webcomponents/needle-engine.js.map +1 -1
- package/lib/engine/xr/NeedleXRSession.d.ts +3 -2
- package/lib/engine/xr/NeedleXRSession.js +50 -14
- package/lib/engine/xr/NeedleXRSession.js.map +1 -1
- package/lib/engine/xr/events.d.ts +1 -1
- package/lib/engine/xr/events.js.map +1 -1
- package/lib/engine-components/Animation.js +17 -16
- package/lib/engine-components/Animation.js.map +1 -1
- package/lib/engine-components/AnimationBuilder.d.ts +158 -0
- package/lib/engine-components/AnimationBuilder.js +305 -0
- package/lib/engine-components/AnimationBuilder.js.map +1 -0
- package/lib/engine-components/Animator.d.ts +6 -0
- package/lib/engine-components/Animator.js +23 -13
- package/lib/engine-components/Animator.js.map +1 -1
- package/lib/engine-components/AnimatorController.builder.d.ts +191 -0
- package/lib/engine-components/AnimatorController.builder.js +263 -0
- package/lib/engine-components/AnimatorController.builder.js.map +1 -0
- package/lib/engine-components/AnimatorController.d.ts +4 -119
- package/lib/engine-components/AnimatorController.js +37 -233
- package/lib/engine-components/AnimatorController.js.map +1 -1
- package/lib/engine-components/AudioSource.d.ts +19 -3
- package/lib/engine-components/AudioSource.js +121 -68
- package/lib/engine-components/AudioSource.js.map +1 -1
- package/lib/engine-components/Collider.d.ts +18 -9
- package/lib/engine-components/Collider.js +61 -14
- package/lib/engine-components/Collider.js.map +1 -1
- package/lib/engine-components/Component.d.ts +72 -9
- package/lib/engine-components/Component.js +114 -10
- package/lib/engine-components/Component.js.map +1 -1
- package/lib/engine-components/ContactShadows.d.ts +1 -0
- package/lib/engine-components/ContactShadows.js +14 -1
- package/lib/engine-components/ContactShadows.js.map +1 -1
- package/lib/engine-components/DragControls.d.ts +7 -0
- package/lib/engine-components/DragControls.js +19 -7
- package/lib/engine-components/DragControls.js.map +1 -1
- package/lib/engine-components/DropListener.js +3 -0
- package/lib/engine-components/DropListener.js.map +1 -1
- package/lib/engine-components/EventList.d.ts +31 -9
- package/lib/engine-components/EventList.js +37 -76
- package/lib/engine-components/EventList.js.map +1 -1
- package/lib/engine-components/Joints.d.ts +4 -2
- package/lib/engine-components/Joints.js +19 -3
- package/lib/engine-components/Joints.js.map +1 -1
- package/lib/engine-components/Light.d.ts +6 -8
- package/lib/engine-components/Light.js +48 -27
- package/lib/engine-components/Light.js.map +1 -1
- package/lib/engine-components/Networking.d.ts +1 -1
- package/lib/engine-components/Networking.js +1 -1
- package/lib/engine-components/OrbitControls.d.ts +0 -2
- package/lib/engine-components/OrbitControls.js +30 -12
- package/lib/engine-components/OrbitControls.js.map +1 -1
- package/lib/engine-components/ReflectionProbe.js +2 -0
- package/lib/engine-components/ReflectionProbe.js.map +1 -1
- package/lib/engine-components/RigidBody.d.ts +12 -4
- package/lib/engine-components/RigidBody.js +18 -4
- package/lib/engine-components/RigidBody.js.map +1 -1
- package/lib/engine-components/SceneSwitcher.js +3 -0
- package/lib/engine-components/SceneSwitcher.js.map +1 -1
- package/lib/engine-components/SeeThrough.js +2 -2
- package/lib/engine-components/SeeThrough.js.map +1 -1
- package/lib/engine-components/api.d.ts +2 -1
- package/lib/engine-components/api.js +2 -1
- package/lib/engine-components/api.js.map +1 -1
- package/lib/engine-components/codegen/components.d.ts +7 -13
- package/lib/engine-components/codegen/components.js +7 -13
- package/lib/engine-components/codegen/components.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/Tonemapping.utils.d.ts +1 -1
- package/lib/engine-components/postprocessing/VolumeParameter.d.ts +2 -0
- package/lib/engine-components/postprocessing/VolumeParameter.js +4 -1
- package/lib/engine-components/postprocessing/VolumeParameter.js.map +1 -1
- package/lib/engine-components/timeline/PlayableDirector.d.ts +21 -11
- package/lib/engine-components/timeline/PlayableDirector.js +75 -67
- package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
- package/lib/engine-components/timeline/SignalAsset.d.ts +3 -1
- package/lib/engine-components/timeline/SignalAsset.js +1 -0
- package/lib/engine-components/timeline/SignalAsset.js.map +1 -1
- package/lib/engine-components/timeline/TimelineBuilder.d.ts +413 -0
- package/lib/engine-components/timeline/TimelineBuilder.js +506 -0
- package/lib/engine-components/timeline/TimelineBuilder.js.map +1 -0
- package/lib/engine-components/timeline/TimelineModels.d.ts +2 -1
- package/lib/engine-components/timeline/TimelineModels.js +3 -0
- package/lib/engine-components/timeline/TimelineModels.js.map +1 -1
- package/lib/engine-components/timeline/TimelineTracks.d.ts +37 -6
- package/lib/engine-components/timeline/TimelineTracks.js +92 -26
- package/lib/engine-components/timeline/TimelineTracks.js.map +1 -1
- package/lib/engine-components/timeline/index.d.ts +2 -1
- package/lib/engine-components/timeline/index.js +2 -0
- package/lib/engine-components/timeline/index.js.map +1 -1
- package/lib/engine-components/ui/Canvas.d.ts +1 -1
- package/lib/engine-components/ui/Canvas.js +2 -8
- package/lib/engine-components/ui/Canvas.js.map +1 -1
- package/lib/engine-components/ui/Text.d.ts +1 -0
- package/lib/engine-components/ui/Text.js +10 -7
- package/lib/engine-components/ui/Text.js.map +1 -1
- package/lib/engine-components/web/CursorFollow.d.ts +0 -1
- package/lib/engine-components/web/CursorFollow.js +21 -13
- package/lib/engine-components/web/CursorFollow.js.map +1 -1
- package/lib/engine-components/webxr/WebXRImageTracking.js +4 -0
- package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -1
- package/lib/needle-engine.d.ts +2 -0
- package/lib/needle-engine.js +2 -0
- package/lib/needle-engine.js.map +1 -1
- package/package.json +3 -83
- package/plugins/common/license.js +5 -2
- package/plugins/common/worker.js +9 -4
- package/plugins/dts-generator/dts.codegen.js +255 -50
- package/plugins/dts-generator/dts.scan.js +37 -9
- package/plugins/dts-generator/dts.writer.js +1 -1
- package/plugins/dts-generator/glb.discovery.js +140 -23
- package/plugins/dts-generator/glb.extractor.js +48 -8
- package/plugins/dts-generator/glb.reader.js +80 -27
- package/plugins/dts-generator/index.js +1 -1
- package/plugins/types/needle-bindings.d.ts +25 -14
- package/plugins/types/userconfig.d.ts +12 -0
- package/plugins/vite/asap.js +18 -9
- package/plugins/vite/dependencies.js +29 -10
- package/plugins/vite/dependency-watcher.d.ts +2 -2
- package/plugins/vite/dependency-watcher.js +5 -6
- package/plugins/vite/drop.d.ts +2 -2
- package/plugins/vite/drop.js +3 -4
- package/plugins/vite/dts-generator.d.ts +2 -2
- package/plugins/vite/dts-generator.js +43 -9
- package/plugins/vite/editor-connection.js +3 -3
- package/plugins/vite/index.d.ts +9 -3
- package/plugins/vite/index.js +23 -10
- package/plugins/vite/license.js +19 -1
- package/plugins/vite/local-files-core.js +3 -3
- package/plugins/vite/local-files-utils.d.ts +3 -1
- package/plugins/vite/local-files-utils.js +29 -5
- package/plugins/vite/meta.js +4 -2
- package/plugins/vite/poster.d.ts +2 -2
- package/plugins/vite/poster.js +3 -5
- package/plugins/vite/reload.d.ts +2 -2
- package/plugins/vite/reload.js +23 -23
- package/plugins/vite/server.js +2 -1
- package/src/engine/api.ts +11 -1
- package/src/engine/codegen/register_types.ts +10 -18
- package/src/engine/debug/debug_spatial_console.ts +10 -7
- package/src/engine/engine_addressables.ts +6 -3
- package/src/engine/engine_audio.ts +184 -0
- package/src/engine/engine_camera.fit.ts +15 -4
- package/src/engine/engine_components.ts +1 -1
- package/src/engine/engine_context.ts +67 -37
- package/src/engine/engine_context_eventbus.ts +73 -0
- package/src/engine/engine_disposable.ts +214 -0
- package/src/engine/engine_gameobject.ts +54 -159
- package/src/engine/engine_gltf_builtin_components.ts +7 -76
- package/src/engine/engine_init.ts +15 -1
- package/src/engine/engine_input.ts +28 -7
- package/src/engine/engine_instantiate_resolve.ts +407 -0
- package/src/engine/engine_license.ts +12 -10
- package/src/engine/engine_lifecycle_functions_internal.ts +7 -0
- package/src/engine/engine_mainloop_utils.ts +7 -4
- package/src/engine/engine_networking.transport.websocket.ts +45 -0
- package/src/engine/engine_networking.ts +161 -137
- package/src/engine/engine_networking_blob.ts +1 -1
- package/src/engine/engine_networking_instantiate.ts +2 -2
- package/src/engine/engine_networking_types.ts +41 -1
- package/src/engine/engine_physics_rapier.ts +102 -33
- package/src/engine/engine_scenedata.ts +56 -30
- package/src/engine/engine_serialization_builtin_serializer.ts +64 -52
- package/src/engine/engine_serialization_core.ts +9 -0
- package/src/engine/engine_ssr.ts +3 -0
- package/src/engine/engine_types.ts +48 -27
- package/src/engine/engine_util_decorator.ts +7 -2
- package/src/engine/engine_utils.ts +16 -5
- package/src/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js +1 -1
- package/src/engine/webcomponents/jsx.d.ts +51 -0
- package/src/engine/webcomponents/logo-element.ts +1 -0
- package/src/engine/webcomponents/needle menu/needle-menu.ts +3 -2
- package/src/engine/webcomponents/needle-button.ts +1 -0
- package/src/engine/webcomponents/needle-engine.ts +11 -4
- package/src/engine/xr/NeedleXRSession.ts +48 -13
- package/src/engine/xr/events.ts +1 -1
- package/src/engine-components/Animation.ts +19 -16
- package/src/engine-components/AnimationBuilder.ts +472 -0
- package/src/engine-components/Animator.ts +24 -12
- package/src/engine-components/AnimatorController.builder.ts +387 -0
- package/src/engine-components/AnimatorController.ts +24 -292
- package/src/engine-components/AudioSource.ts +130 -79
- package/src/engine-components/Collider.ts +66 -18
- package/src/engine-components/Component.ts +118 -20
- package/src/engine-components/ContactShadows.ts +15 -1
- package/src/engine-components/DragControls.ts +18 -11
- package/src/engine-components/DropListener.ts +3 -0
- package/src/engine-components/EventList.ts +45 -83
- package/src/engine-components/Joints.ts +20 -4
- package/src/engine-components/Light.ts +49 -27
- package/src/engine-components/Networking.ts +1 -1
- package/src/engine-components/OrbitControls.ts +34 -14
- package/src/engine-components/ReflectionProbe.ts +2 -0
- package/src/engine-components/RigidBody.ts +18 -4
- package/src/engine-components/SceneSwitcher.ts +3 -0
- package/src/engine-components/SeeThrough.ts +2 -2
- package/src/engine-components/api.ts +2 -1
- package/src/engine-components/codegen/components.ts +7 -13
- package/src/engine-components/postprocessing/VolumeParameter.ts +4 -1
- package/src/engine-components/timeline/PlayableDirector.ts +83 -81
- package/src/engine-components/timeline/SignalAsset.ts +4 -1
- package/src/engine-components/timeline/TimelineBuilder.ts +824 -0
- package/src/engine-components/timeline/TimelineModels.ts +5 -1
- package/src/engine-components/timeline/TimelineTracks.ts +96 -27
- package/src/engine-components/timeline/index.ts +2 -1
- package/src/engine-components/ui/Canvas.ts +2 -8
- package/src/engine-components/ui/Text.ts +12 -8
- package/src/engine-components/web/CursorFollow.ts +21 -14
- package/src/engine-components/webxr/WebXRImageTracking.ts +2 -0
- package/src/needle-engine.ts +3 -0
- package/dist/needle-engine.bundle-BMlLSACE.umd.cjs +0 -1732
- package/dist/needle-engine.bundle-BXPPQRer.min.js +0 -1732
- package/lib/engine-components/AvatarLoader.d.ts +0 -80
- package/lib/engine-components/AvatarLoader.js +0 -232
- package/lib/engine-components/AvatarLoader.js.map +0 -1
- package/lib/engine-components/avatar/AvatarBlink_Simple.d.ts +0 -11
- package/lib/engine-components/avatar/AvatarBlink_Simple.js +0 -77
- package/lib/engine-components/avatar/AvatarBlink_Simple.js.map +0 -1
- package/lib/engine-components/avatar/AvatarEyeLook_Rotation.d.ts +0 -14
- package/lib/engine-components/avatar/AvatarEyeLook_Rotation.js +0 -69
- package/lib/engine-components/avatar/AvatarEyeLook_Rotation.js.map +0 -1
- package/lib/engine-components/avatar/Avatar_Brain_LookAt.d.ts +0 -29
- package/lib/engine-components/avatar/Avatar_Brain_LookAt.js +0 -122
- package/lib/engine-components/avatar/Avatar_Brain_LookAt.js.map +0 -1
- package/lib/engine-components/avatar/Avatar_MouthShapes.d.ts +0 -15
- package/lib/engine-components/avatar/Avatar_MouthShapes.js +0 -80
- package/lib/engine-components/avatar/Avatar_MouthShapes.js.map +0 -1
- package/lib/engine-components/avatar/Avatar_MustacheShake.d.ts +0 -9
- package/lib/engine-components/avatar/Avatar_MustacheShake.js +0 -30
- package/lib/engine-components/avatar/Avatar_MustacheShake.js.map +0 -1
- package/src/engine-components/AvatarLoader.ts +0 -264
- package/src/engine-components/avatar/AvatarBlink_Simple.ts +0 -70
- package/src/engine-components/avatar/AvatarEyeLook_Rotation.ts +0 -64
- package/src/engine-components/avatar/Avatar_Brain_LookAt.ts +0 -140
- package/src/engine-components/avatar/Avatar_MouthShapes.ts +0 -84
- package/src/engine-components/avatar/Avatar_MustacheShake.ts +0 -32
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { isDevEnvironment } from "../engine/debug/index.js";
|
|
2
1
|
const argumentsBuffer = new Array();
|
|
3
2
|
/**
|
|
4
3
|
* CallInfo represents a single callback method that can be invoked by the {@link EventList}.
|
|
5
4
|
*/
|
|
6
5
|
export class CallInfo {
|
|
6
|
+
/** @internal Used by the instantiate resolver to recursively resolve references */
|
|
7
|
+
static { CallInfo.prototype.$serializedTypes = { target: Object, arguments: Array }; }
|
|
7
8
|
/**
|
|
8
9
|
* When the CallInfo is enabled it will be invoked when the EventList is invoked
|
|
9
10
|
*/
|
|
@@ -81,7 +82,7 @@ export class CallInfo {
|
|
|
81
82
|
}
|
|
82
83
|
}
|
|
83
84
|
}
|
|
84
|
-
|
|
85
|
+
/** @deprecated No longer automatically dispatched. Use `eventList.on()` directly instead. */
|
|
85
86
|
export class EventListEvent extends Event {
|
|
86
87
|
args;
|
|
87
88
|
}
|
|
@@ -131,69 +132,10 @@ export class EventListEvent extends Event {
|
|
|
131
132
|
* @see {@link Button} for UI button events
|
|
132
133
|
*/
|
|
133
134
|
export class EventList {
|
|
135
|
+
/** @internal Used by the instantiate resolver to recursively resolve references */
|
|
136
|
+
static { EventList.prototype.$serializedTypes = { methods: Array }; }
|
|
134
137
|
/** checked during instantiate to create a new instance */
|
|
135
138
|
isEventList = true;
|
|
136
|
-
/**
|
|
137
|
-
* @internal Used by the Needle Engine instantiate call to remap the event listeners to the new instance
|
|
138
|
-
*/
|
|
139
|
-
__internalOnInstantiate(ctx) {
|
|
140
|
-
const newMethods = new Array();
|
|
141
|
-
for (let i = 0; i < this.methods.length; i++) {
|
|
142
|
-
const method = this.methods[i];
|
|
143
|
-
if (method.target instanceof Function) {
|
|
144
|
-
// can not clone a function
|
|
145
|
-
}
|
|
146
|
-
else {
|
|
147
|
-
const target = method.target;
|
|
148
|
-
let key = target?.uuid;
|
|
149
|
-
if (target) {
|
|
150
|
-
key = target.guid;
|
|
151
|
-
}
|
|
152
|
-
if (key) {
|
|
153
|
-
const newTarget = ctx[key];
|
|
154
|
-
if (newTarget) {
|
|
155
|
-
// remap the arguments to the new instance (e.g. if an object is passed as an argument to the event list and this object has been cloned we want to remap it to the clone)
|
|
156
|
-
const newArguments = method.arguments?.map(arg => {
|
|
157
|
-
if (arg instanceof Object && arg.uuid) {
|
|
158
|
-
return ctx[arg.uuid].clone;
|
|
159
|
-
}
|
|
160
|
-
else if (arg?.isComponent) {
|
|
161
|
-
return ctx[arg.guid].clone;
|
|
162
|
-
}
|
|
163
|
-
return arg;
|
|
164
|
-
});
|
|
165
|
-
newMethods.push(new CallInfo(newTarget.clone, method.methodName, newArguments, method.enabled));
|
|
166
|
-
}
|
|
167
|
-
else if (isDevEnvironment()) {
|
|
168
|
-
console.warn("Could not find target for event listener");
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
const newInstance = new EventList(newMethods);
|
|
174
|
-
return newInstance;
|
|
175
|
-
}
|
|
176
|
-
target;
|
|
177
|
-
key;
|
|
178
|
-
// TODO: serialization should not take care of the args but instead give them to the eventlist directly
|
|
179
|
-
// so we can handle passing them on here instead of in the serializer
|
|
180
|
-
// this would also allow us to pass them on to the component EventTarget
|
|
181
|
-
/** set an event target to try invoke the EventTarget dispatchEvent when this EventList is invoked */
|
|
182
|
-
setEventTarget(key, target) {
|
|
183
|
-
this.key = key;
|
|
184
|
-
this.target = target;
|
|
185
|
-
if (this.key !== undefined) {
|
|
186
|
-
let temp = "";
|
|
187
|
-
let foundFirstLetter = false;
|
|
188
|
-
for (const c of this.key) {
|
|
189
|
-
if (foundFirstLetter && isUpperCase(c))
|
|
190
|
-
temp += "-";
|
|
191
|
-
foundFirstLetter = true;
|
|
192
|
-
temp += c.toLowerCase();
|
|
193
|
-
}
|
|
194
|
-
this.key = temp;
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
139
|
/** How many callback methods are subscribed to this event */
|
|
198
140
|
get listenerCount() { return this.methods?.length ?? 0; }
|
|
199
141
|
/** If the event is currently being invoked */
|
|
@@ -255,22 +197,9 @@ export class EventList {
|
|
|
255
197
|
// make a copy of the methods array to avoid issues when removing listeners during invocation
|
|
256
198
|
this._methodsCopy.length = 0;
|
|
257
199
|
this._methodsCopy.push(...this.methods);
|
|
258
|
-
// first invoke all the methods that were subscribed to this eventlist
|
|
259
200
|
for (const m of this._methodsCopy) {
|
|
260
201
|
m.invoke(...args);
|
|
261
202
|
}
|
|
262
|
-
// then try to dispatch the event on the object that is owning this eventlist
|
|
263
|
-
// with this we get automatic event listener support for unity events on all componnets
|
|
264
|
-
// so example for a component with a click UnityEvent you can also subscribe to the component like this:
|
|
265
|
-
// myComponent.addEventListener("click", args => {...")
|
|
266
|
-
if (typeof this.target === "object" && typeof this.key === "string") {
|
|
267
|
-
const fn = this.target["dispatchEvent"];
|
|
268
|
-
if (typeof fn === "function") {
|
|
269
|
-
const evt = new EventListEvent(this.key);
|
|
270
|
-
evt.args = args;
|
|
271
|
-
fn.call(this.target, evt);
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
203
|
}
|
|
275
204
|
finally {
|
|
276
205
|
this._isInvoking = false;
|
|
@@ -280,11 +209,30 @@ export class EventList {
|
|
|
280
209
|
}
|
|
281
210
|
/** Add a new event listener to this event
|
|
282
211
|
* @returns a function to remove the event listener
|
|
212
|
+
* @see {@link removeEventListener} for more details and return value information
|
|
213
|
+
* @see {@link off} for an alias with better readability when unsubscribing from events
|
|
214
|
+
* @example
|
|
215
|
+
* ```ts
|
|
216
|
+
* const off = myEvent.addEventListener(args => console.log("Clicked!", args));
|
|
217
|
+
* // later
|
|
218
|
+
* off();
|
|
219
|
+
* ```
|
|
283
220
|
*/
|
|
284
221
|
addEventListener(callback) {
|
|
285
222
|
this.methods.push(new CallInfo(callback));
|
|
286
223
|
return () => this.removeEventListener(callback);
|
|
287
224
|
}
|
|
225
|
+
/**
|
|
226
|
+
* Alias for addEventListener for better readability when subscribing to events. You can use it like this:
|
|
227
|
+
* ```ts
|
|
228
|
+
* myEvent.on(args => console.log("Clicked!", args));
|
|
229
|
+
* ```
|
|
230
|
+
* @returns a function to remove the event listener
|
|
231
|
+
* @see {@link addEventListener} for more details and return value information
|
|
232
|
+
*/
|
|
233
|
+
on(callback) {
|
|
234
|
+
return this.addEventListener(callback);
|
|
235
|
+
}
|
|
288
236
|
/**
|
|
289
237
|
* Remove an event listener from this event.
|
|
290
238
|
* @returns true if the event listener was found and removed, false otherwise
|
|
@@ -302,6 +250,19 @@ export class EventList {
|
|
|
302
250
|
}
|
|
303
251
|
return found;
|
|
304
252
|
}
|
|
253
|
+
/**
|
|
254
|
+
* Alias for removeEventListener for better readability when unsubscribing from events. You can use it like this:
|
|
255
|
+
* ```ts
|
|
256
|
+
* const off = myEvent.on(args => console.log("Clicked!", args));
|
|
257
|
+
* // later
|
|
258
|
+
* off();
|
|
259
|
+
* ```
|
|
260
|
+
*
|
|
261
|
+
* @see {@link removeEventListener} for more details and return value information
|
|
262
|
+
*/
|
|
263
|
+
off(callback) {
|
|
264
|
+
return this.removeEventListener(callback);
|
|
265
|
+
}
|
|
305
266
|
/**
|
|
306
267
|
* Remove all event listeners from this event. Use with caution! This will remove all listeners!
|
|
307
268
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventList.js","sourceRoot":"","sources":["../../src/engine-components/EventList.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EventList.js","sourceRoot":"","sources":["../../src/engine-components/EventList.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,7 +21,9 @@ export declare abstract class Joint extends Behaviour {
|
|
|
21
21
|
connectedBody?: Rigidbody;
|
|
22
22
|
get rigidBody(): Rigidbody | null;
|
|
23
23
|
private _rigidBody;
|
|
24
|
+
private _jointHandle;
|
|
24
25
|
onEnable(): void;
|
|
26
|
+
onDisable(): void;
|
|
25
27
|
private create;
|
|
26
28
|
protected abstract createJoint(self: Rigidbody, other: Rigidbody): any;
|
|
27
29
|
}
|
|
@@ -47,7 +49,7 @@ export declare abstract class Joint extends Behaviour {
|
|
|
47
49
|
* @see {@link HingeJoint} for rotating connections
|
|
48
50
|
*/
|
|
49
51
|
export declare class FixedJoint extends Joint {
|
|
50
|
-
protected createJoint(self: Rigidbody, other: Rigidbody):
|
|
52
|
+
protected createJoint(self: Rigidbody, other: Rigidbody): any;
|
|
51
53
|
}
|
|
52
54
|
/**
|
|
53
55
|
* HingeJoint connects two {@link Rigidbody} components with a rotating constraint,
|
|
@@ -78,5 +80,5 @@ export declare class HingeJoint extends Joint {
|
|
|
78
80
|
anchor?: Vector3;
|
|
79
81
|
/** Axis of rotation for the hinge (e.g., Vector3(0,1,0) for vertical axis) */
|
|
80
82
|
axis?: Vector3;
|
|
81
|
-
protected createJoint(self: Rigidbody, other: Rigidbody):
|
|
83
|
+
protected createJoint(self: Rigidbody, other: Rigidbody): any;
|
|
82
84
|
}
|
|
@@ -30,16 +30,31 @@ export class Joint extends Behaviour {
|
|
|
30
30
|
return this._rigidBody;
|
|
31
31
|
}
|
|
32
32
|
_rigidBody = null;
|
|
33
|
+
_jointHandle = null;
|
|
33
34
|
onEnable() {
|
|
34
35
|
if (!this._rigidBody)
|
|
35
36
|
this._rigidBody = this.gameObject.getComponent(Rigidbody);
|
|
36
37
|
if (this.rigidBody && this.connectedBody)
|
|
37
38
|
this.startCoroutine(this.create());
|
|
38
39
|
}
|
|
40
|
+
onDisable() {
|
|
41
|
+
if (this._jointHandle) {
|
|
42
|
+
this.context.physics.engine?.removeJoint(this._jointHandle);
|
|
43
|
+
this._jointHandle = null;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
39
46
|
*create() {
|
|
40
47
|
yield;
|
|
48
|
+
if (this._jointHandle)
|
|
49
|
+
return;
|
|
41
50
|
if (this.rigidBody && this.connectedBody && this.activeAndEnabled) {
|
|
42
|
-
this.createJoint(this.rigidBody, this.connectedBody);
|
|
51
|
+
const result = this.createJoint(this.rigidBody, this.connectedBody);
|
|
52
|
+
if (result instanceof Promise) {
|
|
53
|
+
yield result.then(handle => this._jointHandle = handle);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
this._jointHandle = result;
|
|
57
|
+
}
|
|
43
58
|
}
|
|
44
59
|
}
|
|
45
60
|
}
|
|
@@ -69,7 +84,7 @@ __decorate([
|
|
|
69
84
|
*/
|
|
70
85
|
export class FixedJoint extends Joint {
|
|
71
86
|
createJoint(self, other) {
|
|
72
|
-
this.context.physics.engine?.addFixedJoint(self, other);
|
|
87
|
+
return this.context.physics.engine?.addFixedJoint(self, other) ?? null;
|
|
73
88
|
}
|
|
74
89
|
}
|
|
75
90
|
/**
|
|
@@ -103,7 +118,8 @@ export class HingeJoint extends Joint {
|
|
|
103
118
|
axis;
|
|
104
119
|
createJoint(self, other) {
|
|
105
120
|
if (this.axis && this.anchor)
|
|
106
|
-
this.context.physics.engine?.addHingeJoint(self, other, this.anchor, this.axis);
|
|
121
|
+
return this.context.physics.engine?.addHingeJoint(self, other, this.anchor, this.axis) ?? null;
|
|
122
|
+
return null;
|
|
107
123
|
}
|
|
108
124
|
}
|
|
109
125
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Joints.js","sourceRoot":"","sources":["../../src/engine-components/Joints.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAgB,KAAM,SAAQ,SAAS;IACzC,wCAAwC;IAExC,aAAa,CAAa;IAE1B,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IACO,UAAU,GAAqB,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"Joints.js","sourceRoot":"","sources":["../../src/engine-components/Joints.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAgB,KAAM,SAAQ,SAAS;IACzC,wCAAwC;IAExC,aAAa,CAAa;IAE1B,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IACO,UAAU,GAAqB,IAAI,CAAC;IACpC,YAAY,GAAQ,IAAI,CAAC;IAGjC,QAAQ;QACJ,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAChF,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa;YACpC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,SAAS;QACL,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC5D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC7B,CAAC;IACL,CAAC;IAEO,CAAC,MAAM;QACX,KAAK,CAAC;QACN,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO;QAC9B,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAChE,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YACpE,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;gBAC5B,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC;YAC5D,CAAC;iBACI,CAAC;gBACF,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;YAC/B,CAAC;QACL,CAAC;IACL,CAAC;CAGJ;AArCG;IADC,YAAY,CAAC,SAAS,CAAC;4CACE;AAuC9B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,UAAW,SAAQ,KAAK;IAEvB,WAAW,CAAC,IAAe,EAAE,KAAgB;QACnD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;IAC3E,CAAC;CACJ;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAO,UAAW,SAAQ,KAAK;IAEjC,8CAA8C;IAE9C,MAAM,CAAW;IAEjB,8EAA8E;IAE9E,IAAI,CAAW;IAEL,WAAW,CAAC,IAAe,EAAE,KAAgB;QACnD,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM;YACxB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;QACnG,OAAO,IAAI,CAAC;IAChB,CAAC;CAEJ;AAZG;IADC,YAAY,CAAC,OAAO,CAAC;0CACL;AAIjB;IADC,YAAY,CAAC,OAAO,CAAC;wCACP"}
|
|
@@ -81,10 +81,13 @@ declare enum LightShadows {
|
|
|
81
81
|
*/
|
|
82
82
|
export declare class Light extends Behaviour implements ILight {
|
|
83
83
|
/**
|
|
84
|
-
* The type of light
|
|
85
|
-
* Can not be changed at runtime.
|
|
84
|
+
* The type of light as a lowercase string: `"directional"`, `"point"`, `"spot"`.
|
|
85
|
+
* Implements {@link ILight.type}. Can not be changed at runtime.
|
|
86
86
|
*/
|
|
87
|
-
|
|
87
|
+
get type(): ILight["type"];
|
|
88
|
+
/** Numeric LightType serialized from Unity/Blender — converts to string on write */
|
|
89
|
+
set type(value: LightType | ILight["type"]);
|
|
90
|
+
private _type;
|
|
88
91
|
/**
|
|
89
92
|
* The maximum distance the light affects.
|
|
90
93
|
* Only applicable for spot and point lights.
|
|
@@ -190,11 +193,6 @@ export declare class Light extends Behaviour implements ILight {
|
|
|
190
193
|
* and applies all settings like shadows, intensity, and color.
|
|
191
194
|
*/
|
|
192
195
|
createLight(): void;
|
|
193
|
-
/**
|
|
194
|
-
* Coroutine that updates the main light reference in the context
|
|
195
|
-
* if this directional light should be the main light
|
|
196
|
-
*/
|
|
197
|
-
updateMainLightRoutine(): Generator<undefined, void, unknown>;
|
|
198
196
|
/**
|
|
199
197
|
* Controls whether the renderer's shadow map type can be changed when soft shadows are used
|
|
200
198
|
*/
|
|
@@ -6,10 +6,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { CameraHelper, Color, DirectionalLight, DirectionalLightHelper, PointLight, SpotLight, Vector3 } from "three";
|
|
8
8
|
import { serializable } from "../engine/engine_serialization_decorator.js";
|
|
9
|
-
import { FrameEvent } from "../engine/engine_setup.js";
|
|
10
9
|
import { setWorldPositionXYZ } from "../engine/engine_three_utils.js";
|
|
11
10
|
import { getParam } from "../engine/engine_utils.js";
|
|
12
11
|
import { Behaviour } from "./Component.js";
|
|
12
|
+
import { isDevEnvironment } from "../engine/debug/index.js";
|
|
13
13
|
// https://threejs.org/examples/webgl_shadowmap_csm.html
|
|
14
14
|
function toDegrees(radians) {
|
|
15
15
|
return radians * 180 / Math.PI;
|
|
@@ -101,10 +101,40 @@ var LightShadows;
|
|
|
101
101
|
*/
|
|
102
102
|
export class Light extends Behaviour {
|
|
103
103
|
/**
|
|
104
|
-
* The type of light
|
|
105
|
-
* Can not be changed at runtime.
|
|
104
|
+
* The type of light as a lowercase string: `"directional"`, `"point"`, `"spot"`.
|
|
105
|
+
* Implements {@link ILight.type}. Can not be changed at runtime.
|
|
106
106
|
*/
|
|
107
|
-
type
|
|
107
|
+
get type() {
|
|
108
|
+
return this._type;
|
|
109
|
+
}
|
|
110
|
+
/** Numeric LightType serialized from Unity/Blender — converts to string on write */
|
|
111
|
+
set type(value) {
|
|
112
|
+
if (this.light && this.__didAwake) {
|
|
113
|
+
throw new Error("Changing the light type at runtime is not supported");
|
|
114
|
+
}
|
|
115
|
+
switch (value) {
|
|
116
|
+
case LightType.Directional:
|
|
117
|
+
this._type = "directional";
|
|
118
|
+
break;
|
|
119
|
+
case LightType.Point:
|
|
120
|
+
this._type = "point";
|
|
121
|
+
break;
|
|
122
|
+
case LightType.Spot:
|
|
123
|
+
this._type = "spot";
|
|
124
|
+
break;
|
|
125
|
+
case "directional":
|
|
126
|
+
case "point":
|
|
127
|
+
case "spot":
|
|
128
|
+
this._type = value;
|
|
129
|
+
break;
|
|
130
|
+
default:
|
|
131
|
+
if (debug || isDevEnvironment())
|
|
132
|
+
console.warn(`[Light] Unsupported light type: ${LightType[value]} (${value}) on '${this.name}'`);
|
|
133
|
+
this._type = "unsupported";
|
|
134
|
+
break;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
_type = "point";
|
|
108
138
|
/**
|
|
109
139
|
* The maximum distance the light affects.
|
|
110
140
|
* Only applicable for spot and point lights.
|
|
@@ -316,7 +346,7 @@ export class Light extends Behaviour {
|
|
|
316
346
|
*/
|
|
317
347
|
getWorldPosition(vec) {
|
|
318
348
|
if (this.light) {
|
|
319
|
-
if (this.type ===
|
|
349
|
+
if (this.type === "directional") {
|
|
320
350
|
return this.light.getWorldPosition(vec).multiplyScalar(1);
|
|
321
351
|
}
|
|
322
352
|
return this.light.getWorldPosition(vec);
|
|
@@ -345,12 +375,14 @@ export class Light extends Behaviour {
|
|
|
345
375
|
else if (this.light.parent !== this.gameObject)
|
|
346
376
|
this.gameObject.add(this.light);
|
|
347
377
|
}
|
|
348
|
-
|
|
349
|
-
this.startCoroutine(this.updateMainLightRoutine(), FrameEvent.LateUpdate);
|
|
378
|
+
this.context.lights.push(this);
|
|
350
379
|
}
|
|
351
380
|
onDisable() {
|
|
352
381
|
if (debug)
|
|
353
382
|
console.log("DISABLE LIGHT", this.name);
|
|
383
|
+
const index = this.context.lights.indexOf(this);
|
|
384
|
+
if (index !== -1)
|
|
385
|
+
this.context.lights.splice(index, 1);
|
|
354
386
|
if (this.light) {
|
|
355
387
|
if (this.selfIsLight)
|
|
356
388
|
this.light.intensity = 0;
|
|
@@ -369,14 +401,14 @@ export class Light extends Behaviour {
|
|
|
369
401
|
this.light.name = this.name;
|
|
370
402
|
this._intensity = this.light.intensity;
|
|
371
403
|
switch (this.type) {
|
|
372
|
-
case
|
|
404
|
+
case "directional":
|
|
373
405
|
this.setDirectionalLight(this.light);
|
|
374
406
|
break;
|
|
375
407
|
}
|
|
376
408
|
}
|
|
377
409
|
else if (!this.light) {
|
|
378
410
|
switch (this.type) {
|
|
379
|
-
case
|
|
411
|
+
case "directional":
|
|
380
412
|
// console.log(this);
|
|
381
413
|
const dirLight = new DirectionalLight(this.color, this.intensity * Math.PI);
|
|
382
414
|
// directional light target is at 0 0 0 by default
|
|
@@ -393,7 +425,7 @@ export class Light extends Behaviour {
|
|
|
393
425
|
// this.context.scene.add(bh);
|
|
394
426
|
}
|
|
395
427
|
break;
|
|
396
|
-
case
|
|
428
|
+
case "spot":
|
|
397
429
|
const spotLight = new SpotLight(this.color, this.intensity * Math.PI, this.range, toRadians(this.spotAngle / 2), 1 - toRadians(this.innerSpotAngle / 2) / toRadians(this.spotAngle / 2), 2);
|
|
398
430
|
spotLight.position.set(0, 0, 0);
|
|
399
431
|
spotLight.rotation.set(0, 0, 0);
|
|
@@ -403,12 +435,16 @@ export class Light extends Behaviour {
|
|
|
403
435
|
spotLightTarget.position.set(0, 0, this.range);
|
|
404
436
|
spotLightTarget.rotation.set(0, 0, 0);
|
|
405
437
|
break;
|
|
406
|
-
case
|
|
438
|
+
case "point":
|
|
407
439
|
const pointLight = new PointLight(this.color, this.intensity * Math.PI, this.range);
|
|
408
440
|
this.light = pointLight;
|
|
409
441
|
// const pointHelper = new PointLightHelper(pointLight, this.range, this.color);
|
|
410
442
|
// scene.add(pointHelper);
|
|
411
443
|
break;
|
|
444
|
+
default:
|
|
445
|
+
if (debug)
|
|
446
|
+
console.warn(`[Light] Unsupported light type: ${LightType[this.type]} (${this.type}) on '${this.name}'`);
|
|
447
|
+
break;
|
|
412
448
|
}
|
|
413
449
|
}
|
|
414
450
|
if (this.light) {
|
|
@@ -477,21 +513,6 @@ export class Light extends Behaviour {
|
|
|
477
513
|
this.gameObject.add(this.light);
|
|
478
514
|
}
|
|
479
515
|
}
|
|
480
|
-
/**
|
|
481
|
-
* Coroutine that updates the main light reference in the context
|
|
482
|
-
* if this directional light should be the main light
|
|
483
|
-
*/
|
|
484
|
-
*updateMainLightRoutine() {
|
|
485
|
-
while (true) {
|
|
486
|
-
if (this.type === LightType.Directional) {
|
|
487
|
-
if (!this.context.mainLight || this.intensity > this.context.mainLight.intensity) {
|
|
488
|
-
this.context.mainLight = this;
|
|
489
|
-
}
|
|
490
|
-
yield;
|
|
491
|
-
}
|
|
492
|
-
break;
|
|
493
|
-
}
|
|
494
|
-
}
|
|
495
516
|
/**
|
|
496
517
|
* Controls whether the renderer's shadow map type can be changed when soft shadows are used
|
|
497
518
|
*/
|
|
@@ -557,7 +578,7 @@ export class Light extends Behaviour {
|
|
|
557
578
|
}
|
|
558
579
|
__decorate([
|
|
559
580
|
serializable()
|
|
560
|
-
], Light.prototype, "type",
|
|
581
|
+
], Light.prototype, "type", null);
|
|
561
582
|
__decorate([
|
|
562
583
|
serializable()
|
|
563
584
|
], Light.prototype, "range", null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Light.js","sourceRoot":"","sources":["../../src/engine-components/Light.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Light.js","sourceRoot":"","sources":["../../src/engine-components/Light.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ import { Behaviour } from "./Component.js";
|
|
|
30
30
|
* @see {@link RoomEvents} for room lifecycle events
|
|
31
31
|
* @see {@link isLocalNetwork} for local network detection
|
|
32
32
|
* @link https://engine.needle.tools/docs/how-to-guides/networking/
|
|
33
|
-
* @summary
|
|
33
|
+
* @summary Configures the websocket server URL for multiplayer networking
|
|
34
34
|
* @category Networking
|
|
35
35
|
* @group Components
|
|
36
36
|
*/
|
|
@@ -39,7 +39,7 @@ const debug = getParam("debugnet");
|
|
|
39
39
|
* @see {@link RoomEvents} for room lifecycle events
|
|
40
40
|
* @see {@link isLocalNetwork} for local network detection
|
|
41
41
|
* @link https://engine.needle.tools/docs/how-to-guides/networking/
|
|
42
|
-
* @summary
|
|
42
|
+
* @summary Configures the websocket server URL for multiplayer networking
|
|
43
43
|
* @category Networking
|
|
44
44
|
* @group Components
|
|
45
45
|
*/
|
|
@@ -353,8 +353,6 @@ export declare class OrbitControls extends Behaviour implements ICameraControlle
|
|
|
353
353
|
* @param options The options for fitting the camera. Use to provide objects to fit to, fit direction and size and other settings.
|
|
354
354
|
*/
|
|
355
355
|
fitCamera(options?: OrbitFitCameraOptions): any;
|
|
356
|
-
/** @deprecated Use fitCamera(options) */
|
|
357
|
-
fitCamera(objects?: Object3D | Array<Object3D>, options?: Omit<OrbitFitCameraOptions, "objects">): any;
|
|
358
356
|
private _haveAttachedKeyboardEvents;
|
|
359
357
|
}
|
|
360
358
|
type OrbitFitCameraOptions = FitCameraOptions & {
|