@needle-tools/engine 5.1.0-canary.fbdfce3 → 5.1.0-experimental.03e8105
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 +86 -0
- package/SKILL.md +4 -1
- package/components.needle.json +1 -1
- package/dist/{needle-engine.bundle-BFSj2Fz8.js → needle-engine.bundle-BNqUjnSQ.js} +19180 -18386
- package/dist/needle-engine.bundle-Bt8ULD7E.umd.cjs +1733 -0
- package/dist/needle-engine.bundle-DF6ovbwD.min.js +1733 -0
- package/dist/needle-engine.d.ts +1487 -356
- package/dist/needle-engine.js +544 -542
- 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 +7 -1
- 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/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 +21 -8
- package/lib/engine/engine_context.js +32 -16
- 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 +7 -7
- 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 +7 -7
- package/lib/engine/engine_license.js +183 -57
- package/lib/engine/engine_license.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 +4 -4
- 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.js +2 -2
- package/lib/engine/engine_scenedata.js.map +1 -1
- package/lib/engine/engine_serialization_builtin_serializer.js +28 -5
- 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_types.d.ts +29 -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/engine_utils_qrcode.js +2 -2
- package/lib/engine/engine_utils_qrcode.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/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.d.ts +1 -1
- package/lib/engine/webcomponents/needle menu/needle-menu.js +6 -6
- package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.d.ts +10 -4
- package/lib/engine/webcomponents/needle-engine.js +3 -3
- 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/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/TempXRContext.js +2 -2
- package/lib/engine/xr/TempXRContext.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 +2 -119
- package/lib/engine-components/AnimatorController.js +33 -232
- 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.js +9 -1
- 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/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/export/usdz/USDZExporter.js +4 -4
- package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/Tonemapping.utils.d.ts +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/package.json +2 -83
- package/plugins/common/cloud.js +6 -1
- package/plugins/common/license.js +31 -10
- package/plugins/common/worker.js +9 -4
- package/plugins/vite/asap.js +17 -8
- package/plugins/vite/dependencies.js +29 -10
- package/plugins/vite/dependency-watcher.js +2 -2
- package/plugins/vite/editor-connection.js +3 -3
- package/plugins/vite/license.js +46 -7
- 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/reload.js +1 -1
- 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/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 +34 -18
- 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 +7 -7
- package/src/engine/engine_input.ts +28 -7
- package/src/engine/engine_instantiate_resolve.ts +407 -0
- package/src/engine/engine_license.ts +197 -55
- 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 +4 -4
- 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 +3 -3
- package/src/engine/engine_serialization_builtin_serializer.ts +32 -9
- package/src/engine/engine_serialization_core.ts +9 -0
- package/src/engine/engine_types.ts +46 -27
- package/src/engine/engine_util_decorator.ts +7 -2
- package/src/engine/engine_utils.ts +16 -5
- package/src/engine/engine_utils_qrcode.ts +2 -2
- package/src/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js +1 -1
- package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +2 -2
- package/src/engine/webcomponents/needle menu/needle-menu.ts +6 -6
- package/src/engine/webcomponents/needle-engine.loading.ts +6 -6
- package/src/engine/webcomponents/needle-engine.ts +12 -6
- package/src/engine/xr/NeedleXRSession.ts +48 -13
- package/src/engine/xr/TempXRContext.ts +2 -2
- 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 +20 -291
- 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 +10 -2
- package/src/engine-components/Networking.ts +1 -1
- package/src/engine-components/OrbitControls.ts +34 -14
- 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/export/usdz/USDZExporter.ts +4 -4
- 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/dist/needle-engine.bundle-CmxIO5uH.min.js +0 -1732
- package/dist/needle-engine.bundle-tJIZukCz.umd.cjs +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/plugins/dts-generator/dts.codegen.js +0 -334
- package/plugins/dts-generator/dts.scan.js +0 -99
- package/plugins/dts-generator/dts.writer.js +0 -59
- package/plugins/dts-generator/glb.discovery.js +0 -279
- package/plugins/dts-generator/glb.extractor.js +0 -215
- package/plugins/dts-generator/glb.reader.js +0 -167
- package/plugins/dts-generator/index.js +0 -36
- package/plugins/dts-generator/manifest.types.js +0 -174
- package/plugins/gltf-packer.mjs +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
- package/src/vite-env.d.ts +0 -16
|
@@ -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"}
|
|
@@ -9,6 +9,7 @@ import { serializable } from "../engine/engine_serialization_decorator.js";
|
|
|
9
9
|
import { setWorldPositionXYZ } from "../engine/engine_three_utils.js";
|
|
10
10
|
import { getParam } from "../engine/engine_utils.js";
|
|
11
11
|
import { Behaviour } from "./Component.js";
|
|
12
|
+
import { isDevEnvironment } from "../engine/debug/index.js";
|
|
12
13
|
// https://threejs.org/examples/webgl_shadowmap_csm.html
|
|
13
14
|
function toDegrees(radians) {
|
|
14
15
|
return radians * 180 / Math.PI;
|
|
@@ -127,7 +128,10 @@ export class Light extends Behaviour {
|
|
|
127
128
|
this._type = value;
|
|
128
129
|
break;
|
|
129
130
|
default:
|
|
130
|
-
|
|
131
|
+
if (debug || isDevEnvironment())
|
|
132
|
+
console.warn(`[Light] Unsupported light type: ${LightType[value]} (${value}) on '${this.name}'`);
|
|
133
|
+
this._type = "unsupported";
|
|
134
|
+
break;
|
|
131
135
|
}
|
|
132
136
|
}
|
|
133
137
|
_type = "point";
|
|
@@ -437,6 +441,10 @@ export class Light extends Behaviour {
|
|
|
437
441
|
// const pointHelper = new PointLightHelper(pointLight, this.range, this.color);
|
|
438
442
|
// scene.add(pointHelper);
|
|
439
443
|
break;
|
|
444
|
+
default:
|
|
445
|
+
if (debug)
|
|
446
|
+
console.warn(`[Light] Unsupported light type: ${LightType[this.type]} (${this.type}) on '${this.name}'`);
|
|
447
|
+
break;
|
|
440
448
|
}
|
|
441
449
|
}
|
|
442
450
|
if (this.light) {
|
|
@@ -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":";;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAA2C,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAE/J,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,SAAS,EAAc,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,wDAAwD;AAGxD,SAAS,SAAS,CAAC,OAAO;IACtB,OAAO,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,SAAS,CAAC,OAAO;IACtB,OAAO,OAAO,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;AACnC,CAAC;AAED,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;AAGtC;;;GAGG;AACH,MAAM,CAAN,IAAY,SAaX;AAbD,WAAY,SAAS;IACjB,kDAAkD;IAClD,yCAAQ,CAAA;IACR,+EAA+E;IAC/E,uDAAe,CAAA;IACf,yEAAyE;IACzE,2CAAS,CAAA;IACT,iBAAiB;IACjB,yCAAQ,CAAA;IACR,qFAAqF;IACrF,mDAAa,CAAA;IACb,gFAAgF;IAChF,yCAAQ,CAAA;AACZ,CAAC,EAbW,SAAS,KAAT,SAAS,QAapB;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,gBAOX;AAPD,WAAY,gBAAgB;IACxB,0DAA0D;IAC1D,+DAAY,CAAA;IACZ,gEAAgE;IAChE,yDAAS,CAAA;IACT,sDAAsD;IACtD,yDAAS,CAAA;AACb,CAAC,EAPW,gBAAgB,KAAhB,gBAAgB,QAO3B;AAED;;;;GAIG;AACH,IAAK,YAOJ;AAPD,WAAK,YAAY;IACb,0BAA0B;IAC1B,+CAAQ,CAAA;IACR,2CAA2C;IAC3C,+CAAQ,CAAA;IACR,sCAAsC;IACtC,+CAAQ,CAAA;AACZ,CAAC,EAPI,YAAY,KAAZ,YAAY,QAOhB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,OAAO,KAAM,SAAQ,SAAS;IAEhC;;;OAGG;IACH,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,oFAAoF;IAEpF,IAAI,IAAI,CAAC,KAAiC;QACtC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QAC3E,CAAC;QACD,QAAQ,KAAK,EAAE,CAAC;YACZ,KAAK,SAAS,CAAC,WAAW;gBACtB,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC;gBAC3B,MAAM;YACV,KAAK,SAAS,CAAC,KAAK;gBAChB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;gBACrB,MAAM;YACV,KAAK,SAAS,CAAC,IAAI;gBACf,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;gBACpB,MAAM;YACV,KAAK,aAAa,CAAC;YACnB,KAAK,OAAO,CAAC;YACb,KAAK,MAAM;gBACP,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBACnB,MAAM;YACV;gBACI,IAAI,KAAK,IAAI,gBAAgB,EAAE;oBAC3B,OAAO,CAAC,IAAI,CAAC,mCAAmC,SAAS,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;gBACrG,IAAI,CAAC,KAAK,GAAG,aAAoB,CAAC;gBAClC,MAAM;QACd,CAAC;IACL,CAAC;IACO,KAAK,GAAmB,OAAO,CAAC;IAGxC;;;OAGG;IAEH,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IACD,IAAI,KAAK,CAAC,KAAa;QACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACpH,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;QAChC,CAAC;IACL,CAAC;IACO,MAAM,GAAW,CAAC,CAAC;IAE3B;;;OAGG;IAEH,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IACD,IAAI,SAAS,CAAC,KAAa;QACvB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1E,IAAI,CAAC,KAAmB,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC3D,CAAC;IACL,CAAC;IACO,UAAU,GAAW,EAAE,CAAC;IAGhC;;;;OAIG;IAEH,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IACD,IAAI,cAAc,CAAC,KAAa;QAC5B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9E,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;YAClC,MAAM,UAAU,GAAG,KAAK,CAAC;YACzB,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5E,IAAI,CAAC,KAAmB,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAClD,CAAC;IACL,CAAC;IACO,eAAe,GAAW,EAAE,CAAC;IAErC;;OAEG;IAEH,IAAI,KAAK,CAAC,GAAU;QAChB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QAClB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;QAC3B,CAAC;IACL,CAAC;IACD,IAAI,KAAK;QACL,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QACxC,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IACM,MAAM,GAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE3C;;OAEG;IAEH,IAAI,eAAe,CAAC,GAAW;QAC3B,IAAI,GAAG,KAAK,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAC1C,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;QAC5B,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAA4B,CAAC;YAC3D,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC;QACnB,CAAC;IACL,CAAC;IACD,IAAI,eAAe,KAAa,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACvD,gBAAgB,GAAW,EAAE,CAAC;IAEtC;;OAEG;IAEH,IAAI,UAAU,CAAC,GAAW;QACtB,IAAI,GAAG,KAAK,IAAI,CAAC,WAAW;YAAE,OAAO;QACrC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YACzC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;QACzC,CAAC;IACL,CAAC;IACD,IAAI,UAAU,KAAa,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC7C,WAAW,GAAW,CAAC,CAAC;IAEhC;;OAEG;IAEH,IAAI,gBAAgB,CAAC,GAAW;QAC5B,IAAI,GAAG,KAAK,IAAI,CAAC,iBAAiB;YAAE,OAAO;QAC3C,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;QAC7B,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,KAAK,SAAS,EAAE,CAAC;YAC/C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;QACzC,CAAC;IACL,CAAC;IACD,IAAI,gBAAgB,KAAa,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACzD,iBAAiB,GAAW,CAAC,CAAC;IAEtC,uGAAuG;IAC/F,2BAA2B,GAAY,KAAK,CAAC;IAErD;;OAEG;IAEH,IAAI,OAAO,CAAC,GAAiB;QACzB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACpB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,KAAK,YAAY,CAAC,IAAI,CAAC;YAClD,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAChC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,KAAmB,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7C,QAAQ,GAAiB,CAAC,CAAC;IAEnC;;OAEG;IAEK,gBAAgB,GAAqB,gBAAgB,CAAC,QAAQ,CAAC;IAEvE;;;OAGG;IAEH,IAAI,SAAS,CAAC,GAAW;QACrB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC;QAC/B,CAAC;QACD,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;IAClF,CAAC;IACD,IAAI,SAAS,KAAa,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3C,UAAU,GAAW,CAAC,CAAC,CAAC;IAEhC;;OAEG;IAEH,IAAI,cAAc;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,KAAK,EAAE,MAAM,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,MAA4B,CAAC;YACtD,OAAO,GAAG,CAAC,GAAG,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;IACd,CAAC;IACD,IAAI,cAAc,CAAC,GAAW;QAC1B,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,KAAK,EAAE,MAAM,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,MAA4B,CAAC;YACtD,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;YACd,GAAG,CAAC,sBAAsB,EAAE,CAAC;QACjC,CAAC;IACL,CAAC;IACO,eAAe,CAAU;IACjC,gCAAgC;IACxB,WAAW,CAAU;IACrB,YAAY,CAAU;IAE9B;;OAEG;IAEH,IAAI,gBAAgB;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,KAAK,EAAE,MAAM,EAAE,CAAC;YAChB,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;IACd,CAAC;IACD,IAAI,gBAAgB,CAAC,GAAW;QAC5B,IAAI,GAAG,KAAK,IAAI,CAAC,iBAAiB;YAAE,OAAO;QAC3C,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,KAAK,EAAE,MAAM,EAAE,CAAC;YAChB,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACnC,KAAK,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;QACpC,CAAC;IACL,CAAC;IACO,iBAAiB,GAAY,SAAS,CAAC;IAE/C;;OAEG;IACH,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,gBAAgB,KAAK,gBAAgB,CAAC,KAAK,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,IAAY,WAAW;QACnB,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACrD,QAAQ,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAC3B,KAAK,WAAW,CAAC;YACjB,KAAK,YAAY,CAAC;YAClB,KAAK,kBAAkB;gBACnB,OAAO,IAAI,CAAC;QACpB,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,KAAK,GAA2B,SAAS,CAAC;IAElD;;;;OAIG;IACI,gBAAgB,CAAC,GAAY;QAChC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAED,KAAK;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC;QAC/C,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,QAAQ;QACJ,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;aACpB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAClB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;YACvC,IAAI,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;YACnF,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,gBAAgB;YACpB,CAAC;iBACI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU;gBAC1C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,SAAS;QACL,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACvD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,IAAI,CAAC,WAAW;gBAChB,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;;gBAEzB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;QACnC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,WAAW;QACP,MAAM,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC;QAE7C,IAAI,mBAAmB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACrC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAmC,CAAC;YACtD,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;YAEvC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAChB,KAAK,aAAa;oBACd,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAyB,CAAC,CAAC;oBACzD,MAAM;YACd,CAAC;QACL,CAAC;aACI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACnB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAChB,KAAK,aAAa;oBACd,qBAAqB;oBACrB,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC5E,kDAAkD;oBAClD,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;oBACjG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACrC,mBAAmB,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC9C,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;oBACtB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACtC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAEtC,IAAI,KAAK,EAAE,CAAC;wBACR,MAAM,eAAe,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,KAAyB,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;wBACnG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;wBACxC,2DAA2D;wBAC3D,8BAA8B;oBAClC,CAAC;oBACD,MAAM;gBAEV,KAAK,MAAM;oBACP,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC5L,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAChC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAEhC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;oBACvB,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC;oBACzC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;oBAC/B,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC/C,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACtC,MAAM;gBAEV,KAAK,OAAO;oBACR,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;oBACpF,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;oBAExB,gFAAgF;oBAChF,0BAA0B;oBAC1B,MAAM;gBAEV;oBACI,IAAI,KAAK;wBAAE,OAAO,CAAC,IAAI,CAAC,mCAAmC,SAAS,CAAC,IAAI,CAAC,IAAW,CAAC,KAAK,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;oBAC3H,MAAM;YAEd,CAAC;QACL,CAAC;QAGD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC;gBACpB,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;;gBAEvC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;YAE3C,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,CAAC,IAAI,EAAE,CAAC;gBACrC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;YACjC,CAAC;;gBACI,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;YAEnC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACpB,2FAA2F;gBAC3F,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,IAAI,IAAI,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;oBACrE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC;oBACzD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC;gBAC9D,CAAC;qBACI,CAAC;oBACF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;oBACvC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;gBAC5C,CAAC;gBACD,wCAAwC;gBACxC,0CAA0C;gBAC1C,UAAU;gBAEV,IAAI,KAAK;oBACL,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,CAAC,2BAA2B,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAEnH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;gBACzC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC;gBAErD,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAE5B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAA4B,CAAC;gBAC3D,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC;gBAChC,sDAAsD;gBACtD,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ;oBAC9E,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC;qBAC9B,sDAAsD;oBACvD,GAAG,CAAC,GAAG,GAAG,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAEpE,mBAAmB;gBACnB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnC,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;oBACjC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;oBACjC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;gBACrC,CAAC;qBACI,CAAC;oBACF,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;oBACnC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;oBACf,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;gBACpB,CAAC;gBACD,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;oBAClC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;oBAChC,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;gBACxC,CAAC;qBACI,CAAC;oBACF,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;oBACnC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC;oBACd,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;gBACrB,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;gBAErC,IAAI,KAAK;oBACL,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;YACtD,CAAC;YAID,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAClC,CAAC;iBACI,IAAI,CAAC,mBAAmB;gBACzB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;IAEL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,kCAAkC,GAAY,IAAI,CAAC;IAE1D;;OAEG;IACK,oBAAoB;QACxB,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QACxB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO;QAC/B,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,CAAC,IAAI,EAAE,CAAC;YACrC,6DAA6D;YAC7D,0DAA0D;YAC1D,qCAAqC;YACrC,2CAA2C;YAC3C,0BAA0B;YAC1B,sCAAsC;YACtC,sFAAsF;YACtF,IAAI;YACJ,kDAAkD;YAClD,iEAAiE;YACjE,uVAAuV;YACvV,+DAA+D;YAC/D,QAAQ;YACR,IAAI;QACR,CAAC;aACI,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC;QACtC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,KAAwB;QAC9B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,UAAU,CAAC,IAAuB;QAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,SAAS,CAAC,KAAwB;QAC9B,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAED;;8EAE0E;IAClE,YAAY,CAAC,QAAgB;QACjC,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QACxB,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;QAClD,IAAI,UAAU,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAgC,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QAC7E,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,mBAAmB,CAAC,QAA0B;QAClD,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9B,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACvC,0HAA0H;IAC9H,CAAC;;AAjgBD;IADC,YAAY,EAAE;iCA0Bd;AASD;IADC,YAAY,EAAE;kCAGd;AAcD;IADC,YAAY,EAAE;sCAGd;AAgBD;IADC,YAAY,EAAE;2CAGd;AAgBD;IADC,YAAY,CAAC,KAAK,CAAC;kCAMnB;AAWD;IADC,YAAY,EAAE;4CAQd;AAQD;IADC,YAAY,EAAE;uCAQd;AAQD;IADC,YAAY,EAAE;6CAQd;AAWD;IADC,YAAY,EAAE;oCAOd;AAQO;IADP,YAAY,EAAE;+CACwD;AAOvE;IADC,YAAY,EAAE;sCAOd;AAQD;IADC,YAAY,EAAE;2CAQd;AAmBD;IADC,YAAY,EAAE;6CAOd;AA2SL,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -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 & {
|
|
@@ -578,7 +578,15 @@ export class OrbitControls extends Behaviour {
|
|
|
578
578
|
return;
|
|
579
579
|
}
|
|
580
580
|
this._controls.enabled = true;
|
|
581
|
-
|
|
581
|
+
// Interrupt programmatic transitions on meaningful new user interaction:
|
|
582
|
+
// - Middle/right button down (always intentional camera control)
|
|
583
|
+
// - Mouse wheel (zoom intent)
|
|
584
|
+
// - Left button drag start: getPointerDown(0) with a position delta — a bare click
|
|
585
|
+
// without movement shouldn't cancel an animation, but starting to drag should.
|
|
586
|
+
// Using getPointerDown (not getPointerPressed) ensures we only interrupt once at
|
|
587
|
+
// drag onset, not continuously every frame during a drag.
|
|
588
|
+
const leftDragStart = this.context.input.getPointerDown(0) && (this.context.input.getPointerPositionDelta(0)?.length() || 0) > .1;
|
|
589
|
+
if (this.context.input.getPointerDown(1) || this.context.input.getPointerDown(2) || this.context.input.mouseWheelChanged || leftDragStart) {
|
|
582
590
|
this._inputs += 1;
|
|
583
591
|
}
|
|
584
592
|
if (this._inputs > 0 && this.allowInterrupt) {
|
|
@@ -669,22 +677,25 @@ export class OrbitControls extends Behaviour {
|
|
|
669
677
|
}
|
|
670
678
|
if (this.targetBounds) {
|
|
671
679
|
// #region target bounds
|
|
672
|
-
const targetVector = this._controls.target;
|
|
673
680
|
const boundsCenter = this.targetBounds.worldPosition;
|
|
674
681
|
const boundsHalfSize = getTempVector(this.targetBounds.worldScale).multiplyScalar(0.5);
|
|
675
682
|
const min = getTempVector(boundsCenter).sub(boundsHalfSize);
|
|
676
683
|
const max = getTempVector(boundsCenter).add(boundsHalfSize);
|
|
677
|
-
const newTarget = getTempVector(this._controls.target).clamp(min, max);
|
|
678
|
-
const duration = .1;
|
|
679
|
-
if (duration <= 0)
|
|
680
|
-
targetVector.copy(newTarget);
|
|
681
|
-
else
|
|
682
|
-
targetVector.lerp(newTarget, this.context.time.deltaTime / duration);
|
|
683
684
|
if (this._lookTargetLerpActive) {
|
|
685
|
+
// During a programmatic transition (fitCamera / setLookTargetPosition with immediate: false),
|
|
686
|
+
// only clamp the destination. The look-target lerp (above) handles moving _controls.target
|
|
687
|
+
// towards the endpoint — we must not fight it by also lerping _controls.target here.
|
|
688
|
+
this._lookTargetEndPosition.clamp(min, max);
|
|
689
|
+
}
|
|
690
|
+
else {
|
|
691
|
+
// Interactive use (pan/orbit): smoothly push the target back into bounds
|
|
692
|
+
const targetVector = this._controls.target;
|
|
693
|
+
const newTarget = getTempVector(targetVector).clamp(min, max);
|
|
694
|
+
const duration = .1;
|
|
684
695
|
if (duration <= 0)
|
|
685
|
-
|
|
696
|
+
targetVector.copy(newTarget);
|
|
686
697
|
else
|
|
687
|
-
|
|
698
|
+
targetVector.lerp(newTarget, Math.min(1, this.context.time.deltaTime / duration));
|
|
688
699
|
}
|
|
689
700
|
if (debug) {
|
|
690
701
|
Gizmos.DrawWireBox(boundsCenter, boundsHalfSize.multiplyScalar(2), 0xffaa00);
|
|
@@ -755,7 +766,8 @@ export class OrbitControls extends Behaviour {
|
|
|
755
766
|
}
|
|
756
767
|
this._controls.update(this.context.time.deltaTime);
|
|
757
768
|
if (debug) {
|
|
758
|
-
|
|
769
|
+
const distance = this._controls.getDistance();
|
|
770
|
+
Gizmos.DrawWireSphere(this._controls.target, 0.01 * distance, 0x00ff00);
|
|
759
771
|
}
|
|
760
772
|
}
|
|
761
773
|
}
|
|
@@ -918,7 +930,8 @@ export class OrbitControls extends Behaviour {
|
|
|
918
930
|
this._didSetTarget++;
|
|
919
931
|
if (debug) {
|
|
920
932
|
console.warn("OrbitControls: setLookTargetPosition", position, immediateOrDuration);
|
|
921
|
-
|
|
933
|
+
const distance = this._controls.getDistance();
|
|
934
|
+
Gizmos.DrawWireSphere(this._lookTargetEndPosition, 0.01 * distance, 0xff5500, 2);
|
|
922
935
|
}
|
|
923
936
|
if (immediateOrDuration === true) {
|
|
924
937
|
this.lerpLookTarget(this._lookTargetEndPosition, this._lookTargetEndPosition, 1);
|
|
@@ -981,6 +994,11 @@ export class OrbitControls extends Behaviour {
|
|
|
981
994
|
}
|
|
982
995
|
return false;
|
|
983
996
|
}
|
|
997
|
+
// Deprecated overload commented out: it accepted Object3D as first arg, which caused
|
|
998
|
+
// TypeScript autocomplete to show Object3D properties (position, worldPosition, etc.)
|
|
999
|
+
// instead of OrbitFitCameraOptions. The implementation still handles Object3D at runtime
|
|
1000
|
+
// for backwards-compat — use fitCamera({ objects: [...] }) instead.
|
|
1001
|
+
// fitCamera(objects?: Object3D | Array<Object3D>, options?: Omit<OrbitFitCameraOptions, "objects">);
|
|
984
1002
|
fitCamera(objectsOrOptions, options) {
|
|
985
1003
|
let objects = undefined;
|
|
986
1004
|
// If the user passed in an array as first argument
|