@needle-tools/engine 4.3.0-alpha → 4.3.0-alpha.1
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 +3 -0
- package/dist/needle-engine.bundle.js +1467 -222
- package/dist/needle-engine.bundle.light.js +1467 -222
- package/dist/needle-engine.bundle.light.min.js +32 -32
- package/dist/needle-engine.bundle.light.umd.cjs +3 -3
- package/dist/needle-engine.bundle.min.js +3 -3
- package/dist/needle-engine.bundle.umd.cjs +3 -3
- package/dist/needle-engine.light.d.ts +9 -9
- package/lib/engine/engine_types.d.ts +162 -17
- package/lib/engine-components/Animator.d.ts +129 -21
- package/lib/engine-components/Animator.js +115 -21
- package/lib/engine-components/Animator.js.map +1 -1
- package/lib/engine-components/AnimatorController.d.ts +161 -32
- package/lib/engine-components/AnimatorController.js +176 -29
- package/lib/engine-components/AnimatorController.js.map +1 -1
- package/lib/engine-components/AudioListener.d.ts +16 -5
- package/lib/engine-components/AudioListener.js +16 -5
- package/lib/engine-components/AudioListener.js.map +1 -1
- package/lib/engine-components/AudioSource.d.ts +120 -28
- package/lib/engine-components/AudioSource.js +120 -37
- package/lib/engine-components/AudioSource.js.map +1 -1
- package/lib/engine-components/AvatarLoader.d.ts +61 -0
- package/lib/engine-components/AvatarLoader.js +61 -1
- package/lib/engine-components/AvatarLoader.js.map +1 -1
- package/lib/engine-components/AxesHelper.d.ts +19 -1
- package/lib/engine-components/AxesHelper.js +19 -1
- package/lib/engine-components/AxesHelper.js.map +1 -1
- package/lib/engine-components/BoxHelperComponent.d.ts +26 -0
- package/lib/engine-components/BoxHelperComponent.js +26 -0
- package/lib/engine-components/BoxHelperComponent.js.map +1 -1
- package/lib/engine-components/Camera.d.ts +126 -37
- package/lib/engine-components/Camera.js +139 -37
- package/lib/engine-components/Camera.js.map +1 -1
- package/lib/engine-components/CameraUtils.js +20 -0
- package/lib/engine-components/CameraUtils.js.map +1 -1
- package/lib/engine-components/Collider.d.ts +95 -21
- package/lib/engine-components/Collider.js +100 -23
- package/lib/engine-components/Collider.js.map +1 -1
- package/lib/engine-components/Component.d.ts +554 -106
- package/lib/engine-components/Component.js +352 -81
- package/lib/engine-components/Component.js.map +1 -1
- package/lib/engine-components/DragControls.d.ts +95 -21
- package/lib/engine-components/DragControls.js +126 -32
- package/lib/engine-components/DragControls.js.map +1 -1
- package/lib/engine-components/DropListener.d.ts +99 -16
- package/lib/engine-components/DropListener.js +119 -14
- package/lib/engine-components/DropListener.js.map +1 -1
- package/lib/engine-components/Light.d.ts +102 -5
- package/lib/engine-components/Light.js +102 -44
- package/lib/engine-components/Light.js.map +1 -1
- package/lib/engine-components/NeedleMenu.d.ts +28 -11
- package/lib/engine-components/NeedleMenu.js +28 -11
- package/lib/engine-components/NeedleMenu.js.map +1 -1
- package/lib/engine-components/Networking.d.ts +37 -5
- package/lib/engine-components/Networking.js +37 -5
- package/lib/engine-components/Networking.js.map +1 -1
- package/lib/engine-components/SceneSwitcher.js +44 -0
- package/lib/engine-components/SceneSwitcher.js.map +1 -1
- package/lib/engine-components/SpatialTrigger.d.ts +66 -1
- package/lib/engine-components/SpatialTrigger.js +74 -2
- package/lib/engine-components/SpatialTrigger.js.map +1 -1
- package/lib/engine-components/SpectatorCamera.d.ts +66 -4
- package/lib/engine-components/SpectatorCamera.js +132 -6
- package/lib/engine-components/SpectatorCamera.js.map +1 -1
- package/lib/engine-components/SyncedTransform.d.ts +45 -6
- package/lib/engine-components/SyncedTransform.js +45 -6
- package/lib/engine-components/SyncedTransform.js.map +1 -1
- package/lib/engine-components/TransformGizmo.d.ts +49 -3
- package/lib/engine-components/TransformGizmo.js +49 -3
- package/lib/engine-components/TransformGizmo.js.map +1 -1
- package/lib/engine-components/webxr/WebXR.d.ts +131 -22
- package/lib/engine-components/webxr/WebXR.js +132 -23
- package/lib/engine-components/webxr/WebXR.js.map +1 -1
- package/lib/engine-components-experimental/networking/PlayerSync.d.ts +82 -9
- package/lib/engine-components-experimental/networking/PlayerSync.js +76 -11
- package/lib/engine-components-experimental/networking/PlayerSync.js.map +1 -1
- package/package.json +1 -1
- package/src/engine/engine_types.ts +179 -18
- package/src/engine-components/Animator.ts +142 -22
- package/src/engine-components/AnimatorController.ts +184 -34
- package/src/engine-components/AudioListener.ts +16 -5
- package/src/engine-components/AudioSource.ts +126 -37
- package/src/engine-components/AvatarLoader.ts +61 -2
- package/src/engine-components/AxesHelper.ts +21 -1
- package/src/engine-components/BoxHelperComponent.ts +26 -0
- package/src/engine-components/Camera.ts +147 -41
- package/src/engine-components/CameraUtils.ts +20 -0
- package/src/engine-components/Collider.ts +102 -27
- package/src/engine-components/Component.ts +605 -129
- package/src/engine-components/DragControls.ts +134 -38
- package/src/engine-components/DropListener.ts +143 -23
- package/src/engine-components/Light.ts +105 -44
- package/src/engine-components/NeedleMenu.ts +29 -11
- package/src/engine-components/Networking.ts +37 -6
- package/src/engine-components/SceneSwitcher.ts +48 -1
- package/src/engine-components/SpatialTrigger.ts +80 -3
- package/src/engine-components/SpectatorCamera.ts +136 -18
- package/src/engine-components/SyncedTransform.ts +50 -7
- package/src/engine-components/TransformGizmo.ts +49 -4
- package/src/engine-components/webxr/WebXR.ts +144 -27
- package/src/engine-components-experimental/networking/PlayerSync.ts +85 -13
|
@@ -20,29 +20,50 @@ import { getParam, setParamWithoutReload } from "../engine/engine_utils.js";
|
|
|
20
20
|
import { Animation } from "./Animation.js";
|
|
21
21
|
import { Behaviour } from "./Component.js";
|
|
22
22
|
import { EventList } from "./EventList.js";
|
|
23
|
+
/**
|
|
24
|
+
* Debug mode can be enabled with the URL parameter `?debugdroplistener`, which
|
|
25
|
+
* logs additional information during drag and drop events and visualizes hit points.
|
|
26
|
+
*/
|
|
23
27
|
const debug = getParam("debugdroplistener");
|
|
28
|
+
/**
|
|
29
|
+
* Events dispatched by the DropListener component
|
|
30
|
+
* @enum {string}
|
|
31
|
+
*/
|
|
24
32
|
export var DropListenerEvents;
|
|
25
33
|
(function (DropListenerEvents) {
|
|
26
34
|
/**
|
|
27
|
-
* Dispatched when a file is dropped into the scene. The detail of the event is the
|
|
35
|
+
* Dispatched when a file is dropped into the scene. The detail of the event is the {@link File} that was dropped.
|
|
36
|
+
* The event is called once for each dropped file.
|
|
28
37
|
*/
|
|
29
38
|
DropListenerEvents["FileDropped"] = "file-dropped";
|
|
30
39
|
/**
|
|
31
|
-
* Dispatched when a new object is added to the scene. The detail of the event
|
|
40
|
+
* Dispatched when a new object is added to the scene. The detail of the event contains {@link DropListenerOnDropArguments} for the content that was added.
|
|
32
41
|
*/
|
|
33
42
|
DropListenerEvents["ObjectAdded"] = "object-added";
|
|
34
43
|
})(DropListenerEvents || (DropListenerEvents = {}));
|
|
35
|
-
/**
|
|
44
|
+
/**
|
|
45
|
+
* CustomEvent dispatched when an object is added to the scene via the DropListener
|
|
46
|
+
*/
|
|
36
47
|
class DropListenerAddedEvent extends CustomEvent {
|
|
48
|
+
/**
|
|
49
|
+
* Creates a new added event with the provided details
|
|
50
|
+
* @param detail Information about the added object
|
|
51
|
+
*/
|
|
37
52
|
constructor(detail) {
|
|
38
53
|
super(DropListenerEvents.ObjectAdded, { detail });
|
|
39
54
|
}
|
|
40
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* Key name used for blob storage parameters
|
|
58
|
+
*/
|
|
41
59
|
const blobKeyName = "blob";
|
|
42
60
|
/** The DropListener component is used to listen for drag and drop events in the browser and add the dropped files to the scene
|
|
43
61
|
* It can be used to allow users to drag and drop glTF files into the scene to add new objects.
|
|
44
62
|
*
|
|
45
|
-
*
|
|
63
|
+
* If {@link useNetworking} is enabled, the DropListener will automatically synchronize dropped files to other connected clients.
|
|
64
|
+
* Enable {@link fitIntoVolume} to automatically scale dropped objects to fit within the volume defined by {@link fitVolumeSize}.
|
|
65
|
+
*
|
|
66
|
+
* The following events are dispatched by the DropListener:
|
|
46
67
|
* - **object-added** - dispatched when a new object is added to the scene
|
|
47
68
|
* - **file-dropped** - dispatched when a file is dropped into the scene
|
|
48
69
|
*
|
|
@@ -69,31 +90,36 @@ const blobKeyName = "blob";
|
|
|
69
90
|
*/
|
|
70
91
|
export class DropListener extends Behaviour {
|
|
71
92
|
/**
|
|
72
|
-
* When enabled the DropListener will automatically
|
|
93
|
+
* When enabled, the DropListener will automatically synchronize dropped files to other connected clients.
|
|
94
|
+
* When a file is dropped locally, it will be uploaded to blob storage and the URL will be shared with other clients.
|
|
73
95
|
*/
|
|
74
96
|
useNetworking = true;
|
|
75
97
|
/**
|
|
76
|
-
* When assigned the
|
|
98
|
+
* When assigned, the DropListener will only accept files that are dropped on this specific object.
|
|
99
|
+
* This allows creating designated drop zones in your scene.
|
|
77
100
|
*/
|
|
78
101
|
dropArea;
|
|
79
102
|
/**
|
|
80
|
-
* When enabled
|
|
103
|
+
* When enabled, dropped objects will be automatically scaled to fit within the volume defined by fitVolumeSize.
|
|
104
|
+
* Useful for ensuring dropped models appear at an appropriate scale.
|
|
81
105
|
* @default false
|
|
82
106
|
*/
|
|
83
107
|
fitIntoVolume = false;
|
|
84
108
|
/**
|
|
85
|
-
*
|
|
109
|
+
* Defines the dimensions of the volume that dropped objects will be scaled to fit within.
|
|
110
|
+
* Only used when fitIntoVolume is enabled.
|
|
86
111
|
*/
|
|
87
112
|
fitVolumeSize = new Vector3(1, 1, 1);
|
|
88
|
-
/**
|
|
113
|
+
/**
|
|
114
|
+
* When enabled, dropped objects will be positioned at the point where the cursor hit the scene.
|
|
115
|
+
* When disabled, objects will be placed at the origin of the DropListener.
|
|
89
116
|
* @default true
|
|
90
117
|
*/
|
|
91
118
|
placeAtHitPosition = true;
|
|
92
119
|
/**
|
|
93
|
-
*
|
|
94
|
-
*
|
|
120
|
+
* Event list that gets invoked after a file has been successfully added to the scene.
|
|
121
|
+
* Receives {@link DropListenerOnDropArguments} containing the added object and related information.
|
|
95
122
|
* @event object-added
|
|
96
|
-
* @param {DropListenerOnDropArguments} evt
|
|
97
123
|
* @example
|
|
98
124
|
* ```typescript
|
|
99
125
|
* dropListener.onDropped.addEventListener((evt) => {
|
|
@@ -128,6 +154,10 @@ export class DropListener extends Behaviour {
|
|
|
128
154
|
forgetObjects() {
|
|
129
155
|
this.removePreviouslyAddedObjects(false);
|
|
130
156
|
}
|
|
157
|
+
/**
|
|
158
|
+
* Handles network events received from other clients containing information about dropped objects
|
|
159
|
+
* @param evt Network event data containing object information, position, and content URL
|
|
160
|
+
*/
|
|
131
161
|
onNetworkEvent = (evt) => {
|
|
132
162
|
if (!this.useNetworking) {
|
|
133
163
|
if (debug)
|
|
@@ -149,6 +179,11 @@ export class DropListener extends Behaviour {
|
|
|
149
179
|
}
|
|
150
180
|
}
|
|
151
181
|
};
|
|
182
|
+
/**
|
|
183
|
+
* Handles clipboard paste events and processes them as potential URL drops
|
|
184
|
+
* Only URLs are processed by this handler, and only when editing is allowed
|
|
185
|
+
* @param evt The paste event
|
|
186
|
+
*/
|
|
152
187
|
handlePaste = (evt) => {
|
|
153
188
|
if (this.context.connection.allowEditing === false)
|
|
154
189
|
return;
|
|
@@ -168,12 +203,22 @@ export class DropListener extends Behaviour {
|
|
|
168
203
|
})
|
|
169
204
|
.catch(console.warn);
|
|
170
205
|
};
|
|
206
|
+
/**
|
|
207
|
+
* Handles drag events over the renderer's canvas
|
|
208
|
+
* Prevents default behavior to enable drop events
|
|
209
|
+
* @param evt The drag event
|
|
210
|
+
*/
|
|
171
211
|
onDrag = (evt) => {
|
|
172
212
|
if (this.context.connection.allowEditing === false)
|
|
173
213
|
return;
|
|
174
214
|
// necessary to get drop event
|
|
175
215
|
evt.preventDefault();
|
|
176
216
|
};
|
|
217
|
+
/**
|
|
218
|
+
* Processes drop events to add files to the scene
|
|
219
|
+
* Handles both file drops and text/URL drops
|
|
220
|
+
* @param evt The drop event
|
|
221
|
+
*/
|
|
177
222
|
onDrop = async (evt) => {
|
|
178
223
|
if (this.context.connection.allowEditing === false)
|
|
179
224
|
return;
|
|
@@ -217,6 +262,14 @@ export class DropListener extends Behaviour {
|
|
|
217
262
|
await this.addDroppedFiles(files, ctx);
|
|
218
263
|
}
|
|
219
264
|
};
|
|
265
|
+
/**
|
|
266
|
+
* Processes a dropped or pasted URL and tries to load it as a 3D model
|
|
267
|
+
* Handles special cases like GitHub URLs and Polyhaven asset URLs
|
|
268
|
+
* @param url The URL to process
|
|
269
|
+
* @param ctx Context information about where the drop occurred
|
|
270
|
+
* @param isRemote Whether this URL was shared from a remote client
|
|
271
|
+
* @returns The added object or null if loading failed
|
|
272
|
+
*/
|
|
220
273
|
async addFromUrl(url, ctx, isRemote) {
|
|
221
274
|
if (debug)
|
|
222
275
|
console.log("dropped url", url);
|
|
@@ -262,6 +315,12 @@ export class DropListener extends Behaviour {
|
|
|
262
315
|
return null;
|
|
263
316
|
}
|
|
264
317
|
_abort = null;
|
|
318
|
+
/**
|
|
319
|
+
* Processes dropped files, loads them as 3D models, and handles networking if enabled
|
|
320
|
+
* Creates an abort controller to cancel previous uploads if new files are dropped
|
|
321
|
+
* @param fileList Array of dropped files
|
|
322
|
+
* @param ctx Context information about where the drop occurred
|
|
323
|
+
*/
|
|
265
324
|
async addDroppedFiles(fileList, ctx) {
|
|
266
325
|
if (debug)
|
|
267
326
|
console.log("Add files", fileList);
|
|
@@ -305,7 +364,10 @@ export class DropListener extends Behaviour {
|
|
|
305
364
|
/** Previously added objects */
|
|
306
365
|
_addedObjects = new Array();
|
|
307
366
|
_addedModels = new Array();
|
|
308
|
-
/**
|
|
367
|
+
/**
|
|
368
|
+
* Removes all previously added objects from the scene
|
|
369
|
+
* @param doDestroy When true, destroys the objects; when false, just clears the references
|
|
370
|
+
*/
|
|
309
371
|
removePreviouslyAddedObjects(doDestroy = true) {
|
|
310
372
|
if (doDestroy) {
|
|
311
373
|
for (const prev of this._addedObjects) {
|
|
@@ -318,7 +380,13 @@ export class DropListener extends Behaviour {
|
|
|
318
380
|
this._addedModels.length = 0;
|
|
319
381
|
}
|
|
320
382
|
/**
|
|
321
|
-
* Adds
|
|
383
|
+
* Adds a loaded model to the scene with proper positioning and scaling.
|
|
384
|
+
* Handles placement based on component settings and raycasting.
|
|
385
|
+
* If {@link fitIntoVolume} is enabled, the object will be scaled to fit within the volume defined by {@link fitVolumeSize}.
|
|
386
|
+
* @param data The loaded model data and content hash
|
|
387
|
+
* @param ctx Context information about where the drop occurred
|
|
388
|
+
* @param isRemote Whether this object was shared from a remote client
|
|
389
|
+
* @returns The added object or null if adding failed
|
|
322
390
|
*/
|
|
323
391
|
addObject(data, ctx, isRemote) {
|
|
324
392
|
const { model, contentMD5 } = data;
|
|
@@ -377,6 +445,13 @@ export class DropListener extends Behaviour {
|
|
|
377
445
|
}
|
|
378
446
|
return obj;
|
|
379
447
|
}
|
|
448
|
+
/**
|
|
449
|
+
* Sends a network event to other clients about a dropped object
|
|
450
|
+
* Only triggered when networking is enabled and the connection is established
|
|
451
|
+
* @param url The URL to the content that was dropped
|
|
452
|
+
* @param obj The object that was added to the scene
|
|
453
|
+
* @param contentmd5 The content hash for verification
|
|
454
|
+
*/
|
|
380
455
|
async sendDropEvent(url, obj, contentmd5) {
|
|
381
456
|
if (!this.useNetworking) {
|
|
382
457
|
if (debug)
|
|
@@ -397,9 +472,18 @@ export class DropListener extends Behaviour {
|
|
|
397
472
|
this.context.connection.send("droplistener", evt);
|
|
398
473
|
}
|
|
399
474
|
}
|
|
475
|
+
/**
|
|
476
|
+
* Deletes remote state for this DropListener's objects
|
|
477
|
+
* Called when new files are dropped to clean up previous state
|
|
478
|
+
*/
|
|
400
479
|
deleteDropEvent() {
|
|
401
480
|
this.context.connection.sendDeleteRemoteState(this.guid);
|
|
402
481
|
}
|
|
482
|
+
/**
|
|
483
|
+
* Tests if a drop event occurred within the designated drop area if one is specified
|
|
484
|
+
* @param ctx The drop context containing screen position information
|
|
485
|
+
* @returns True if the drop is valid (either no drop area is set or the drop occurred inside it)
|
|
486
|
+
*/
|
|
403
487
|
testIfIsInDropArea(ctx) {
|
|
404
488
|
if (this.dropArea) {
|
|
405
489
|
const screenPoint = this.context.input.convertScreenspaceToRaycastSpace(ctx.screenposition.clone());
|
|
@@ -441,6 +525,11 @@ __decorate([
|
|
|
441
525
|
__decorate([
|
|
442
526
|
serializable(EventList)
|
|
443
527
|
], DropListener.prototype, "onDropped", void 0);
|
|
528
|
+
/**
|
|
529
|
+
* Attempts to convert a Polyhaven website URL to a direct glTF model download URL
|
|
530
|
+
* @param urlStr The original Polyhaven URL
|
|
531
|
+
* @returns The direct download URL for the glTF model if it's a valid Polyhaven asset URL, otherwise returns the original URL
|
|
532
|
+
*/
|
|
444
533
|
function tryResolvePolyhavenAssetUrl(urlStr) {
|
|
445
534
|
if (!urlStr.startsWith("https://polyhaven.com/"))
|
|
446
535
|
return urlStr;
|
|
@@ -454,8 +543,18 @@ function tryResolvePolyhavenAssetUrl(urlStr) {
|
|
|
454
543
|
// TODO: need to resolve textures properly
|
|
455
544
|
return assetUrl;
|
|
456
545
|
}
|
|
546
|
+
/**
|
|
547
|
+
* Helper namespace for loading files and models from various sources
|
|
548
|
+
*/
|
|
457
549
|
var FileHelper;
|
|
458
550
|
(function (FileHelper) {
|
|
551
|
+
/**
|
|
552
|
+
* Loads and processes a File object into a 3D model
|
|
553
|
+
* @param file The file to load (supported formats: gltf, glb, fbx, obj, usdz, vrm)
|
|
554
|
+
* @param context The application context
|
|
555
|
+
* @param args Additional arguments including a unique guid for instantiation
|
|
556
|
+
* @returns Promise containing the loaded model and its content hash, or null if loading failed
|
|
557
|
+
*/
|
|
459
558
|
async function loadFile(file, context, args) {
|
|
460
559
|
const name = file.name.toLowerCase();
|
|
461
560
|
if (name.endsWith(".gltf") ||
|
|
@@ -488,6 +587,12 @@ var FileHelper;
|
|
|
488
587
|
return null;
|
|
489
588
|
}
|
|
490
589
|
FileHelper.loadFile = loadFile;
|
|
590
|
+
/**
|
|
591
|
+
* Loads a 3D model from a URL with progress visualization
|
|
592
|
+
* @param url The URL to load the model from
|
|
593
|
+
* @param args Arguments including context, parent object, and optional placement information
|
|
594
|
+
* @returns Promise containing the loaded model and its content hash, or null if loading failed
|
|
595
|
+
*/
|
|
491
596
|
async function loadFileFromURL(url, args) {
|
|
492
597
|
return new Promise(async (resolve, _reject) => {
|
|
493
598
|
const prov = new InstantiateIdProvider(args.guid);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropListener.js","sourceRoot":"","sources":["../../src/engine-components/DropListener.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DropListener.js","sourceRoot":"","sources":["../../src/engine-components/DropListener.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAc,IAAI,EAAS,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAG5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAgB,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACjG,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtG,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;;GAGG;AACH,MAAM,KAAK,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAC;AAE5C;;;GAGG;AACH,MAAM,CAAN,IAAY,kBAUX;AAVD,WAAY,kBAAkB;IAC1B;;;OAGG;IACH,kDAA4B,CAAA;IAC5B;;OAEG;IACH,kDAA4B,CAAA;AAChC,CAAC,EAVW,kBAAkB,KAAlB,kBAAkB,QAU7B;AAqDD;;GAEG;AACH,MAAM,sBAA8D,SAAQ,WAAc;IACtF;;;OAGG;IACH,YAAY,MAAS;QACjB,KAAK,CAAC,kBAAkB,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACtD,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,GAAG,MAAM,CAAC;AAE3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,OAAO,YAAa,SAAQ,SAAS;IAEvC;;;OAGG;IAEH,aAAa,GAAY,IAAI,CAAC;IAE9B;;;OAGG;IAEH,QAAQ,CAAY;IAEpB;;;;OAIG;IAEH,aAAa,GAAY,KAAK,CAAC;IAE/B;;;OAGG;IAEH,aAAa,GAAG,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAErC;;;;OAIG;IAEH,kBAAkB,GAAY,IAAI,CAAC;IAEnC;;;;;;;;;OASG;IAEH,SAAS,GAA2C,IAAI,SAAS,EAAE,CAAC;IAEpE,gBAAgB;IAChB,QAAQ;QACJ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3E,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACvE,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;IAC5E,CAAC;IACD,gBAAgB;IAChB,SAAS;QACL,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9E,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1E,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAC5E,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,GAAW,EAAE,IAAoC;QACzD,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,IAAI,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,EAAE,IAAI,CAAC,CAAC;IACzG,CAAC;IAED;;;OAGG;IACH,aAAa;QACT,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACK,cAAc,GAAG,CAAC,GAAsC,EAAE,EAAE;QAChE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACrB,IAAI,KAAK;gBAAE,OAAO,CAAC,KAAK,CAAC,wEAAwE,EAAE,GAAG,CAAC,CAAC;YACxG,OAAO;SACV;QACD,IAAI,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACjC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC;YAC9D,IAAI,GAAG,EAAE;gBACL,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBACpB,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE;wBACpB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,cAAc,EAAE,IAAI,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,EAAE,IAAI,CAAC,CAAC;qBACrG;iBACJ;qBACI;oBACD,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,IAAI,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;iBACnG;aACJ;SACJ;IACL,CAAC,CAAA;IAED;;;;OAIG;IACK,WAAW,GAAG,CAAC,GAAU,EAAE,EAAE;QACjC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,KAAK,KAAK;YAAE,OAAO;QAC3D,IAAI,GAAG,CAAC,gBAAgB;YAAE,OAAO;QACjC,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;QACtC,SAAS,CAAC,QAAQ,EAAE;aACf,IAAI,CAAC,KAAK,CAAC,EAAE;YACV,IAAI,KAAK,EAAE;gBACP,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAChG,IAAI,KAAK,EAAE;oBACP,MAAM,GAAG,GAAG,EAAE,cAAc,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpH,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC;wBAC5B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;iBAC1C;aACJ;QACL,CAAC,CAAC;aACD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAA;IAED;;;;OAIG;IACK,MAAM,GAAG,CAAC,GAAc,EAAE,EAAE;QAChC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,KAAK,KAAK;YAAE,OAAO;QAC3D,8BAA8B;QAC9B,GAAG,CAAC,cAAc,EAAE,CAAC;IACzB,CAAC,CAAA;IAED;;;;OAIG;IACK,MAAM,GAAG,KAAK,EAAE,GAAc,EAAE,EAAE;QACtC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,KAAK,KAAK;YAAE,OAAO;QAE3D,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG,EAAE,YAAY;YAAE,OAAO;QAC/B,qEAAqE;QACrE,IAAI,GAAG,CAAC,sBAAsB,CAAC;YAAE,OAAO;QACxC,GAAG,CAAC,cAAc,EAAE,CAAC;QAErB,MAAM,GAAG,GAAgB,EAAE,cAAc,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAEnF,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,GAAG,KAAK,KAAK;gBAAE,OAAO;SAC7B;QAED,4EAA4E;QAC5E,kCAAkC;QAClC,2CAA2C;QAC3C,GAAG,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC;QAEnC,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,MAAM,KAAK,GAAW,EAAE,CAAC;QACzB,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;YACrB,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YACtB,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,EAAE;gBACpB,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;gBAC5B,IAAI,CAAC,IAAI;oBAAE,SAAS;gBACpB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACpB;iBACI,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ,IAAI,EAAE,CAAC,IAAI,IAAI,YAAY,EAAE;gBACtD,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;oBACjB,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAC;aACN;SACJ;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAClB,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;SAC1C;IACL,CAAC,CAAA;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,UAAU,CAAC,GAAW,EAAE,GAAgB,EAAE,QAAiB;QACrE,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAE3C,IAAI;YACA,IAAI,GAAG,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE;gBACvC,qCAAqC;gBACrC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACxB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACtC,GAAG,GAAG,qCAAqC,IAAI,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;aAC/E;iBACI,IAAI,GAAG,CAAC,UAAU,CAAC,yBAAyB,CAAC,EAAE;gBAChD,GAAG,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAC;aAC1C;YACD,IAAI,CAAC,GAAG;gBAAE,OAAO,IAAI,CAAC;YAEtB,wBAAwB;YACxB,MAAM,YAAY,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YACvC,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;gBACtM,OAAO,IAAI,CAAC;aACf;YAED,yDAAyD;YACzD,IAAI,CAAC,4BAA4B,EAAE,CAAC;YACpC,kEAAkE;YAClE,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE;gBACvD,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM,EAAE,IAAI,CAAC,UAAU;gBACvB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,IAAI,EAAE,GAAG,CAAC,IAAI;aACjB,CAAC,CAAC;YACH,IAAI,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE;gBACvC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;gBACd,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAC/C,OAAO,GAAG,CAAC;aACd;SACJ;QACD,OAAO,CAAC,EAAE;YACN,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;SAClD;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,MAAM,GAA2B,IAAI,CAAC;IAE9C;;;;;OAKG;IACK,KAAK,CAAC,eAAe,CAAC,QAAqB,EAAE,GAAgB;QACjE,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;QAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAAE,OAAO;QACrC,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO;QAE7B,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACpC,qBAAqB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAEzC,4DAA4D;QAC5D,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAEpC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;YACzB,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/E,IAAI,GAAG,EAAE;gBACL,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kBAAkB,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACtF,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;gBAChB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;gBAE5C,+DAA+D;gBAC/D,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,IAAI,IAAI,CAAC,aAAa,EAAE;oBAClE,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;oBACxD,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC;yBACpD,IAAI,CAAC,MAAM,CAAC,EAAE;wBACX,+EAA+E;wBAC/E,IAAI,MAAM,EAAE,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;4BAC1D,kDAAkD;4BAClD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;yBAChE;oBACL,CAAC,CAAC;yBACD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;iBAC5B;gBAED,8CAA8C;gBAC9C,MAAM;aACT;SACJ;IACL,CAAC;IAED,+BAA+B;IACd,aAAa,GAAG,IAAI,KAAK,EAAY,CAAC;IACtC,YAAY,GAAG,IAAI,KAAK,EAAS,CAAC;IAEnD;;;OAGG;IACK,4BAA4B,CAAC,YAAqB,IAAI;QAC1D,IAAI,SAAS,EAAE;YACX,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE;gBACnC,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,EAAE;oBACjC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;iBAC7B;aACJ;SACJ;QACD,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;;;OAQG;IACK,SAAS,CAAC,IAA0C,EAAE,GAAgB,EAAE,QAAiB;QAE7F,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAEnC,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;QACjE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE;YACf,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC;SACf;QAED,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAEpC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC;QAExB,+FAA+F;QAC/F,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5B,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1B,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAE1B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE9B,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC,oBAAoB,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACpJ,IAAI,KAAK;YAAE,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;QACpD,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE;gBAC7B,QAAQ,EAAE,CAAC,IAAI,CAAC,kBAAkB;aACrC,CAAC,CAAC;SACN;QAED,IAAI,IAAI,CAAC,kBAAkB,IAAI,GAAG,IAAI,GAAG,CAAC,cAAc,EAAE;YACtD,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,uCAAuC;YAC5D,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YAC1I,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;YACnB,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrB,KAAK,MAAM,GAAG,IAAI,EAAE,EAAE;oBAClB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;oBAC9B,IAAI,KAAK;wBAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;oBACnD,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACzB,MAAM;iBACT;aACJ;SACJ;QAED,cAAc,CAAC,wBAAwB,CAAC,KAAK,EAAE;YAC3C,wBAAwB,EAAE,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC;SAChE,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,IAAI,sBAAsB,CAAC;YACnC,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,GAAG;YACX,UAAU,EAAE,UAAU;YACtB,OAAO,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;SAChE,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEnC,qBAAqB;QACrB,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,IAAI,GAAG,EAAE;YACxF,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;SAChD;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,aAAa,CAAC,GAAW,EAAE,GAAa,EAAE,UAAkB;QACtE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACrB,IAAI,KAAK;gBAAE,OAAO,CAAC,KAAK,CAAC,wEAAwE,EAAE,GAAG,CAAC,CAAC;YACxG,OAAO;SACV;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE;YACrC,OAAO,CAAC,KAAK,CAAC,uBAAuB,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACrC,MAAM,GAAG,GAAsC;gBAC3C,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,GAAG;gBACH,KAAK,EAAE,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE;gBAChC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,OAAO,EAAE,CAAC;gBACnC,UAAU,EAAE,UAAU;aACzB,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;SACrD;IACL,CAAC;IAED;;;OAGG;IACK,eAAe;QACnB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACK,kBAAkB,CAAC,GAAgB;QACvC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;YACpG,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;gBACtC,OAAO,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACxB,WAAW;gBACX,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,GAAG,CAAC,EAAE;oBACd,qFAAqF;oBACrF,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC;wBAAE,OAAO,KAAK,CAAC;oBACnD,OAAO,IAAI,CAAC;gBAChB,CAAC;aACJ,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACd,IAAI,gBAAgB,EAAE;oBAAE,OAAO,CAAC,GAAG,CAAC,mDAAmD,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC;gBACvG,OAAO,KAAK,CAAC;aAChB;SACJ;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CAEJ;AA5bG;IADC,YAAY,EAAE;mDACe;AAO9B;IADC,YAAY,CAAC,QAAQ,CAAC;8CACH;AAQpB;IADC,YAAY,EAAE;mDACgB;AAO/B;IADC,YAAY,CAAC,OAAO,CAAC;mDACe;AAQrC;IADC,YAAY,EAAE;wDACoB;AAanC;IADC,YAAY,CAAC,SAAS,CAAC;+CAC4C;AAmZxE;;;;GAIG;AACH,SAAS,2BAA2B,CAAC,MAAc;IAC/C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,wBAAwB,CAAC;QAAE,OAAO,MAAM,CAAC;IAChE,sCAAsC;IACtC,MAAM,OAAO,GAAG,yDAAyD,CAAC;IAC1E,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,GAAG,OAAO,GAAG,IAAI,IAAI,IAAI,UAAU,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IACnE,0CAA0C;IAC1C,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,IAAU,UAAU,CAiFnB;AAjFD,WAAU,UAAU;IAEhB;;;;;;OAMG;IACI,KAAK,UAAU,QAAQ,CAAC,IAAU,EAAE,OAAgB,EAAE,IAAsB;QAC/E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YACtB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YACtB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACrB,IAAI,CAAC,IAAI,KAAK,iBAAiB;YAC/B,IAAI,CAAC,IAAI,KAAK,mBAAmB,EACnC;YACE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;gBACpC,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAA;gBAC/B,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAC/B,MAAM,CAAC,SAAS,GAAG,KAAK,EAAE,GAA8B,EAAE,EAAE;oBACxD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAqB,CAAC;oBAC7C,wBAAwB;oBACxB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;oBACvB,MAAM,IAAI,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;oBAC7C,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBAC7E,IAAI,KAAK,EAAE;wBACP,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBAC1C,OAAO,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;qBACxC;gBACL,CAAC,CAAC;YACN,CAAC,CAAC,CAAC;SACN;aACI;YACD,OAAO,CAAC,IAAI,CAAC,yBAAyB,GAAG,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;SAC5D;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAhCqB,mBAAQ,WAgC7B,CAAA;IAED;;;;;OAKG;IACI,KAAK,UAAU,eAAe,CAAC,GAAQ,EAAE,IAAqF;QACjI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;YAE1C,MAAM,IAAI,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;YAE9B,IAAI,KAAK;gBAAE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,KAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC/D,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC;gBACrC,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,QAAQ,EAAE,IAAI,EAAE,KAAK;gBACrB,IAAI,EAAE,IAAI,EAAE,IAAI;aACnB,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;gBAChF,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEvB,IAAI,KAAK,EAAE;gBACP,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;gBAClE,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACzC,IAAI,KAAK;oBAAE,UAAU,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;;oBACrE,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5C,OAAO,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;aACxC;iBACI;gBACD,IAAI,KAAK;oBAAE,UAAU,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;;oBACrE,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5C,OAAO,CAAC,IAAI,CAAC,yBAAyB,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;aAC5D;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IA/BqB,0BAAe,kBA+BpC,CAAA;AACL,CAAC,EAjFS,UAAU,KAAV,UAAU,QAiFnB"}
|
|
@@ -2,69 +2,148 @@ import { Color, Vector3 } from "three";
|
|
|
2
2
|
import type { ILight } from "../engine/engine_types.js";
|
|
3
3
|
import { type NeedleXREventArgs } from "../engine/xr/api.js";
|
|
4
4
|
import { Behaviour } from "./Component.js";
|
|
5
|
+
/**
|
|
6
|
+
* Defines the type of light in a scene.
|
|
7
|
+
*/
|
|
5
8
|
export declare enum LightType {
|
|
9
|
+
/** Spot light that emits light in a cone shape */
|
|
6
10
|
Spot = 0,
|
|
11
|
+
/** Directional light that emits parallel light rays in a specific direction */
|
|
7
12
|
Directional = 1,
|
|
13
|
+
/** Point light that emits light in all directions from a single point */
|
|
8
14
|
Point = 2,
|
|
15
|
+
/** Area light */
|
|
9
16
|
Area = 3,
|
|
17
|
+
/** Rectangle shaped area light that only affects baked lightmaps and light probes */
|
|
10
18
|
Rectangle = 3,
|
|
19
|
+
/** Disc shaped area light that only affects baked lightmaps and light probes */
|
|
11
20
|
Disc = 4
|
|
12
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Defines how a light contributes to the scene lighting.
|
|
24
|
+
*/
|
|
13
25
|
export declare enum LightmapBakeType {
|
|
26
|
+
/** Light affects the scene in real-time with no baking */
|
|
14
27
|
Realtime = 4,
|
|
28
|
+
/** Light is completely baked into lightmaps and light probes */
|
|
15
29
|
Baked = 2,
|
|
30
|
+
/** Combines aspects of realtime and baked lighting */
|
|
16
31
|
Mixed = 1
|
|
17
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Defines the shadow casting options for a Light.
|
|
35
|
+
* @enum {number}
|
|
36
|
+
*/
|
|
18
37
|
declare enum LightShadows {
|
|
38
|
+
/** No shadows are cast */
|
|
19
39
|
None = 0,
|
|
40
|
+
/** Hard-edged shadows without filtering */
|
|
20
41
|
Hard = 1,
|
|
42
|
+
/** Soft shadows with PCF filtering */
|
|
21
43
|
Soft = 2
|
|
22
44
|
}
|
|
23
|
-
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
45
|
+
/**
|
|
46
|
+
* The Light component creates a light source in the scene.
|
|
47
|
+
* Supports directional, spot, and point light types with various customization options.
|
|
48
|
+
* Lights can cast shadows with configurable settings and can be set to baked or realtime rendering.
|
|
49
|
+
*
|
|
50
|
+
* Debug mode can be enabled with the URL parameter `?debuglights`, which shows
|
|
51
|
+
* additional console output and visual helpers for lights.
|
|
52
|
+
*
|
|
28
53
|
* @category Rendering
|
|
29
54
|
* @group Components
|
|
30
55
|
*/
|
|
31
56
|
export declare class Light extends Behaviour implements ILight {
|
|
57
|
+
/**
|
|
58
|
+
* The type of light (spot, directional, point, etc.)
|
|
59
|
+
*/
|
|
32
60
|
private type;
|
|
61
|
+
/**
|
|
62
|
+
* The maximum distance the light affects
|
|
63
|
+
*/
|
|
33
64
|
range: number;
|
|
65
|
+
/**
|
|
66
|
+
* The full outer angle of the spotlight cone in degrees
|
|
67
|
+
*/
|
|
34
68
|
spotAngle: number;
|
|
69
|
+
/**
|
|
70
|
+
* The angle of the inner cone in degrees for soft-edge spotlights
|
|
71
|
+
*/
|
|
35
72
|
innerSpotAngle: number;
|
|
73
|
+
/**
|
|
74
|
+
* The color of the light
|
|
75
|
+
*/
|
|
36
76
|
set color(val: Color);
|
|
37
77
|
get color(): Color;
|
|
38
78
|
_color: Color;
|
|
79
|
+
/**
|
|
80
|
+
* The near plane distance for shadow projection
|
|
81
|
+
*/
|
|
39
82
|
set shadowNearPlane(val: number);
|
|
40
83
|
get shadowNearPlane(): number;
|
|
41
84
|
private _shadowNearPlane;
|
|
85
|
+
/**
|
|
86
|
+
* Shadow bias value to reduce shadow acne and peter-panning
|
|
87
|
+
*/
|
|
42
88
|
set shadowBias(val: number);
|
|
43
89
|
get shadowBias(): number;
|
|
44
90
|
private _shadowBias;
|
|
91
|
+
/**
|
|
92
|
+
* Shadow normal bias to reduce shadow acne on sloped surfaces
|
|
93
|
+
*/
|
|
45
94
|
set shadowNormalBias(val: number);
|
|
46
95
|
get shadowNormalBias(): number;
|
|
47
96
|
private _shadowNormalBias;
|
|
48
97
|
/** when enabled this will remove the multiplication when setting the shadow bias settings initially */
|
|
49
98
|
private _overrideShadowBiasSettings;
|
|
99
|
+
/**
|
|
100
|
+
* Shadow casting mode (None, Hard, or Soft)
|
|
101
|
+
*/
|
|
50
102
|
set shadows(val: LightShadows);
|
|
51
103
|
get shadows(): LightShadows;
|
|
52
104
|
private _shadows;
|
|
105
|
+
/**
|
|
106
|
+
* Determines if the light contributes to realtime lighting, baked lighting, or a mix
|
|
107
|
+
*/
|
|
53
108
|
private lightmapBakeType;
|
|
109
|
+
/**
|
|
110
|
+
* Brightness of the light. In WebXR experiences, the intensity is automatically
|
|
111
|
+
* adjusted based on the AR session scale to maintain consistent lighting.
|
|
112
|
+
*/
|
|
54
113
|
set intensity(val: number);
|
|
55
114
|
get intensity(): number;
|
|
56
115
|
private _intensity;
|
|
116
|
+
/**
|
|
117
|
+
* Maximum distance the shadow is projected
|
|
118
|
+
*/
|
|
57
119
|
get shadowDistance(): number;
|
|
58
120
|
set shadowDistance(val: number);
|
|
59
121
|
private _shadowDistance?;
|
|
60
122
|
private shadowWidth?;
|
|
61
123
|
private shadowHeight?;
|
|
124
|
+
/**
|
|
125
|
+
* Resolution of the shadow map in pixels (width and height)
|
|
126
|
+
*/
|
|
62
127
|
get shadowResolution(): number;
|
|
63
128
|
set shadowResolution(val: number);
|
|
64
129
|
private _shadowResolution?;
|
|
130
|
+
/**
|
|
131
|
+
* Whether this light's illumination is entirely baked into lightmaps
|
|
132
|
+
*/
|
|
65
133
|
get isBaked(): boolean;
|
|
134
|
+
/**
|
|
135
|
+
* Checks if the GameObject itself is a {@link ThreeLight} object
|
|
136
|
+
*/
|
|
66
137
|
private get selfIsLight();
|
|
138
|
+
/**
|
|
139
|
+
* The underlying three.js {@link ThreeLight} instance
|
|
140
|
+
*/
|
|
67
141
|
private light;
|
|
142
|
+
/**
|
|
143
|
+
* Gets the world position of the light
|
|
144
|
+
* @param vec Vector3 to store the result
|
|
145
|
+
* @returns The world position as a Vector3
|
|
146
|
+
*/
|
|
68
147
|
getWorldPosition(vec: Vector3): Vector3;
|
|
69
148
|
awake(): void;
|
|
70
149
|
onEnable(): void;
|
|
@@ -74,10 +153,28 @@ export declare class Light extends Behaviour implements ILight {
|
|
|
74
153
|
private _webARRoot?;
|
|
75
154
|
onEnterXR(_args: NeedleXREventArgs): void;
|
|
76
155
|
onLeaveXR(_args: NeedleXREventArgs): void;
|
|
156
|
+
/**
|
|
157
|
+
* Creates the appropriate three.js light based on the configured light type
|
|
158
|
+
* and applies all settings like shadows, intensity, and color.
|
|
159
|
+
*/
|
|
77
160
|
createLight(): void;
|
|
161
|
+
/**
|
|
162
|
+
* Coroutine that updates the main light reference in the context
|
|
163
|
+
* if this directional light should be the main light
|
|
164
|
+
*/
|
|
78
165
|
updateMainLightRoutine(): Generator<undefined, void, unknown>;
|
|
166
|
+
/**
|
|
167
|
+
* Controls whether the renderer's shadow map type can be changed when soft shadows are used
|
|
168
|
+
*/
|
|
79
169
|
static allowChangingRendererShadowMapType: boolean;
|
|
170
|
+
/**
|
|
171
|
+
* Updates shadow settings based on whether the shadows are set to hard or soft
|
|
172
|
+
*/
|
|
80
173
|
private updateShadowSoftHard;
|
|
174
|
+
/**
|
|
175
|
+
* Configures a directional light by adding and positioning its target
|
|
176
|
+
* @param dirLight The directional light to set up
|
|
177
|
+
*/
|
|
81
178
|
private setDirectionalLight;
|
|
82
179
|
}
|
|
83
180
|
export {};
|