diff --git a/package/Changelog.md b/package/Changelog.md index 6381e5531..8770c5135 100644 --- a/package/Changelog.md +++ b/package/Changelog.md @@ -4,6 +4,14 @@ All notable changes to this package will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## [0.19.0-pre] - 2024-09-03 +### Added +- Movie Set sample +- Face Filter sample. Create your own filters with Needle Engine and Unity. The sample includes 6 example filters + +### Fixed +- SplineWalker `clamp` did not clamp the progress at 1 + ## [0.18.0] - 2024-09-02 ### Added - Realtime Clock sample @@ -20,13 +28,13 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - ThreeTonemapping component and replaced with the core ToneMappingEffect component - Scripting Snippets sample -### Fixes +### Fixed - scene scales are 1:1 to real life when using WebXR - SwitchableWalls interactions in AR - Scrollytelling ignoring touch - EverywhereConfigurator's default variant handling -### Changes +### Changed - standardize UI labels in the majority of samples - synchronize tags for USDZ, iOS and EverywhereActions samples - rename Scripting Snippets to Realtime Clock diff --git a/package/Editor/Samples/Face Filter.asset b/package/Editor/Samples/Face Filter.asset new file mode 100644 index 000000000..459c6963a --- /dev/null +++ b/package/Editor/Samples/Face Filter.asset @@ -0,0 +1,28 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 936d6805986de86459a8710c7bf5c00a, type: 3} + m_Name: Face Filter + m_EditorClassIdentifier: Needle.Engine.Samples.SampleInfo, Needle.Engine.Samples.Editor + $ GlobalObjectId_V1-3-dcd8b18bf18ad2c4687d536c67c1f8df-11400000-0 + DisplayName: Face Filter + Description: Create your own unique face filters with blendshapes, animations and + particles. Record videos for your social media or share the link with friends + and family + Thumbnail: {fileID: 2800000, guid: 8225250d29f1a2046863efbe520b2c39, type: 3} + Scene: {fileID: 102900000, guid: 6ddbe7eef8355734b9164aa86961f573, type: 3} + LiveUrl: https://engine.needle.tools/samples-uploads/facefilter/ + Priority: 25 + Tags: + - {fileID: 11400000, guid: 7c9389e06e70fd44499179508a35f4c5, type: 2} + - {fileID: 11400000, guid: 65681cad01b0d5e47a1813a79a10c7ac, type: 2} + - {fileID: 11400000, guid: 44782f56eb518b640a8ab29550fa117a, type: 2} + reference: {fileID: 0} diff --git a/package/Editor/Samples/Face Filter.asset.meta b/package/Editor/Samples/Face Filter.asset.meta new file mode 100644 index 000000000..e9cd070a6 --- /dev/null +++ b/package/Editor/Samples/Face Filter.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 18d48c333966f434fa9b7ea9283d3a2f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Editor/Samples/MovieSet.asset b/package/Editor/Samples/MovieSet.asset new file mode 100644 index 000000000..6277d0624 --- /dev/null +++ b/package/Editor/Samples/MovieSet.asset @@ -0,0 +1,24 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 936d6805986de86459a8710c7bf5c00a, type: 3} + m_Name: MovieSet + m_EditorClassIdentifier: Needle.Engine.Samples.SampleInfo, Needle.Engine.Samples.Editor + $ GlobalObjectId_V1-3-08e9d0e85ea5f094c9660ef38b4dbc9a-11400000-0 + DisplayName: Movie Set + Description: RenderTexture sample + Thumbnail: {fileID: 2800000, guid: 1f8fc2b3bd16ac6469e1e48a8322689d, type: 3} + Scene: {fileID: 102900000, guid: 52573b45d44cd4948b7d3a75615b0f5e, type: 3} + LiveUrl: https://engine.needle.tools/samples-uploads/movie-set + Priority: 2 + Tags: + - {fileID: 11400000, guid: 7c9389e06e70fd44499179508a35f4c5, type: 2} + reference: {fileID: 0} diff --git a/package/Editor/Samples/MovieSet.asset.meta b/package/Editor/Samples/MovieSet.asset.meta new file mode 100644 index 000000000..b0371fed0 --- /dev/null +++ b/package/Editor/Samples/MovieSet.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f195734f4b9e5c64d861802df159bce2 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Editor/Screenshots/Face Filter.jpg b/package/Editor/Screenshots/Face Filter.jpg new file mode 100644 index 000000000..7f98159bd Binary files /dev/null and b/package/Editor/Screenshots/Face Filter.jpg differ diff --git a/package/Editor/Screenshots/Face Filter.jpg.meta b/package/Editor/Screenshots/Face Filter.jpg.meta new file mode 100644 index 000000000..c475e52ef --- /dev/null +++ b/package/Editor/Screenshots/Face Filter.jpg.meta @@ -0,0 +1,147 @@ +fileFormatVersion: 2 +guid: 8225250d29f1a2046863efbe520b2c39 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: EmbeddedLinux + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Editor/Screenshots/RenderTexture.jpg b/package/Editor/Screenshots/RenderTexture.jpg new file mode 100644 index 000000000..3920fd0dc Binary files /dev/null and b/package/Editor/Screenshots/RenderTexture.jpg differ diff --git a/package/Editor/Screenshots/RenderTexture.jpg.meta b/package/Editor/Screenshots/RenderTexture.jpg.meta new file mode 100644 index 000000000..89ad0b6d4 --- /dev/null +++ b/package/Editor/Screenshots/RenderTexture.jpg.meta @@ -0,0 +1,135 @@ +fileFormatVersion: 2 +guid: 1f8fc2b3bd16ac6469e1e48a8322689d +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: EmbeddedLinux + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/CarPhysics/Scripts/Needle.Samples.CarPhysics~/CarPhysics.ts b/package/Runtime/CarPhysics/Scripts/Needle.Samples.CarPhysics~/CarPhysics.ts index 2f4e924fa..4cdec8505 100644 --- a/package/Runtime/CarPhysics/Scripts/Needle.Samples.CarPhysics~/CarPhysics.ts +++ b/package/Runtime/CarPhysics/Scripts/Needle.Samples.CarPhysics~/CarPhysics.ts @@ -134,7 +134,7 @@ export class CarWheel extends Behaviour { const isSkidding = sideAmount > this.skidVisualSideThreshold || breakAmount > this.skidVisualBreakThreshold; const showSkid = isInContact && contact != undefined && isSkidding; - if (this.skidParticle) { + if (this.skidParticle && contact) { const wPos = getTempVector(contact); wPos.y += this.skidParticle.main.startSize.constant / 4; // offset the effect this.skidParticle.worldPosition = wPos; diff --git a/package/Runtime/Facefilter.meta b/package/Runtime/Facefilter.meta new file mode 100644 index 000000000..166d628d3 --- /dev/null +++ b/package/Runtime/Facefilter.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0bc748cd48db2684cb4c026509fd3b3e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Facefilter/Assets.meta b/package/Runtime/Facefilter/Assets.meta new file mode 100644 index 000000000..719e6e973 --- /dev/null +++ b/package/Runtime/Facefilter/Assets.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e6f0ad9fca7029a429c6c048b0ae2c8d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Facefilter/Assets/Animations.meta b/package/Runtime/Facefilter/Assets/Animations.meta new file mode 100644 index 000000000..ee50e3330 --- /dev/null +++ b/package/Runtime/Facefilter/Assets/Animations.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2818d5fb02cec784ab9b6158200a5e15 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Facefilter/Assets/Animations/AnimatorController (Face Filter Example).controller b/package/Runtime/Facefilter/Assets/Animations/AnimatorController (Face Filter Example).controller new file mode 100644 index 000000000..3fd78c8c1 --- /dev/null +++ b/package/Runtime/Facefilter/Assets/Animations/AnimatorController (Face Filter Example).controller @@ -0,0 +1,286 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1102 &-8916797363574256939 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Close Eyes + m_Speed: -1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: -1175843075620062569} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: a9014cb6c11ae674d985701bc968d9f1, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1102 &-4251893209823398626 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Look Around + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: -3412703662566848045} + - {fileID: 5563239378379306276} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: f168d6dadd02f4b4781518d0fe0fea1d, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1101 &-3412703662566848045 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 4 + m_ConditionEvent: jawOpen + m_EventTreshold: 0.1 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -8916797363574256939} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.53125 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &-1175843075620062569 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: [] + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 5331606201517885111} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.53125 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: AnimatorController (Face Filter Example) + serializedVersion: 5 + m_AnimatorParameters: + - m_Name: jawOpen + m_Type: 1 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 9100000} + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: 3699912950558931584} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} +--- !u!1101 &1649177631646228916 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 3 + m_ConditionEvent: jawOpen + m_EventTreshold: 0.15 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 5966721237995122880} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.53125 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &1821394345677617010 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: [] + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -4251893209823398626} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.53125 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1107 &3699912950558931584 +AnimatorStateMachine: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Base Layer + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: 5966721237995122880} + m_Position: {x: 110, y: 160, z: 0} + - serializedVersion: 1 + m_State: {fileID: -4251893209823398626} + m_Position: {x: 140, y: 240, z: 0} + - serializedVersion: 1 + m_State: {fileID: -8916797363574256939} + m_Position: {x: 250, y: 350, z: 0} + - serializedVersion: 1 + m_State: {fileID: 5331606201517885111} + m_Position: {x: 350, y: 100, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 50, y: 20, z: 0} + m_EntryPosition: {x: 70, y: 80, z: 0} + m_ExitPosition: {x: 800, y: 120, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: 5331606201517885111} +--- !u!1102 &5331606201517885111 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Eyes Closed + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 1649177631646228916} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 2beb29bf472beb74fa01da9e28f2887b, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1101 &5563239378379306276 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: [] + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -4251893209823398626} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.96629214 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1102 &5966721237995122880 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Open Eyes + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 1821394345677617010} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: a9014cb6c11ae674d985701bc968d9f1, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: diff --git a/package/Runtime/Facefilter/Assets/Animations/AnimatorController (Face Filter Example).controller.meta b/package/Runtime/Facefilter/Assets/Animations/AnimatorController (Face Filter Example).controller.meta new file mode 100644 index 000000000..dd38b48ad --- /dev/null +++ b/package/Runtime/Facefilter/Assets/Animations/AnimatorController (Face Filter Example).controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 58042b8259d60ab4796e84e26ad47c06 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Facefilter/Assets/Animations/Eyes Closed.anim b/package/Runtime/Facefilter/Assets/Animations/Eyes Closed.anim new file mode 100644 index 000000000..2b1843dae --- /dev/null +++ b/package/Runtime/Facefilter/Assets/Animations/Eyes Closed.anim @@ -0,0 +1,490 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Eyes Closed + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0.0123, y: 0.0025, z: -0.0331} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: Object1 + m_ScaleCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0.1, y: 0.1, z: 0.1} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: Object1 + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0.098439, y: 0.098439, z: 0.098439} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: Object2 + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0.22764, y: 1, z: 1} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: Object3 + m_FloatCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 1.1333333 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.6666666 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 4.2 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 4.866667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 6.6 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Alpha + path: Canvas + classID: 225 + script: {fileID: 0} + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 2721278254 + attribute: 1574349066 + script: {fileID: 0} + typeID: 225 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 3849704915 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 3849704915 + attribute: 3 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 2088535145 + attribute: 3 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 192656639 + attribute: 3 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 6.6 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 1 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.0123 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: Object1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.0025 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: Object1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -0.0331 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: Object1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalScale.x + path: Object1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalScale.y + path: Object1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalScale.z + path: Object1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.098439 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalScale.x + path: Object2 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.098439 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalScale.y + path: Object2 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.098439 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalScale.z + path: Object2 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.22764 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalScale.x + path: Object3 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalScale.y + path: Object3 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalScale.z + path: Object3 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 1.1333333 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.6666666 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 4.2 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 4.866667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 6.6 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Alpha + path: Canvas + classID: 225 + script: {fileID: 0} + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/package/Runtime/Facefilter/Assets/Animations/Eyes Closed.anim.meta b/package/Runtime/Facefilter/Assets/Animations/Eyes Closed.anim.meta new file mode 100644 index 000000000..ea315ccce --- /dev/null +++ b/package/Runtime/Facefilter/Assets/Animations/Eyes Closed.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2beb29bf472beb74fa01da9e28f2887b +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Facefilter/Assets/Animations/Look Around.anim b/package/Runtime/Facefilter/Assets/Animations/Look Around.anim new file mode 100644 index 000000000..711965769 --- /dev/null +++ b/package/Runtime/Facefilter/Assets/Animations/Look Around.anim @@ -0,0 +1,1610 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Look Around + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.38333333 + value: {x: 8.083, y: 23.398, z: 3.482} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.46666667 + value: {x: 8.083, y: 21.274, z: 3.482} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 1.5166667 + value: {x: 8.083, y: 21.274, z: 3.482} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 1.65 + value: {x: 8.083, y: -14.383, z: 3.482} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 2.8833334 + value: {x: 8.083, y: -14.383, z: 3.482} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 2.9833333 + value: {x: 3.503, y: 10.905, z: 2.592} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 3.7333333 + value: {x: 3.503, y: 10.905, z: 2.592} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 3.85 + value: {x: 8.083, y: 23.398, z: 3.482} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 4.0833335 + value: {x: 8.083, y: 23.398, z: 3.482} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 5.866667 + value: {x: 8.083, y: -18.236, z: 3.482} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 6.6833334 + value: {x: 8.083, y: -18.236, z: 3.482} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 6.7833333 + value: {x: 8.083, y: 23.398, z: 3.482} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: Object1 + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0, y: 0, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.6 + value: {x: 0, y: 0, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.73333335 + value: {x: 0, y: 9.148, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 2.4833333 + value: {x: 0, y: 8.252, z: 0} + inSlope: {x: 0, y: -1.9030087, z: 0} + outSlope: {x: 0, y: -1.9030087, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 2.6166666 + value: {x: 8.138, y: -6.131, z: -0.871} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 2.9 + value: {x: 8.138, y: -4.048, z: -0.871} + inSlope: {x: 0, y: 22.72363, z: 0} + outSlope: {x: 0, y: 22.72363, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 2.9833333 + value: {x: 8.138, y: 20.267, z: -0.871} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 3.7833333 + value: {x: 8.138, y: 15.675, z: -0.871} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 3.8666666 + value: {x: 1.078, y: 24.924, z: -5.796} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 4.15 + value: {x: 1.078, y: 24.924, z: -5.796} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 6.266667 + value: {x: -18.915, y: 26.958, z: -15.67} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 6.733333 + value: {x: -18.915, y: 26.958, z: -15.67} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 6.9333334 + value: {x: 0, y: 0, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 7.4166665 + value: {x: 0, y: 0, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: Object2 + m_PositionCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0.0301, y: 0.0025, z: 0.0316} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: Object1 + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: -0.0304, y: 0.0025, z: 0.0328} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: Object2 + m_ScaleCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0.9327864, y: 0.9327864, z: 0.9327864} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: Object1 + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0.78699523, y: 0.78699523, z: 0.78699523} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 4.15 + value: {x: 0.78699523, y: 0.78699523, z: 0.78699523} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 5.8333335 + value: {x: 0.88434654, y: 0.88434654, z: 0.88434654} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 6.45 + value: {x: 0.78699523, y: 0.78699523, z: 0.78699523} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: Object2 + m_FloatCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Alpha + path: Canvas + classID: 225 + script: {fileID: 0} + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 3849704915 + attribute: 4 + script: {fileID: 0} + typeID: 4 + customType: 4 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 2088535145 + attribute: 4 + script: {fileID: 0} + typeID: 4 + customType: 4 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 2088535145 + attribute: 3 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 3849704915 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 2088535145 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 3849704915 + attribute: 3 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 2721278254 + attribute: 1574349066 + script: {fileID: 0} + typeID: 225 + customType: 0 + isPPtrCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 7.4166665 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.0301 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: Object1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.0025 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: Object1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.0316 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: Object1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.9327864 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalScale.x + path: Object1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.9327864 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalScale.y + path: Object1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.9327864 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalScale.z + path: Object1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.38333333 + value: 8.083 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.46666667 + value: 8.083 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.5166667 + value: 8.083 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.65 + value: 8.083 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 2.8833334 + value: 8.083 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 2.9833333 + value: 3.503 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 3.7333333 + value: 3.503 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 3.85 + value: 8.083 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 4.0833335 + value: 8.083 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 5.866667 + value: 8.083 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 6.6833334 + value: 8.083 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 6.7833333 + value: 8.083 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.x + path: Object1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.38333333 + value: 23.398 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.46666667 + value: 21.274 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.5166667 + value: 21.274 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.65 + value: -14.383 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 2.8833334 + value: -14.383 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 2.9833333 + value: 10.905 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 3.7333333 + value: 10.905 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 3.85 + value: 23.398 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 4.0833335 + value: 23.398 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 5.866667 + value: -18.236 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 6.6833334 + value: -18.236 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 6.7833333 + value: 23.398 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.y + path: Object1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.38333333 + value: 3.482 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.46666667 + value: 3.482 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.5166667 + value: 3.482 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.65 + value: 3.482 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 2.8833334 + value: 3.482 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 2.9833333 + value: 2.592 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 3.7333333 + value: 2.592 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 3.85 + value: 3.482 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 4.0833335 + value: 3.482 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 5.866667 + value: 3.482 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 6.6833334 + value: 3.482 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 6.7833333 + value: 3.482 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.z + path: Object1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -0.0304 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: Object2 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.0025 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: Object2 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.0328 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: Object2 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.78699523 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 4.15 + value: 0.78699523 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 5.8333335 + value: 0.88434654 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 6.45 + value: 0.78699523 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalScale.x + path: Object2 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.78699523 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 4.15 + value: 0.78699523 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 5.8333335 + value: 0.88434654 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 6.45 + value: 0.78699523 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalScale.y + path: Object2 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.78699523 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 4.15 + value: 0.78699523 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 5.8333335 + value: 0.88434654 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 6.45 + value: 0.78699523 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalScale.z + path: Object2 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.6 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.73333335 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 2.4833333 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 2.6166666 + value: 8.138 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 2.9 + value: 8.138 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 2.9833333 + value: 8.138 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 3.7833333 + value: 8.138 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 3.8666666 + value: 1.078 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 4.15 + value: 1.078 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 6.266667 + value: -18.915 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 6.733333 + value: -18.915 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 6.9333334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 7.4166665 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.x + path: Object2 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.6 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.73333335 + value: 9.148 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 2.4833333 + value: 8.252 + inSlope: -1.9030087 + outSlope: -1.9030087 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 2.6166666 + value: -6.131 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 2.9 + value: -4.048 + inSlope: 22.72363 + outSlope: 22.72363 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 2.9833333 + value: 20.267 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 3.7833333 + value: 15.675 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 3.8666666 + value: 24.924 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 4.15 + value: 24.924 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 6.266667 + value: 26.958 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 6.733333 + value: 26.958 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 6.9333334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 7.4166665 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.y + path: Object2 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.6 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.73333335 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 2.4833333 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 2.6166666 + value: -0.871 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 2.9 + value: -0.871 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 2.9833333 + value: -0.871 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 3.7833333 + value: -0.871 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 3.8666666 + value: -5.796 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 4.15 + value: -5.796 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 6.266667 + value: -15.67 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 6.733333 + value: -15.67 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 6.9333334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 7.4166665 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.z + path: Object2 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Alpha + path: Canvas + classID: 225 + script: {fileID: 0} + m_EulerEditorCurves: + - curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.z + path: Object1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.y + path: Object1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.x + path: Object1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.x + path: Object2 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.y + path: Object2 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.z + path: Object2 + classID: 4 + script: {fileID: 0} + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/package/Runtime/Facefilter/Assets/Animations/Look Around.anim.meta b/package/Runtime/Facefilter/Assets/Animations/Look Around.anim.meta new file mode 100644 index 000000000..f59a9d538 --- /dev/null +++ b/package/Runtime/Facefilter/Assets/Animations/Look Around.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f168d6dadd02f4b4781518d0fe0fea1d +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Facefilter/Assets/Animations/Open Eyes.anim b/package/Runtime/Facefilter/Assets/Animations/Open Eyes.anim new file mode 100644 index 000000000..32fa3f5b5 --- /dev/null +++ b/package/Runtime/Facefilter/Assets/Animations/Open Eyes.anim @@ -0,0 +1,824 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Open Eyes + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0, y: 0, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.53333336 + value: {x: 2.061, y: 14.949, z: -0.878} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: Object1 + m_PositionCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0.0123, y: 0.0025, z: -0.0331} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.53333336 + value: {x: 0.0301, y: 0.0025, z: 0.0316} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: Object1 + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: -0.0189, y: 0.0025, z: -0.0364} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.53333336 + value: {x: -0.0304, y: 0.0025, z: 0.0328} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: Object2 + m_ScaleCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0.44315, y: 0.44315, z: 0.44315} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.53333336 + value: {x: 0.9327864, y: 0.9327864, z: 0.9327864} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: Object1 + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0.32244653, y: 0.32244653, z: 0.32244653} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.53333336 + value: {x: 0.78699523, y: 0.78699523, z: 0.78699523} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: Object2 + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0.26609, y: 1, z: 1} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.15 + value: {x: 1, y: 1, z: 1} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: Object3 + m_FloatCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Alpha + path: Canvas + classID: 225 + script: {fileID: 0} + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 3849704915 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 2088535145 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 3849704915 + attribute: 4 + script: {fileID: 0} + typeID: 4 + customType: 4 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 3849704915 + attribute: 3 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 2088535145 + attribute: 3 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 192656639 + attribute: 3 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 2721278254 + attribute: 1574349066 + script: {fileID: 0} + typeID: 225 + customType: 0 + isPPtrCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.53333336 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.0123 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.53333336 + value: 0.0301 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: Object1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.0025 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.53333336 + value: 0.0025 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: Object1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -0.0331 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.53333336 + value: 0.0316 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: Object1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.44315 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.53333336 + value: 0.9327864 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalScale.x + path: Object1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.44315 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.53333336 + value: 0.9327864 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalScale.y + path: Object1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.44315 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.53333336 + value: 0.9327864 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalScale.z + path: Object1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.53333336 + value: 2.061 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.x + path: Object1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.53333336 + value: 14.949 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.y + path: Object1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.53333336 + value: -0.878 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.z + path: Object1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.32244653 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.53333336 + value: 0.78699523 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalScale.x + path: Object2 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.32244653 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.53333336 + value: 0.78699523 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalScale.y + path: Object2 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.32244653 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.53333336 + value: 0.78699523 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalScale.z + path: Object2 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -0.0189 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.53333336 + value: -0.0304 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: Object2 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.0025 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.53333336 + value: 0.0025 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: Object2 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -0.0364 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.53333336 + value: 0.0328 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: Object2 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.26609 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.15 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalScale.x + path: Object3 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.15 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalScale.y + path: Object3 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.15 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalScale.z + path: Object3 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Alpha + path: Canvas + classID: 225 + script: {fileID: 0} + m_EulerEditorCurves: + - curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.x + path: Object1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.y + path: Object1 + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.z + path: Object1 + classID: 4 + script: {fileID: 0} + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/package/Runtime/Facefilter/Assets/Animations/Open Eyes.anim.meta b/package/Runtime/Facefilter/Assets/Animations/Open Eyes.anim.meta new file mode 100644 index 000000000..38dc904c0 --- /dev/null +++ b/package/Runtime/Facefilter/Assets/Animations/Open Eyes.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a9014cb6c11ae674d985701bc968d9f1 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Facefilter/Assets/Bone.glb b/package/Runtime/Facefilter/Assets/Bone.glb new file mode 100644 index 000000000..68528023e Binary files /dev/null and b/package/Runtime/Facefilter/Assets/Bone.glb differ diff --git a/package/Runtime/Facefilter/Assets/Bone.glb.meta b/package/Runtime/Facefilter/Assets/Bone.glb.meta new file mode 100644 index 000000000..a1c9a83b8 --- /dev/null +++ b/package/Runtime/Facefilter/Assets/Bone.glb.meta @@ -0,0 +1,70 @@ +fileFormatVersion: 2 +guid: 3e256bf9449c1e5428d9edbdb4129c9b +importerOverride: UnityGLTFEditor:UnityGLTF:GLTFImporter +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 804e1ce4c496647cfa3f1a1134187c71, type: 3} + _removeEmptyRootObjects: 1 + _scaleFactor: 1 + _maximumLod: 300 + _readWriteEnabled: 1 + _generateColliders: 0 + _swapUvs: 0 + _generateLightmapUVs: 0 + _importBlendShapeNames: 1 + _blendShapeFrameWeight: + _option: 0 + _multiplier: 1 + _importNormals: 0 + _importTangents: 0 + _importCamera: 2 + _importAnimations: 2 + _addAnimatorComponent: 0 + _animationLoopTime: 1 + _animationLoopPose: 0 + _importMaterials: 1 + _enableGpuInstancing: 0 + _useSceneNameIdentifier: 1 + _textureCompression: -50 + optimizeGameObjects: 0 + materials: + - {instanceID: 0} + textures: + - {instanceID: 0} + - {instanceID: 0} + - {instanceID: 0} + hasSceneData: 1 + hasAnimationData: 0 + hasMaterialData: 1 + hasTextureData: 1 + animations: [] + _extensions: + - name: KHR_draco_mesh_compression + supported: 1 + used: 1 + required: 1 + - name: KHR_texture_basisu + supported: 1 + used: 1 + required: 1 + - name: KHR_texture_transform + supported: 1 + used: 1 + required: 1 + _textures: + - texture: {instanceID: 0} + shouldBeLinear: 0 + shouldBeNormalMap: 0 + - texture: {instanceID: 0} + shouldBeLinear: 1 + shouldBeNormalMap: 1 + - texture: {instanceID: 0} + shouldBeLinear: 1 + shouldBeNormalMap: 0 + _mainAssetIdentifier: scenes/Scene + _importPlugins: [] diff --git a/package/Runtime/Facefilter/Assets/Environment Reflections.exr b/package/Runtime/Facefilter/Assets/Environment Reflections.exr new file mode 100644 index 000000000..d2c45c93d Binary files /dev/null and b/package/Runtime/Facefilter/Assets/Environment Reflections.exr differ diff --git a/package/Runtime/Facefilter/Assets/Environment Reflections.exr.meta b/package/Runtime/Facefilter/Assets/Environment Reflections.exr.meta new file mode 100644 index 000000000..52613a3ba --- /dev/null +++ b/package/Runtime/Facefilter/Assets/Environment Reflections.exr.meta @@ -0,0 +1,147 @@ +fileFormatVersion: 2 +guid: ee6535eea7974dc44bf7204aca0223da +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 2 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 2 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: EmbeddedLinux + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Facefilter/Assets/Facefilter Skybox.mat b/package/Runtime/Facefilter/Assets/Facefilter Skybox.mat new file mode 100644 index 000000000..0958a0d16 --- /dev/null +++ b/package/Runtime/Facefilter/Assets/Facefilter Skybox.mat @@ -0,0 +1,130 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Facefilter Skybox + m_Shader: {fileID: 4800000, guid: e2ad0dd556efe1642b50673b3b78a5ef, type: 3} + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AlphaClip: 0 + - _Blend: 0 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Intensity: 1 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _Softness: 1 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _EquatorColor: {r: 0.6603774, g: 0.6603774, b: 0.6603774, a: 1} + - _GroundColor: {r: 0.6698113, g: 0.45391303, b: 0.022116425, a: 1} + - _SkyColor: {r: 1, g: 1, b: 1, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] +--- !u!114 &9048735835254733082 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 5 diff --git a/package/Runtime/Facefilter/Assets/Facefilter Skybox.mat.meta b/package/Runtime/Facefilter/Assets/Facefilter Skybox.mat.meta new file mode 100644 index 000000000..a327ecbfa --- /dev/null +++ b/package/Runtime/Facefilter/Assets/Facefilter Skybox.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 72feea222597bb04f87ee0846009bf6c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Facefilter/Assets/Racoon.glb b/package/Runtime/Facefilter/Assets/Racoon.glb new file mode 100644 index 000000000..cfcb448a1 Binary files /dev/null and b/package/Runtime/Facefilter/Assets/Racoon.glb differ diff --git a/package/Runtime/Facefilter/Assets/Racoon.glb.meta b/package/Runtime/Facefilter/Assets/Racoon.glb.meta new file mode 100644 index 000000000..e48556a2d --- /dev/null +++ b/package/Runtime/Facefilter/Assets/Racoon.glb.meta @@ -0,0 +1,62 @@ +fileFormatVersion: 2 +guid: 6be76aa86afc105468385cf9dfc8dbad +importerOverride: UnityGLTFEditor:UnityGLTF:GLTFImporter +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 804e1ce4c496647cfa3f1a1134187c71, type: 3} + _removeEmptyRootObjects: 1 + _scaleFactor: 1 + _maximumLod: 300 + _readWriteEnabled: 1 + _generateColliders: 0 + _swapUvs: 0 + _generateLightmapUVs: 0 + _importBlendShapeNames: 1 + _blendShapeFrameWeight: + _option: 0 + _multiplier: 1 + _importNormals: 0 + _importTangents: 0 + _importCamera: 2 + _importAnimations: 2 + _addAnimatorComponent: 0 + _animationLoopTime: 1 + _animationLoopPose: 0 + _importMaterials: 1 + _enableGpuInstancing: 0 + _useSceneNameIdentifier: 1 + _textureCompression: -50 + optimizeGameObjects: 0 + materials: + - {instanceID: 0} + textures: + - {instanceID: 0} + - {instanceID: 0} + hasSceneData: 1 + hasAnimationData: 0 + hasMaterialData: 1 + hasTextureData: 1 + animations: [] + _extensions: + - name: KHR_mesh_quantization + supported: 1 + used: 1 + required: 1 + - name: EXT_meshopt_compression + supported: 1 + used: 1 + required: 1 + _textures: + - texture: {instanceID: 0} + shouldBeLinear: 0 + shouldBeNormalMap: 0 + - texture: {instanceID: 0} + shouldBeLinear: 1 + shouldBeNormalMap: 0 + _mainAssetIdentifier: scenes/Scene + _importPlugins: [] diff --git a/package/Runtime/Facefilter/Assets/eye_low_poly_free_cute_eyeballs.glb b/package/Runtime/Facefilter/Assets/eye_low_poly_free_cute_eyeballs.glb new file mode 100644 index 000000000..5757bac1f Binary files /dev/null and b/package/Runtime/Facefilter/Assets/eye_low_poly_free_cute_eyeballs.glb differ diff --git a/package/Runtime/Facefilter/Assets/eye_low_poly_free_cute_eyeballs.glb.meta b/package/Runtime/Facefilter/Assets/eye_low_poly_free_cute_eyeballs.glb.meta new file mode 100644 index 000000000..6a81d47a4 --- /dev/null +++ b/package/Runtime/Facefilter/Assets/eye_low_poly_free_cute_eyeballs.glb.meta @@ -0,0 +1,70 @@ +fileFormatVersion: 2 +guid: c725c2cf3eb314d4692117bae4078070 +importerOverride: UnityGLTFEditor:UnityGLTF:GLTFImporter +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 804e1ce4c496647cfa3f1a1134187c71, type: 3} + _removeEmptyRootObjects: 1 + _scaleFactor: 1 + _maximumLod: 300 + _readWriteEnabled: 1 + _generateColliders: 0 + _swapUvs: 0 + _generateLightmapUVs: 0 + _importBlendShapeNames: 1 + _blendShapeFrameWeight: + _option: 0 + _multiplier: 1 + _importNormals: 0 + _importTangents: 0 + _importCamera: 2 + _importAnimations: 2 + _addAnimatorComponent: 0 + _animationLoopTime: 1 + _animationLoopPose: 0 + _importMaterials: 1 + _enableGpuInstancing: 0 + _useSceneNameIdentifier: 1 + _textureCompression: -50 + optimizeGameObjects: 0 + materials: + - {instanceID: 0} + textures: + - {instanceID: 0} + - {instanceID: 0} + - {instanceID: 0} + - {instanceID: 0} + hasSceneData: 1 + hasAnimationData: 0 + hasMaterialData: 1 + hasTextureData: 1 + animations: [] + _extensions: + - name: KHR_draco_mesh_compression + supported: 1 + used: 1 + required: 1 + - name: KHR_texture_basisu + supported: 1 + used: 1 + required: 1 + _textures: + - texture: {instanceID: 0} + shouldBeLinear: 0 + shouldBeNormalMap: 0 + - texture: {instanceID: 0} + shouldBeLinear: 0 + shouldBeNormalMap: 0 + - texture: {instanceID: 0} + shouldBeLinear: 1 + shouldBeNormalMap: 1 + - texture: {instanceID: 0} + shouldBeLinear: 1 + shouldBeNormalMap: 0 + _mainAssetIdentifier: scenes/Sketchfab_Scene + _importPlugins: [] diff --git a/package/Runtime/Facefilter/Assets/mustang_sunglasses_-_mu_1683.glb b/package/Runtime/Facefilter/Assets/mustang_sunglasses_-_mu_1683.glb new file mode 100644 index 000000000..09fc989ec Binary files /dev/null and b/package/Runtime/Facefilter/Assets/mustang_sunglasses_-_mu_1683.glb differ diff --git a/package/Runtime/Facefilter/Assets/mustang_sunglasses_-_mu_1683.glb.meta b/package/Runtime/Facefilter/Assets/mustang_sunglasses_-_mu_1683.glb.meta new file mode 100644 index 000000000..c37bb7ae3 --- /dev/null +++ b/package/Runtime/Facefilter/Assets/mustang_sunglasses_-_mu_1683.glb.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 374b190d83c14394a8ef9a8e31dba6b0 +importerOverride: UnityGLTFEditor:UnityGLTF:GLTFImporter +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 804e1ce4c496647cfa3f1a1134187c71, type: 3} + _removeEmptyRootObjects: 1 + _scaleFactor: 0.001 + _maximumLod: 300 + _readWriteEnabled: 1 + _generateColliders: 0 + _swapUvs: 0 + _generateLightmapUVs: 0 + _importBlendShapeNames: 1 + _blendShapeFrameWeight: + _option: 0 + _multiplier: 1 + _importNormals: 0 + _importTangents: 0 + _importCamera: 2 + _importAnimations: 2 + _addAnimatorComponent: 0 + _animationLoopTime: 1 + _animationLoopPose: 0 + _importMaterials: 1 + _enableGpuInstancing: 0 + _useSceneNameIdentifier: 1 + _textureCompression: -50 + optimizeGameObjects: 0 + materials: + - {fileID: -739082522999283794, guid: 374b190d83c14394a8ef9a8e31dba6b0, type: 3} + textures: + - {fileID: 6983701643236107813, guid: 374b190d83c14394a8ef9a8e31dba6b0, type: 3} + - {fileID: 5230624929818990856, guid: 374b190d83c14394a8ef9a8e31dba6b0, type: 3} + - {fileID: 8022499087761476943, guid: 374b190d83c14394a8ef9a8e31dba6b0, type: 3} + hasSceneData: 1 + hasAnimationData: 0 + hasMaterialData: 1 + hasTextureData: 1 + animations: [] + _extensions: + - name: KHR_draco_mesh_compression + supported: 1 + used: 1 + required: 1 + - name: KHR_texture_basisu + supported: 1 + used: 1 + required: 1 + _textures: + - texture: {fileID: 6983701643236107813, guid: 374b190d83c14394a8ef9a8e31dba6b0, type: 3} + shouldBeLinear: 0 + shouldBeNormalMap: 0 + - texture: {fileID: 5230624929818990856, guid: 374b190d83c14394a8ef9a8e31dba6b0, type: 3} + shouldBeLinear: 1 + shouldBeNormalMap: 1 + - texture: {fileID: 8022499087761476943, guid: 374b190d83c14394a8ef9a8e31dba6b0, type: 3} + shouldBeLinear: 1 + shouldBeNormalMap: 0 + _mainAssetIdentifier: scenes/Sketchfab_Scene + _importPlugins: [] diff --git a/package/Runtime/Facefilter/Assets/pink_round_sunglasses.glb b/package/Runtime/Facefilter/Assets/pink_round_sunglasses.glb new file mode 100644 index 000000000..36c2a1354 Binary files /dev/null and b/package/Runtime/Facefilter/Assets/pink_round_sunglasses.glb differ diff --git a/package/Runtime/Facefilter/Assets/pink_round_sunglasses.glb.meta b/package/Runtime/Facefilter/Assets/pink_round_sunglasses.glb.meta new file mode 100644 index 000000000..7a5fe22ce --- /dev/null +++ b/package/Runtime/Facefilter/Assets/pink_round_sunglasses.glb.meta @@ -0,0 +1,49 @@ +fileFormatVersion: 2 +guid: c98e92960f25ec147a9d410ac2953d4c +importerOverride: UnityGLTFEditor:UnityGLTF:GLTFImporter +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 804e1ce4c496647cfa3f1a1134187c71, type: 3} + _removeEmptyRootObjects: 1 + _scaleFactor: 0.1 + _maximumLod: 300 + _readWriteEnabled: 1 + _generateColliders: 0 + _swapUvs: 0 + _generateLightmapUVs: 0 + _importBlendShapeNames: 1 + _blendShapeFrameWeight: + _option: 0 + _multiplier: 1 + _importNormals: 0 + _importTangents: 0 + _importCamera: 2 + _importAnimations: 2 + _addAnimatorComponent: 0 + _animationLoopTime: 1 + _animationLoopPose: 0 + _importMaterials: 1 + _enableGpuInstancing: 0 + _useSceneNameIdentifier: 1 + _textureCompression: -50 + optimizeGameObjects: 0 + materials: + - {fileID: -905690159841262435, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + - {fileID: -5886824656846533524, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + - {fileID: 9219874680431246223, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + - {fileID: 2085290642638021832, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + textures: [] + hasSceneData: 1 + hasAnimationData: 0 + hasMaterialData: 1 + hasTextureData: 0 + animations: [] + _extensions: [] + _textures: [] + _mainAssetIdentifier: scenes/Sketchfab_Scene + _importPlugins: [] diff --git a/package/Runtime/Facefilter/Base Assets.meta b/package/Runtime/Facefilter/Base Assets.meta new file mode 100644 index 000000000..81bc4275f --- /dev/null +++ b/package/Runtime/Facefilter/Base Assets.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0b03ac2e0264a3e44b48bcd975027c81 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Facefilter/Base Assets/Default Occluder.prefab b/package/Runtime/Facefilter/Base Assets/Default Occluder.prefab new file mode 100644 index 000000000..6f4eea530 --- /dev/null +++ b/package/Runtime/Facefilter/Base Assets/Default Occluder.prefab @@ -0,0 +1,180 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3543865873620486517 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4211051851420010255} + m_Layer: 0 + m_Name: Default Occluder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4211051851420010255 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3543865873620486517} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1155623912071971193} + - {fileID: 7970390333192916229} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4299340693707689262 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7970390333192916229} + - component: {fileID: 1906163998704389395} + - component: {fileID: 3522346121392247774} + m_Layer: 0 + m_Name: TODO Properly Fix + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7970390333192916229 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4299340693707689262} + m_LocalRotation: {x: 0, y: -1, z: 0, w: 0} + m_LocalPosition: {x: 0, y: -0.062, z: 0.0461} + m_LocalScale: {x: 0.06247671, y: 0.010300339, z: 0.017640093} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4211051851420010255} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: -180, z: 0} +--- !u!33 &1906163998704389395 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4299340693707689262} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &3522346121392247774 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4299340693707689262} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 18efe1bf08c204d44abbb105d0a29461, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1001 &9197662384777496921 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 4211051851420010255} + m_Modifications: + - target: {fileID: 583118147321176039, guid: a9ef95b026dad8f4ebbff4dbd72a3d3f, type: 3} + propertyPath: m_Name + value: Head Basemesh + objectReference: {fileID: 0} + - target: {fileID: 8047141875399641120, guid: a9ef95b026dad8f4ebbff4dbd72a3d3f, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8047141875399641120, guid: a9ef95b026dad8f4ebbff4dbd72a3d3f, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8047141875399641120, guid: a9ef95b026dad8f4ebbff4dbd72a3d3f, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8047141875399641120, guid: a9ef95b026dad8f4ebbff4dbd72a3d3f, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8047141875399641120, guid: a9ef95b026dad8f4ebbff4dbd72a3d3f, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8047141875399641120, guid: a9ef95b026dad8f4ebbff4dbd72a3d3f, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8047141875399641120, guid: a9ef95b026dad8f4ebbff4dbd72a3d3f, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8047141875399641120, guid: a9ef95b026dad8f4ebbff4dbd72a3d3f, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8047141875399641120, guid: a9ef95b026dad8f4ebbff4dbd72a3d3f, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8047141875399641120, guid: a9ef95b026dad8f4ebbff4dbd72a3d3f, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8047141875399641120, guid: a9ef95b026dad8f4ebbff4dbd72a3d3f, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 1132031122967371402, guid: a9ef95b026dad8f4ebbff4dbd72a3d3f, type: 3} +--- !u!4 &1155623912071971193 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 8047141875399641120, guid: a9ef95b026dad8f4ebbff4dbd72a3d3f, type: 3} + m_PrefabInstance: {fileID: 9197662384777496921} + m_PrefabAsset: {fileID: 0} diff --git a/package/Runtime/Facefilter/Base Assets/Default Occluder.prefab.meta b/package/Runtime/Facefilter/Base Assets/Default Occluder.prefab.meta new file mode 100644 index 000000000..209539e9a --- /dev/null +++ b/package/Runtime/Facefilter/Base Assets/Default Occluder.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 496edac131102f446961c476f29dcd72 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Facefilter/Base Assets/Filter Template.prefab b/package/Runtime/Facefilter/Base Assets/Filter Template.prefab new file mode 100644 index 000000000..59aa93d95 --- /dev/null +++ b/package/Runtime/Facefilter/Base Assets/Filter Template.prefab @@ -0,0 +1,154 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2085968816914700799 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5825898318103575009} + m_Layer: 0 + m_Name: Filter Template + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5825898318103575009 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2085968816914700799} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5224449178824238598} + - {fileID: 3172494286317074963} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3635883530711317586 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5224449178824238598} + - component: {fileID: 1336764952459564427} + m_Layer: 0 + m_Name: Head Marker + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5224449178824238598 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3635883530711317586} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5825898318103575009} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1336764952459564427 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3635883530711317586} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a2dabb1581212e10da39f11673136f5, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Typescript.GeneratedComponents.FaceFilterHeadPosition, + Needle.Engine-Samples.Runtime +--- !u!1001 &7331763572462367319 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 5825898318103575009} + m_Modifications: + - target: {fileID: -3910990755373119420, guid: 4f8908b5be8aa20408ffdc0ad114008d, type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 4f8908b5be8aa20408ffdc0ad114008d, type: 3} + propertyPath: m_LocalScale.x + value: 0.13202937 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 4f8908b5be8aa20408ffdc0ad114008d, type: 3} + propertyPath: m_LocalScale.y + value: 0.13202937 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 4f8908b5be8aa20408ffdc0ad114008d, type: 3} + propertyPath: m_LocalScale.z + value: 0.13202937 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 4f8908b5be8aa20408ffdc0ad114008d, type: 3} + propertyPath: m_LocalPosition.x + value: -0.0367 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 4f8908b5be8aa20408ffdc0ad114008d, type: 3} + propertyPath: m_LocalPosition.y + value: 0.09 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 4f8908b5be8aa20408ffdc0ad114008d, type: 3} + propertyPath: m_LocalPosition.z + value: -0.0613 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 4f8908b5be8aa20408ffdc0ad114008d, type: 3} + propertyPath: m_LocalRotation.w + value: 0.94444513 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 4f8908b5be8aa20408ffdc0ad114008d, type: 3} + propertyPath: m_LocalRotation.x + value: -0.045171697 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 4f8908b5be8aa20408ffdc0ad114008d, type: 3} + propertyPath: m_LocalRotation.y + value: 0.21454622 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 4f8908b5be8aa20408ffdc0ad114008d, type: 3} + propertyPath: m_LocalRotation.z + value: 0.2448527 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 4f8908b5be8aa20408ffdc0ad114008d, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: -10.975 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 4f8908b5be8aa20408ffdc0ad114008d, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 22.971 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 4f8908b5be8aa20408ffdc0ad114008d, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 26.832 + objectReference: {fileID: 0} + - target: {fileID: 8771091787928289351, guid: 4f8908b5be8aa20408ffdc0ad114008d, type: 3} + propertyPath: m_Name + value: CactusRound + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: -4161369568681901532, guid: 4f8908b5be8aa20408ffdc0ad114008d, type: 3} +--- !u!4 &3172494286317074963 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -3910990755373119420, guid: 4f8908b5be8aa20408ffdc0ad114008d, type: 3} + m_PrefabInstance: {fileID: 7331763572462367319} + m_PrefabAsset: {fileID: 0} diff --git a/package/Runtime/Facefilter/Base Assets/Filter Template.prefab.meta b/package/Runtime/Facefilter/Base Assets/Filter Template.prefab.meta new file mode 100644 index 000000000..ccbb79648 --- /dev/null +++ b/package/Runtime/Facefilter/Base Assets/Filter Template.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6c4808ce137677242a27815509fb59c5 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Facefilter/Base Assets/Head Basemesh.glb b/package/Runtime/Facefilter/Base Assets/Head Basemesh.glb new file mode 100644 index 000000000..62f27e7e9 Binary files /dev/null and b/package/Runtime/Facefilter/Base Assets/Head Basemesh.glb differ diff --git a/package/Runtime/Facefilter/Base Assets/Head Basemesh.glb.meta b/package/Runtime/Facefilter/Base Assets/Head Basemesh.glb.meta new file mode 100644 index 000000000..f1c387225 --- /dev/null +++ b/package/Runtime/Facefilter/Base Assets/Head Basemesh.glb.meta @@ -0,0 +1,46 @@ +fileFormatVersion: 2 +guid: a9ef95b026dad8f4ebbff4dbd72a3d3f +importerOverride: UnityGLTFEditor:UnityGLTF:GLTFImporter +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 804e1ce4c496647cfa3f1a1134187c71, type: 3} + _removeEmptyRootObjects: 1 + _scaleFactor: 1 + _maximumLod: 300 + _readWriteEnabled: 1 + _generateColliders: 0 + _swapUvs: 0 + _generateLightmapUVs: 0 + _importBlendShapeNames: 1 + _blendShapeFrameWeight: + _option: 0 + _multiplier: 1 + _importNormals: 0 + _importTangents: 0 + _importCamera: 2 + _importAnimations: 2 + _addAnimatorComponent: 0 + _animationLoopTime: 1 + _animationLoopPose: 0 + _importMaterials: 1 + _enableGpuInstancing: 0 + _useSceneNameIdentifier: 1 + _textureCompression: -50 + optimizeGameObjects: 0 + materials: + - {instanceID: 0} + textures: [] + hasSceneData: 1 + hasAnimationData: 0 + hasMaterialData: 1 + hasTextureData: 0 + animations: [] + _extensions: [] + _textures: [] + _mainAssetIdentifier: scenes/face_geo + _importPlugins: [] diff --git a/package/Runtime/Facefilter/Examples.meta b/package/Runtime/Facefilter/Examples.meta new file mode 100644 index 000000000..5955120f4 --- /dev/null +++ b/package/Runtime/Facefilter/Examples.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2edf61743f63f6848b399773aecf0011 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Facefilter/Examples/Mustang Sunglasses (Face Filter).prefab b/package/Runtime/Facefilter/Examples/Mustang Sunglasses (Face Filter).prefab new file mode 100644 index 000000000..6877ff12d --- /dev/null +++ b/package/Runtime/Facefilter/Examples/Mustang Sunglasses (Face Filter).prefab @@ -0,0 +1,154 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &6522841458478241214 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 485406196217299575} + m_Layer: 0 + m_Name: Mustang Sunglasses (Face Filter) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &485406196217299575 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6522841458478241214} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 9163334295679146902} + - {fileID: 8274168905920061438} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7886569103612601445 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9163334295679146902} + - component: {fileID: 7840931868369981774} + m_Layer: 0 + m_Name: Head Marker + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &9163334295679146902 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7886569103612601445} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 485406196217299575} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &7840931868369981774 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7886569103612601445} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a2dabb1581212e10da39f11673136f5, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Typescript.GeneratedComponents.FaceFilterHeadPosition, + Needle.Engine-Samples.Runtime +--- !u!1001 &696672480872560432 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 485406196217299575} + m_Modifications: + - target: {fileID: 8128668236925612103, guid: 374b190d83c14394a8ef9a8e31dba6b0, type: 3} + propertyPath: m_Name + value: mustang_sunglasses_-_mu_1683 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: 374b190d83c14394a8ef9a8e31dba6b0, type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: 374b190d83c14394a8ef9a8e31dba6b0, type: 3} + propertyPath: m_LocalScale.x + value: 0.53025556 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: 374b190d83c14394a8ef9a8e31dba6b0, type: 3} + propertyPath: m_LocalScale.y + value: 0.53025585 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: 374b190d83c14394a8ef9a8e31dba6b0, type: 3} + propertyPath: m_LocalScale.z + value: 0.53025585 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: 374b190d83c14394a8ef9a8e31dba6b0, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: 374b190d83c14394a8ef9a8e31dba6b0, type: 3} + propertyPath: m_LocalPosition.y + value: -0.0051 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: 374b190d83c14394a8ef9a8e31dba6b0, type: 3} + propertyPath: m_LocalPosition.z + value: 0.0515 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: 374b190d83c14394a8ef9a8e31dba6b0, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: 374b190d83c14394a8ef9a8e31dba6b0, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: 374b190d83c14394a8ef9a8e31dba6b0, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: 374b190d83c14394a8ef9a8e31dba6b0, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: 374b190d83c14394a8ef9a8e31dba6b0, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: 374b190d83c14394a8ef9a8e31dba6b0, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: 374b190d83c14394a8ef9a8e31dba6b0, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: -5645937942226959685, guid: 374b190d83c14394a8ef9a8e31dba6b0, type: 3} +--- !u!4 &8274168905920061438 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 8897093224900880590, guid: 374b190d83c14394a8ef9a8e31dba6b0, type: 3} + m_PrefabInstance: {fileID: 696672480872560432} + m_PrefabAsset: {fileID: 0} diff --git a/package/Runtime/Facefilter/Examples/Mustang Sunglasses (Face Filter).prefab.meta b/package/Runtime/Facefilter/Examples/Mustang Sunglasses (Face Filter).prefab.meta new file mode 100644 index 000000000..9f1e317ca --- /dev/null +++ b/package/Runtime/Facefilter/Examples/Mustang Sunglasses (Face Filter).prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6f772fc01bab86d4dbb10ad2dd49fcdf +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Facefilter/Examples/Open Mouth (Face Filter).prefab b/package/Runtime/Facefilter/Examples/Open Mouth (Face Filter).prefab new file mode 100644 index 000000000..a1cbd43df --- /dev/null +++ b/package/Runtime/Facefilter/Examples/Open Mouth (Face Filter).prefab @@ -0,0 +1,723 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3658822941709120597 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3658822941709120593} + - component: {fileID: 3658822941709120598} + - component: {fileID: 3658822941709120599} + - component: {fileID: 3658822941709120596} + m_Layer: 0 + m_Name: Open Mouth (Face Filter) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3658822941709120593 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3658822941709120597} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3658822943450048252} + - {fileID: 3658822942133941987} + - {fileID: 3658822942741555536} + - {fileID: 522002725728983031} + - {fileID: 2836235893452044969} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &3658822941709120598 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3658822941709120597} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 791cb3849729d715dbd62568d4ce52e9, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Typescript.GeneratedComponents.FaceFilterRoot, + Needle.Engine-Samples.Runtime + overrideDefaultOccluder: 0 +--- !u!95 &3658822941709120599 +Animator: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3658822941709120597} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 58042b8259d60ab4796e84e26ad47c06, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 +--- !u!114 &3658822941709120596 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3658822941709120597} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3f7e1fbdbc2f076983f42eac8842febd, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Typescript.GeneratedComponents.FaceFilterAnimator, + Needle.Engine-Samples.Runtime +--- !u!1 &3658822942133941984 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3658822942133941987} + m_Layer: 0 + m_Name: Object2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3658822942133941987 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3658822942133941984} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.032, y: 0.0025, z: -0.0318} + m_LocalScale: {x: 0.98232, y: 0.98232, z: 0.98232} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5313705718336457903} + m_Father: {fileID: 3658822941709120593} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0.056, z: 0} +--- !u!1 &3658822942741555537 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3658822942741555536} + - component: {fileID: 3658822942741555539} + m_Layer: 0 + m_Name: Needle Filter Head Position + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3658822942741555536 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3658822942741555537} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -0.0073, z: 0} + m_LocalScale: {x: 0.87626, y: 0.87626, z: 0.87626} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3658822941709120593} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &3658822942741555539 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3658822942741555537} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a2dabb1581212e10da39f11673136f5, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Typescript.GeneratedComponents.FaceFilterHeadPosition, + Needle.Engine-Samples.Runtime +--- !u!1 &3658822943450048253 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3658822943450048252} + m_Layer: 0 + m_Name: Object1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3658822943450048252 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3658822943450048253} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.0337, y: 0.0025, z: -0.0307} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5313705719972232926} + m_Father: {fileID: 3658822941709120593} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0.056, z: 0} +--- !u!1 &5062364674594871244 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2074811506367381216} + - component: {fileID: 3705080740595105307} + - component: {fileID: 6553072012083632454} + m_Layer: 5 + m_Name: Text (Legacy) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2074811506367381216 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5062364674594871244} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2578098557808571374} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 398, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3705080740595105307 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5062364674594871244} + m_CullTransparentMesh: 1 +--- !u!114 &6553072012083632454 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5062364674594871244} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI.Text, UnityEngine.UI + m_Material: {fileID: 0} + m_Color: {r: 0.50284797, g: 0.9433962, b: 0.55329, a: 0.7176471} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 50 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 60 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: Open your mouth +--- !u!1 &6147993588373247282 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 522002725728983031} + m_Layer: 0 + m_Name: Object3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &522002725728983031 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6147993588373247282} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 8899005891349312203} + m_Father: {fileID: 3658822941709120593} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7243688788329134882 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2578098557808571374} + - component: {fileID: 5508107824046004006} + - component: {fileID: 7378328492427421322} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2578098557808571374 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7243688788329134882} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2074811506367381216} + m_Father: {fileID: 2836235893452044969} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: -66.5} + m_SizeDelta: {x: 457.4, y: 115.28} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &5508107824046004006 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7243688788329134882} + m_CullTransparentMesh: 1 +--- !u!114 &7378328492427421322 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7243688788329134882} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI.Image, UnityEngine.UI + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.0627451} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &8288739520033218422 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2836235893452044969} + - component: {fileID: 8000117960196389788} + - component: {fileID: 4580126988518222544} + - component: {fileID: 2166789028708222433} + - component: {fileID: 8617835806594648136} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2836235893452044969 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8288739520033218422} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2578098557808571374} + m_Father: {fileID: 3658822941709120593} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!223 &8000117960196389788 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8288739520033218422} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!114 &4580126988518222544 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8288739520033218422} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI.CanvasScaler, UnityEngine.UI + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!114 &2166789028708222433 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8288739520033218422} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI.GraphicRaycaster, UnityEngine.UI + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!225 &8617835806594648136 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8288739520033218422} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 0 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 +--- !u!1001 &3658822941931338383 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 522002725728983031} + m_Modifications: + - target: {fileID: -3910990755373119420, guid: 3e256bf9449c1e5428d9edbdb4129c9b, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 3e256bf9449c1e5428d9edbdb4129c9b, type: 3} + propertyPath: m_LocalScale.x + value: 2.9244084 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 3e256bf9449c1e5428d9edbdb4129c9b, type: 3} + propertyPath: m_LocalScale.y + value: 2.9244084 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 3e256bf9449c1e5428d9edbdb4129c9b, type: 3} + propertyPath: m_LocalScale.z + value: 2.9244087 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 3e256bf9449c1e5428d9edbdb4129c9b, type: 3} + propertyPath: m_LocalPosition.x + value: -0.0447 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 3e256bf9449c1e5428d9edbdb4129c9b, type: 3} + propertyPath: m_LocalPosition.y + value: -0.0057 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 3e256bf9449c1e5428d9edbdb4129c9b, type: 3} + propertyPath: m_LocalPosition.z + value: -0.05 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 3e256bf9449c1e5428d9edbdb4129c9b, type: 3} + propertyPath: m_LocalRotation.w + value: 0.71527654 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 3e256bf9449c1e5428d9edbdb4129c9b, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 3e256bf9449c1e5428d9edbdb4129c9b, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 3e256bf9449c1e5428d9edbdb4129c9b, type: 3} + propertyPath: m_LocalRotation.z + value: -0.6988416 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 3e256bf9449c1e5428d9edbdb4129c9b, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 3e256bf9449c1e5428d9edbdb4129c9b, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 3e256bf9449c1e5428d9edbdb4129c9b, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -88.668 + objectReference: {fileID: 0} + - target: {fileID: 8771091787928289351, guid: 3e256bf9449c1e5428d9edbdb4129c9b, type: 3} + propertyPath: m_Name + value: Bone + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: -4161369568681901532, guid: 3e256bf9449c1e5428d9edbdb4129c9b, type: 3} +--- !u!4 &8899005891349312203 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -3910990755373119420, guid: 3e256bf9449c1e5428d9edbdb4129c9b, type: 3} + m_PrefabInstance: {fileID: 3658822941931338383} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &3658822942196261985 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 3658822942133941987} + m_Modifications: + - target: {fileID: 8128668236925612103, guid: c725c2cf3eb314d4692117bae4078070, type: 3} + propertyPath: m_Name + value: eye_low_poly_free_cute_eyeballs + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c725c2cf3eb314d4692117bae4078070, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c725c2cf3eb314d4692117bae4078070, type: 3} + propertyPath: m_LocalScale.x + value: 0.028452707 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c725c2cf3eb314d4692117bae4078070, type: 3} + propertyPath: m_LocalScale.y + value: 0.02845273 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c725c2cf3eb314d4692117bae4078070, type: 3} + propertyPath: m_LocalScale.z + value: 0.02845273 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c725c2cf3eb314d4692117bae4078070, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c725c2cf3eb314d4692117bae4078070, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c725c2cf3eb314d4692117bae4078070, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c725c2cf3eb314d4692117bae4078070, type: 3} + propertyPath: m_LocalRotation.w + value: 0.00000005338508 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c725c2cf3eb314d4692117bae4078070, type: 3} + propertyPath: m_LocalRotation.x + value: -9.35848e-24 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c725c2cf3eb314d4692117bae4078070, type: 3} + propertyPath: m_LocalRotation.y + value: -0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c725c2cf3eb314d4692117bae4078070, type: 3} + propertyPath: m_LocalRotation.z + value: 0.70710677 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c725c2cf3eb314d4692117bae4078070, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c725c2cf3eb314d4692117bae4078070, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c725c2cf3eb314d4692117bae4078070, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: -5645937942226959685, guid: c725c2cf3eb314d4692117bae4078070, type: 3} +--- !u!4 &5313705718336457903 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 8897093224900880590, guid: c725c2cf3eb314d4692117bae4078070, type: 3} + m_PrefabInstance: {fileID: 3658822942196261985} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &3658822942707914256 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 3658822943450048252} + m_Modifications: + - target: {fileID: 8128668236925612103, guid: c725c2cf3eb314d4692117bae4078070, type: 3} + propertyPath: m_Name + value: eye_low_poly_free_cute_eyeballs + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c725c2cf3eb314d4692117bae4078070, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c725c2cf3eb314d4692117bae4078070, type: 3} + propertyPath: m_LocalScale.x + value: 0.028452707 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c725c2cf3eb314d4692117bae4078070, type: 3} + propertyPath: m_LocalScale.y + value: 0.02845273 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c725c2cf3eb314d4692117bae4078070, type: 3} + propertyPath: m_LocalScale.z + value: 0.02845273 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c725c2cf3eb314d4692117bae4078070, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c725c2cf3eb314d4692117bae4078070, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c725c2cf3eb314d4692117bae4078070, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c725c2cf3eb314d4692117bae4078070, type: 3} + propertyPath: m_LocalRotation.w + value: 0.00000005338508 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c725c2cf3eb314d4692117bae4078070, type: 3} + propertyPath: m_LocalRotation.x + value: -9.35848e-24 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c725c2cf3eb314d4692117bae4078070, type: 3} + propertyPath: m_LocalRotation.y + value: -0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c725c2cf3eb314d4692117bae4078070, type: 3} + propertyPath: m_LocalRotation.z + value: 0.70710677 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c725c2cf3eb314d4692117bae4078070, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c725c2cf3eb314d4692117bae4078070, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c725c2cf3eb314d4692117bae4078070, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: -5645937942226959685, guid: c725c2cf3eb314d4692117bae4078070, type: 3} +--- !u!4 &5313705719972232926 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 8897093224900880590, guid: c725c2cf3eb314d4692117bae4078070, type: 3} + m_PrefabInstance: {fileID: 3658822942707914256} + m_PrefabAsset: {fileID: 0} diff --git a/package/Runtime/Facefilter/Examples/Open Mouth (Face Filter).prefab.meta b/package/Runtime/Facefilter/Examples/Open Mouth (Face Filter).prefab.meta new file mode 100644 index 000000000..1f30f9c75 --- /dev/null +++ b/package/Runtime/Facefilter/Examples/Open Mouth (Face Filter).prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 81f4fc978d822d14faf5f30b3952b85d +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Facefilter/Examples/Pink Round Sunglasses (Face Filter).prefab b/package/Runtime/Facefilter/Examples/Pink Round Sunglasses (Face Filter).prefab new file mode 100644 index 000000000..d40d6c704 --- /dev/null +++ b/package/Runtime/Facefilter/Examples/Pink Round Sunglasses (Face Filter).prefab @@ -0,0 +1,169 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3737644985128524038 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6070944768616901068} + - component: {fileID: 5927021236300422317} + m_Layer: 0 + m_Name: Pink Round Sunglasses (Face Filter) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6070944768616901068 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3737644985128524038} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 718454624614053518} + - {fileID: 5390813606195654378} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &5927021236300422317 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3737644985128524038} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 791cb3849729d715dbd62568d4ce52e9, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Typescript.GeneratedComponents.FaceFilterRoot, + Needle.Engine-Samples.Runtime + overrideDefaultOccluder: 0 +--- !u!1 &3873477848158703185 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5390813606195654378} + - component: {fileID: 36204108196783030} + m_Layer: 0 + m_Name: Needle Filter Head Position + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5390813606195654378 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3873477848158703185} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6070944768616901068} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &36204108196783030 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3873477848158703185} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a2dabb1581212e10da39f11673136f5, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Typescript.GeneratedComponents.FaceFilterHeadPosition, + Needle.Engine-Samples.Runtime +--- !u!1001 &8250776532094230080 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 6070944768616901068} + m_Modifications: + - target: {fileID: 8128668236925612103, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + propertyPath: m_Name + value: pink_round_sunglasses + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + propertyPath: m_LocalScale.x + value: 0.010972 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + propertyPath: m_LocalScale.y + value: 0.010972005 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + propertyPath: m_LocalScale.z + value: 0.010972005 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + propertyPath: m_LocalPosition.y + value: -0.0128 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + propertyPath: m_LocalPosition.z + value: 0.0419 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: -5645937942226959685, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} +--- !u!4 &718454624614053518 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 8897093224900880590, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + m_PrefabInstance: {fileID: 8250776532094230080} + m_PrefabAsset: {fileID: 0} diff --git a/package/Runtime/Facefilter/Examples/Pink Round Sunglasses (Face Filter).prefab.meta b/package/Runtime/Facefilter/Examples/Pink Round Sunglasses (Face Filter).prefab.meta new file mode 100644 index 000000000..c4a5af8b7 --- /dev/null +++ b/package/Runtime/Facefilter/Examples/Pink Round Sunglasses (Face Filter).prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 44d25216005062b45957387e38cdf14e +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Facefilter/Examples/Racoon (Face Filter).prefab b/package/Runtime/Facefilter/Examples/Racoon (Face Filter).prefab new file mode 100644 index 000000000..99a0337bd --- /dev/null +++ b/package/Runtime/Facefilter/Examples/Racoon (Face Filter).prefab @@ -0,0 +1,152 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3419116473881820644 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6384899994036634197} + - component: {fileID: 8076492859417539277} + m_Layer: 0 + m_Name: Needle Filter Head Position + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6384899994036634197 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3419116473881820644} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.02, z: 0.022} + m_LocalScale: {x: 1.8600904, y: 1.86009, z: 1.8600904} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7506834600844795425} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &8076492859417539277 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3419116473881820644} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a2dabb1581212e10da39f11673136f5, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Typescript.GeneratedComponents.FaceFilterHeadPosition, + Needle.Engine-Samples.Runtime +--- !u!1001 &2419836985797580389 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: -3910990755373119420, guid: 6be76aa86afc105468385cf9dfc8dbad, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 6be76aa86afc105468385cf9dfc8dbad, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 6be76aa86afc105468385cf9dfc8dbad, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 6be76aa86afc105468385cf9dfc8dbad, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 6be76aa86afc105468385cf9dfc8dbad, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 6be76aa86afc105468385cf9dfc8dbad, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 6be76aa86afc105468385cf9dfc8dbad, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 6be76aa86afc105468385cf9dfc8dbad, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 6be76aa86afc105468385cf9dfc8dbad, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 6be76aa86afc105468385cf9dfc8dbad, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -3910990755373119420, guid: 6be76aa86afc105468385cf9dfc8dbad, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -1219844936156686902, guid: 6be76aa86afc105468385cf9dfc8dbad, type: 3} + propertyPath: m_DirtyAABB + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -1219844936156686902, guid: 6be76aa86afc105468385cf9dfc8dbad, type: 3} + propertyPath: m_AABB.m_Center.y + value: -0.011535972 + objectReference: {fileID: 0} + - target: {fileID: -1219844936156686902, guid: 6be76aa86afc105468385cf9dfc8dbad, type: 3} + propertyPath: m_AABB.m_Center.z + value: 0.106158644 + objectReference: {fileID: 0} + - target: {fileID: -1219844936156686902, guid: 6be76aa86afc105468385cf9dfc8dbad, type: 3} + propertyPath: m_AABB.m_Extent.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -1219844936156686902, guid: 6be76aa86afc105468385cf9dfc8dbad, type: 3} + propertyPath: m_AABB.m_Extent.y + value: 0.93536174 + objectReference: {fileID: 0} + - target: {fileID: -1219844936156686902, guid: 6be76aa86afc105468385cf9dfc8dbad, type: 3} + propertyPath: m_AABB.m_Extent.z + value: 1.0177771 + objectReference: {fileID: 0} + - target: {fileID: 8771091787928289351, guid: 6be76aa86afc105468385cf9dfc8dbad, type: 3} + propertyPath: m_Name + value: Racoon Filter + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: -4161369568681901532, guid: 6be76aa86afc105468385cf9dfc8dbad, type: 3} +--- !u!1 &6353964895894951458 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 8771091787928289351, guid: 6be76aa86afc105468385cf9dfc8dbad, type: 3} + m_PrefabInstance: {fileID: 2419836985797580389} + m_PrefabAsset: {fileID: 0} +--- !u!114 &7056527142985068071 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6353964895894951458} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 791cb3849729d715dbd62568d4ce52e9, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Typescript.GeneratedComponents.FaceFilterRoot, + Needle.Engine-Samples.Runtime + overrideDefaultOccluder: 0 +--- !u!4 &7506834600844795425 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -3910990755373119420, guid: 6be76aa86afc105468385cf9dfc8dbad, type: 3} + m_PrefabInstance: {fileID: 2419836985797580389} + m_PrefabAsset: {fileID: 0} diff --git a/package/Runtime/Facefilter/Examples/Racoon (Face Filter).prefab.meta b/package/Runtime/Facefilter/Examples/Racoon (Face Filter).prefab.meta new file mode 100644 index 000000000..907465002 --- /dev/null +++ b/package/Runtime/Facefilter/Examples/Racoon (Face Filter).prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7dbc3f4a0043912408c68cfdd8724fb2 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Facefilter/Examples/Ready Player Me (Face Filter).glb b/package/Runtime/Facefilter/Examples/Ready Player Me (Face Filter).glb new file mode 100644 index 000000000..e15691b42 Binary files /dev/null and b/package/Runtime/Facefilter/Examples/Ready Player Me (Face Filter).glb differ diff --git a/package/Runtime/Facefilter/Examples/Ready Player Me (Face Filter).glb.meta b/package/Runtime/Facefilter/Examples/Ready Player Me (Face Filter).glb.meta new file mode 100644 index 000000000..c073d6c49 --- /dev/null +++ b/package/Runtime/Facefilter/Examples/Ready Player Me (Face Filter).glb.meta @@ -0,0 +1,121 @@ +fileFormatVersion: 2 +guid: a04a73f69e558364da4b33237d159c29 +importerOverride: UnityGLTFEditor:UnityGLTF:GLTFImporter +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 804e1ce4c496647cfa3f1a1134187c71, type: 3} + _removeEmptyRootObjects: 1 + _scaleFactor: 1 + _maximumLod: 300 + _readWriteEnabled: 1 + _generateColliders: 0 + _swapUvs: 0 + _generateLightmapUVs: 0 + _importBlendShapeNames: 1 + _blendShapeFrameWeight: + _option: 0 + _multiplier: 1 + _importNormals: 0 + _importTangents: 0 + _importCamera: 2 + _importAnimations: 2 + _addAnimatorComponent: 0 + _animationLoopTime: 1 + _animationLoopPose: 0 + _importMaterials: 1 + _enableGpuInstancing: 0 + _useSceneNameIdentifier: 1 + _textureCompression: -50 + optimizeGameObjects: 0 + materials: + - {instanceID: 0} + - {instanceID: 0} + - {instanceID: 0} + - {instanceID: 0} + - {instanceID: 0} + - {instanceID: 0} + - {instanceID: 0} + - {instanceID: 0} + textures: + - {instanceID: 0} + - {instanceID: 0} + - {instanceID: 0} + - {instanceID: 0} + - {instanceID: 0} + - {instanceID: 0} + - {instanceID: 0} + - {instanceID: 0} + - {instanceID: 0} + - {instanceID: 0} + - {instanceID: 0} + - {instanceID: 0} + - {instanceID: 0} + - {instanceID: 0} + - {instanceID: 0} + hasSceneData: 1 + hasAnimationData: 0 + hasMaterialData: 1 + hasTextureData: 1 + animations: [] + _extensions: + - name: KHR_materials_ior + supported: 1 + used: 1 + required: 0 + - name: KHR_materials_specular + supported: 1 + used: 1 + required: 0 + _textures: + - texture: {instanceID: 0} + shouldBeLinear: 0 + shouldBeNormalMap: 0 + - texture: {instanceID: 0} + shouldBeLinear: 0 + shouldBeNormalMap: 0 + - texture: {instanceID: 0} + shouldBeLinear: 0 + shouldBeNormalMap: 0 + - texture: {instanceID: 0} + shouldBeLinear: 0 + shouldBeNormalMap: 0 + - texture: {instanceID: 0} + shouldBeLinear: 1 + shouldBeNormalMap: 1 + - texture: {instanceID: 0} + shouldBeLinear: 0 + shouldBeNormalMap: 0 + - texture: {instanceID: 0} + shouldBeLinear: 1 + shouldBeNormalMap: 1 + - texture: {instanceID: 0} + shouldBeLinear: 1 + shouldBeNormalMap: 0 + - texture: {instanceID: 0} + shouldBeLinear: 0 + shouldBeNormalMap: 0 + - texture: {instanceID: 0} + shouldBeLinear: 1 + shouldBeNormalMap: 1 + - texture: {instanceID: 0} + shouldBeLinear: 1 + shouldBeNormalMap: 0 + - texture: {instanceID: 0} + shouldBeLinear: 0 + shouldBeNormalMap: 0 + - texture: {instanceID: 0} + shouldBeLinear: 1 + shouldBeNormalMap: 1 + - texture: {instanceID: 0} + shouldBeLinear: 1 + shouldBeNormalMap: 0 + - texture: {instanceID: 0} + shouldBeLinear: 0 + shouldBeNormalMap: 0 + _mainAssetIdentifier: scenes/Scene + _importPlugins: [] diff --git a/package/Runtime/Facefilter/FaceFilter.codegen.meta b/package/Runtime/Facefilter/FaceFilter.codegen.meta new file mode 100644 index 000000000..e776a054d --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter.codegen.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e1fd1080219e6594e9b792ac7e732967 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Facefilter/FaceFilter.codegen/FaceFilterAnimator.cs b/package/Runtime/Facefilter/FaceFilter.codegen/FaceFilterAnimator.cs new file mode 100644 index 000000000..f3807d09b --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter.codegen/FaceFilterAnimator.cs @@ -0,0 +1,15 @@ +// NEEDLE_CODEGEN_START +// auto generated code - do not edit directly + +#pragma warning disable + +namespace Needle.Typescript.GeneratedComponents +{ + public partial class FaceFilterAnimator : Needle.Typescript.GeneratedComponents.FilterBehaviour + { + public void awake(){} + public void onResultsUpdated(Needle.Typescript.GeneratedComponents.NeedleFilterTrackingManager @filter){} + } +} + +// NEEDLE_CODEGEN_END \ No newline at end of file diff --git a/package/Runtime/Facefilter/FaceFilter.codegen/FaceFilterAnimator.cs.meta b/package/Runtime/Facefilter/FaceFilter.codegen/FaceFilterAnimator.cs.meta new file mode 100644 index 000000000..0d704285c --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter.codegen/FaceFilterAnimator.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3f7e1fbdbc2f076983f42eac8842febd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Facefilter/FaceFilter.codegen/FaceFilterBlendshapes.cs b/package/Runtime/Facefilter/FaceFilter.codegen/FaceFilterBlendshapes.cs new file mode 100644 index 000000000..a5c9cf34e --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter.codegen/FaceFilterBlendshapes.cs @@ -0,0 +1,16 @@ +// NEEDLE_CODEGEN_START +// auto generated code - do not edit directly + +#pragma warning disable + +namespace Needle.Typescript.GeneratedComponents +{ + public partial class FaceFilterBlendshapes : Needle.Typescript.GeneratedComponents.FilterBehaviour + { + public object @blendshapeMap; + public void OnEnable(){} + public void onResultsUpdated(Needle.Typescript.GeneratedComponents.NeedleFilterTrackingManager @filter){} + } +} + +// NEEDLE_CODEGEN_END \ No newline at end of file diff --git a/package/Runtime/Facefilter/FaceFilter.codegen/FaceFilterBlendshapes.cs.meta b/package/Runtime/Facefilter/FaceFilter.codegen/FaceFilterBlendshapes.cs.meta new file mode 100644 index 000000000..23e803d9e --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter.codegen/FaceFilterBlendshapes.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d4635af818b22cb1fa8deaa4cbba0c85 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Facefilter/FaceFilter.codegen/FaceFilterHeadPosition.cs b/package/Runtime/Facefilter/FaceFilter.codegen/FaceFilterHeadPosition.cs new file mode 100644 index 000000000..78a782ba4 --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter.codegen/FaceFilterHeadPosition.cs @@ -0,0 +1,14 @@ +// NEEDLE_CODEGEN_START +// auto generated code - do not edit directly + +#pragma warning disable + +namespace Needle.Typescript.GeneratedComponents +{ + public partial class FaceFilterHeadPosition : UnityEngine.MonoBehaviour + { + // public Matrix4 @matrix; → Could not resolve C# type + } +} + +// NEEDLE_CODEGEN_END \ No newline at end of file diff --git a/package/Runtime/Facefilter/FaceFilter.codegen/FaceFilterHeadPosition.cs.meta b/package/Runtime/Facefilter/FaceFilter.codegen/FaceFilterHeadPosition.cs.meta new file mode 100644 index 000000000..332dc0a78 --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter.codegen/FaceFilterHeadPosition.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5a2dabb1581212e10da39f11673136f5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Facefilter/FaceFilter.codegen/FaceFilterRoot.cs b/package/Runtime/Facefilter/FaceFilter.codegen/FaceFilterRoot.cs new file mode 100644 index 000000000..bf8f98842 --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter.codegen/FaceFilterRoot.cs @@ -0,0 +1,17 @@ +// NEEDLE_CODEGEN_START +// auto generated code - do not edit directly + +#pragma warning disable + +namespace Needle.Typescript.GeneratedComponents +{ + public partial class FaceFilterRoot : UnityEngine.MonoBehaviour + { + public bool @overrideDefaultOccluder = false; + public void awake(){} + public void onResultsUpdated(Needle.Typescript.GeneratedComponents.NeedleFilterTrackingManager @filter){} + public void onBeforeRender(){} + } +} + +// NEEDLE_CODEGEN_END \ No newline at end of file diff --git a/package/Runtime/Facefilter/FaceFilter.codegen/FaceFilterRoot.cs.meta b/package/Runtime/Facefilter/FaceFilter.codegen/FaceFilterRoot.cs.meta new file mode 100644 index 000000000..863b7aa90 --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter.codegen/FaceFilterRoot.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 791cb3849729d715dbd62568d4ce52e9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Facefilter/FaceFilter.codegen/FilterBehaviour.cs b/package/Runtime/Facefilter/FaceFilter.codegen/FilterBehaviour.cs new file mode 100644 index 000000000..284a55b6c --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter.codegen/FilterBehaviour.cs @@ -0,0 +1,13 @@ +// NEEDLE_CODEGEN_START +// auto generated code - do not edit directly + +#pragma warning disable + +namespace Needle.Typescript.GeneratedComponents +{ + public abstract partial class FilterBehaviour : UnityEngine.MonoBehaviour + { + } +} + +// NEEDLE_CODEGEN_END \ No newline at end of file diff --git a/package/Runtime/Facefilter/FaceFilter.codegen/FilterBehaviour.cs.meta b/package/Runtime/Facefilter/FaceFilter.codegen/FilterBehaviour.cs.meta new file mode 100644 index 000000000..b4cc458af --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter.codegen/FilterBehaviour.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3504c4b183dfde0eeb3613d62c79bda2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Facefilter/FaceFilter.codegen/NeedleBackgroundMesh.cs b/package/Runtime/Facefilter/FaceFilter.codegen/NeedleBackgroundMesh.cs new file mode 100644 index 000000000..30d5fbb4e --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter.codegen/NeedleBackgroundMesh.cs @@ -0,0 +1,16 @@ +// NEEDLE_CODEGEN_START +// auto generated code - do not edit directly + +#pragma warning disable + +namespace Needle.Typescript.GeneratedComponents +{ + public partial class NeedleBackgroundMesh : UnityEngine.MonoBehaviour + { + public void awake(){} + public void onBeforeRender(){} + public void onAfterRender(){} + } +} + +// NEEDLE_CODEGEN_END \ No newline at end of file diff --git a/package/Runtime/Facefilter/FaceFilter.codegen/NeedleBackgroundMesh.cs.meta b/package/Runtime/Facefilter/FaceFilter.codegen/NeedleBackgroundMesh.cs.meta new file mode 100644 index 000000000..9fd63aa3b --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter.codegen/NeedleBackgroundMesh.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 07b4ccf0df46b2e77ee04275f1936b57 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Facefilter/FaceFilter.codegen/NeedleFilterTrackingManager.cs b/package/Runtime/Facefilter/FaceFilter.codegen/NeedleFilterTrackingManager.cs new file mode 100644 index 000000000..9cf316191 --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter.codegen/NeedleFilterTrackingManager.cs @@ -0,0 +1,26 @@ +// NEEDLE_CODEGEN_START +// auto generated code - do not edit directly + +#pragma warning disable + +namespace Needle.Typescript.GeneratedComponents +{ + public partial class NeedleFilterTrackingManager : UnityEngine.MonoBehaviour + { + public UnityEngine.Transform[] @filters = new UnityEngine.Transform[]{ }; + public UnityEngine.Transform @occlusionMesh; + public bool @createOcclusionMesh = true; + public bool @createMenuButton = true; + public void getBlendshapeValue(object @shape, float @index){} + public void selectNextFilter(){} + public void selectPreviousFilter(){} + public void select(float @index){} + public void awake(){} + public void OnEnable(){} + public void OnDisable(){} + public void earlyUpdate(){} + public void onBeforeRender(){} + } +} + +// NEEDLE_CODEGEN_END \ No newline at end of file diff --git a/package/Runtime/Facefilter/FaceFilter.codegen/NeedleFilterTrackingManager.cs.meta b/package/Runtime/Facefilter/FaceFilter.codegen/NeedleFilterTrackingManager.cs.meta new file mode 100644 index 000000000..91cd3a322 --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter.codegen/NeedleFilterTrackingManager.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6353b3654683b8d00cb8547a2642cc07 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: + - occlusionMesh: {fileID: 4211051851420010255, guid: 496edac131102f446961c476f29dcd72, type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Facefilter/FaceFilter.codegen/NeedleOcclusionMesh.cs b/package/Runtime/Facefilter/FaceFilter.codegen/NeedleOcclusionMesh.cs new file mode 100644 index 000000000..3aab5f786 --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter.codegen/NeedleOcclusionMesh.cs @@ -0,0 +1,14 @@ +// NEEDLE_CODEGEN_START +// auto generated code - do not edit directly + +#pragma warning disable + +namespace Needle.Typescript.GeneratedComponents +{ + public partial class NeedleOcclusionMesh : UnityEngine.MonoBehaviour + { + public void OnEnable(){} + } +} + +// NEEDLE_CODEGEN_END \ No newline at end of file diff --git a/package/Runtime/Facefilter/FaceFilter.codegen/NeedleOcclusionMesh.cs.meta b/package/Runtime/Facefilter/FaceFilter.codegen/NeedleOcclusionMesh.cs.meta new file mode 100644 index 000000000..f5811bb1a --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter.codegen/NeedleOcclusionMesh.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 348f55a733e5e847552e406e4275e5cd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Facefilter/FaceFilter.codegen/ReadyPlayerMeFacefilterSupport.cs b/package/Runtime/Facefilter/FaceFilter.codegen/ReadyPlayerMeFacefilterSupport.cs new file mode 100644 index 000000000..5832405f4 --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter.codegen/ReadyPlayerMeFacefilterSupport.cs @@ -0,0 +1,15 @@ +// NEEDLE_CODEGEN_START +// auto generated code - do not edit directly + +#pragma warning disable + +namespace Needle.Typescript.GeneratedComponents +{ + public partial class ReadyPlayerMeFacefilterSupport : UnityEngine.MonoBehaviour + { + public void OnEnable(){} + public void OnDisable(){} + } +} + +// NEEDLE_CODEGEN_END \ No newline at end of file diff --git a/package/Runtime/Facefilter/FaceFilter.codegen/ReadyPlayerMeFacefilterSupport.cs.meta b/package/Runtime/Facefilter/FaceFilter.codegen/ReadyPlayerMeFacefilterSupport.cs.meta new file mode 100644 index 000000000..7554bc9f0 --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter.codegen/ReadyPlayerMeFacefilterSupport.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 905fcbfc2f97c27bb1e1dd350b64d8c5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Facefilter/FaceFilter.npmdef b/package/Runtime/Facefilter/FaceFilter.npmdef new file mode 100644 index 000000000..9b8d59d56 --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter.npmdef @@ -0,0 +1,5 @@ +{ + "localPath": null, + "IsLocal": false, + "IsEmbedded": false +} \ No newline at end of file diff --git a/package/Runtime/Facefilter/FaceFilter.npmdef.meta b/package/Runtime/Facefilter/FaceFilter.npmdef.meta new file mode 100644 index 000000000..5f2d33a5a --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter.npmdef.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 06489df698d9822449a39c8043f44a32 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 35db7ae66df44472a2bb6ec3aefc5f6a, type: 3} diff --git a/package/Runtime/Facefilter/FaceFilter~/.gitignore b/package/Runtime/Facefilter/FaceFilter~/.gitignore new file mode 100644 index 000000000..600e365ec --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter~/.gitignore @@ -0,0 +1 @@ +**/node_modules \ No newline at end of file diff --git a/package/Runtime/Facefilter/FaceFilter~/codegen/register_types.ts b/package/Runtime/Facefilter/FaceFilter~/codegen/register_types.ts new file mode 100644 index 000000000..abaaa16cd --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter~/codegen/register_types.ts @@ -0,0 +1,24 @@ +/* eslint-disable */ +import { TypeStore } from "@needle-tools/engine" + +// Import types +import { FaceFilterRoot } from "../src/Behaviours.js"; +import { FaceFilterHeadPosition } from "../src/Behaviours.js"; +import { FaceFilterBlendshapes } from "../src/Behaviours.js"; +import { FaceFilterAnimator } from "../src/Behaviours.js"; +import { NeedleFilterTrackingManager } from "../src/FaceFilter.js"; +import { NeedleOcclusionMesh } from "../src/HelperComponents.js"; +import { NeedleBackgroundMesh } from "../src/HelperComponents.js"; +import { NeedleRecordingHelper } from "../src/RecordingHelper.js"; +import { ReadyPlayerMeFacefilterSupport } from "../src/examples/ReadyPlayerMe.js"; + +// Register types +TypeStore.add("FaceFilterRoot", FaceFilterRoot); +TypeStore.add("FaceFilterHeadPosition", FaceFilterHeadPosition); +TypeStore.add("FaceFilterBlendshapes", FaceFilterBlendshapes); +TypeStore.add("FaceFilterAnimator", FaceFilterAnimator); +TypeStore.add("NeedleFilterTrackingManager", NeedleFilterTrackingManager); +TypeStore.add("NeedleOcclusionMesh", NeedleOcclusionMesh); +TypeStore.add("NeedleBackgroundMesh", NeedleBackgroundMesh); +TypeStore.add("NeedleRecordingHelper", NeedleRecordingHelper); +TypeStore.add("ReadyPlayerMeFacefilterSupport", ReadyPlayerMeFacefilterSupport); diff --git a/package/Runtime/Facefilter/FaceFilter~/index.ts b/package/Runtime/Facefilter/FaceFilter~/index.ts new file mode 100644 index 000000000..38c0361b4 --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter~/index.ts @@ -0,0 +1,11 @@ + +// This is the main entry point of your npm package +// you can add your code here directly or use it to export your api + +// Learn more about npm definition packages: +// https://docs.needle.tools/npmdef + + +export { NeedleFilterTrackingManager } from "./src/FaceFilter.js" +export { NeedleRecordingHelper } from './src/RecordingHelper.js'; +export { type BlendshapeName, FacefilterUtils as NeedleFaceFilterUtils } from './src/utils.js'; \ No newline at end of file diff --git a/package/Runtime/Facefilter/FaceFilter~/package-lock.json b/package/Runtime/Facefilter/FaceFilter~/package-lock.json new file mode 100644 index 000000000..bb81b950b --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter~/package-lock.json @@ -0,0 +1,14789 @@ +{ + "name": "@needle-tools/facefilter", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "@needle-tools/facefilter", + "version": "1.0.0", + "dependencies": { + "@mediapipe/tasks-vision": "^0.10.14" + }, + "devDependencies": { + "@needle-tools/engine": "file:C:\\git\\needle-engine-dev\\modules\\needle-engine\\js\\package~", + "@types/three": "0.162.0", + "three": "npm:@needle-tools/three@^0.162.9" + }, + "peerDependencies": { + "@needle-tools/engine": "file:C:\\git\\needle-engine-dev\\modules\\needle-engine\\js\\package~", + "three": "npm:@needle-tools/three@^0.162.9" + } + }, + "../../../../../needle-engine/js/package~": { + "name": "@needle-tools/engine", + "version": "3.47.6", + "dev": true, + "dependencies": { + "@dimforge/rapier3d-compat": "^0.12.0", + "@needle-tools/gltf-progressive": "file:../../modules/gltf-progressive", + "@webxr-input-profiles/motion-controllers": "^1.0.0", + "flatbuffers": "2.0.4", + "md5": "^2.3.0", + "n8ao": "^1.8.2", + "peerjs": "1.4.7", + "postprocessing": "^6.35.5", + "simplex-noise": "^4.0.1", + "stats.js": "^0.17.0", + "three": "npm:@needle-tools/three@^0.162.9", + "three-mesh-bvh": "^0.7.6", + "three-mesh-ui": "npm:@needle-tools/three-mesh-ui@^7.1.5-alpha.5", + "three.quarks": "0.10.8", + "uuid": "^9.0.0", + "websocket-ts": "^2.1.5" + }, + "devDependencies": { + "@babel/runtime": "^7.16.0", + "@luncheon/esbuild-plugin-gzip": "^0.1.0", + "@needle-tools/helper": "^1.8.0", + "@needle-tools/needle-component-compiler": "^1.9.3", + "@stylistic/eslint-plugin-ts": "^1.5.4", + "@types/node": "^20.14.8", + "@types/three": "0.162.0", + "@typescript-eslint/eslint-plugin": "^6.2.0", + "@typescript-eslint/parser": "^6.2.0", + "esbuild": "^0.15.10", + "esbuild-node-externals": "^1.5.0", + "eslint": "^8.56.0", + "eslint-plugin-import": "^2.29.1", + "eslint-plugin-no-secrets": "^0.8.9", + "eslint-plugin-no-unsanitized": "^4.0.2", + "eslint-plugin-promise": "^6.1.1", + "eslint-plugin-simple-import-sort": "^10.0.0", + "eslint-plugin-xss": "^0.1.12", + "filehound": "^1.17.6", + "fs-extra": "^11.1.1", + "ftp-deploy": "^2.4.4", + "howfat": "^0.3.7", + "jsdoc-babel": "^0.5.0", + "jsdoc-to-markdown": "^7.1.1", + "madge": "^5.0.1", + "npm-watch": "^0.11.0", + "typescript": "^4.5.5", + "vite": "<= 4.3.9" + }, + "peerDependencies": { + "open": "^10.1.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@ampproject/remapping": { + "version": "2.3.0", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@babel/code-frame": { + "version": "7.23.5", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@babel/compat-data": { + "version": "7.23.5", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@babel/core": { + "version": "7.24.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.24.0", + "@babel/parser": "^7.24.0", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.0", + "@babel/types": "^7.24.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@babel/generator": { + "version": "7.23.6", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/types": "^7.23.6", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@babel/helper-compilation-targets": { + "version": "7.23.6", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@babel/helper-module-transforms": { + "version": "7.23.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@babel/helper-string-parser": { + "version": "7.23.4", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@babel/helper-validator-option": { + "version": "7.23.5", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@babel/helpers": { + "version": "7.24.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.0", + "@babel/types": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@babel/highlight": { + "version": "7.23.4", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@babel/parser": { + "version": "7.24.0", + "dev": true, + "license": "MIT", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@babel/polyfill": { + "version": "7.12.1", + "dev": true, + "license": "MIT", + "dependencies": { + "core-js": "^2.6.5", + "regenerator-runtime": "^0.13.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@babel/polyfill/node_modules/regenerator-runtime": { + "version": "0.13.11", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@babel/runtime": { + "version": "7.24.0", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@babel/template": { + "version": "7.24.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@babel/traverse": { + "version": "7.24.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@babel/types": { + "version": "7.24.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@caporal/core": { + "version": "2.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/glob": "^7.1.1", + "@types/lodash": "^4.14.149", + "@types/node": "13.9.3", + "@types/table": "^5.0.0", + "@types/tabtab": "^3.0.1", + "@types/wrap-ansi": "^3.0.0", + "chalk": "^3.0.0", + "glob": "^7.1.6", + "lodash": "^4.17.21", + "table": "^5.4.6", + "tabtab": "^3.0.2", + "winston": "^3.2.1", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">= 10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@caporal/core/node_modules/@types/node": { + "version": "13.9.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@caporal/core/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@caporal/core/node_modules/chalk": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@caporal/core/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@caporal/core/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@caporal/core/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@caporal/core/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@colors/colors": { + "version": "1.6.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.1.90" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@dabh/diagnostics": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "colorspace": "1.1.x", + "enabled": "2.0.x", + "kuler": "^2.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@dimforge/rapier3d-compat": { + "version": "0.12.0", + "dev": true, + "license": "Apache-2.0" + }, + "../../../../../needle-engine/js/package~/node_modules/@esbuild/win32-x64": { + "version": "0.17.19", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.24.0", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@eslint/js": { + "version": "8.57.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@gltf-transform/core": { + "version": "3.10.1", + "dev": true, + "license": "MIT", + "dependencies": { + "property-graph": "^1.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/donmccurdy" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@gltf-transform/extensions": { + "version": "3.10.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@gltf-transform/core": "^3.10.1", + "ktx-parse": "^0.6.0" + }, + "funding": { + "url": "https://github.com/sponsors/donmccurdy" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@gltf-transform/functions": { + "version": "3.10.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@gltf-transform/core": "^3.10.1", + "@gltf-transform/extensions": "^3.10.1", + "ktx-parse": "^0.6.0", + "ndarray": "^1.0.19", + "ndarray-lanczos": "^0.3.0", + "ndarray-pixels": "^3.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/donmccurdy" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@gltf-transform/functions/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@gltf-transform/functions/node_modules/ndarray-pixels": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/ndarray": "^1.0.11", + "ndarray": "^1.0.19", + "ndarray-ops": "^1.2.2", + "sharp": "^0.32.6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@gltf-transform/functions/node_modules/node-addon-api": { + "version": "6.1.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@gltf-transform/functions/node_modules/semver": { + "version": "7.6.0", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@gltf-transform/functions/node_modules/sharp": { + "version": "0.32.6", + "dev": true, + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.2", + "node-addon-api": "^6.1.0", + "prebuild-install": "^7.1.1", + "semver": "^7.5.4", + "simple-get": "^4.0.1", + "tar-fs": "^3.0.4", + "tunnel-agent": "^0.6.0" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@gltf-transform/functions/node_modules/tar-fs": { + "version": "3.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "pump": "^3.0.0", + "tar-stream": "^3.1.5" + }, + "optionalDependencies": { + "bare-fs": "^2.1.1", + "bare-path": "^2.1.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@gltf-transform/functions/node_modules/tar-stream": { + "version": "3.1.7", + "dev": true, + "license": "MIT", + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@gltf-transform/functions/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@humanwhocodes/object-schema": { + "version": "2.0.2", + "dev": true, + "license": "BSD-3-Clause" + }, + "../../../../../needle-engine/js/package~/node_modules/@icetee/ftp": { + "version": "0.3.15", + "dev": true, + "dependencies": { + "readable-stream": "1.1.x", + "xregexp": "2.0.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@icetee/ftp/node_modules/isarray": { + "version": "0.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@icetee/ftp/node_modules/readable-stream": { + "version": "1.1.14", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@icetee/ftp/node_modules/string_decoder": { + "version": "0.10.31", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/bmp": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "bmp-js": "^0.1.0", + "core-js": "^2.5.7" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/core": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "any-base": "^1.1.0", + "buffer": "^5.2.0", + "core-js": "^2.5.7", + "exif-parser": "^0.1.12", + "file-type": "^9.0.0", + "load-bmfont": "^1.3.1", + "mkdirp": "0.5.1", + "phin": "^2.9.1", + "pixelmatch": "^4.0.2", + "tinycolor2": "^1.4.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/core/node_modules/minimist": { + "version": "0.0.8", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/core/node_modules/mkdirp": { + "version": "0.5.1", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "0.0.8" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/custom": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/core": "^0.3.9", + "core-js": "^2.5.7" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/gif": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7", + "omggif": "^1.0.9" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/jpeg": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7", + "jpeg-js": "^0.3.4" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-blit": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-blur": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-color": { + "version": "0.3.10", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7", + "tinycolor2": "^1.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-contain": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-blit": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5", + "@jimp/plugin-scale": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-cover": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-crop": ">=0.3.5", + "@jimp/plugin-scale": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-crop": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-displace": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-dither": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-flip": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-rotate": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-gaussian": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-invert": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-mask": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-normalize": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-print": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7", + "load-bmfont": "^1.3.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-resize": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-rotate": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-blit": ">=0.3.5", + "@jimp/plugin-crop": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-scale": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugins": { + "version": "0.3.10", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/plugin-blit": "^0.3.9", + "@jimp/plugin-blur": "^0.3.9", + "@jimp/plugin-color": "^0.3.10", + "@jimp/plugin-contain": "^0.3.9", + "@jimp/plugin-cover": "^0.3.9", + "@jimp/plugin-crop": "^0.3.9", + "@jimp/plugin-displace": "^0.3.9", + "@jimp/plugin-dither": "^0.3.9", + "@jimp/plugin-flip": "^0.3.9", + "@jimp/plugin-gaussian": "^0.3.9", + "@jimp/plugin-invert": "^0.3.9", + "@jimp/plugin-mask": "^0.3.9", + "@jimp/plugin-normalize": "^0.3.9", + "@jimp/plugin-print": "^0.3.9", + "@jimp/plugin-resize": "^0.3.9", + "@jimp/plugin-rotate": "^0.3.9", + "@jimp/plugin-scale": "^0.3.9", + "core-js": "^2.5.7", + "timm": "^1.6.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/png": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7", + "pngjs": "^3.3.3" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/tiff": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "core-js": "^2.5.7", + "utif": "^2.0.0" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/types": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/bmp": "^0.3.9", + "@jimp/gif": "^0.3.9", + "@jimp/jpeg": "^0.3.9", + "@jimp/png": "^0.3.9", + "@jimp/tiff": "^0.3.9", + "core-js": "^2.5.7", + "timm": "^1.6.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/utils": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "core-js": "^2.5.7" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "dev": true, + "license": "MIT", + "peer": true + }, + "../../../../../needle-engine/js/package~/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jsdoc/salty": { + "version": "0.2.7", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "lodash": "^4.17.21" + }, + "engines": { + "node": ">=v12.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@luncheon/esbuild-plugin-gzip": { + "version": "0.1.0", + "dev": true, + "license": "WTFPL", + "peerDependencies": { + "esbuild": ">=0.11.15" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@mapbox/node-pre-gyp": { + "version": "1.0.11", + "dev": true, + "license": "BSD-3-Clause", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.7", + "nopt": "^5.0.0", + "npmlog": "^5.0.1", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.11" + }, + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@mapbox/node-pre-gyp/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@mapbox/node-pre-gyp/node_modules/node-fetch": { + "version": "2.7.0", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "../../../../../needle-engine/js/package~/node_modules/@mapbox/node-pre-gyp/node_modules/nopt": { + "version": "5.0.0", + "dev": true, + "license": "ISC", + "optional": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@mapbox/node-pre-gyp/node_modules/semver": { + "version": "7.6.0", + "dev": true, + "license": "ISC", + "optional": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@mapbox/node-pre-gyp/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC", + "optional": true + }, + "../../../../../needle-engine/js/package~/node_modules/@needle-tools/gltf-build-pipeline": { + "version": "1.4.1-beta.15", + "dev": true, + "dependencies": { + "@gltf-transform/core": "^3.10.1", + "@gltf-transform/extensions": "^3.10.1", + "@gltf-transform/functions": "^3.10.1", + "command-exists": "^1.2.9", + "command-line-args": "^5.2.1", + "draco3dgltf": "^1.5.3", + "glob": "^7.2.0", + "meshoptimizer": "^0.18.1", + "micromatch": "^4.0.5", + "ndarray": "^1.0.19", + "ndarray-lanczos": "^0.3.0", + "ndarray-pixels": "^2.0.1", + "p-limit": "3.1.0", + "semver": "^7.3.7", + "sharp": "^0.31.3", + "tmp": "^0.2.1", + "uuid": "^9.0.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@needle-tools/gltf-build-pipeline/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@needle-tools/gltf-build-pipeline/node_modules/semver": { + "version": "7.6.0", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@needle-tools/gltf-build-pipeline/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/@needle-tools/gltf-progressive": { + "resolved": "../../../../../needle-engine/modules/gltf-progressive", + "link": true + }, + "../../../../../needle-engine/js/package~/node_modules/@needle-tools/helper": { + "version": "1.8.0", + "dev": true, + "license": "ISC", + "dependencies": { + "@caporal/core": "^2.0.7", + "@needle-tools/gltf-build-pipeline": "^1.4.1-beta", + "@needle-tools/needle-component-compiler": "^1.0.0", + "archiver": "^5.3.1", + "basic-ftp": "^5.0.5", + "command-line-args": "^5.2.1", + "find-process": "^1.4.7", + "form-data": "^4.0.0", + "ftp-deploy": "^2.4.4", + "msdf-bmfont-xml": "^2.7.0", + "node-fetch": "^3.3.1", + "node-stream-zip": "^1.15.0", + "request": "^2.88.2", + "shelljs": "^0.8.5" + }, + "bin": { + "helper": "dist/cli.js" + }, + "optionalDependencies": { + "ultimate-text-to-image": "^1.0.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@needle-tools/needle-component-compiler": { + "version": "1.11.1", + "dev": true, + "dependencies": { + "typescript": "^4.5.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@sindresorhus/is": { + "version": "0.14.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@stylistic/eslint-plugin-js": { + "version": "1.6.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint": "^8.56.2", + "acorn": "^8.11.3", + "escape-string-regexp": "^4.0.0", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "peerDependencies": { + "eslint": ">=8.40.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@stylistic/eslint-plugin-ts": { + "version": "1.6.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@stylistic/eslint-plugin-js": "1.6.3", + "@types/eslint": "^8.56.2", + "@typescript-eslint/utils": "^6.21.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "peerDependencies": { + "eslint": ">=8.40.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@swc/helpers": { + "version": "0.3.17", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@szmarczak/http-timer": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "defer-to-connect": "^1.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@tweenjs/tween.js": { + "version": "23.1.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@types/eslint": { + "version": "8.56.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@types/estree": { + "version": "1.0.5", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@types/glob": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@types/json-schema": { + "version": "7.0.15", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@types/json5": { + "version": "0.0.29", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@types/linkify-it": { + "version": "3.0.5", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@types/lodash": { + "version": "4.14.202", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@types/markdown-it": { + "version": "12.2.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/linkify-it": "*", + "@types/mdurl": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@types/mdurl": { + "version": "1.0.5", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@types/minimatch": { + "version": "5.1.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@types/ndarray": { + "version": "1.0.14", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@types/node": { + "version": "20.14.8", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@types/semver": { + "version": "7.5.8", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@types/stats.js": { + "version": "0.17.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@types/table": { + "version": "5.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@types/tabtab": { + "version": "3.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@types/three": { + "version": "0.162.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@tweenjs/tween.js": "~23.1.1", + "@types/stats.js": "*", + "@types/webxr": "*", + "fflate": "~0.6.10", + "meshoptimizer": "~0.18.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@types/triple-beam": { + "version": "1.3.5", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@types/webxr": { + "version": "0.5.14", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@types/wrap-ansi": { + "version": "3.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/eslint-plugin": { + "version": "6.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/type-utils": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.6.0", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/parser": { + "version": "6.21.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/scope-manager": { + "version": "6.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/type-utils": { + "version": "6.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/typescript-estree": { + "version": "6.21.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.6.0", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/utils": { + "version": "6.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/utils/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.6.0", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/utils/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/visitor-keys": { + "version": "6.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/@webxr-input-profiles/motion-controllers": { + "version": "1.0.0", + "dev": true + }, + "../../../../../needle-engine/js/package~/node_modules/abbrev": { + "version": "1.1.1", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/acorn": { + "version": "8.11.3", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/acorn-jsx": { + "version": "5.3.2", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/agent-base": { + "version": "6.0.2", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ajv": { + "version": "6.12.6", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ansi-align": { + "version": "3.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ansi-escape-sequences": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^3.0.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ansi-escapes": { + "version": "3.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ansi-regex": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ansi-styles": { + "version": "3.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/any-base": { + "version": "1.1.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/anymatch": { + "version": "3.1.3", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/app-module-path": { + "version": "2.2.0", + "dev": true, + "license": "BSD-2-Clause" + }, + "../../../../../needle-engine/js/package~/node_modules/aproba": { + "version": "2.0.0", + "dev": true, + "license": "ISC", + "optional": true + }, + "../../../../../needle-engine/js/package~/node_modules/arabic-persian-reshaper": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/archiver": { + "version": "5.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "archiver-utils": "^2.1.0", + "async": "^3.2.4", + "buffer-crc32": "^0.2.1", + "readable-stream": "^3.6.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^2.2.0", + "zip-stream": "^4.1.0" + }, + "engines": { + "node": ">= 10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/archiver-utils": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "glob": "^7.1.4", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/archiver-utils/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/archiver-utils/node_modules/readable-stream": { + "version": "2.3.8", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/archiver-utils/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/archiver-utils/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/are-we-there-yet": { + "version": "2.0.0", + "dev": true, + "license": "ISC", + "optional": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/argparse": { + "version": "2.0.1", + "dev": true, + "license": "Python-2.0" + }, + "../../../../../needle-engine/js/package~/node_modules/array-back": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/array-includes": { + "version": "3.1.7", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/array-union": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/array.prototype.filter": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/array.prototype.findlastindex": { + "version": "1.2.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/array.prototype.flat": { + "version": "1.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/asn1": { + "version": "0.2.6", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/assert-plus": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ast-module-types": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/astral-regex": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/async": { + "version": "3.2.5", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/asynckit": { + "version": "0.4.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/available-typed-arrays": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/aws-sign2": { + "version": "0.7.0", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/aws4": { + "version": "1.12.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/axios": { + "version": "0.26.1", + "dev": true, + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.14.8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/b4a": { + "version": "1.6.6", + "dev": true, + "license": "Apache-2.0" + }, + "../../../../../needle-engine/js/package~/node_modules/balanced-match": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/bare-events": { + "version": "2.2.2", + "dev": true, + "license": "Apache-2.0", + "optional": true + }, + "../../../../../needle-engine/js/package~/node_modules/bare-fs": { + "version": "2.2.2", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "bare-events": "^2.0.0", + "bare-os": "^2.0.0", + "bare-path": "^2.0.0", + "streamx": "^2.13.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/bare-os": { + "version": "2.2.1", + "dev": true, + "license": "Apache-2.0", + "optional": true + }, + "../../../../../needle-engine/js/package~/node_modules/bare-path": { + "version": "2.1.0", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "bare-os": "^2.1.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/base64-js": { + "version": "1.5.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/basic-ftp": { + "version": "5.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "../../../../../needle-engine/js/package~/node_modules/binary-extensions": { + "version": "2.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/bl": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/bluebird": { + "version": "3.7.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/bmp-js": { + "version": "0.1.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/boxen": { + "version": "5.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-align": "^3.0.0", + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.2", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/boxen/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/boxen/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/boxen/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/boxen/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/boxen/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/boxen/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/boxen/node_modules/wrap-ansi": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/brace-expansion": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/braces": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/browserslist": { + "version": "4.23.0", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "../../../../../needle-engine/js/package~/node_modules/buffer": { + "version": "5.7.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "../../../../../needle-engine/js/package~/node_modules/buffer-crc32": { + "version": "0.2.13", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/buffer-equal": { + "version": "0.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/buffer-from": { + "version": "1.1.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/buildcheck": { + "version": "0.0.6", + "dev": true, + "optional": true, + "engines": { + "node": ">=10.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/builtins": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/builtins/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/builtins/node_modules/semver": { + "version": "7.6.0", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/builtins/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/bundle-name": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/cache-point": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^4.0.1", + "fs-then-native": "^2.0.0", + "mkdirp2": "^1.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/cache-point/node_modules/array-back": { + "version": "4.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/cacheable-request": { + "version": "6.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/cacheable-request/node_modules/get-stream": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/cacheable-request/node_modules/json-buffer": { + "version": "3.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/cacheable-request/node_modules/keyv": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/cacheable-request/node_modules/lowercase-keys": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/call-bind": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/callsites": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/camelcase": { + "version": "6.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/caniuse-lite": { + "version": "1.0.30001594", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0", + "peer": true + }, + "../../../../../needle-engine/js/package~/node_modules/canvas": { + "version": "2.11.2", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@mapbox/node-pre-gyp": "^1.0.0", + "nan": "^2.17.0", + "simple-get": "^3.0.3" + }, + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/canvas/node_modules/decompress-response": { + "version": "4.2.1", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "mimic-response": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/canvas/node_modules/mimic-response": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/canvas/node_modules/simple-get": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "decompress-response": "^4.2.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/caseless": { + "version": "0.12.0", + "dev": true, + "license": "Apache-2.0" + }, + "../../../../../needle-engine/js/package~/node_modules/catharsis": { + "version": "0.9.0", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.15" + }, + "engines": { + "node": ">= 10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/chalk": { + "version": "2.4.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/chalk/node_modules/escape-string-regexp": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/chardet": { + "version": "0.7.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/charenc": { + "version": "0.0.2", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/chokidar": { + "version": "3.6.0", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "../../../../../needle-engine/js/package~/node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/chownr": { + "version": "2.0.0", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ci-info": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/cli-boxes": { + "version": "2.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/cli-cursor": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/cli-progress": { + "version": "3.12.0", + "dev": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.2.3" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/cli-spinners": { + "version": "2.9.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/cli-width": { + "version": "2.2.1", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/clone": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/clone-response": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-response": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/clone-response/node_modules/mimic-response": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/collect-all": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "stream-connect": "^1.0.2", + "stream-via": "^1.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/color": { + "version": "4.2.3", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/color-convert": { + "version": "1.9.3", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "../../../../../needle-engine/js/package~/node_modules/color-name": { + "version": "1.1.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/color-string": { + "version": "1.9.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "../../../../../needle-engine/js/package~/node_modules/color-support": { + "version": "1.1.3", + "dev": true, + "license": "ISC", + "optional": true, + "bin": { + "color-support": "bin.js" + } + }, + "../../../../../needle-engine/js/package~/node_modules/color/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/color/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/colorspace": { + "version": "1.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "color": "^3.1.3", + "text-hex": "1.0.x" + } + }, + "../../../../../needle-engine/js/package~/node_modules/colorspace/node_modules/color": { + "version": "3.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/combined-stream": { + "version": "1.0.8", + "dev": true, + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/command-exists": { + "version": "1.2.9", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/command-line-args": { + "version": "5.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^3.1.0", + "find-replace": "^3.0.0", + "lodash.camelcase": "^4.3.0", + "typical": "^4.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/command-line-tool": { + "version": "0.8.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escape-sequences": "^4.0.0", + "array-back": "^2.0.0", + "command-line-args": "^5.0.0", + "command-line-usage": "^4.1.0", + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/command-line-tool/node_modules/array-back": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/command-line-tool/node_modules/typical": { + "version": "2.6.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/command-line-usage": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escape-sequences": "^4.0.0", + "array-back": "^2.0.0", + "table-layout": "^0.4.2", + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/command-line-usage/node_modules/array-back": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/command-line-usage/node_modules/typical": { + "version": "2.6.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/commander": { + "version": "5.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/common-sequence": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/commondir": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/compress-commons": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-crc32": "^0.2.13", + "crc32-stream": "^4.0.2", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/concat-stream": { + "version": "2.0.0", + "dev": true, + "engines": [ + "node >= 6.0" + ], + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/config-master": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "walk-back": "^2.0.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/config-master/node_modules/walk-back": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/configstore": { + "version": "5.0.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dot-prop": "^5.2.0", + "graceful-fs": "^4.1.2", + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/console-control-strings": { + "version": "1.1.0", + "dev": true, + "license": "ISC", + "optional": true + }, + "../../../../../needle-engine/js/package~/node_modules/contentstream": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "~1.0.33-1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/contentstream/node_modules/isarray": { + "version": "0.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/contentstream/node_modules/readable-stream": { + "version": "1.0.34", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "../../../../../needle-engine/js/package~/node_modules/contentstream/node_modules/string_decoder": { + "version": "0.10.31", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/convert-source-map": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "../../../../../needle-engine/js/package~/node_modules/core-js": { + "version": "2.6.12", + "dev": true, + "hasInstallScript": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/core-util-is": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/cpu-features": { + "version": "0.0.9", + "dev": true, + "hasInstallScript": true, + "optional": true, + "dependencies": { + "buildcheck": "~0.0.6", + "nan": "^2.17.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/crc-32": { + "version": "1.2.2", + "dev": true, + "license": "Apache-2.0", + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/crc32-stream": { + "version": "4.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "crc-32": "^1.2.0", + "readable-stream": "^3.4.0" + }, + "engines": { + "node": ">= 10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/cross-spawn": { + "version": "7.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/crypt": { + "version": "0.0.2", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/crypto-random-string": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/cwise-compiler": { + "version": "1.1.3", + "dev": true, + "license": "MIT", + "dependencies": { + "uniq": "^1.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/dashdash": { + "version": "1.14.1", + "dev": true, + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/data-uri-to-buffer": { + "version": "0.0.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "../../../../../needle-engine/js/package~/node_modules/decompress-response": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/deep-extend": { + "version": "0.6.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/deep-is": { + "version": "0.1.4", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/default-browser": { + "version": "5.2.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/default-browser-id": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/defaults": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/defer-to-connect": { + "version": "1.1.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/define-data-property": { + "version": "1.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/define-lazy-prop": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/define-properties": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/delayed-stream": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/delegates": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "optional": true + }, + "../../../../../needle-engine/js/package~/node_modules/dependency-tree": { + "version": "8.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "commander": "^2.20.3", + "debug": "^4.3.1", + "filing-cabinet": "^3.0.1", + "precinct": "^8.0.0", + "typescript": "^3.9.7" + }, + "bin": { + "dependency-tree": "bin/cli.js" + }, + "engines": { + "node": "^10.13 || ^12 || >=14" + } + }, + "../../../../../needle-engine/js/package~/node_modules/dependency-tree/node_modules/commander": { + "version": "2.20.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/dependency-tree/node_modules/typescript": { + "version": "3.9.10", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/detect-libc": { + "version": "2.0.2", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/detective-amd": { + "version": "3.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ast-module-types": "^3.0.0", + "escodegen": "^2.0.0", + "get-amd-module-type": "^3.0.0", + "node-source-walk": "^4.2.0" + }, + "bin": { + "detective-amd": "bin/cli.js" + }, + "engines": { + "node": ">=6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/detective-cjs": { + "version": "3.1.3", + "dev": true, + "license": "MIT", + "dependencies": { + "ast-module-types": "^3.0.0", + "node-source-walk": "^4.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/detective-es6": { + "version": "2.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "node-source-walk": "^4.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/detective-less": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.0.0", + "gonzales-pe": "^4.2.3", + "node-source-walk": "^4.0.0" + }, + "engines": { + "node": ">= 6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/detective-postcss": { + "version": "5.1.3", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "is-url": "^1.2.4", + "postcss": "^8.4.6", + "postcss-values-parser": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "../../../../../needle-engine/js/package~/node_modules/detective-sass": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "gonzales-pe": "^4.3.0", + "node-source-walk": "^4.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/detective-scss": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "gonzales-pe": "^4.3.0", + "node-source-walk": "^4.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/detective-stylus": { + "version": "1.0.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/detective-typescript": { + "version": "7.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "^4.33.0", + "ast-module-types": "^2.7.1", + "node-source-walk": "^4.2.0", + "typescript": "^3.9.10" + }, + "engines": { + "node": "^10.13 || >=12.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/detective-typescript/node_modules/@typescript-eslint/types": { + "version": "4.33.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "../../../../../needle-engine/js/package~/node_modules/detective-typescript/node_modules/@typescript-eslint/typescript-estree": { + "version": "4.33.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/visitor-keys": "4.33.0", + "debug": "^4.3.1", + "globby": "^11.0.3", + "is-glob": "^4.0.1", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "../../../../../needle-engine/js/package~/node_modules/detective-typescript/node_modules/@typescript-eslint/visitor-keys": { + "version": "4.33.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "4.33.0", + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "../../../../../needle-engine/js/package~/node_modules/detective-typescript/node_modules/ast-module-types": { + "version": "2.7.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/detective-typescript/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/detective-typescript/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/detective-typescript/node_modules/semver": { + "version": "7.6.0", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/detective-typescript/node_modules/typescript": { + "version": "3.9.10", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/detective-typescript/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/dir-glob": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/dmd": { + "version": "6.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^6.2.2", + "cache-point": "^2.0.0", + "common-sequence": "^2.0.2", + "file-set": "^4.0.2", + "handlebars": "^4.7.7", + "marked": "^4.2.3", + "object-get": "^2.1.1", + "reduce-flatten": "^3.0.1", + "reduce-unique": "^2.0.1", + "reduce-without": "^1.0.1", + "test-value": "^3.0.0", + "walk-back": "^5.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "../../../../../needle-engine/js/package~/node_modules/dmd/node_modules/array-back": { + "version": "6.2.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.17" + } + }, + "../../../../../needle-engine/js/package~/node_modules/doctrine": { + "version": "3.0.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/dom-walk": { + "version": "0.1.2", + "dev": true + }, + "../../../../../needle-engine/js/package~/node_modules/dot-prop": { + "version": "5.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/dot-prop/node_modules/is-obj": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/draco3dgltf": { + "version": "1.5.7", + "dev": true, + "license": "Apache-2.0" + }, + "../../../../../needle-engine/js/package~/node_modules/duplexer3": { + "version": "0.1.5", + "dev": true, + "license": "BSD-3-Clause" + }, + "../../../../../needle-engine/js/package~/node_modules/ecc-jsbn": { + "version": "0.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/electron-to-chromium": { + "version": "1.4.693", + "dev": true, + "license": "ISC", + "peer": true + }, + "../../../../../needle-engine/js/package~/node_modules/emoji-regex": { + "version": "8.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/enabled": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/end-of-stream": { + "version": "1.4.4", + "dev": true, + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/enhanced-resolve": { + "version": "5.15.1", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/entities": { + "version": "2.1.0", + "dev": true, + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/err-code": { + "version": "1.1.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/es-abstract": { + "version": "1.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.1", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.0", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.5", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/es-define-property": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/es-errors": { + "version": "1.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/es-set-tostringtag": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/es-shim-unscopables": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/es-to-primitive": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/es6-promisify": { + "version": "6.1.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/esbuild": { + "version": "0.15.18", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.15.18", + "@esbuild/linux-loong64": "0.15.18", + "esbuild-android-64": "0.15.18", + "esbuild-android-arm64": "0.15.18", + "esbuild-darwin-64": "0.15.18", + "esbuild-darwin-arm64": "0.15.18", + "esbuild-freebsd-64": "0.15.18", + "esbuild-freebsd-arm64": "0.15.18", + "esbuild-linux-32": "0.15.18", + "esbuild-linux-64": "0.15.18", + "esbuild-linux-arm": "0.15.18", + "esbuild-linux-arm64": "0.15.18", + "esbuild-linux-mips64le": "0.15.18", + "esbuild-linux-ppc64le": "0.15.18", + "esbuild-linux-riscv64": "0.15.18", + "esbuild-linux-s390x": "0.15.18", + "esbuild-netbsd-64": "0.15.18", + "esbuild-openbsd-64": "0.15.18", + "esbuild-sunos-64": "0.15.18", + "esbuild-windows-32": "0.15.18", + "esbuild-windows-64": "0.15.18", + "esbuild-windows-arm64": "0.15.18" + } + }, + "../../../../../needle-engine/js/package~/node_modules/esbuild-node-externals": { + "version": "1.13.0", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^5.0.0", + "tslib": "^2.4.1" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "esbuild": "0.12 - 0.20" + } + }, + "../../../../../needle-engine/js/package~/node_modules/esbuild-windows-64": { + "version": "0.15.18", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "../../../../../needle-engine/js/package~/node_modules/escalade": { + "version": "3.1.2", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/escape-goat": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/escape-string-regexp": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/escodegen": { + "version": "2.1.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint": { + "version": "8.57.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint-module-utils": { + "version": "2.8.1", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint-plugin-import": { + "version": "2.29.1", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.8.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", + "semver": "^6.3.1", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint-plugin-import/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint-plugin-import/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint-plugin-no-secrets": { + "version": "0.8.9", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0", + "npm": ">=6.9.0" + }, + "peerDependencies": { + "eslint": ">=3.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint-plugin-no-unsanitized": { + "version": "4.0.2", + "dev": true, + "license": "MPL-2.0", + "peerDependencies": { + "eslint": "^6 || ^7 || ^8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint-plugin-promise": { + "version": "6.1.1", + "dev": true, + "license": "ISC", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint-plugin-simple-import-sort": { + "version": "10.0.0", + "dev": true, + "license": "MIT", + "peerDependencies": { + "eslint": ">=5.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint-plugin-xss": { + "version": "0.1.12", + "dev": true, + "license": "ISC", + "dependencies": { + "requireindex": "~1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint-scope": { + "version": "7.2.2", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/eslint/node_modules/globals": { + "version": "13.24.0", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/espree": { + "version": "9.6.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "../../../../../needle-engine/js/package~/node_modules/esprima": { + "version": "4.0.1", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/esquery": { + "version": "1.5.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/esrecurse": { + "version": "4.3.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/estraverse": { + "version": "5.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/esutils": { + "version": "2.0.3", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eventemitter3": { + "version": "4.0.7", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/exif-parser": { + "version": "0.1.12", + "dev": true + }, + "../../../../../needle-engine/js/package~/node_modules/expand-template": { + "version": "2.0.3", + "dev": true, + "license": "(MIT OR WTFPL)", + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/extend": { + "version": "3.0.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/external-editor": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/external-editor/node_modules/tmp": { + "version": "0.0.33", + "dev": true, + "license": "MIT", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/extsprintf": { + "version": "1.3.0", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/fast-deep-equal": { + "version": "3.1.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/fast-fifo": { + "version": "1.3.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/fast-glob": { + "version": "3.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/fast-levenshtein": { + "version": "2.0.6", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/fastq": { + "version": "1.17.1", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/fecha": { + "version": "4.2.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/fetch-blob": { + "version": "3.2.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "license": "MIT", + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, + "../../../../../needle-engine/js/package~/node_modules/fflate": { + "version": "0.6.10", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/figures": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/file-entry-cache": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/file-js": { + "version": "0.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "bluebird": "^3.4.7", + "minimatch": "^3.0.3", + "proper-lockfile": "^1.2.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/file-js/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/file-js/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/file-set": { + "version": "4.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^5.0.0", + "glob": "^7.1.6" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/file-set/node_modules/array-back": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/file-type": { + "version": "9.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/filehound": { + "version": "1.17.6", + "dev": true, + "license": "MIT", + "dependencies": { + "bluebird": "^3.7.2", + "file-js": "0.3.0", + "lodash": "^4.17.21", + "minimatch": "^5.0.0", + "moment": "^2.29.1", + "unit-compare": "^1.0.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/filehound/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/filing-cabinet": { + "version": "3.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "app-module-path": "^2.2.0", + "commander": "^2.20.3", + "debug": "^4.3.3", + "enhanced-resolve": "^5.8.3", + "is-relative-path": "^1.0.2", + "module-definition": "^3.3.1", + "module-lookup-amd": "^7.0.1", + "resolve": "^1.21.0", + "resolve-dependency-path": "^2.0.0", + "sass-lookup": "^3.0.0", + "stylus-lookup": "^3.0.1", + "tsconfig-paths": "^3.10.1", + "typescript": "^3.9.7" + }, + "bin": { + "filing-cabinet": "bin/cli.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/filing-cabinet/node_modules/commander": { + "version": "2.20.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/filing-cabinet/node_modules/typescript": { + "version": "3.9.10", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/fill-range": { + "version": "7.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/find-process": { + "version": "1.4.7", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "commander": "^5.1.0", + "debug": "^4.1.1" + }, + "bin": { + "find-process": "bin/find-process.js" + } + }, + "../../../../../needle-engine/js/package~/node_modules/find-process/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/find-process/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/find-process/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/find-process/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/find-process/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/find-process/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/find-replace": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^3.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/flat-cache": { + "version": "3.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/flatbuffers": { + "version": "2.0.4", + "dev": true, + "license": "SEE LICENSE IN LICENSE.txt" + }, + "../../../../../needle-engine/js/package~/node_modules/flatted": { + "version": "3.3.1", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/flatten": { + "version": "1.0.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/fn.name": { + "version": "1.1.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/follow-redirects": { + "version": "1.15.5", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "../../../../../needle-engine/js/package~/node_modules/for-each": { + "version": "0.3.3", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "../../../../../needle-engine/js/package~/node_modules/forever-agent": { + "version": "0.6.1", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/form-data": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/formdata-polyfill": { + "version": "4.0.10", + "dev": true, + "license": "MIT", + "dependencies": { + "fetch-blob": "^3.1.2" + }, + "engines": { + "node": ">=12.20.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/fs-constants": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/fs-extra": { + "version": "11.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "../../../../../needle-engine/js/package~/node_modules/fs-minipass": { + "version": "2.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/fs-minipass/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/fs-then-native": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/fs.realpath": { + "version": "1.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/ftp-deploy": { + "version": "2.4.7", + "dev": true, + "license": "MIT", + "dependencies": { + "minimatch": "9.0.0", + "promise-ftp": "^1.3.5", + "read": "^2.1.0", + "ssh2-sftp-client": "^7.2.3", + "upath": "^2.0.1" + }, + "engines": { + "node": ">=12" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ftp-deploy/node_modules/minimatch": { + "version": "9.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "../../../../../needle-engine/js/package~/node_modules/function-bind": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/function.prototype.name": { + "version": "1.1.6", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/functions-have-names": { + "version": "1.2.3", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/gauge": { + "version": "3.0.2", + "dev": true, + "license": "ISC", + "optional": true, + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/gensync": { + "version": "1.0.0-beta.2", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/get-amd-module-type": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ast-module-types": "^3.0.0", + "node-source-walk": "^4.2.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/get-intrinsic": { + "version": "1.2.4", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/get-pixels": { + "version": "3.3.3", + "dev": true, + "license": "MIT", + "dependencies": { + "data-uri-to-buffer": "0.0.3", + "jpeg-js": "^0.4.1", + "mime-types": "^2.0.1", + "ndarray": "^1.0.13", + "ndarray-pack": "^1.1.1", + "node-bitmap": "0.0.1", + "omggif": "^1.0.5", + "parse-data-uri": "^0.2.0", + "pngjs": "^3.3.3", + "request": "^2.44.0", + "through": "^2.3.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/get-pixels/node_modules/jpeg-js": { + "version": "0.4.4", + "dev": true, + "license": "BSD-3-Clause" + }, + "../../../../../needle-engine/js/package~/node_modules/get-stream": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/get-symbol-description": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/getpass": { + "version": "0.1.7", + "dev": true, + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/gif-encoder": { + "version": "0.4.3", + "dev": true, + "dependencies": { + "readable-stream": "~1.1.9" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/gif-encoder/node_modules/isarray": { + "version": "0.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/gif-encoder/node_modules/readable-stream": { + "version": "1.1.14", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "../../../../../needle-engine/js/package~/node_modules/gif-encoder/node_modules/string_decoder": { + "version": "0.10.31", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/github-from-package": { + "version": "0.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/glob": { + "version": "7.2.3", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "../../../../../needle-engine/js/package~/node_modules/glob-parent": { + "version": "6.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/global": { + "version": "4.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/global-dirs": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ini": "2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/global-dirs/node_modules/ini": { + "version": "2.0.0", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/globals": { + "version": "11.12.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/globalthis": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/globby": { + "version": "11.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/gonzales-pe": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "gonzales": "bin/gonzales.js" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/gopd": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/got": { + "version": "9.6.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + }, + "engines": { + "node": ">=8.6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/got/node_modules/decompress-response": { + "version": "3.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-response": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/got/node_modules/mimic-response": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/graceful-fs": { + "version": "4.2.11", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/graphemer": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/graphviz": { + "version": "0.0.9", + "dev": true, + "license": "GPL-3.0", + "dependencies": { + "temp": "~0.4.0" + }, + "engines": { + "node": ">=0.6.8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/handlebars": { + "version": "4.7.8", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/har-schema": { + "version": "2.0.0", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/har-validator": { + "version": "5.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/has-bigints": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/has-flag": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/has-property-descriptors": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/has-proto": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/has-symbols": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/has-tostringtag": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/has-unicode": { + "version": "2.0.1", + "dev": true, + "license": "ISC", + "optional": true + }, + "../../../../../needle-engine/js/package~/node_modules/has-yarn": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/hasown": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/hosted-git-info": { + "version": "6.1.1", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^7.5.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "7.18.3", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "../../../../../needle-engine/js/package~/node_modules/howfat": { + "version": "0.3.8", + "dev": true, + "license": "MIT", + "dependencies": { + "axios": "^0.26.1", + "npm-package-arg": "^10.0.0", + "package-options": "^0.1.4", + "semver": "^7.3.8", + "tar": "^6.1.12" + }, + "bin": { + "howfat": "src/index.js" + }, + "engines": { + "node": ">=14" + } + }, + "../../../../../needle-engine/js/package~/node_modules/howfat/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/howfat/node_modules/semver": { + "version": "7.6.0", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/howfat/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/http-cache-semantics": { + "version": "4.1.1", + "dev": true, + "license": "BSD-2-Clause" + }, + "../../../../../needle-engine/js/package~/node_modules/http-signature": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "../../../../../needle-engine/js/package~/node_modules/https-proxy-agent": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/iconv-lite": { + "version": "0.4.24", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ieee754": { + "version": "1.2.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "../../../../../needle-engine/js/package~/node_modules/ignore": { + "version": "5.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ignore-by-default": { + "version": "1.0.1", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/import-fresh": { + "version": "3.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/import-lazy": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/imurmurhash": { + "version": "0.1.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "../../../../../needle-engine/js/package~/node_modules/indexes-of": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/inflight": { + "version": "1.0.6", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/inherits": { + "version": "2.0.4", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/ini": { + "version": "1.3.8", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/inquirer": { + "version": "6.5.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/inquirer/node_modules/ansi-regex": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/inquirer/node_modules/cli-cursor": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/inquirer/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/inquirer/node_modules/mimic-fn": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/inquirer/node_modules/mute-stream": { + "version": "0.0.7", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/inquirer/node_modules/onetime": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/inquirer/node_modules/restore-cursor": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/inquirer/node_modules/string-width": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/inquirer/node_modules/string-width/node_modules/ansi-regex": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/inquirer/node_modules/string-width/node_modules/strip-ansi": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/inquirer/node_modules/strip-ansi": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/internal-slot": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/interpret": { + "version": "1.4.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/iota-array": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/is-array-buffer": { + "version": "3.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-arrayish": { + "version": "0.3.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/is-bigint": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-binary-path": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-boolean-object": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-buffer": { + "version": "1.1.6", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/is-callable": { + "version": "1.2.7", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-ci": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-core-module": { + "version": "2.13.1", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-date-object": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-docker": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-extglob": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-function": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/is-glob": { + "version": "4.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-inside-container": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-installed-globally": { + "version": "0.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-interactive": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-invalid-path": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-negative-zero": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-npm": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-number": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-number-object": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-obj": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-path-inside": { + "version": "3.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-regex": { + "version": "1.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-regexp": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-relative-path": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/is-shared-array-buffer": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-stream": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-string": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-symbol": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-typed-array": { + "version": "1.1.13", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-typedarray": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/is-unicode-supported": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-url": { + "version": "1.2.4", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/is-url-superb": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-weakref": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-wsl": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-yarn-global": { + "version": "0.3.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/isarray": { + "version": "2.0.5", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/isexe": { + "version": "2.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/isstream": { + "version": "0.1.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/jimp": { + "version": "0.3.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/polyfill": "^7.0.0", + "@jimp/custom": "^0.3.9", + "@jimp/plugins": "^0.3.10", + "@jimp/types": "^0.3.9", + "core-js": "^2.5.7" + } + }, + "../../../../../needle-engine/js/package~/node_modules/jpeg-js": { + "version": "0.3.7", + "dev": true, + "license": "BSD-3-Clause" + }, + "../../../../../needle-engine/js/package~/node_modules/js-tokens": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "../../../../../needle-engine/js/package~/node_modules/js-yaml": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "../../../../../needle-engine/js/package~/node_modules/js2xmlparser": { + "version": "4.0.2", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "xmlcreate": "^2.0.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/jsbn": { + "version": "0.1.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/jsdoc": { + "version": "4.0.2", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@babel/parser": "^7.20.15", + "@jsdoc/salty": "^0.2.1", + "@types/markdown-it": "^12.2.3", + "bluebird": "^3.7.2", + "catharsis": "^0.9.0", + "escape-string-regexp": "^2.0.0", + "js2xmlparser": "^4.0.2", + "klaw": "^3.0.0", + "markdown-it": "^12.3.2", + "markdown-it-anchor": "^8.4.1", + "marked": "^4.0.10", + "mkdirp": "^1.0.4", + "requizzle": "^0.2.3", + "strip-json-comments": "^3.1.0", + "underscore": "~1.13.2" + }, + "bin": { + "jsdoc": "jsdoc.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/jsdoc-api": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^6.2.2", + "cache-point": "^2.0.0", + "collect-all": "^1.0.4", + "file-set": "^4.0.2", + "fs-then-native": "^2.0.0", + "jsdoc": "^4.0.0", + "object-to-spawn-args": "^2.0.1", + "temp-path": "^1.0.0", + "walk-back": "^5.1.0" + }, + "engines": { + "node": ">=12.17" + } + }, + "../../../../../needle-engine/js/package~/node_modules/jsdoc-api/node_modules/array-back": { + "version": "6.2.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.17" + } + }, + "../../../../../needle-engine/js/package~/node_modules/jsdoc-babel": { + "version": "0.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "jsdoc-regex": "^1.0.1", + "lodash": "^4.17.10" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/jsdoc-parse": { + "version": "6.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^6.2.2", + "lodash.omit": "^4.5.0", + "reduce-extract": "^1.0.0", + "sort-array": "^4.1.5", + "test-value": "^3.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "../../../../../needle-engine/js/package~/node_modules/jsdoc-parse/node_modules/array-back": { + "version": "6.2.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.17" + } + }, + "../../../../../needle-engine/js/package~/node_modules/jsdoc-regex": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/jsdoc-to-markdown": { + "version": "7.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^6.2.2", + "command-line-tool": "^0.8.0", + "config-master": "^3.1.0", + "dmd": "^6.1.0", + "jsdoc-api": "^7.1.1", + "jsdoc-parse": "^6.1.0", + "walk-back": "^5.1.0" + }, + "bin": { + "jsdoc2md": "bin/cli.js" + }, + "engines": { + "node": ">=12.17" + } + }, + "../../../../../needle-engine/js/package~/node_modules/jsdoc-to-markdown/node_modules/array-back": { + "version": "6.2.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.17" + } + }, + "../../../../../needle-engine/js/package~/node_modules/jsdoc/node_modules/escape-string-regexp": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/jsesc": { + "version": "2.5.2", + "dev": true, + "license": "MIT", + "peer": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/json-buffer": { + "version": "3.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/json-schema": { + "version": "0.4.0", + "dev": true, + "license": "(AFL-2.1 OR BSD-3-Clause)" + }, + "../../../../../needle-engine/js/package~/node_modules/json-schema-traverse": { + "version": "0.4.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/json-stringify-safe": { + "version": "5.0.1", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/json5": { + "version": "2.2.3", + "dev": true, + "license": "MIT", + "peer": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/jsonfile": { + "version": "6.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/jsprim": { + "version": "1.4.2", + "dev": true, + "license": "MIT", + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/keyv": { + "version": "4.5.4", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/klaw": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.9" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ktx-parse": { + "version": "0.6.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/kuler": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/latest-version": { + "version": "5.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "package-json": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/lazystream": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" + } + }, + "../../../../../needle-engine/js/package~/node_modules/lazystream/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/lazystream/node_modules/readable-stream": { + "version": "2.3.8", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/lazystream/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/lazystream/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/levn": { + "version": "0.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/linebreak-next": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "base64-js": "1.3.1", + "unicode-trie": "^1.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/linebreak-next/node_modules/base64-js": { + "version": "1.3.1", + "dev": true, + "license": "MIT", + "optional": true + }, + "../../../../../needle-engine/js/package~/node_modules/linkify-it": { + "version": "3.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "uc.micro": "^1.0.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/load-bmfont": { + "version": "1.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-equal": "0.0.1", + "mime": "^1.3.4", + "parse-bmfont-ascii": "^1.0.3", + "parse-bmfont-binary": "^1.0.5", + "parse-bmfont-xml": "^1.1.4", + "phin": "^2.9.1", + "xhr": "^2.0.1", + "xtend": "^4.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/lodash": { + "version": "4.17.21", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/lodash.camelcase": { + "version": "4.3.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/lodash.defaults": { + "version": "4.2.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/lodash.difference": { + "version": "4.5.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/lodash.flatten": { + "version": "4.4.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/lodash.isplainobject": { + "version": "4.0.6", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/lodash.merge": { + "version": "4.6.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/lodash.omit": { + "version": "4.5.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/lodash.padend": { + "version": "4.6.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/lodash.union": { + "version": "4.6.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/log-symbols": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/logform": { + "version": "2.6.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@colors/colors": "1.6.0", + "@types/triple-beam": "^1.3.2", + "fecha": "^4.2.0", + "ms": "^2.1.1", + "safe-stable-stringify": "^2.3.1", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/lowercase-keys": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/lru-cache": { + "version": "5.1.1", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "../../../../../needle-engine/js/package~/node_modules/madge": { + "version": "5.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.1", + "commander": "^7.2.0", + "commondir": "^1.0.1", + "debug": "^4.3.1", + "dependency-tree": "^8.1.1", + "detective-amd": "^3.1.0", + "detective-cjs": "^3.1.1", + "detective-es6": "^2.2.0", + "detective-less": "^1.0.2", + "detective-postcss": "^5.0.0", + "detective-sass": "^3.0.1", + "detective-scss": "^2.0.1", + "detective-stylus": "^1.0.0", + "detective-typescript": "^7.0.0", + "graphviz": "0.0.9", + "ora": "^5.4.1", + "pluralize": "^8.0.0", + "precinct": "^8.1.0", + "pretty-ms": "^7.0.1", + "rc": "^1.2.7", + "typescript": "^3.9.5", + "walkdir": "^0.4.1" + }, + "bin": { + "madge": "bin/cli.js" + }, + "engines": { + "node": "^10.13 || ^12 || >=14" + }, + "funding": { + "type": "individual", + "url": "https://www.paypal.me/pahen" + } + }, + "../../../../../needle-engine/js/package~/node_modules/madge/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/madge/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/madge/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/madge/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/madge/node_modules/commander": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/madge/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/madge/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/madge/node_modules/typescript": { + "version": "3.9.10", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/make-dir": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/map-limit": { + "version": "0.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "once": "~1.3.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/map-limit/node_modules/once": { + "version": "1.3.3", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/markdown-it": { + "version": "12.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1", + "entities": "~2.1.0", + "linkify-it": "^3.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "../../../../../needle-engine/js/package~/node_modules/markdown-it-anchor": { + "version": "8.6.7", + "dev": true, + "license": "Unlicense", + "peerDependencies": { + "@types/markdown-it": "*", + "markdown-it": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/marked": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 12" + } + }, + "../../../../../needle-engine/js/package~/node_modules/maxrects-packer": { + "version": "2.7.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/md5": { + "version": "2.3.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/mdurl": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/merge2": { + "version": "1.4.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/meshoptimizer": { + "version": "0.18.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/micromatch": { + "version": "4.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/mime": { + "version": "1.6.0", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/mime-db": { + "version": "1.52.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/mime-types": { + "version": "2.1.35", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/mimic-fn": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/mimic-response": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/min-document": { + "version": "2.19.0", + "dev": true, + "dependencies": { + "dom-walk": "^0.1.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/minimatch": { + "version": "9.0.3", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "../../../../../needle-engine/js/package~/node_modules/minimist": { + "version": "1.2.8", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/minipass": { + "version": "5.0.0", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/minizlib": { + "version": "2.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/minizlib/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/mkdirp": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/mkdirp-classic": { + "version": "0.5.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/mkdirp2": { + "version": "1.0.5", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/module-definition": { + "version": "3.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ast-module-types": "^3.0.0", + "node-source-walk": "^4.0.0" + }, + "bin": { + "module-definition": "bin/cli.js" + }, + "engines": { + "node": ">=6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/module-lookup-amd": { + "version": "7.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "commander": "^2.8.1", + "debug": "^4.1.0", + "glob": "^7.1.6", + "requirejs": "^2.3.5", + "requirejs-config-file": "^4.0.0" + }, + "bin": { + "lookup-amd": "bin/cli.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/module-lookup-amd/node_modules/commander": { + "version": "2.20.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/moment": { + "version": "2.30.1", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/msdf-bmfont-xml": { + "version": "2.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "arabic-persian-reshaper": "^1.0.1", + "cli-progress": "^3.10.0", + "commander": "^2.19.0", + "handlebars": "^4.7.2", + "is-invalid-path": "^1.0.2", + "jimp": "^0.3.5", + "js2xmlparser": "^4.0.0", + "map-limit": "0.0.1", + "maxrects-packer": "^2.4.0-alpha.0", + "opentype.js": "^0.11.0", + "update-notifier": "^5.1.0" + }, + "bin": { + "msdf-bmfont": "cli.js" + } + }, + "../../../../../needle-engine/js/package~/node_modules/msdf-bmfont-xml/node_modules/commander": { + "version": "2.20.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/mute-stream": { + "version": "1.0.0", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/n8ao": { + "version": "1.8.2", + "dev": true, + "license": "ISC", + "peerDependencies": { + "postprocessing": ">=6.30.0", + "three": ">=0.137" + } + }, + "../../../../../needle-engine/js/package~/node_modules/nan": { + "version": "2.19.0", + "dev": true, + "license": "MIT", + "optional": true + }, + "../../../../../needle-engine/js/package~/node_modules/nanoid": { + "version": "3.3.7", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/napi-build-utils": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/natural-compare": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/ndarray": { + "version": "1.0.19", + "dev": true, + "license": "MIT", + "dependencies": { + "iota-array": "^1.0.0", + "is-buffer": "^1.0.2" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ndarray-lanczos": { + "version": "0.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/ndarray": "^1.0.11", + "ndarray": "^1.0.19" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ndarray-ops": { + "version": "1.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "cwise-compiler": "^1.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ndarray-pack": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "cwise-compiler": "^1.1.2", + "ndarray": "^1.0.13" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ndarray-pixels": { + "version": "2.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/ndarray": "^1.0.11", + "get-pixels": "^3.3.3", + "ndarray": "^1.0.19", + "ndarray-ops": "^1.2.2", + "save-pixels": "^2.3.6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/neo-async": { + "version": "2.6.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/node-abi": { + "version": "3.57.0", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/node-abi/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/node-abi/node_modules/semver": { + "version": "7.6.0", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/node-abi/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/node-addon-api": { + "version": "5.1.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/node-bitmap": { + "version": "0.0.1", + "dev": true, + "engines": { + "node": ">=v0.6.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/node-domexception": { + "version": "1.0.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "license": "MIT", + "engines": { + "node": ">=10.5.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/node-fetch": { + "version": "3.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, + "../../../../../needle-engine/js/package~/node_modules/node-fetch/node_modules/data-uri-to-buffer": { + "version": "4.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "../../../../../needle-engine/js/package~/node_modules/node-releases": { + "version": "2.0.14", + "dev": true, + "license": "MIT", + "peer": true + }, + "../../../../../needle-engine/js/package~/node_modules/node-source-walk": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/node-stream-zip": { + "version": "1.15.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/antelle" + } + }, + "../../../../../needle-engine/js/package~/node_modules/nodemon": { + "version": "2.0.22", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^3.5.2", + "debug": "^3.2.7", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.1.2", + "pstree.remy": "^1.1.8", + "semver": "^5.7.1", + "simple-update-notifier": "^1.0.7", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5" + }, + "bin": { + "nodemon": "bin/nodemon.js" + }, + "engines": { + "node": ">=8.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nodemon" + } + }, + "../../../../../needle-engine/js/package~/node_modules/nodemon/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/nodemon/node_modules/debug": { + "version": "3.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/nodemon/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/nodemon/node_modules/semver": { + "version": "5.7.2", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "../../../../../needle-engine/js/package~/node_modules/nopt": { + "version": "1.0.10", + "dev": true, + "license": "MIT", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + } + }, + "../../../../../needle-engine/js/package~/node_modules/normalize-path": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/normalize-url": { + "version": "4.5.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/npm-package-arg": { + "version": "10.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^6.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/npm-package-arg/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/npm-package-arg/node_modules/semver": { + "version": "7.6.0", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/npm-package-arg/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/npm-watch": { + "version": "0.11.0", + "dev": true, + "license": "MIT", + "dependencies": { + "nodemon": "^2.0.7", + "through2": "^4.0.2" + }, + "bin": { + "npm-watch": "cli.js" + } + }, + "../../../../../needle-engine/js/package~/node_modules/npmlog": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "optional": true, + "dependencies": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/oauth-sign": { + "version": "0.9.0", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/object-assign": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/object-get": { + "version": "2.1.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/object-inspect": { + "version": "1.13.1", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/object-keys": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/object-to-spawn-args": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/object.assign": { + "version": "4.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/object.fromentries": { + "version": "2.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/object.groupby": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "array.prototype.filter": "^1.0.3", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/object.values": { + "version": "1.1.7", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/omggif": { + "version": "1.0.10", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/once": { + "version": "1.4.0", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/one-time": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "fn.name": "1.x.x" + } + }, + "../../../../../needle-engine/js/package~/node_modules/onetime": { + "version": "5.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/open": { + "version": "10.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/opentype.js": { + "version": "0.11.0", + "dev": true, + "license": "MIT", + "dependencies": { + "string.prototype.codepointat": "^0.2.1", + "tiny-inflate": "^1.0.2" + }, + "bin": { + "ot": "bin/ot" + } + }, + "../../../../../needle-engine/js/package~/node_modules/optionator": { + "version": "0.9.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ora": { + "version": "5.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ora/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ora/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ora/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ora/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/ora/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ora/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/os-tmpdir": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/p-cancelable": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/package-json": { + "version": "6.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/package-options": { + "version": "0.1.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/pako": { + "version": "0.2.9", + "dev": true, + "license": "MIT", + "optional": true + }, + "../../../../../needle-engine/js/package~/node_modules/parent-module": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/parse-bmfont-ascii": { + "version": "1.0.6", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/parse-bmfont-binary": { + "version": "1.0.6", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/parse-bmfont-xml": { + "version": "1.1.6", + "dev": true, + "license": "MIT", + "dependencies": { + "xml-parse-from-string": "^1.0.0", + "xml2js": "^0.5.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/parse-data-uri": { + "version": "0.2.0", + "dev": true, + "license": "ISC", + "dependencies": { + "data-uri-to-buffer": "0.0.3" + } + }, + "../../../../../needle-engine/js/package~/node_modules/parse-headers": { + "version": "2.0.5", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/parse-ms": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/path-is-absolute": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/path-key": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/path-parse": { + "version": "1.0.7", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/path-type": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/peerjs": { + "version": "1.4.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@swc/helpers": "^0.3.13", + "eventemitter3": "^4.0.7", + "peerjs-js-binarypack": "1.0.1", + "webrtc-adapter": "^7.7.1" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/peer" + } + }, + "../../../../../needle-engine/js/package~/node_modules/peerjs-js-binarypack": { + "version": "1.0.1", + "dev": true, + "license": "BSD" + }, + "../../../../../needle-engine/js/package~/node_modules/performance-now": { + "version": "2.1.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/phin": { + "version": "2.9.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/picocolors": { + "version": "1.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/picomatch": { + "version": "2.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "../../../../../needle-engine/js/package~/node_modules/pixelmatch": { + "version": "4.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "pngjs": "^3.0.0" + }, + "bin": { + "pixelmatch": "bin/pixelmatch" + } + }, + "../../../../../needle-engine/js/package~/node_modules/pluralize": { + "version": "8.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/pngjs": { + "version": "3.4.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/pngjs-nozlib": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">= 1.0.0", + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/possible-typed-array-names": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/postcss": { + "version": "8.4.35", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "../../../../../needle-engine/js/package~/node_modules/postcss-values-parser": { + "version": "5.0.0", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "color-name": "^1.1.4", + "is-url-superb": "^4.0.0", + "quote-unquote": "^1.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "../../../../../needle-engine/js/package~/node_modules/postcss-values-parser/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/postprocessing": { + "version": "6.35.5", + "dev": true, + "license": "Zlib", + "engines": { + "node": ">= 0.13.2" + }, + "peerDependencies": { + "three": ">= 0.152.0 < 0.166.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/prebuild-install": { + "version": "7.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/precinct": { + "version": "8.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "commander": "^2.20.3", + "debug": "^4.3.3", + "detective-amd": "^3.1.0", + "detective-cjs": "^3.1.1", + "detective-es6": "^2.2.1", + "detective-less": "^1.0.2", + "detective-postcss": "^4.0.0", + "detective-sass": "^3.0.1", + "detective-scss": "^2.0.1", + "detective-stylus": "^1.0.0", + "detective-typescript": "^7.0.0", + "module-definition": "^3.3.1", + "node-source-walk": "^4.2.0" + }, + "bin": { + "precinct": "bin/cli.js" + }, + "engines": { + "node": "^10.13 || ^12 || >=14" + } + }, + "../../../../../needle-engine/js/package~/node_modules/precinct/node_modules/commander": { + "version": "2.20.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/precinct/node_modules/detective-postcss": { + "version": "4.0.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "debug": "^4.1.1", + "is-url": "^1.2.4", + "postcss": "^8.1.7", + "postcss-values-parser": "^2.0.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "../../../../../needle-engine/js/package~/node_modules/precinct/node_modules/postcss-values-parser": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=6.14.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/prelude-ls": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/prepend-http": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/pretty-ms": { + "version": "7.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "parse-ms": "^2.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/proc-log": { + "version": "3.0.0", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/process": { + "version": "0.11.10", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/process-nextick-args": { + "version": "2.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/promise-ftp": { + "version": "1.3.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@icetee/ftp": "^0.3.15", + "bluebird": "2.x", + "promise-ftp-common": "^1.1.5" + }, + "engines": { + "iojs": "*", + "node": ">=0.11.13" + }, + "peerDependencies": { + "promise-ftp-common": "^1.1.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/promise-ftp-common": { + "version": "1.1.5", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/promise-ftp/node_modules/bluebird": { + "version": "2.11.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/promise-retry": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/promise-retry/node_modules/err-code": { + "version": "2.0.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/promise-retry/node_modules/retry": { + "version": "0.12.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/proper-lockfile": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "err-code": "^1.0.0", + "extend": "^3.0.0", + "graceful-fs": "^4.1.2", + "retry": "^0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/property-graph": { + "version": "1.3.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/psl": { + "version": "1.9.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/pstree.remy": { + "version": "1.1.8", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/pump": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/punycode": { + "version": "2.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/pupa": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-goat": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/qs": { + "version": "6.5.3", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/queue-microtask": { + "version": "1.2.3", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/queue-tick": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/quote-unquote": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/rc": { + "version": "1.2.8", + "dev": true, + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "../../../../../needle-engine/js/package~/node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/read": { + "version": "2.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "mute-stream": "~1.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/readable-stream": { + "version": "3.6.2", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/readdir-glob": { + "version": "1.1.3", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.1.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/readdir-glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/readdirp": { + "version": "3.6.0", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/rechoir": { + "version": "0.6.2", + "dev": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/reduce-extract": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "test-value": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/reduce-extract/node_modules/array-back": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "typical": "^2.6.0" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/reduce-extract/node_modules/test-value": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^1.0.2", + "typical": "^2.4.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/reduce-extract/node_modules/typical": { + "version": "2.6.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/reduce-flatten": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/reduce-unique": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/reduce-without": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "test-value": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/reduce-without/node_modules/array-back": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "typical": "^2.6.0" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/reduce-without/node_modules/test-value": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^1.0.3", + "typical": "^2.6.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/reduce-without/node_modules/typical": { + "version": "2.6.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/regenerator-runtime": { + "version": "0.14.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/regexp.prototype.flags": { + "version": "1.5.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/registry-auth-token": { + "version": "4.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "rc": "1.2.8" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/registry-url": { + "version": "5.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "rc": "^1.2.8" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/request": { + "version": "2.88.2", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/request/node_modules/form-data": { + "version": "2.3.3", + "dev": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "../../../../../needle-engine/js/package~/node_modules/request/node_modules/uuid": { + "version": "3.4.0", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "bin/uuid" + } + }, + "../../../../../needle-engine/js/package~/node_modules/requireindex": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/requirejs": { + "version": "2.3.6", + "dev": true, + "license": "MIT", + "bin": { + "r_js": "bin/r.js", + "r.js": "bin/r.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/requirejs-config-file": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "esprima": "^4.0.0", + "stringify-object": "^3.2.1" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/requizzle": { + "version": "0.2.4", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.21" + } + }, + "../../../../../needle-engine/js/package~/node_modules/resolve": { + "version": "1.22.8", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/resolve-dependency-path": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/resolve-from": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/responselike": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "lowercase-keys": "^1.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/restore-cursor": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/retry": { + "version": "0.10.1", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/reusify": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/rimraf": { + "version": "3.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "../../../../../needle-engine/js/package~/node_modules/rollup": { + "version": "3.29.4", + "dev": true, + "license": "MIT", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "../../../../../needle-engine/js/package~/node_modules/rtcpeerconnection-shim": { + "version": "1.2.15", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "sdp": "^2.6.0" + }, + "engines": { + "node": ">=6.0.0", + "npm": ">=3.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/run-applescript": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/run-async": { + "version": "2.4.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/run-parallel": { + "version": "1.2.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "../../../../../needle-engine/js/package~/node_modules/rxjs": { + "version": "6.6.7", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/rxjs/node_modules/tslib": { + "version": "1.14.1", + "dev": true, + "license": "0BSD" + }, + "../../../../../needle-engine/js/package~/node_modules/safe-array-concat": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "get-intrinsic": "^1.2.2", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/safe-buffer": { + "version": "5.2.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/safe-regex-test": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/safe-stable-stringify": { + "version": "2.4.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/safer-buffer": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/sass-lookup": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "commander": "^2.16.0" + }, + "bin": { + "sass-lookup": "bin/cli.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/sass-lookup/node_modules/commander": { + "version": "2.20.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/save-pixels": { + "version": "2.3.6", + "dev": true, + "license": "MIT", + "dependencies": { + "contentstream": "^1.0.0", + "gif-encoder": "~0.4.1", + "jpeg-js": "^0.4.3", + "ndarray": "^1.0.18", + "ndarray-ops": "^1.2.2", + "pngjs-nozlib": "^1.0.0", + "through": "^2.3.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/save-pixels/node_modules/jpeg-js": { + "version": "0.4.4", + "dev": true, + "license": "BSD-3-Clause" + }, + "../../../../../needle-engine/js/package~/node_modules/sax": { + "version": "1.3.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/sdp": { + "version": "2.12.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "../../../../../needle-engine/js/package~/node_modules/semver-diff": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/set-blocking": { + "version": "2.0.0", + "dev": true, + "license": "ISC", + "optional": true + }, + "../../../../../needle-engine/js/package~/node_modules/set-function-length": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.2", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/set-function-name": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/sharp": { + "version": "0.31.3", + "dev": true, + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.1", + "node-addon-api": "^5.0.0", + "prebuild-install": "^7.1.1", + "semver": "^7.3.8", + "simple-get": "^4.0.1", + "tar-fs": "^2.1.1", + "tunnel-agent": "^0.6.0" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "../../../../../needle-engine/js/package~/node_modules/sharp/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/sharp/node_modules/semver": { + "version": "7.6.0", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/sharp/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/shebang-command": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/shebang-regex": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/shelljs": { + "version": "0.8.5", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/side-channel": { + "version": "1.0.6", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/signal-exit": { + "version": "3.0.7", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/simple-concat": { + "version": "1.0.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/simple-get": { + "version": "4.0.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/simple-swizzle": { + "version": "0.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/simple-update-notifier": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "~7.0.0" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/simple-update-notifier/node_modules/semver": { + "version": "7.0.0", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "../../../../../needle-engine/js/package~/node_modules/simplex-noise": { + "version": "4.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/slash": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/slice-ansi": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/sort-array": { + "version": "4.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^5.0.0", + "typical": "^6.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/sort-array/node_modules/array-back": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/sort-array/node_modules/typical": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/source-map": { + "version": "0.6.1", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/source-map-js": { + "version": "1.0.2", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ssh2": { + "version": "1.15.0", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "asn1": "^0.2.6", + "bcrypt-pbkdf": "^1.0.2" + }, + "engines": { + "node": ">=10.16.0" + }, + "optionalDependencies": { + "cpu-features": "~0.0.9", + "nan": "^2.18.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ssh2-sftp-client": { + "version": "7.2.3", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "concat-stream": "^2.0.0", + "promise-retry": "^2.0.1", + "ssh2": "^1.8.0" + }, + "engines": { + "node": ">=10.24.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/sshpk": { + "version": "1.18.0", + "dev": true, + "license": "MIT", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/stack-trace": { + "version": "0.0.10", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/stats.js": { + "version": "0.17.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/stream-connect": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/stream-connect/node_modules/array-back": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "typical": "^2.6.0" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/stream-connect/node_modules/typical": { + "version": "2.6.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/stream-via": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/streamx": { + "version": "2.16.1", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-fifo": "^1.1.0", + "queue-tick": "^1.0.1" + }, + "optionalDependencies": { + "bare-events": "^2.2.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/string_decoder": { + "version": "1.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/string-width": { + "version": "4.2.3", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/string.prototype.codepointat": { + "version": "0.2.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/string.prototype.trim": { + "version": "1.2.8", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/string.prototype.trimend": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/string.prototype.trimstart": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/stringify-object": { + "version": "3.3.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/strip-ansi": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/strip-bom": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/strip-json-comments": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/stylus-lookup": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "commander": "^2.8.1", + "debug": "^4.1.0" + }, + "bin": { + "stylus-lookup": "bin/cli.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/stylus-lookup/node_modules/commander": { + "version": "2.20.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/supports-color": { + "version": "5.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/table": { + "version": "5.4.6", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/table-layout": { + "version": "0.4.5", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^2.0.0", + "deep-extend": "~0.6.0", + "lodash.padend": "^4.6.1", + "typical": "^2.6.1", + "wordwrapjs": "^3.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/table-layout/node_modules/array-back": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/table-layout/node_modules/typical": { + "version": "2.6.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/table/node_modules/ansi-regex": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/table/node_modules/emoji-regex": { + "version": "7.0.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/table/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/table/node_modules/string-width": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/table/node_modules/strip-ansi": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/tabtab": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.0.1", + "es6-promisify": "^6.0.0", + "inquirer": "^6.0.0", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "untildify": "^3.0.3" + } + }, + "../../../../../needle-engine/js/package~/node_modules/tabtab/node_modules/mkdirp": { + "version": "0.5.6", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "../../../../../needle-engine/js/package~/node_modules/tapable": { + "version": "2.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/tar": { + "version": "6.2.0", + "dev": true, + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/tar-fs": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/tar-fs/node_modules/chownr": { + "version": "1.1.4", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/tar-stream": { + "version": "2.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/tar/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/temp": { + "version": "0.4.0", + "dev": true, + "engines": [ + "node >=0.4.0" + ] + }, + "../../../../../needle-engine/js/package~/node_modules/temp-path": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/test-value": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^2.0.0", + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/test-value/node_modules/array-back": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/test-value/node_modules/typical": { + "version": "2.6.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/text-hex": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/text-table": { + "version": "0.2.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/three": { + "name": "@needle-tools/three", + "version": "0.162.8", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/three-mesh-bvh": { + "version": "0.7.6", + "dev": true, + "license": "MIT", + "peerDependencies": { + "three": ">= 0.151.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/three-mesh-ui": { + "name": "@needle-tools/three-mesh-ui", + "version": "7.1.5-alpha.5", + "dev": true, + "license": "MIT", + "engines": { + "node": "x.x.x" + }, + "peerDependencies": { + "three": ">=0.154.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/three.quarks": { + "version": "0.10.8", + "dev": true, + "license": "MIT", + "peerDependencies": { + "three": ">=0.153.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/through": { + "version": "2.3.8", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/through2": { + "version": "4.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "3" + } + }, + "../../../../../needle-engine/js/package~/node_modules/timm": { + "version": "1.7.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/tiny-inflate": { + "version": "1.0.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/tinycolor2": { + "version": "1.6.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/tmp": { + "version": "0.2.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, + "../../../../../needle-engine/js/package~/node_modules/to-fast-properties": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/to-readable-stream": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/to-regex-range": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/touch": { + "version": "3.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "nopt": "~1.0.10" + }, + "bin": { + "nodetouch": "bin/nodetouch.js" + } + }, + "../../../../../needle-engine/js/package~/node_modules/tough-cookie": { + "version": "2.5.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/tr46": { + "version": "0.0.3", + "dev": true, + "license": "MIT", + "optional": true + }, + "../../../../../needle-engine/js/package~/node_modules/triple-beam": { + "version": "1.4.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ts-api-utils": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/tsconfig-paths": { + "version": "3.15.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "../../../../../needle-engine/js/package~/node_modules/tslib": { + "version": "2.6.2", + "dev": true, + "license": "0BSD" + }, + "../../../../../needle-engine/js/package~/node_modules/tsutils": { + "version": "3.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "../../../../../needle-engine/js/package~/node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "dev": true, + "license": "0BSD" + }, + "../../../../../needle-engine/js/package~/node_modules/tunnel-agent": { + "version": "0.6.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/tweetnacl": { + "version": "0.14.5", + "dev": true, + "license": "Unlicense" + }, + "../../../../../needle-engine/js/package~/node_modules/type-check": { + "version": "0.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/type-fest": { + "version": "0.20.2", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/typed-array-buffer": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/typed-array-byte-length": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/typed-array-byte-offset": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/typed-array-length": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/typedarray": { + "version": "0.0.6", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/typescript": { + "version": "4.9.5", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/typical": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/uc.micro": { + "version": "1.0.6", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/uglify-js": { + "version": "3.17.4", + "dev": true, + "license": "BSD-2-Clause", + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ultimate-text-to-image": { + "version": "1.0.1", + "dev": true, + "license": "MIT License", + "optional": true, + "dependencies": { + "canvas": "^2.10.2", + "linebreak-next": "^1.0.3" + } + }, + "../../../../../needle-engine/js/package~/node_modules/unbox-primitive": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/undefsafe": { + "version": "2.0.5", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/underscore": { + "version": "1.13.6", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/undici-types": { + "version": "5.26.5", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/unicode-trie": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/uniq": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/unique-string": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/unit-compare": { + "version": "1.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "moment": "^2.14.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/universalify": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/untildify": { + "version": "3.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/upath": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/update-browserslist-db": { + "version": "1.0.13", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/update-notifier": { + "version": "5.1.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boxen": "^5.0.0", + "chalk": "^4.1.0", + "configstore": "^5.0.1", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.4.0", + "is-npm": "^5.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.1.0", + "pupa": "^2.1.1", + "semver": "^7.3.4", + "semver-diff": "^3.1.1", + "xdg-basedir": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/yeoman/update-notifier?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/update-notifier/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/update-notifier/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/update-notifier/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/update-notifier/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/update-notifier/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/update-notifier/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/update-notifier/node_modules/semver": { + "version": "7.6.0", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/update-notifier/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/update-notifier/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/uri-js": { + "version": "4.4.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/url-parse-lax": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "prepend-http": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/utif": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "pako": "^1.0.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/utif/node_modules/pako": { + "version": "1.0.11", + "dev": true, + "license": "(MIT AND Zlib)" + }, + "../../../../../needle-engine/js/package~/node_modules/util-deprecate": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/uuid": { + "version": "9.0.1", + "dev": true, + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "../../../../../needle-engine/js/package~/node_modules/validate-npm-package-name": { + "version": "5.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "builtins": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/verror": { + "version": "1.10.0", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/vite": { + "version": "4.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.17.5", + "postcss": "^8.4.23", + "rollup": "^3.21.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "../../../../../needle-engine/js/package~/node_modules/vite/node_modules/esbuild": { + "version": "0.17.19", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.19", + "@esbuild/android-arm64": "0.17.19", + "@esbuild/android-x64": "0.17.19", + "@esbuild/darwin-arm64": "0.17.19", + "@esbuild/darwin-x64": "0.17.19", + "@esbuild/freebsd-arm64": "0.17.19", + "@esbuild/freebsd-x64": "0.17.19", + "@esbuild/linux-arm": "0.17.19", + "@esbuild/linux-arm64": "0.17.19", + "@esbuild/linux-ia32": "0.17.19", + "@esbuild/linux-loong64": "0.17.19", + "@esbuild/linux-mips64el": "0.17.19", + "@esbuild/linux-ppc64": "0.17.19", + "@esbuild/linux-riscv64": "0.17.19", + "@esbuild/linux-s390x": "0.17.19", + "@esbuild/linux-x64": "0.17.19", + "@esbuild/netbsd-x64": "0.17.19", + "@esbuild/openbsd-x64": "0.17.19", + "@esbuild/sunos-x64": "0.17.19", + "@esbuild/win32-arm64": "0.17.19", + "@esbuild/win32-ia32": "0.17.19", + "@esbuild/win32-x64": "0.17.19" + } + }, + "../../../../../needle-engine/js/package~/node_modules/walk-back": { + "version": "5.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.17" + } + }, + "../../../../../needle-engine/js/package~/node_modules/walkdir": { + "version": "0.4.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/wcwidth": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "../../../../../needle-engine/js/package~/node_modules/web-streams-polyfill": { + "version": "3.3.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/webidl-conversions": { + "version": "3.0.1", + "dev": true, + "license": "BSD-2-Clause", + "optional": true + }, + "../../../../../needle-engine/js/package~/node_modules/webrtc-adapter": { + "version": "7.7.1", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "rtcpeerconnection-shim": "^1.2.15", + "sdp": "^2.12.0" + }, + "engines": { + "node": ">=6.0.0", + "npm": ">=3.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/websocket-ts": { + "version": "2.1.5", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/whatwg-url": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/which": { + "version": "2.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/which-boxed-primitive": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/which-typed-array": { + "version": "1.1.14", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.6", + "call-bind": "^1.0.5", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/wide-align": { + "version": "1.1.5", + "dev": true, + "license": "ISC", + "optional": true, + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/widest-line": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/winston": { + "version": "3.12.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@colors/colors": "^1.6.0", + "@dabh/diagnostics": "^2.0.2", + "async": "^3.2.3", + "is-stream": "^2.0.0", + "logform": "^2.4.0", + "one-time": "^1.0.0", + "readable-stream": "^3.4.0", + "safe-stable-stringify": "^2.3.1", + "stack-trace": "0.0.x", + "triple-beam": "^1.3.0", + "winston-transport": "^4.7.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/winston-transport": { + "version": "4.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "logform": "^2.3.2", + "readable-stream": "^3.6.0", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/wordwrap": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/wordwrapjs": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "reduce-flatten": "^1.0.1", + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/wordwrapjs/node_modules/reduce-flatten": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/wordwrapjs/node_modules/typical": { + "version": "2.6.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/wrap-ansi": { + "version": "6.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/wrappy": { + "version": "1.0.2", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/write-file-atomic": { + "version": "3.0.3", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/xdg-basedir": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/xhr": { + "version": "2.6.0", + "dev": true, + "license": "MIT", + "dependencies": { + "global": "~4.4.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/xml-parse-from-string": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/xml2js": { + "version": "0.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/xmlbuilder": { + "version": "11.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/xmlcreate": { + "version": "2.0.4", + "dev": true, + "license": "Apache-2.0" + }, + "../../../../../needle-engine/js/package~/node_modules/xregexp": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/xtend": { + "version": "4.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/yallist": { + "version": "3.1.1", + "dev": true, + "license": "ISC", + "peer": true + }, + "../../../../../needle-engine/js/package~/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/zip-stream": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "archiver-utils": "^3.0.4", + "compress-commons": "^4.1.2", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/zip-stream/node_modules/archiver-utils": { + "version": "3.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "glob": "^7.2.3", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" + } + }, + "../../../../../needle-engine/modules/gltf-progressive": { + "name": "@needle-tools/gltf-progressive", + "version": "1.2.9", + "dev": true, + "devDependencies": { + "@stylistic/eslint-plugin-ts": "^1.5.4", + "@types/three": "0.162.0", + "@typescript-eslint/eslint-plugin": "^6.2.0", + "@typescript-eslint/parser": "^6.2.0", + "eslint": "^8.56.0", + "eslint-plugin-import": "^2.29.1", + "eslint-plugin-no-secrets": "^0.8.9", + "eslint-plugin-no-unsanitized": "^4.0.2", + "eslint-plugin-promise": "^6.1.1", + "eslint-plugin-xss": "^0.1.12", + "nodemon": "^3.1.4", + "npm-watch": "^0.13.0", + "three": ">= 0.160.0", + "vite": "<= 4.3.9" + }, + "peerDependencies": { + "three": ">= 0.160.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@esbuild/win32-x64": { + "version": "0.17.19", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@eslint-community/regexpp": { + "version": "4.11.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@eslint/js": { + "version": "8.57.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "dev": true, + "license": "BSD-3-Clause" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@stylistic/eslint-plugin-js": { + "version": "1.8.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint": "^8.56.10", + "acorn": "^8.11.3", + "escape-string-regexp": "^4.0.0", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "peerDependencies": { + "eslint": ">=8.40.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@stylistic/eslint-plugin-ts": { + "version": "1.8.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@stylistic/eslint-plugin-js": "1.8.1", + "@types/eslint": "^8.56.10", + "@typescript-eslint/utils": "^6.21.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "peerDependencies": { + "eslint": ">=8.40.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@tweenjs/tween.js": { + "version": "23.1.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@types/eslint": { + "version": "8.56.10", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@types/estree": { + "version": "1.0.5", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@types/json-schema": { + "version": "7.0.15", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@types/json5": { + "version": "0.0.29", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@types/semver": { + "version": "7.5.8", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@types/stats.js": { + "version": "0.17.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@types/three": { + "version": "0.162.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@tweenjs/tween.js": "~23.1.1", + "@types/stats.js": "*", + "@types/webxr": "*", + "fflate": "~0.6.10", + "meshoptimizer": "~0.18.1" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@types/webxr": { + "version": "0.5.19", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@typescript-eslint/eslint-plugin": { + "version": "6.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/type-utils": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@typescript-eslint/parser": { + "version": "6.21.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@typescript-eslint/scope-manager": { + "version": "6.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@typescript-eslint/type-utils": { + "version": "6.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@typescript-eslint/typescript-estree": { + "version": "6.21.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@typescript-eslint/utils": { + "version": "6.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@typescript-eslint/visitor-keys": { + "version": "6.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/acorn": { + "version": "8.12.1", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/acorn-jsx": { + "version": "5.3.2", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/ajv": { + "version": "6.12.6", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/ansi-regex": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/anymatch": { + "version": "3.1.3", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/argparse": { + "version": "2.0.1", + "dev": true, + "license": "Python-2.0" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/array-includes": { + "version": "3.1.8", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/array-union": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/array.prototype.findlastindex": { + "version": "1.2.5", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/array.prototype.flat": { + "version": "1.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/available-typed-arrays": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/balanced-match": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/binary-extensions": { + "version": "2.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/brace-expansion": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/braces": { + "version": "3.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/call-bind": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/callsites": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/chokidar": { + "version": "3.6.0", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/cross-spawn": { + "version": "7.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/data-view-buffer": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/data-view-byte-length": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/data-view-byte-offset": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/debug": { + "version": "4.3.5", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/deep-is": { + "version": "0.1.4", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/define-data-property": { + "version": "1.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/define-properties": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/dir-glob": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/doctrine": { + "version": "3.0.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/es-abstract": { + "version": "1.23.3", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.15" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/es-define-property": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/es-errors": { + "version": "1.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/es-object-atoms": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/es-set-tostringtag": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/es-shim-unscopables": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/es-to-primitive": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/esbuild": { + "version": "0.17.19", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.19", + "@esbuild/android-arm64": "0.17.19", + "@esbuild/android-x64": "0.17.19", + "@esbuild/darwin-arm64": "0.17.19", + "@esbuild/darwin-x64": "0.17.19", + "@esbuild/freebsd-arm64": "0.17.19", + "@esbuild/freebsd-x64": "0.17.19", + "@esbuild/linux-arm": "0.17.19", + "@esbuild/linux-arm64": "0.17.19", + "@esbuild/linux-ia32": "0.17.19", + "@esbuild/linux-loong64": "0.17.19", + "@esbuild/linux-mips64el": "0.17.19", + "@esbuild/linux-ppc64": "0.17.19", + "@esbuild/linux-riscv64": "0.17.19", + "@esbuild/linux-s390x": "0.17.19", + "@esbuild/linux-x64": "0.17.19", + "@esbuild/netbsd-x64": "0.17.19", + "@esbuild/openbsd-x64": "0.17.19", + "@esbuild/sunos-x64": "0.17.19", + "@esbuild/win32-arm64": "0.17.19", + "@esbuild/win32-ia32": "0.17.19", + "@esbuild/win32-x64": "0.17.19" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/escape-string-regexp": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint": { + "version": "8.57.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint-module-utils": { + "version": "2.8.1", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint-plugin-import": { + "version": "2.29.1", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.8.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", + "semver": "^6.3.1", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint-plugin-import/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint-plugin-import/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint-plugin-no-secrets": { + "version": "0.8.9", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0", + "npm": ">=6.9.0" + }, + "peerDependencies": { + "eslint": ">=3.0.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint-plugin-no-unsanitized": { + "version": "4.0.2", + "dev": true, + "license": "MPL-2.0", + "peerDependencies": { + "eslint": "^6 || ^7 || ^8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint-plugin-promise": { + "version": "6.4.0", + "dev": true, + "license": "ISC", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint-plugin-xss": { + "version": "0.1.12", + "dev": true, + "license": "ISC", + "dependencies": { + "requireindex": "~1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint-scope": { + "version": "7.2.2", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/espree": { + "version": "9.6.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/esquery": { + "version": "1.6.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/esrecurse": { + "version": "4.3.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/estraverse": { + "version": "5.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/esutils": { + "version": "2.0.3", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/fast-deep-equal": { + "version": "3.1.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/fast-glob": { + "version": "3.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/fast-levenshtein": { + "version": "2.0.6", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/fastq": { + "version": "1.17.1", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/fflate": { + "version": "0.6.10", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/file-entry-cache": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/fill-range": { + "version": "7.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/flat-cache": { + "version": "3.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/flatted": { + "version": "3.3.1", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/for-each": { + "version": "0.3.3", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/fs.realpath": { + "version": "1.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/function-bind": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/function.prototype.name": { + "version": "1.1.6", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/functions-have-names": { + "version": "1.2.3", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/get-intrinsic": { + "version": "1.2.4", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/get-symbol-description": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/glob": { + "version": "7.2.3", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/glob-parent": { + "version": "6.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/globals": { + "version": "13.24.0", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/globalthis": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/globby": { + "version": "11.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/gopd": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/graphemer": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/has-bigints": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/has-property-descriptors": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/has-proto": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/has-symbols": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/has-tostringtag": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/hasown": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/ignore": { + "version": "5.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/ignore-by-default": { + "version": "1.0.1", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/import-fresh": { + "version": "3.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/imurmurhash": { + "version": "0.1.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/inflight": { + "version": "1.0.6", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/inherits": { + "version": "2.0.4", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/internal-slot": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-array-buffer": { + "version": "3.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-bigint": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-binary-path": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-boolean-object": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-callable": { + "version": "1.2.7", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-core-module": { + "version": "2.14.0", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-data-view": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-date-object": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-extglob": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-glob": { + "version": "4.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-negative-zero": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-number": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-number-object": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-path-inside": { + "version": "3.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-regex": { + "version": "1.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-shared-array-buffer": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-string": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-symbol": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-typed-array": { + "version": "1.1.13", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-weakref": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/isarray": { + "version": "2.0.5", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/isexe": { + "version": "2.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/js-yaml": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/json-buffer": { + "version": "3.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/json-schema-traverse": { + "version": "0.4.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/json5": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/keyv": { + "version": "4.5.4", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/levn": { + "version": "0.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/lodash.merge": { + "version": "4.6.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/merge2": { + "version": "1.4.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/meshoptimizer": { + "version": "0.18.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/micromatch": { + "version": "4.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/minimatch": { + "version": "9.0.3", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/minimist": { + "version": "1.2.8", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/nanoid": { + "version": "3.3.7", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/natural-compare": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/nodemon": { + "version": "3.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^3.5.2", + "debug": "^4", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.1.2", + "pstree.remy": "^1.1.8", + "semver": "^7.5.3", + "simple-update-notifier": "^2.0.0", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5" + }, + "bin": { + "nodemon": "bin/nodemon.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nodemon" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/nodemon/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/nodemon/node_modules/has-flag": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/nodemon/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/nodemon/node_modules/supports-color": { + "version": "5.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/normalize-path": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/npm-watch": { + "version": "0.13.0", + "dev": true, + "license": "MIT", + "dependencies": { + "nodemon": "^3.0.1", + "through2": "^4.0.2" + }, + "bin": { + "npm-watch": "cli.js" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/object-inspect": { + "version": "1.13.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/object-keys": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/object.assign": { + "version": "4.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/object.fromentries": { + "version": "2.0.8", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/object.groupby": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/object.values": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/once": { + "version": "1.4.0", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/optionator": { + "version": "0.9.4", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/parent-module": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/path-is-absolute": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/path-key": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/path-parse": { + "version": "1.0.7", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/path-type": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/picocolors": { + "version": "1.0.1", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/picomatch": { + "version": "2.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/possible-typed-array-names": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/postcss": { + "version": "8.4.39", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/prelude-ls": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/pstree.remy": { + "version": "1.1.8", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/punycode": { + "version": "2.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/queue-microtask": { + "version": "1.2.3", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/readable-stream": { + "version": "3.6.2", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/readdirp": { + "version": "3.6.0", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/regexp.prototype.flags": { + "version": "1.5.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/requireindex": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.5" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/resolve": { + "version": "1.22.8", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/resolve-from": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/reusify": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/rimraf": { + "version": "3.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/rollup": { + "version": "3.29.4", + "dev": true, + "license": "MIT", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/run-parallel": { + "version": "1.2.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/safe-array-concat": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/safe-buffer": { + "version": "5.2.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/safe-regex-test": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/semver": { + "version": "7.6.3", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/set-function-length": { + "version": "1.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/set-function-name": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/shebang-command": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/shebang-regex": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/side-channel": { + "version": "1.0.6", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/simple-update-notifier": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/slash": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/source-map-js": { + "version": "1.2.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/string_decoder": { + "version": "1.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/string.prototype.trim": { + "version": "1.2.9", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/string.prototype.trimend": { + "version": "1.0.8", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/strip-ansi": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/strip-bom": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/strip-json-comments": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/text-table": { + "version": "0.2.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/three": { + "version": "0.166.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/through2": { + "version": "4.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "3" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/to-regex-range": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/touch": { + "version": "3.1.1", + "dev": true, + "license": "ISC", + "bin": { + "nodetouch": "bin/nodetouch.js" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/ts-api-utils": { + "version": "1.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/tsconfig-paths": { + "version": "3.15.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/type-check": { + "version": "0.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/type-fest": { + "version": "0.20.2", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/typed-array-buffer": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/typed-array-byte-length": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/typed-array-byte-offset": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/typed-array-length": { + "version": "1.0.6", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/typescript": { + "version": "5.5.3", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/unbox-primitive": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/undefsafe": { + "version": "2.0.5", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/uri-js": { + "version": "4.4.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/util-deprecate": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/vite": { + "version": "4.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.17.5", + "postcss": "^8.4.23", + "rollup": "^3.21.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/which": { + "version": "2.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/which-boxed-primitive": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/which-typed-array": { + "version": "1.1.15", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/word-wrap": { + "version": "1.2.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/wrappy": { + "version": "1.0.2", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@mediapipe/tasks-vision": { + "version": "0.10.14", + "license": "Apache-2.0" + }, + "node_modules/@needle-tools/engine": { + "resolved": "../../../../../needle-engine/js/package~", + "link": true + }, + "node_modules/@tweenjs/tween.js": { + "version": "23.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/stats.js": { + "version": "0.17.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/three": { + "version": "0.162.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@tweenjs/tween.js": "~23.1.1", + "@types/stats.js": "*", + "@types/webxr": "*", + "fflate": "~0.6.10", + "meshoptimizer": "~0.18.1" + } + }, + "node_modules/@types/webxr": { + "version": "0.5.20", + "dev": true, + "license": "MIT" + }, + "node_modules/fflate": { + "version": "0.6.10", + "dev": true, + "license": "MIT" + }, + "node_modules/meshoptimizer": { + "version": "0.18.1", + "dev": true, + "license": "MIT" + }, + "node_modules/three": { + "name": "@needle-tools/three", + "version": "0.162.9", + "dev": true, + "license": "MIT" + } + } +} diff --git a/package/Runtime/Facefilter/FaceFilter~/package.json b/package/Runtime/Facefilter/FaceFilter~/package.json new file mode 100644 index 000000000..b2ef98148 --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter~/package.json @@ -0,0 +1,17 @@ +{ + "name": "@needle-tools/facefilter", + "version": "1.0.0", + "main": "index.ts", + "dependencies": { + "@mediapipe/tasks-vision": "^0.10.14" + }, + "peerDependencies": { + "@needle-tools/engine": "file:C:\\git\\needle-engine-dev\\modules\\needle-engine\\js\\package~", + "three": "npm:@needle-tools/three@^0.162.9" + }, + "devDependencies": { + "@needle-tools/engine": "file:C:\\git\\needle-engine-dev\\modules\\needle-engine\\js\\package~", + "three": "npm:@needle-tools/three@^0.162.9", + "@types/three": "0.162.0" + } +} \ No newline at end of file diff --git a/package/Runtime/Facefilter/FaceFilter~/package.needle.json b/package/Runtime/Facefilter/FaceFilter~/package.needle.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter~/package.needle.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/package/Runtime/Facefilter/FaceFilter~/src/Behaviours.ts b/package/Runtime/Facefilter/FaceFilter~/src/Behaviours.ts new file mode 100644 index 000000000..bd30f9742 --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter~/src/Behaviours.ts @@ -0,0 +1,293 @@ +import { Animator, BehaviorExtension, Behaviour, getComponentInChildren, serializable } from '@needle-tools/engine'; +import type { NeedleFilterTrackingManager } from './FaceFilter.js'; +import { Matrix4, Mesh, Object3D, SkinnedMesh, Vector3 } from 'three'; +import { BlendshapeName, FacefilterUtils } from './utils.js'; + +declare type AvatarType = "Unknown" | "ReadyPlayerMe"; + +/** + * Root Filter behaviour + */ +export class FaceFilterRoot extends Behaviour { + + @serializable() + overrideDefaultOccluder: boolean = false; + + private _type: AvatarType = "Unknown"; + private _headMatrix: Matrix4 | null = null; + private _initialScale!: Vector3; + + awake() { + this._initialScale ??= this.gameObject?.scale.clone(); + this._headMatrix = null; + this.setupHead(); + } + + private setupHead() { + let head: Object3D | null = null; + let headTopEnd: Object3D | null = null; + + // First check if we have a face placement helper assigned + // If so this is the exact object that we use for the face position + const face = this.gameObject.getComponentInChildren(FaceFilterHeadPosition); + if (face) { + head = face.gameObject; + } + else { + + const readyPlayerMeBodyAssetNames = ["Wolf3D_Body", "Wolf3D_Outfit_Bottom", "Wolf3D_Outfit_Footwear", "Wolf3D_Outfit_Top"]; + const bodyAssetsToHide = new Array(); + + /** Fallback method to determine the head matrix */ + const scanAvatar = (obj: Object3D): void => { + + if (!head) { + if (obj.userData?.name === "Head") { + head = obj; + } + } + + if (obj.userData?.name === "HeadTop_End") { + headTopEnd = obj; + } + + if (readyPlayerMeBodyAssetNames.includes(obj.userData?.name)) { + bodyAssetsToHide.push(obj); + } + + // Is this a ReadyPlayerMe avatar? + if (obj.userData?.name === "Wolf3D_Head") { + this._type = "ReadyPlayerMe"; + } + + // Traverse + for (const child of obj.children) { + scanAvatar(child); + } + } + + scanAvatar(this.gameObject); + + if (head) { + const headOffsetObject = new Object3D(); + (head as Object3D).add(headOffsetObject); + head = headOffsetObject; + // handle specific defaults for different avatar types + switch (this._type) { + case "ReadyPlayerMe": + this.overrideDefaultOccluder = true; + headOffsetObject.position.set(0, .07, .05); + bodyAssetsToHide.forEach(obj => obj.visible = false); + break; + } + } + else { + console.warn("No head object found in avatar rig"); + } + } + + + if (head) { + // The matrix of the root object should not affect the head object + // E.g. if the root avatar is offset in the scene at the moment/scaled/rotated... it doesnt matter + // We only care about the matrix of the found head WITHIN this rig + const parent = this.gameObject.parent; + this.gameObject.parent = null; + this.gameObject.matrixAutoUpdate = false; + this.gameObject.matrix.identity(); + this.gameObject.matrixWorld.identity(); + + // Calculate the head matrix + head.updateWorldMatrix(true, false); + this._headMatrix = new Matrix4(); + this._headMatrix.copy(head.matrixWorld); + // apply the scale of the initial object + const scale = this._initialScale.clone(); + scale.x = 1 / scale.x; + scale.y = 1 / scale.y; + scale.z = 1 / scale.z; + this._headMatrix.scale(scale); + // the matrix will be used to transform the root to the head so we invert it + this._headMatrix.invert(); + // when we are rendering in mirror mode we want to flip the head matrix + FacefilterUtils.flipX(this._headMatrix); + + // Reset the parent + this.gameObject.parent = parent; + } + else { + // apply the root scale if nothing is setup and no head object is found + this._headMatrix = new Matrix4(); + this._headMatrix.scale(this._initialScale); + } + } + + + + private _filter: NeedleFilterTrackingManager | null = null; + private _behaviours: FilterBehaviour[] = []; + + onResultsUpdated(filter: NeedleFilterTrackingManager) { + if (!this._filter) { + this._filter = filter; + console.log("Avatar behaviour initialized"); + this.gameObject.getOrAddComponent(FaceFilterBlendshapes); + this.gameObject.getOrAddComponent(FaceFilterAnimator); + this._behaviours = this.gameObject.getComponentsInChildren(FilterBehaviour); + } + for (const beh of this._behaviours) { + beh.onResultsUpdated(filter); + } + } + + onBeforeRender(): void { + const res = this._filter?.facelandmarkerResult; + if (!res) return; + const lm = res.facialTransformationMatrixes[0]; + if (!lm) return; + FacefilterUtils.applyFaceLandmarkMatrixToObject3D(this.gameObject, lm, this.context.mainCamera); + this.gameObject.matrixAutoUpdate = false; + if (this._headMatrix) { + this.gameObject.matrix.multiply(this._headMatrix); + } + } + + + +} + + +export interface IFilterBehaviour { + onResultsUpdated(filter: NeedleFilterTrackingManager): void; +} + +export abstract class FilterBehaviour extends Behaviour implements IFilterBehaviour { + abstract onResultsUpdated(_filter: NeedleFilterTrackingManager): void; +} + +/** + * Marks the face position in the avatar + */ +export class FaceFilterHeadPosition extends Behaviour { + + @serializable(Matrix4) + matrix: Matrix4 = new Matrix4(); +} + + +declare type MeshWithBlendshapes = Mesh & { + morphTargetInfluences: number[]; + morphTargetDictionary: { [key: string]: number }; +} + +declare type RemapData = { key: string, factor: number }; +declare type BlendshapeMap = Partial>; + +export class FaceFilterBlendshapes extends FilterBehaviour { + + // TODO: expose in Unity + @serializable() + blendshapeMap: BlendshapeMap = {}; + + private _skinnedMeshes: MeshWithBlendshapes[] = []; + + onEnable(): void { + this._skinnedMeshes = []; + this.blendshapeMap ??= {}; + + this.gameObject.traverse((child) => { + if (child instanceof SkinnedMesh || child instanceof Mesh) { + const mesh = child as MeshWithBlendshapes; + if (mesh.morphTargetDictionary && mesh.morphTargetInfluences) { + this._skinnedMeshes.push(mesh); + for (const key of Object.keys(mesh.morphTargetDictionary)) { + switch (key) { + case "mouthOpen": + this.blendshapeMap["jawOpen"] = { key, factor: 3, }; + break; + case "mouthSmile": + this.blendshapeMap["mouthSmileLeft"] = { key, factor: 1, }; + this.blendshapeMap["mouthSmileRight"] = { key, factor: 1, }; + break; + } + } + } + } + }); + + if (Object.keys(this.blendshapeMap).length > 0) + console.log("Blendshape mapping", this.blendshapeMap); + } + + onResultsUpdated(filter: NeedleFilterTrackingManager) { + // TODO: handle multiple faces + const face = filter.facelandmarkerResult?.faceBlendshapes?.[0] + if (face && this._skinnedMeshes.length > 0) { + // we iterate all blendshape values and set the corresponding morph target influence + // some meshes might have different names so we need to remap them + for (const shape of face.categories) { + const blendshapeName = shape.categoryName; + + let name = shape.categoryName; + + const remapData: RemapData = this.blendshapeMap[name]; + if (remapData?.key) { + name = remapData.key; + } + + + for (const mesh of this._skinnedMeshes) { + const index = mesh.morphTargetDictionary[name]; + if (index !== undefined && index !== null) { + let value = shape.score; + + if (remapData?.factor != undefined) { + value *= remapData.factor; + } + + // The eye blink values seem to never exceed ranges between 0 (totally open) and 0.5 (totally closed) + else if (blendshapeName.includes("eyeBlink")) { + value = value * 1.5; + } + + mesh.morphTargetInfluences[index] = value; + } + // else { + // if (this.context.time.frameCount % 180 === 0) + // console.warn(`No morph target found for blendshape ${name}`, mesh.morphTargetDictionary) + // } + } + } + } + } +} + + + +export class FaceFilterAnimator extends FilterBehaviour { + + private _animators: Animator[] = []; + + awake(): void { + this._animators = this.gameObject.getComponentsInChildren(Animator); + } + + onResultsUpdated(filter: NeedleFilterTrackingManager) { + if (!this._animators?.length) return; + + const face = filter.facelandmarkerResult?.faceBlendshapes?.[0] + if (face) { + // we iterate all blendshape values and set the corresponding morph target influence + // some meshes might have different names so we need to remap them + for (const shape of face.categories) { + const name = shape.categoryName; + for (const anim of this._animators) { + // if(name.includes("jawOpen")) console.log(shape.score) + anim.setFloat(name, shape.score); + } + } + } + } + + +} \ No newline at end of file diff --git a/package/Runtime/Facefilter/FaceFilter~/src/FaceFilter.ts b/package/Runtime/Facefilter/FaceFilter~/src/FaceFilter.ts new file mode 100644 index 000000000..8c0da4295 --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter~/src/FaceFilter.ts @@ -0,0 +1,564 @@ +import { ActionBuilder, AssetReference, Behaviour, Canvas, ClearFlags, GameObject, getIconElement, getParam, isMobileDevice, Mathf, ObjectUtils, PromiseAllWithErrors, serializable, setParamWithoutReload, showBalloonMessage } from '@needle-tools/engine'; +import { FilesetResolver, FaceLandmarker, DrawingUtils, FaceLandmarkerResult, PoseLandmarker } from "@mediapipe/tasks-vision"; +import { BlendshapeName, FacefilterUtils, MediapipeHelper } from './utils.js'; +import { MeshBasicMaterial, Object3D, Vector3, VideoTexture } from 'three'; +import { NeedleRecordingHelper } from './RecordingHelper.js'; +import { FaceFilterRoot } from './Behaviours.js'; +import { mirror } from './settings.js'; + +export class NeedleFilterTrackingManager extends Behaviour { + + /** + * The 3D object that will be attached to the face + */ + @serializable(AssetReference) + filters: AssetReference[] = []; + + /** + * The occlusion mesh that will be used to hide 3D objects behind the face + */ + @serializable(AssetReference) + occlusionMesh: AssetReference | undefined = undefined; + + @serializable() + createOcclusionMesh: boolean = true; + + /** + * When enabled menu buttons for Recording, Switching Filters and Sharing will be created + */ + @serializable() + createMenuButton: boolean = true; + + /** + * Get access to the currently playing video. This is the camera by default + */ + get video() { + return this._video; + } + + /** + * The last result received from the face detector + * @returns {FaceLandmarkerResult} the last result received from the face detector + */ + get facelandmarkerResult(): FaceLandmarkerResult | null { + return this._lastFaceLandmarkResults; + } + /** + * Get the blendshape value for a given name + * @param shape the name of the blendshape e.g. JawOpen + * @param index the index of the face to get the blendshape from. Default is 0 + * @returns the blendshape score for a given name e.g. JawOpen. -1 if not found + */ + getBlendshapeValue(shape: BlendshapeName, index: number = 0): number { + return FacefilterUtils.getBlendshapeValue(this._lastFaceLandmarkResults, shape, index); + } + + + selectNextFilter() { + this.select((this._activeFilterIndex + 1) % this.filters.length); + } + selectPreviousFilter() { + let index = this._activeFilterIndex - 1; + if (index < 0) index = this.filters.length - 1; + this.select(index); + } + select(index: number) { + if (index >= 0 && index < this.filters.length && typeof index === "number") { + this._activeFilterIndex = index; + setParamWithoutReload("facefilter", index.toString()); + + // preload the next filter + const nextIndex = (index + 1) % this.filters.length; + const nextFilter = this.filters[nextIndex]; + console.log("Preload Filter #" + nextIndex) + nextFilter?.loadAssetAsync(); + + return true; + } + return false; + } + + + + /** Face detector */ + private _facelandmarker: FaceLandmarker | null = null; + + /** Pose detector / provides segmentation */ + private _poselandmarker: PoseLandmarker | null = null; + + /** Input */ + private _video!: HTMLVideoElement; + private _videoReady: boolean = false; + private _lastVideoTime: number = -1; + private _videoTexture: VideoTexture | null = null; + private _videoQuad: Object3D | null = null; + + + + + async awake() { + const tasks = new Array>(); + + tasks.push(MediapipeHelper.createFaceLandmarker().then(res => this._facelandmarker = res)); + // tasks.push(MediapipeHelper.createPoseLandmarker().then(res => this._poselandmarker = res)); + + console.debug("Loading detectors..."); + await PromiseAllWithErrors(tasks); + console.debug("Detectors loaded!"); + + // create and start the video playback + this._video = document.createElement("video"); + this._video.autoplay = true; + this._video.playsInline = true; + this._video.style.display = "none"; + this.startCamera(this._video); + } + /** @internal */ + onEnable(): void { + // Ensure our filters array is valid + for (let i = this.filters.length - 1; i >= 0; i--) { + const filter = this.filters[i]; + if (!filter) { + this.filters.splice(i, 1); + continue; + } + if (filter.asset) { + filter.asset.visible = false; + } + } + + // Select initial filter, either from URL or choose a random one + if (this._activeFilterIndex === -1) { + const param = getParam("facefilter"); + let didSelect = false; + if (typeof param === "string") { + const i = parseInt(param); + didSelect = this.select(i); + } + else if (typeof param === "number") { + didSelect = this.select(param); + } + if (!didSelect) { + // const random = Math.floor(Math.random() * this.filters.length); + this.select(0); + } + } + + this._debug = getParam("debugfacefilter") == true; + window.addEventListener("keydown", this.onKeyDown); + this._video?.play(); + this._buttons.forEach((button) => this.context.menu.appendChild(button)); + if (this._activeFilterBehaviour) { + this._activeFilterBehaviour.enabled = true; + } + } + /** @internal */ + onDisable(): void { + window.removeEventListener("keydown", this.onKeyDown); + this._video?.pause(); + this._buttons.forEach((button) => button.remove()); + this._videoQuad?.removeFromParent(); + if (this._activeFilterBehaviour) { + this._activeFilterBehaviour.enabled = false; + } + this._activeFilter?.asset?.removeFromParent(); + } + + private async startCamera(video: HTMLVideoElement) { + // TODO: support for getting a pre-existing video element + const constraints = { video: true, audio: false }; + const stream = await navigator.mediaDevices.getUserMedia(constraints).catch((e) => { + showBalloonMessage("Could not start webcam: " + e.message); + console.error(e); + return null; + }); + if (stream == null) { + console.warn("Could not start webcam"); + return; + } + video.srcObject = stream; + video.muted = true; + video.addEventListener("loadeddata", () => { + this._videoReady = true; + this.createUI(); + }); + // Create a video texture that will be used to render the video feed + this._videoTexture ??= new VideoTexture(video); + this._videoTexture.colorSpace = this.context.renderer.outputColorSpace; + this._videoQuad ??= ObjectUtils.createPrimitive("Quad", { + rotation: new Vector3(Math.PI, Math.PI, 0), + material: new MeshBasicMaterial({ map: this._videoTexture, depthTest: false, depthWrite: false }), + }); + this._videoQuad.renderOrder = -1; + } + + private _activeFilterIndex: number = -1; + private _activeFilter: AssetReference | null = null; + private _activeFilterBehaviour: FaceFilterRoot | null = null; + + /** assigned when the occluder is being created */ + private _occluderPromise: Promise | null = null; + private _occluder: Object3D | null = null; + + /** The last landmark result received */ + private _lastFaceLandmarkResults: FaceLandmarkerResult | null = null; + + earlyUpdate(): void { + if (!this._video?.srcObject || !this._facelandmarker) return; + if (!this._videoReady) return; + if (this._video.currentTime === this._lastVideoTime) { + // iOS hack: for some reason on Safari iOS the video stops playing sometimes. Playback state stays "playing" but currentTime does not change + // So here we just restart the video every few frames to circumvent the issue for now + if (this.context.time.frame % 20 === 0) + this._video.play(); + return; + } + // Because of Safari iOS + if (!("detectForVideo" in this._facelandmarker)) { + return; + } + if (this._video.readyState < 2) return; + this._lastVideoTime = this._video.currentTime; + const results = this._facelandmarker.detectForVideo(this._video, performance.now()); + this._lastFaceLandmarkResults = results; + this.onResultsUpdated(results); + } + + /** @internal */ + onBeforeRender(): void { + const results = this._lastFaceLandmarkResults; + if (!results) return; + + // Currently we need to force the FOV + if (this.context.mainCameraComponent) { + this.context.mainCameraComponent.fieldOfView = 63; + this.context.mainCameraComponent.clearFlags = ClearFlags.None; + if (this._videoTexture && this._videoQuad) { + if (this._videoQuad.parent !== this.context.mainCamera) { + this.context.mainCamera.add(this._videoQuad); + } + // this.context.scene.background = this._videoTexture; + const far = this.context.mainCameraComponent.farClipPlane; + this._videoQuad.renderOrder = -1000; + this._videoQuad.position.z = -far + .01; + let aspect = this._video.videoWidth / this._video.videoHeight; + if (!mirror) { + aspect *= -1; + } + this._videoQuad.scale.set(aspect, -1, 1) + .multiplyScalar(far * Math.tan(this.context.mainCameraComponent.fieldOfView * Math.PI / 180 / 2) * 2); + } + } + + this.updateDebug(results); + this.updateRendering(results); + } + + private _lastTimeWithTrackingMatrices: number = -1; + private _blendshapeMirrorIndexMap: Map | null = null; + + /** + * Called when the face detector has a new result + */ + protected onResultsUpdated(res: FaceLandmarkerResult) { + + // If we do not have any faces + if (res.facialTransformationMatrixes.length <= 0) { + // If we have an active filter and no tracking for a few frames, hide the filter + if (this._activeFilter?.asset && (this.context.time.realtimeSinceStartup - this._lastTimeWithTrackingMatrices) > .5) { + this._activeFilter.asset.removeFromParent(); + } + return; + } + + if (mirror) { + if (res.faceBlendshapes) { + for (const face of res.faceBlendshapes) { + const blendshapes = face.categories; + // Check if we have an index mirror map + // If not we iterate through the blendshapes and create a map once + if (this._blendshapeMirrorIndexMap == null) { + this._blendshapeMirrorIndexMap = new Map(); + for (let i = 0; i < blendshapes.length; i++) { + const left = blendshapes[i]; + // assuming Left is before Right so we + if (left.categoryName.endsWith("Left")) { + // Search for the next Right blendshape: + for (let k = i + 1; k < blendshapes.length; k++) { + const right = blendshapes[k]; + if (right.categoryName.endsWith("Right")) { + if (this._debug) { + console.log("Blendshape Mirror: " + left.categoryName + " ↔ " + right.categoryName); + } + this._blendshapeMirrorIndexMap.set(i, k); + break; + } + } + } + } + } + else { + for (const [leftIndex, rightIndex] of this._blendshapeMirrorIndexMap) { + const left = blendshapes[leftIndex]; + const right = blendshapes[rightIndex]; + if (left && right) { + const leftScore = left.score; + left.score = right.score; + right.score = leftScore; + } + } + } + } + } + } + + this._lastTimeWithTrackingMatrices = this.context.time.realtimeSinceStartup; + const active = this.filters[this._activeFilterIndex]; + // If we have an active filter make sure it loads + if (active != this._activeFilter && !active.asset) { + active.loadAssetAsync(); + } + else if (active?.asset) { + // Check if the active filter is still the one that *should* be active/visible + if (active !== this._activeFilter) { + console.log("Switching to filter #" + this._activeFilterIndex); + this._activeFilter?.asset?.removeFromParent(); + this._activeFilterBehaviour?.destroy(); + + // TODO: fix screenspace canvas onDisable not being called + const canvasesOld = (this._activeFilter?.asset as Object3D)?.getComponentsInChildren(Canvas); + canvasesOld?.forEach(comp => { + comp.enabled = false; + }); + + this._activeFilter = active; // < update the currently active + this._activeFilterBehaviour = active.asset.getOrAddComponent(FaceFilterRoot); + + active.asset.visible = true; + this.context.scene.add(active.asset); + + // TODO: fix screenspace canvas onDisable not being called + const canvasesNew = (active?.asset as Object3D)?.getComponentsInChildren(Canvas); + canvasesNew?.forEach(comp => { + comp.enabled = true; + }); + } + + if (this._activeFilter.asset.parent !== this.context.scene) { + this._activeFilter.asset.visible = true; + this.context.scene.add(this._activeFilter.asset); + } + this._activeFilterBehaviour!.onResultsUpdated(this); + } + } + + private updateRendering(res: FaceLandmarkerResult) { + // TODO: allow filters to override this + const lm = res.facialTransformationMatrixes[0]; + if (lm) { + // Setup/manage occlusions + if (this._activeFilterBehaviour?.overrideDefaultOccluder) { + if (this._occluder) { + this._occluder.visible = false; + } + } + else if (!this._occluder) { + if (this.createOcclusionMesh) this.createOccluder(); + } + else { + this._occluder.visible = true; + FacefilterUtils.applyFaceLandmarkMatrixToObject3D(this._occluder, lm, this.context.mainCamera); + } + } + + } + + private createOccluder(_force: boolean = false) { + // If a occlusion mesh is assigned + if (this.occlusionMesh) { + // Request the occluder mesh once + if (!this._occluderPromise) { + this._occluderPromise = this.occlusionMesh.loadAssetAsync(); + this._occluderPromise.then((occluder) => { + this._occluder = new Object3D(); + this._occluder.add(occluder); + FacefilterUtils.makeOccluder(occluder, -10); + }); + } + } + // Fallback occluder mesh if no custom occluder is assigned + else { + this._occluder = new Object3D(); + const mesh = ObjectUtils.createOccluder("Sphere"); + // mesh.material.colorWrite = true; + // mesh.material.wireframe = true; + mesh.scale.x = .16; + mesh.scale.y = .3; + mesh.scale.z = .17; + mesh.position.z = -.04; + mesh.renderOrder = -1; + mesh.updateMatrix(); + mesh.updateMatrixWorld(); + mesh.matrixAutoUpdate = false; + this._occluder.add(mesh); + } + } + + private _buttons: HTMLElement[] = []; + + private createUI() { + if (!this.createMenuButton) return; + // Create menu Buttons + const recordingButton = NeedleRecordingHelper.createButton({ + context: this.context + }); + this._buttons.push(recordingButton); + + if (this.filters.length > 1) { + const nextFilterButton = this.context.menu.appendChild({ + label: "Next Filter", + icon: "comedy_mask", + onClick: () => { + this.selectNextFilter(); + } + }); + this._buttons.push(nextFilterButton); + } + + + const shareButton = this.context.menu.appendChild({ + label: "Share", + icon: "share", + onClick: function () { + if (isMobileDevice() && navigator.share) { + navigator.share({ + title: "Needle Filter", + text: "Check this out", + url: window.location.href, + }).catch(e => { + // ignore cancel + console.warn(e); + }); + } + else { + navigator.clipboard.writeText(window.location.href); + const element = this as HTMLElement; + element.innerText = "Copied"; + element.prepend(getIconElement("done")); + setTimeout(() => { + element.innerText = "Share"; + element.prepend(getIconElement("share")); + }, 2000) + } + } + }); + this._buttons.push(shareButton); + } + + + private _debug = false; + private _debugDrawing: DrawingUtils | null = null; + private _debugContainer: HTMLDivElement | null = null; + private _debugCanvas: HTMLCanvasElement | null = null; + private _debugObjects: Object3D[] = []; + + private onKeyDown = (evt: KeyboardEvent) => { + const key = evt.key.toLowerCase(); + if (this._debug && key) { + this.toggleDebug(); + } + switch (key) { + case "d": + case "arrowright": + this.selectNextFilter(); + break; + case "a": + case "arrowleft": + this.selectPreviousFilter(); + break; + + } + } + private toggleDebug = () => { + this._debug = !this._debug; + } + private updateDebug(res: FaceLandmarkerResult) { + if (!this._video) return; + if (!this._debug) { + if (this._debugContainer) { + this._debugContainer.style.display = "none"; + } + for (const obj of this._debugObjects) { + obj.removeFromParent(); + } + this._debugObjects.length = 0; + return; + } + + if (!this._debugDrawing) { + this._debugContainer = document.createElement("div"); + this._debugCanvas = document.createElement("canvas"); + const ctx = this._debugCanvas.getContext("2d"); + if (!ctx) return; + this._debugDrawing = new DrawingUtils(ctx); + + this.context.domElement.appendChild(this._debugContainer); + this._debugContainer.appendChild(this._video); + this._debugContainer.appendChild(this._debugCanvas); + this._debugContainer.style.cssText = ` + pointer-events: none; + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + width: 100%; + height: 100%; + padding: 0; + overflow: hidden; + `; + this._video.style.cssText = ` + position: absolute; + min-height: 100%; + height: auto; + width: auto; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + display: block; + opacity: .5; + `; + this._debugCanvas.style.cssText = this._video.style.cssText; + + }; + if (this._debugContainer) + this._debugContainer.style.display = ""; + if (this._debugCanvas) { + this._debugCanvas.width = this._video.videoWidth; + this._debugCanvas.height = this._video.videoHeight; + const ctx = this._debugCanvas.getContext("2d"); + ctx?.clearRect(0, 0, this._debugCanvas.width, this._debugCanvas.height); + } + res.faceLandmarks?.forEach((landmarks) => { + this._debugDrawing?.drawConnectors(landmarks, FaceLandmarker.FACE_LANDMARKS_CONTOURS, { color: "#55FF44", lineWidth: 1 }); + }); + + if (res.faceLandmarks.length > 0) { + for (let i = 0; i < res.facialTransformationMatrixes.length; i++) { + if (!this._debugObjects[i]) { + const obj = new Object3D(); + ObjectUtils.createPrimitive("ShaderBall", { + parent: obj, + scale: .3, // 30 cm + }); + this._debugObjects[i] = obj; + } + const obj = this._debugObjects[i]; + const data = res.facialTransformationMatrixes[i]; + FacefilterUtils.applyFaceLandmarkMatrixToObject3D(obj, data, this.context.mainCamera); + } + } + } + +} + diff --git a/package/Runtime/Facefilter/FaceFilter~/src/HelperComponents.ts b/package/Runtime/Facefilter/FaceFilter~/src/HelperComponents.ts new file mode 100644 index 000000000..7fcb664c3 --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter~/src/HelperComponents.ts @@ -0,0 +1,57 @@ +import { Behaviour } from "@needle-tools/engine"; +import { FacefilterUtils } from "./utils"; +import { Object3D } from "three"; + +/** + * Make the object an occluder for the face filter + */ +export class NeedleOcclusionMesh extends Behaviour { + + onEnable() { + console.log("Occluder", this.gameObject) + FacefilterUtils.makeOccluder(this.gameObject); + } +} + +export class NeedleBackgroundMesh extends Behaviour { + + private _previousParent: Object3D | null = null; + + awake(): void { + this._previousParent = this.gameObject.parent; + } + + onBeforeRender(): void { + // The following is super ugly and just a hack + // We reparent the mesh into the camera for one render call + // then reparent back + // But since the filter is removed during onBeforeRender the onAfterRender is not called anymore + // And we do not receive a callback when the filter becomes inactive + // So we need to check if the mesh is still in the scene... + // Urgh + if (!this.isInScene()) { + return; + } + this.gameObject.matrixAutoUpdate = false; + this._previousParent = this.gameObject.parent; + this.context.mainCamera.add(this.gameObject); + } + onAfterRender(): void { + this.context.mainCamera.remove(this.gameObject); + if (this._previousParent) { + this._previousParent.add(this.gameObject); + } + } + + private isInScene() { + let current = this._previousParent; + while (current) { + if (current === this.context.scene) { + return true; + } + current = current.parent; + } + return false; + } +} + diff --git a/package/Runtime/Facefilter/FaceFilter~/src/RecordingHelper.ts b/package/Runtime/Facefilter/FaceFilter~/src/RecordingHelper.ts new file mode 100644 index 000000000..177896ba1 --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter~/src/RecordingHelper.ts @@ -0,0 +1,249 @@ +import { Context, disposeObjectResources, getIconElement, ObjectUtils, showBalloonError, showBalloonMessage } from "@needle-tools/engine"; +import { DoubleSide, MeshBasicMaterial, Object3D, PerspectiveCamera, Texture, TextureLoader, Vector3 } from "three"; + + +declare type RecordingOptions = { + context: Context; +} +declare type FilterRecordingOptions = RecordingOptions & { +} + +export class NeedleRecordingHelper { + + static debug = false; + + private static button: HTMLButtonElement | null = null; + private static isRecording = false; + private static readonly chunks: Blob[] = []; + private static recorder: MediaRecorder | null = null; + private static recordingFormat: string = ""; + + static createButton(options: FilterRecordingOptions): HTMLButtonElement { + + const ctx = options.context; + + if (!this.button) { + this.button = document.createElement("button"); + this.button.innerText = "Record"; + const startIcon = getIconElement("screen_record"); + const stopIcon = getIconElement("stop_circle"); + this.button.prepend(startIcon); + let recordingStartTime = 0; + let shouldRecord = false; + this.button.addEventListener("click", () => { + if (this.debug) showBalloonMessage("State: " + this.recorder?.state); + + // Stop recording + if (this.chunks.length > 0 || this.isRecording || shouldRecord) { + shouldRecord = false; + this.button!.innerText = "Record"; + this.button!.prepend(startIcon); + this.stopRecording(); + }// Start recording + else { + shouldRecord = true; + let isWaitingForStart = true; + const waitDuration = 3000; + const clickTime = Date.now(); + stopIcon.style.color = ""; + // This is called every few seconds to update the button text + const update = () => { + if (!shouldRecord) { + return; + } + // Show a countdown before starting + if (isWaitingForStart) { + const duration = waitDuration - (Date.now() - clickTime); + this.button!.innerText = "Start in " + (duration / 1000).toFixed(0) + "s"; + this.button!.prepend(stopIcon); + } + // The recording has started, show how much time has passed + else if (this.isRecording) { + const duration = Date.now() - recordingStartTime; + stopIcon.style.color = "#ff5555"; + this.button!.innerText = "Recording Video " + (duration / 1000).toFixed(0) + "s"; + this.button!.prepend(stopIcon); + } + setTimeout(update, 500); + + }; + update(); + + // Wait for a short moment before actually starting the recording + setTimeout(() => { + isWaitingForStart = false; + if (shouldRecord) { + recordingStartTime = Date.now(); + this.startRecording(ctx.renderer.domElement, options); + } + }, waitDuration); + } + }); + } + ctx.menu.appendChild(this.button); + + if (this.debug) { + setTimeout(() => { + this.startRecording(ctx.renderer.domElement, options); + setTimeout(() => { + this.stopRecording(); + }, 2000) + }, 1000) + } + + return this.button; + } + + static startRecording(canvas: HTMLCanvasElement, opts: FilterRecordingOptions) { + this.recordingFormat = "video/webm"; + const availableFormats = [ + "video/webm", + "video/webm;codecs=vp9", + "video/webm;codecs=vp8", + "video/webm;codecs=h264", + "video/mp4", + ] + for (const format of availableFormats) { + if (MediaRecorder.isTypeSupported(format)) { + this.recordingFormat = format; + break; + } + } + + const recorderOptions: MediaRecorderOptions = { + mimeType: this.recordingFormat, + } + recorderOptions.videoBitsPerSecond = 2500000 * 4; // 4x higher than the default 2.5mbps + const stream = canvas.captureStream(30); + this.recorder = new MediaRecorder(stream, recorderOptions); + this.recorder.ondataavailable = (e) => { + if (this.debug) showBalloonMessage("Recording data " + e.data.type + " " + e.data.size + ", " + this.chunks.length); + if (e.data?.size > 0) + this.chunks.push(e.data); + }; + this.recorder.onerror = (e: any) => { + this.isRecording = false; + console.error(e.error.name + ": " + e.error.message); + showBalloonError(e.error.name + ": " + e.error.message); + } + this.isRecording = true; + Watermark.add(opts.context); + this.recorder.start(100); + } + static stopRecording() { + this.isRecording = false; + Watermark.remove(); + this.recorder?.requestData(); + if (this.debug) showBalloonMessage("Recording stopped " + this.chunks.length); + this.recorder!.onstop = () => { + this.download(); + }; + this.recorder!.stop(); + } + private static async download() { + if (this.chunks.length === 0) { + return false; + } + const format = this.recordingFormat || "video/webm"; + const blob = new Blob(this.chunks, { type: format }); + this.chunks.length = 0; + const ext = format.split("/")[1]; + const downloadName = "needle-engine-facefilter." + ext; + const url = URL.createObjectURL(blob); + + // Share doesnt work with a blob url + // if("share" in navigator) { + // await navigator.share({ + // title: "Needle Engine Facefilter", + // text: "Facefilter recording", + // url: url, + // }).catch((e) => { + // console.warn(e); + // return false; + // }); + // } + // else + { + const a = document.createElement("a"); + a.href = url; + a.download = downloadName; + a.click(); + + } + + setTimeout(() => { + URL.revokeObjectURL(url); + }, 10); + return true; + } +} + + +class Watermark { + private static active: boolean = false; + private static object: Object3D | null = null; + private static texture: Texture | null = null; + + static async add(context: Context) { + this.active = true; + if (!this.object) { + const url = "https://cdn.needle.tools/static/branding/logo_needle_white_no_padding.png"; + const textureLoader = new TextureLoader(); + this.texture = await textureLoader.loadAsync(url); + this.texture.colorSpace = context.renderer.outputColorSpace; + const quad = ObjectUtils.createPrimitive("Quad", { + texture: this.texture, + material: new MeshBasicMaterial({ + // color: "red", + // depthTest: false, + depthWrite: false, + colorWrite: true, + transparent: true, + side: DoubleSide, + }) + }); + quad.renderOrder = -1000; + this.object = quad; + } + + const object = this.object; + const texture = this.texture; + const cam = context.mainCamera; + if (cam instanceof PerspectiveCamera && texture) { + cam.add(object); + + let aspect = 1; + if (texture.image?.width) { + aspect = texture.image.width / texture.image.height; + } + object.scale.set(aspect, 1, 1); + object.scale.multiplyScalar(cam.far * .05); + + const updatePosition = () => { + if (!this.active) { + window.removeEventListener("resize", updatePosition); + window.removeEventListener("orientationchange", updatePosition); + window.removeEventListener("fullscreenchange", updatePosition); + } + else { + const corner = new Vector3(1, .9, 1).unproject(cam); + cam.worldToLocal(corner); + object.position.copy(corner); + object.position.x -= object.scale.x * .8; + setTimeout(() => { + updatePosition(); + }, 2000); + } + } + window.addEventListener("resize", updatePosition); + window.addEventListener("orientationchange", updatePosition); + window.addEventListener("fullscreenchange", updatePosition); + updatePosition(); + } + } + static remove() { + this.active = false; + this.object?.removeFromParent(); + } + +} \ No newline at end of file diff --git a/package/Runtime/Facefilter/FaceFilter~/src/examples/ReadyPlayerMe.ts b/package/Runtime/Facefilter/FaceFilter~/src/examples/ReadyPlayerMe.ts new file mode 100644 index 000000000..359d9e7de --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter~/src/examples/ReadyPlayerMe.ts @@ -0,0 +1,104 @@ +import { AssetReference, Behaviour, findObjectOfType, getParam, setParamWithoutReload } from "@needle-tools/engine"; +import { NeedleFilterTrackingManager } from "../FaceFilter.js"; + + +/** + * This is a test/example component that shows how we can load ReadyPlayerMe avatars at runtime and assign to a FaceFilter. + * With this component ReadyPlayerMe avatar URLs can be pasted, dropped or dragged into the browser window to load and activate the avatar + * @link https://readyplayer.me/hub + * @link https://models.readyplayer.me/66d6f2791397d690423a1c58.glb try pasting this URL to see the avatar + */ +export class ReadyPlayerMeFacefilterSupport extends Behaviour { + + onEnable(): void { + window.addEventListener("dragover", this.onDragOver); + window.addEventListener("drop", this.onDrop); + window.addEventListener("paste", this.onPaste); + const url = getParam("readyplayerme"); + if (url && typeof url === "string") { + this.tryCreateAvatarFromString(url); + } + } + onDisable(): void { + window.removeEventListener("dragover", this.onDragOver); + window.removeEventListener("drop", this.onDrop); + window.removeEventListener("paste", this.onPaste); + } + + private onDragOver = (evt) => { + evt.preventDefault(); + evt.dataTransfer.dropEffect = "copy"; + } + + private onDrop = (evt: DragEvent) => { + if (!evt.dataTransfer?.items) return; + evt.preventDefault(); + for (let i = 0; i < evt.dataTransfer.items.length; i++) { + const item = evt.dataTransfer.items[i]; + if (item.kind === "string" && item.type === "text/uri-list") { + item.getAsString((url) => { + console.log("dropped", url); + this.tryCreateAvatarFromString(url); + + }); + } + } + } + + private onPaste = (evt: ClipboardEvent) => { + const url = evt.clipboardData?.getData("text"); + if (url) { + console.log("pasted", url); + this.tryCreateAvatarFromString(url); + } + } + + + private tryCreateAvatarFromString(str: string) { + if (str.endsWith(".glb")) { + // Load the GLB + } + else if (str.startsWith("https://readyplayer.me/gallery")) { + const id = str.split("/").pop(); + if (id) { + str = `https://models.readyplayer.me/${id}.glb`; + } + else { + console.warn("Could not find id in URL", str); + return; + } + } + else { + const newUrl = new URL(str); + const id = newUrl.searchParams.get("id"); + if (id) { + str = `https://models.readyplayer.me/${id}.glb`; + } + else { + console.warn("Could not find id in URL", str); + return; + } + } + + if (str.startsWith("https://models.readyplayer.me")) { + const filter = findObjectOfType(NeedleFilterTrackingManager); + const ref = AssetReference.getOrCreateFromUrl(str); + setParamWithoutReload("readyplayerme", str); + if (filter) { + console.log("Add filter", ref); + filter.filters.push(ref); + filter.select(filter.filters.length - 1); + } + else { + console.warn("Instantiate avatar"); + ref.instantiate({ parent: this.context.scene }) + } + } + else { + console.warn("Unsupported URL...", str.substring(0, 100)); + } + + } + + +} \ No newline at end of file diff --git a/package/Runtime/Facefilter/FaceFilter~/src/settings.ts b/package/Runtime/Facefilter/FaceFilter~/src/settings.ts new file mode 100644 index 000000000..5279e9454 --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter~/src/settings.ts @@ -0,0 +1,4 @@ + + + +export let mirror: boolean = true; \ No newline at end of file diff --git a/package/Runtime/Facefilter/FaceFilter~/src/utils.ts b/package/Runtime/Facefilter/FaceFilter~/src/utils.ts new file mode 100644 index 000000000..311bd86a5 --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter~/src/utils.ts @@ -0,0 +1,238 @@ +import { Camera, Material, Matrix4, Object3D, DoubleSide, MeshBasicMaterial, Mesh, Quaternion, Color } from "three"; +import { Category, FaceLandmarker, FaceLandmarkerOptions, FaceLandmarkerResult, FilesetResolver, Matrix, PoseLandmarker } from "@mediapipe/tasks-vision" +import { Renderer } from "@needle-tools/engine"; +import { mirror } from "./settings.js"; + +let _occluderMaterial: MeshBasicMaterial | null = null; + +const flipxMat = new Matrix4().makeScale(-1, 1, 1); +const offset = new Matrix4().makeTranslation(0.000, 0.015, -.01); +const offsetMirror = offset.clone().premultiply(flipxMat); + +export namespace FacefilterUtils { + + const tempMatrix = new Matrix4(); + + export function flipX(matrix: Matrix4) { + matrix.premultiply(flipxMat); + } + + export function applyFaceLandmarkMatrixToObject3D(obj: Object3D, mat: Matrix, camera: Camera) { + const matrix = tempMatrix.fromArray(mat.data); + obj.matrixAutoUpdate = false; + obj.matrix.copy(matrix); + + obj.matrix.elements[12] *= 0.01; + obj.matrix.elements[13] *= 0.01; + obj.matrix.elements[14] *= 0.01; + + // obj.matrix.decompose(obj.position, obj.quaternion, obj.scale); + // obj.position.multiplyScalar(0.01); + // obj.quaternion.multiply(obj.quaternion) + // obj.updateMatrix(); + // obj.quaternion + + + + // obj.matrix.premultiply(flipxMat); + if (mirror) obj.matrix.premultiply(offsetMirror); + else obj.matrix.premultiply(offset); + + if (obj.parent !== camera) + camera.add(obj); + } + + export function getBlendshape(result: FaceLandmarkerResult | null, shape: BlendshapeName, index: number = 0): Category | null { + if (!result) return null; + if (result?.faceBlendshapes?.length > index) { + const blendshape = result.faceBlendshapes[index]; + for (const cat of blendshape.categories) { + if (cat.categoryName === shape) { + return cat; + } + } + } + return null; + } + export function getBlendshapeValue(result: FaceLandmarkerResult | null, shape: BlendshapeName, index: number = 0): number { + const cat = getBlendshape(result, shape, index); + return cat ? cat.score : -1; + } + + export function makeOccluder(obj: Object3D, renderOrder: number = -5) { + if (!_occluderMaterial) { + _occluderMaterial = new MeshBasicMaterial({ + + colorWrite: false, + depthWrite: true, + side: DoubleSide, + }); + // _occluderMaterial.transparent = true; + // _occluderMaterial.opacity = .05; + // _occluderMaterial.color = new Color("#ddffff"); + // _occluderMaterial.wireframe = true; + // _occluderMaterial.colorWrite = true; + } + + const occluderMaterial = _occluderMaterial as Material; + assignMaterial(obj); + obj.traverse(assignMaterial); + + function assignMaterial(child: any) { + const obj = child as Object3D; + obj.renderOrder = renderOrder; + obj.matrixAutoUpdate = false; + obj.updateMatrix(); + obj.updateMatrixWorld(); + obj.getComponents(Renderer).forEach(c => c.destroy()); + if (child.type === "Mesh" || child.type === "SkinnedMesh" || "material" in child) { + const mat = (child as Mesh).material; + if (Array.isArray(mat)) { + for (let i = 0; i < mat.length; i++) { + mat[i] = occluderMaterial; + } + } + else { + child.material = occluderMaterial; + } + } + } + } +} + +/** + * Blendshape Category Name options + */ +export type BlendshapeName = + | "_neutral" + | "browDownLeft" + | "browDownRight" + | "browInnerUp" + | "browOuterUpLeft" + | "browOuterUpRight" + | "cheekPuff" + | "cheekSquintLeft" + | "cheekSquintRight" + | "eyeBlinkLeft" + | "eyeBlinkRight" + | "eyeLookDownLeft" + | "eyeLookDownRight" + | "eyeLookInLeft" + | "eyeLookInRight" + | "eyeLookOutLeft" + | "eyeLookOutRight" + | "eyeLookUpLeft" + | "eyeLookUpRight" + | "eyeSquintLeft" + | "eyeSquintRight" + | "eyeWideLeft" + | "eyeWideRight" + | "jawForward" + | "jawLeft" + | "jawOpen" + | "jawRight" + | "mouthClose" + | "mouthDimpleLeft" + | "mouthDimpleRight" + | "mouthFrownLeft" + | "mouthFrownRight" + | "mouthFunnel" + | "mouthLeft" + | "mouthLowerDownLeft" + | "mouthLowerDownRight" + | "mouthPressLeft" + | "mouthPressRight" + | "mouthPucker" + | "mouthRight" + | "mouthRollLower" + | "mouthRollUpper" + | "mouthShrugLower" + | "mouthShrugUpper" + | "mouthSmileLeft" + | "mouthSmileRight" + | "mouthStretchLeft" + | "mouthStretchRight" + | "mouthUpperUpLeft" + | "mouthUpperUpRight" + | "noseSneerLeft" + | "noseSneerRight"; + + +declare interface WasmFileset { + /** The path to the Wasm loader script. */ + wasmLoaderPath: string; + /** The path to the Wasm binary. */ + wasmBinaryPath: string; + /** The optional path to the asset loader script. */ + assetLoaderPath?: string; + /** The optional path to the assets binary. */ + assetBinaryPath?: string; +} +type MediapipeOpts = { + files: Promise +} + +let wasm_files: Promise | null = null; + +export namespace MediapipeHelper { + + export function createFiles(): Promise { + if (wasm_files) { + return wasm_files; + } + console.debug("Loading mediapipe wasm files..."); + wasm_files = FilesetResolver.forVisionTasks( + "https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@latest/wasm", + ).catch((e) => { + console.error(e); + console.error("Could not load mediapipe wasm files..."); + return null; + }); + return wasm_files; + } + + function ensureWasmIsLoaded(opts: MediapipeOpts | null | undefined, cb: (files: WasmFileset) => Promise) { + // this either loads the wasm OR returns the already loaded wasm (if the opts object contains a files object already) + const { files = createFiles() } = opts || {}; + if (!files) { + console.error("Could not load mediapipe wasm files..."); + return Promise.resolve(null); + } + return files.then(res => { + if (!res) { + return null; + } + // call the callback with the loaded wasm + return cb(res); + }) + } + + export function createFaceLandmarker(opts?: MediapipeOpts): Promise { + return ensureWasmIsLoaded(opts, files => FaceLandmarker.createFromOptions(files, + { + runningMode: "VIDEO", + baseOptions: { + delegate: "GPU", + modelAssetPath: "https://storage.googleapis.com/mediapipe-models/face_landmarker/face_landmarker/float16/latest/face_landmarker.task", + }, + numFaces: 1, // TODO: we currently support only one face, most of the code is written with this assumption + outputFaceBlendshapes: true, + outputFacialTransformationMatrixes: true, + } + )); + } + + export function createPoseLandmarker(opts?: MediapipeOpts): Promise { + return ensureWasmIsLoaded(opts, files => PoseLandmarker.createFromOptions(files, + { + runningMode: "VIDEO", + baseOptions: { + delegate: "GPU", + modelAssetPath: "https://storage.googleapis.com/mediapipe-models/pose_landmarker/pose_landmarker_heavy/float16/latest/pose_landmarker_heavy.task", + }, + outputSegmentationMasks: true, + } + )); + } + +} \ No newline at end of file diff --git a/package/Runtime/Facefilter/FaceFilter~/tsconfig.json b/package/Runtime/Facefilter/FaceFilter~/tsconfig.json new file mode 100644 index 000000000..b83d9f11f --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter~/tsconfig.json @@ -0,0 +1,20 @@ +{ + "compilerOptions": { + "target": "ESNext", + "useDefineForClassFields": true, + "module": "ESNext", + "lib": ["ESNext", "DOM"], + "moduleResolution": "Node", + "strict": true, + "sourceMap": true, + "resolveJsonModule": true, + "esModuleInterop": true, + "noEmit": true, + "noUnusedLocals": false, + "noUnusedParameters": true, + "noImplicitReturns": true, + "noImplicitAny": false, + "experimentalDecorators": true + }, + "include": ["."] +} diff --git a/package/Runtime/Facefilter/FaceFilter~/workspace.code-workspace b/package/Runtime/Facefilter/FaceFilter~/workspace.code-workspace new file mode 100644 index 000000000..9b6e7aa71 --- /dev/null +++ b/package/Runtime/Facefilter/FaceFilter~/workspace.code-workspace @@ -0,0 +1,21 @@ +{ + "folders": [ + { + "path": "." + }, + { + "name": "Needle", + "path": "./node_modules/@needle-tools" + } + ], + "settings": { + "files.exclude": { + "package-lock.json": true, + "**/.git": true, + "**/.DS_Store": true, + "**/node_modules": true, + "**/*.meta": true + }, + "window.title": "FaceFilter~" + } +} \ No newline at end of file diff --git a/package/Runtime/Facefilter/Needle Face Filter Empty.unity b/package/Runtime/Facefilter/Needle Face Filter Empty.unity new file mode 100644 index 000000000..2364c4891 --- /dev/null +++ b/package/Runtime/Facefilter/Needle Face Filter Empty.unity @@ -0,0 +1,664 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2830189, g: 0.2830189, b: 0.2830189, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 2100000, guid: 72feea222597bb04f87ee0846009bf6c, type: 2} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 1 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 8900000, guid: ee6535eea7974dc44bf7204aca0223da, type: 3} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.74677277, g: 0.6931995, b: 0.58606195, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 4890085278179872738, guid: 0ac50fafacacd6546b443712e3732c60, type: 2} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &186278008 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 186278010} + - component: {fileID: 186278009} + m_Layer: 0 + m_Name: Filter (Add your Models as Children) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &186278009 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 186278008} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 791cb3849729d715dbd62568d4ce52e9, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Typescript.GeneratedComponents.FaceFilterRoot, + Needle.Engine-Samples.Runtime + overrideDefaultOccluder: 0 +--- !u!4 &186278010 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 186278008} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 585221921} + - {fileID: 1305411573} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &585221920 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 585221921} + - component: {fileID: 585221922} + m_Layer: 0 + m_Name: Needle Filter Head Position + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &585221921 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 585221920} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 186278010} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &585221922 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 585221920} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a2dabb1581212e10da39f11673136f5, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Typescript.GeneratedComponents.FaceFilterHeadPosition, + Needle.Engine-Samples.Runtime +--- !u!1 &706762903 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 706762906} + - component: {fileID: 706762905} + - component: {fileID: 706762904} + - component: {fileID: 706762907} + - component: {fileID: 706762908} + m_Layer: 0 + m_Name: Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &706762904 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 706762903} + m_Enabled: 1 +--- !u!20 &706762905 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 706762903} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.4056604, g: 0.4056604, b: 0.4056604, a: 1} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 100 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 10 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &706762906 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 706762903} + m_LocalRotation: {x: -0.011361758, y: -0.9780264, z: 0.20079692, w: -0.054917034} + m_LocalPosition: {x: -0.57766765, y: 3.0762982, z: 5.4967937} + m_LocalScale: {x: 1, y: 0.99999994, z: 1.0000004} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &706762907 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 706762903} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e6c38416c1a949c1a024aacb22e308af, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.Components.OrbitControls, Needle.Engine + $ GlobalObjectId_V1-2-d541a43e59ef6e94b8483da1bfc954ea-706762907-0 + autoTarget: 0 + autoFit: 0 + enableRotate: 1 + autoRotate: 0 + autoRotateSpeed: 0.3 + minPolarAngle: 0 + maxPolarAngle: 3.1415927 + minAzimuthAngle: Infinity + maxAzimuthAngle: Infinity + enableZoom: 1 + minZoom: 0 + maxZoom: 80 + zoomSpeed: 1 + zoomToCursor: 0 + enablePan: 1 + enableDamping: 1 + dampingFactor: 0.1 + targetLerpDuration: 1 + enableKeys: 1 + middleClickToFocus: 1 + doubleClickToFocus: 1 + clickBackgroundToFitScene: 2 + allowInterrupt: 1 + lookAtConstraint: {fileID: 0} +--- !u!114 &706762908 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 706762903} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.Rendering.Universal.UniversalAdditionalCameraData, + Unity.RenderPipelines.Universal.Runtime $ GlobalObjectId_V1-2-d541a43e59ef6e94b8483da1bfc954ea-706762908-0 + m_RenderShadows: 1 + m_RequiresDepthTextureOption: 2 + m_RequiresOpaqueTextureOption: 2 + m_CameraType: 0 + m_Cameras: [] + m_RendererIndex: -1 + m_VolumeLayerMask: + serializedVersion: 2 + m_Bits: 1 + m_VolumeTrigger: {fileID: 0} + m_VolumeFrameworkUpdateModeOption: 2 + m_RenderPostProcessing: 0 + m_Antialiasing: 0 + m_AntialiasingQuality: 2 + m_StopNaN: 0 + m_Dithering: 0 + m_ClearDepth: 1 + m_AllowXRRendering: 1 + m_RequiresDepthTexture: 0 + m_RequiresColorTexture: 0 + m_Version: 2 +--- !u!1 &784234922 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 784234924} + - component: {fileID: 784234923} + - component: {fileID: 784234925} + - component: {fileID: 784234928} + - component: {fileID: 784234929} + - component: {fileID: 784234927} + - component: {fileID: 784234930} + - component: {fileID: 784234931} + - component: {fileID: 784234932} + m_Layer: 0 + m_Name: Export + m_TagString: EditorOnly + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &784234923 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 784234922} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 986a3a93ac16ec0428d8989979ec0966, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.ExportInfo, Needle.Engine.Common $ GlobalObjectId_V1-2-d541a43e59ef6e94b8483da1bfc954ea-784234923-0 + DirectoryName: Library/Needle/Sample + RemoteUrl: + AutoExport: 1 + AutoCompress: 0 + Dependencies: + - Name: '@needle-tools/facefilter' + VersionOrPath: Packages/com.needle.engine-samples/Runtime/Facefilter/FaceFilter.npmdef + Guid: 06489df698d9822449a39c8043f44a32 +--- !u!4 &784234924 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 784234922} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.079, y: 0.08, z: 0.39} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &784234925 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 784234922} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 438e3fec673b477cbc6d39ba011bf158, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.Codegen.ComponentGenerator, Needle.Engine + $ GlobalObjectId_V1-2-d541a43e59ef6e94b8483da1bfc954ea-784234925-0 + compilerDirectory: Library/Needle/Sample/node_modules/@needle-tools/needle-component-compiler/src + Debug: 0 +--- !u!114 &784234927 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 784234922} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cf2ffc5481d126c498a97e14b35c2fb0, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.HtmlMeta, Needle.Engine.Meta $ GlobalObjectId_V1-2-4b0acd05539d50444975840c4da7864b-784234927-0 + meta: + title: Facefilter + description: + image: {fileID: 0} +--- !u!114 &784234928 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 784234922} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4b98ea17d00d4b13963c594067a209be, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.Shaders.SkyboxExportSettings, Needle.Engine.Shaders + $ GlobalObjectId_V1-2-d541a43e59ef6e94b8483da1bfc954ea-784234928-0 + k__BackingField: 256 + k__BackingField: 1 +--- !u!114 &784234929 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 784234922} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 032be61c99af4d068a11adffb37721ad, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.Deployment.DeployToFTP, Needle.Engine.Deployment + $ GlobalObjectId_V1-2-4b0acd05539d50444975840c4da7864b-784234929-0 + FTPServer: {fileID: 11400000, guid: b302aecddeb36624eada38ec53765003, type: 2} + Path: /facefilter + OverrideGzipCompression: 1 + UseGzipCompression: 0 +--- !u!114 &784234930 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 784234922} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bcc605ea0754e9a4aab7a0e867f70e01, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.Deployment.DeployToNeedleCloud, Needle.Engine.Deployment + projectName: face-filter +--- !u!114 &784234931 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 784234922} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3b6166c533b54254a033bb2509157705, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.Gltf.Experimental.MeshCompression, Needle.Engine.GltfExport + Compression: 1 +--- !u!114 &784234932 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 784234922} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 52882cd15871496cba5a3596b2e735c1, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.Gltf.Experimental.progressive.ProgressiveTexturesSettings, + Needle.Engine.GltfExport + AllowProgressiveLoading: 1 + UseMaxSize: 1 + MaxSize: 128 + GenerateLODs: 0 +--- !u!1001 &1305411572 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 186278010} + m_Modifications: + - target: {fileID: 8128668236925612103, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + propertyPath: m_Name + value: Delete Me + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + propertyPath: m_LocalScale.x + value: 0.011325999 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + propertyPath: m_LocalScale.y + value: 0.011326005 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + propertyPath: m_LocalScale.z + value: 0.011326005 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + propertyPath: m_LocalPosition.y + value: -0.0143 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + propertyPath: m_LocalPosition.z + value: 0.0399 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: -5645937942226959685, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} +--- !u!4 &1305411573 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 8897093224900880590, guid: c98e92960f25ec147a9d410ac2953d4c, type: 3} + m_PrefabInstance: {fileID: 1305411572} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1387623546 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1387623548} + - component: {fileID: 1387623547} + m_Layer: 0 + m_Name: Filter Manager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1387623547 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1387623546} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6353b3654683b8d00cb8547a2642cc07, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Typescript.GeneratedComponents.NeedleFilterTrackingManager, + Needle.Engine-Samples.Runtime + filters: + - {fileID: 186278010} + occlusionMesh: {fileID: 4211051851420010255, guid: 496edac131102f446961c476f29dcd72, type: 3} + createOcclusionMesh: 1 + createMenuButton: 1 +--- !u!4 &1387623548 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1387623546} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/package/Runtime/Facefilter/Needle Face Filter Empty.unity.meta b/package/Runtime/Facefilter/Needle Face Filter Empty.unity.meta new file mode 100644 index 000000000..e1fd7c949 --- /dev/null +++ b/package/Runtime/Facefilter/Needle Face Filter Empty.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 919423eeb2334de4282574d024a59bfc +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Facefilter/Needle Face Filter Examples.unity b/package/Runtime/Facefilter/Needle Face Filter Examples.unity new file mode 100644 index 000000000..df760ba9b --- /dev/null +++ b/package/Runtime/Facefilter/Needle Face Filter Examples.unity @@ -0,0 +1,647 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2830189, g: 0.2830189, b: 0.2830189, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 2100000, guid: 72feea222597bb04f87ee0846009bf6c, type: 2} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 1 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 8900000, guid: ee6535eea7974dc44bf7204aca0223da, type: 3} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.74677277, g: 0.6931995, b: 0.58606195, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 4890085278179872738, guid: 0ac50fafacacd6546b443712e3732c60, type: 2} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1001 &119226382 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 6353964895894951458, guid: 7dbc3f4a0043912408c68cfdd8724fb2, type: 3} + propertyPath: m_Name + value: Racoon Filter + objectReference: {fileID: 0} + - target: {fileID: 7506834600844795425, guid: 7dbc3f4a0043912408c68cfdd8724fb2, type: 3} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 7506834600844795425, guid: 7dbc3f4a0043912408c68cfdd8724fb2, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7506834600844795425, guid: 7dbc3f4a0043912408c68cfdd8724fb2, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7506834600844795425, guid: 7dbc3f4a0043912408c68cfdd8724fb2, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7506834600844795425, guid: 7dbc3f4a0043912408c68cfdd8724fb2, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7506834600844795425, guid: 7dbc3f4a0043912408c68cfdd8724fb2, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 7506834600844795425, guid: 7dbc3f4a0043912408c68cfdd8724fb2, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 7506834600844795425, guid: 7dbc3f4a0043912408c68cfdd8724fb2, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 7506834600844795425, guid: 7dbc3f4a0043912408c68cfdd8724fb2, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7506834600844795425, guid: 7dbc3f4a0043912408c68cfdd8724fb2, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7506834600844795425, guid: 7dbc3f4a0043912408c68cfdd8724fb2, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 7dbc3f4a0043912408c68cfdd8724fb2, type: 3} +--- !u!4 &119226383 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7506834600844795425, guid: 7dbc3f4a0043912408c68cfdd8724fb2, type: 3} + m_PrefabInstance: {fileID: 119226382} + m_PrefabAsset: {fileID: 0} +--- !u!1 &652673334 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 652673336} + - component: {fileID: 652673335} + m_Layer: 0 + m_Name: NeedleMenu + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &652673335 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 652673334} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e6d2c67ae7e4416a98aa03d96398832b, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.Components.NeedleMenu, Needle.Engine + _position: 1 + ShowNeedleLogo: 1 + CreateFullscreenButton: 0 + CreateMuteButton: 0 + CreateQRCodeButton: 1 + ShowSpatialMenu: 1 +--- !u!4 &652673336 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 652673334} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &706762903 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 706762906} + - component: {fileID: 706762905} + - component: {fileID: 706762904} + - component: {fileID: 706762907} + - component: {fileID: 706762908} + m_Layer: 0 + m_Name: Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &706762904 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 706762903} + m_Enabled: 1 +--- !u!20 &706762905 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 706762903} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.4056604, g: 0.4056604, b: 0.4056604, a: 1} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 100 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 10 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &706762906 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 706762903} + m_LocalRotation: {x: -0.011361758, y: -0.9780264, z: 0.20079692, w: -0.054917034} + m_LocalPosition: {x: -0.57766765, y: 3.0762982, z: 5.4967937} + m_LocalScale: {x: 1, y: 0.99999994, z: 1.0000004} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &706762907 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 706762903} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e6c38416c1a949c1a024aacb22e308af, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.Components.OrbitControls, Needle.Engine + $ GlobalObjectId_V1-2-d541a43e59ef6e94b8483da1bfc954ea-706762907-0 + autoTarget: 0 + autoFit: 0 + enableRotate: 1 + autoRotate: 0 + autoRotateSpeed: 0.3 + minPolarAngle: 0 + maxPolarAngle: 3.1415927 + minAzimuthAngle: Infinity + maxAzimuthAngle: Infinity + enableZoom: 1 + minZoom: 0 + maxZoom: 80 + zoomSpeed: 1 + zoomToCursor: 0 + enablePan: 1 + enableDamping: 1 + dampingFactor: 0.1 + targetLerpDuration: 1 + enableKeys: 1 + middleClickToFocus: 1 + doubleClickToFocus: 1 + clickBackgroundToFitScene: 2 + allowInterrupt: 1 + lookAtConstraint: {fileID: 0} +--- !u!114 &706762908 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 706762903} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.Rendering.Universal.UniversalAdditionalCameraData, + Unity.RenderPipelines.Universal.Runtime $ GlobalObjectId_V1-2-d541a43e59ef6e94b8483da1bfc954ea-706762908-0 + m_RenderShadows: 1 + m_RequiresDepthTextureOption: 2 + m_RequiresOpaqueTextureOption: 2 + m_CameraType: 0 + m_Cameras: [] + m_RendererIndex: -1 + m_VolumeLayerMask: + serializedVersion: 2 + m_Bits: 1 + m_VolumeTrigger: {fileID: 0} + m_VolumeFrameworkUpdateModeOption: 2 + m_RenderPostProcessing: 0 + m_Antialiasing: 0 + m_AntialiasingQuality: 2 + m_StopNaN: 0 + m_Dithering: 0 + m_ClearDepth: 1 + m_AllowXRRendering: 1 + m_RequiresDepthTexture: 0 + m_RequiresColorTexture: 0 + m_Version: 2 +--- !u!1 &784234922 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 784234924} + - component: {fileID: 784234923} + - component: {fileID: 784234925} + - component: {fileID: 784234928} + - component: {fileID: 784234929} + - component: {fileID: 784234927} + - component: {fileID: 784234931} + - component: {fileID: 784234932} + m_Layer: 0 + m_Name: Export + m_TagString: EditorOnly + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &784234923 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 784234922} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 986a3a93ac16ec0428d8989979ec0966, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.ExportInfo, Needle.Engine.Common $ GlobalObjectId_V1-2-d541a43e59ef6e94b8483da1bfc954ea-784234923-0 + DirectoryName: Library/Needle/Sample + RemoteUrl: + AutoExport: 1 + AutoCompress: 0 + Dependencies: + - Name: '@needle-tools/facefilter' + VersionOrPath: Packages/com.needle.engine-samples/Runtime/Facefilter/FaceFilter.npmdef + Guid: 06489df698d9822449a39c8043f44a32 +--- !u!4 &784234924 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 784234922} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.079, y: 0.08, z: 0.39} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &784234925 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 784234922} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 438e3fec673b477cbc6d39ba011bf158, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.Codegen.ComponentGenerator, Needle.Engine + $ GlobalObjectId_V1-2-d541a43e59ef6e94b8483da1bfc954ea-784234925-0 + compilerDirectory: Library/Needle/Sample/node_modules/@needle-tools/needle-component-compiler/src + Debug: 0 +--- !u!114 &784234927 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 784234922} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cf2ffc5481d126c498a97e14b35c2fb0, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.HtmlMeta, Needle.Engine.Meta $ GlobalObjectId_V1-2-4b0acd05539d50444975840c4da7864b-784234927-0 + meta: + title: Face Filter with Needle + description: Create your own unique face filters with blendshapes, animations + and particles. Record videos for your social media or share the link with friends + and family + image: {fileID: 2800000, guid: 8225250d29f1a2046863efbe520b2c39, type: 3} +--- !u!114 &784234928 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 784234922} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4b98ea17d00d4b13963c594067a209be, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.Shaders.SkyboxExportSettings, Needle.Engine.Shaders + $ GlobalObjectId_V1-2-d541a43e59ef6e94b8483da1bfc954ea-784234928-0 + k__BackingField: 256 + k__BackingField: 1 +--- !u!114 &784234929 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 784234922} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 032be61c99af4d068a11adffb37721ad, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.Deployment.DeployToFTP, Needle.Engine.Deployment + $ GlobalObjectId_V1-2-4b0acd05539d50444975840c4da7864b-784234929-0 + FTPServer: {fileID: 11400000, guid: b302aecddeb36624eada38ec53765003, type: 2} + Path: /facefilter + OverrideGzipCompression: 1 + UseGzipCompression: 0 +--- !u!114 &784234931 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 784234922} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3b6166c533b54254a033bb2509157705, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.Gltf.Experimental.MeshCompression, Needle.Engine.GltfExport + Compression: 1 +--- !u!114 &784234932 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 784234922} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 52882cd15871496cba5a3596b2e735c1, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.Gltf.Experimental.progressive.ProgressiveTexturesSettings, + Needle.Engine.GltfExport + AllowProgressiveLoading: 1 + UseMaxSize: 1 + MaxSize: 128 + GenerateLODs: 0 +--- !u!1 &1387623546 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1387623548} + - component: {fileID: 1387623547} + m_Layer: 0 + m_Name: Filter Manager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1387623547 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1387623546} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6353b3654683b8d00cb8547a2642cc07, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Typescript.GeneratedComponents.NeedleFilterTrackingManager, + Needle.Engine-Samples.Runtime + filters: + - {fileID: 119226383} + - {fileID: 6070944768616901068, guid: 44d25216005062b45957387e38cdf14e, type: 3} + - {fileID: 485406196217299575, guid: 6f772fc01bab86d4dbb10ad2dd49fcdf, type: 3} + - {fileID: -3910990755373119420, guid: a04a73f69e558364da4b33237d159c29, type: 3} + - {fileID: 3658822941709120593, guid: 81f4fc978d822d14faf5f30b3952b85d, type: 3} + - {fileID: 5825898318103575009, guid: 6c4808ce137677242a27815509fb59c5, type: 3} + occlusionMesh: {fileID: 4211051851420010255, guid: 496edac131102f446961c476f29dcd72, type: 3} + createOcclusionMesh: 1 + createMenuButton: 1 +--- !u!4 &1387623548 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1387623546} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1556694686 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1556694688} + - component: {fileID: 1556694687} + m_Layer: 0 + m_Name: README + m_TagString: EditorOnly + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1556694687 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1556694686} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5c280f685421ecc46a892fedfe14dfa3, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.Readme, Needle.Engine-Samples.Runtime + Guid: 6ddbe7eef8355734b9164aa86961f573 +--- !u!4 &1556694688 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1556694686} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/package/Runtime/Facefilter/Needle Face Filter Examples.unity.meta b/package/Runtime/Facefilter/Needle Face Filter Examples.unity.meta new file mode 100644 index 000000000..323b44300 --- /dev/null +++ b/package/Runtime/Facefilter/Needle Face Filter Examples.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6ddbe7eef8355734b9164aa86961f573 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Facefilter/README.md b/package/Runtime/Facefilter/README.md new file mode 100644 index 000000000..467ba7b7b --- /dev/null +++ b/package/Runtime/Facefilter/README.md @@ -0,0 +1,12 @@ + +Use Needle to create your own, completely custom and unique Facefilters that run natively in the browser. + +You can record videos directly on the website and share it on your social media - or send the link to friends or family. + +The sample comes with 6 fun and cute filters to show off a few features like blendshapes, animations and rendering effects. Use the button in the menu (at the bottom) to change which filter is shown. + +Filters can be created in Unity - You don't need to write any code. Add the "Needle Filter Tracking Manager" to your scene and click the "Create New Filter" button to get started. Your filter can be edited visually in the Scene View. + +### Animations + +To make your animation react to faces simply create `Float` parameters and use [ARKit blendshape names](https://developer.apple.com/documentation/arkit/arfaceanchor/blendshapelocation). For example `jawOpen` has a value between 0 (closed) and 1 (open), `eyeBlinkLeft` and `eyeBlinkRight` for blinking. You can use the `Face Filter Animator` component to see all options. Example: "Facefilter/Examples/Open Mouth.prefab" \ No newline at end of file diff --git a/package/Runtime/Facefilter/README.md.meta b/package/Runtime/Facefilter/README.md.meta new file mode 100644 index 000000000..466806b2a --- /dev/null +++ b/package/Runtime/Facefilter/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a805676959093274e8e2c5500eda6bc0 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Facefilter/Scripts.meta b/package/Runtime/Facefilter/Scripts.meta new file mode 100644 index 000000000..27f027990 --- /dev/null +++ b/package/Runtime/Facefilter/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: db12eca2305c03c4ebba9f0e17ea0ac7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Facefilter/Scripts/Editors.cs b/package/Runtime/Facefilter/Scripts/Editors.cs new file mode 100644 index 000000000..36f8d4af8 --- /dev/null +++ b/package/Runtime/Facefilter/Scripts/Editors.cs @@ -0,0 +1,156 @@ +using Needle.Facefilter.Scripts; +using UnityEngine; + + +namespace Needle.Typescript.GeneratedComponents +{ + public partial class NeedleFilterTrackingManager + { +#if UNITY_EDITOR + [UnityEditor.CustomEditor(typeof(NeedleFilterTrackingManager))] + private class Editor : UnityEditor.Editor + { + public override void OnInspectorGUI() + { + var self = (NeedleFilterTrackingManager) this.target; + UnityEditor.EditorGUILayout.LabelField("How to Use", UnityEditor.EditorStyles.boldLabel); + UnityEditor.EditorGUILayout.HelpBox("You can create new prefabs using the button below or by adding the FaceFilter component to a new object. Filters can be part of this scene or inside separate prefabs to speedup loading time (recommended). Click the button below to create a new filter using our template prefab:", UnityEditor.MessageType.None); + var text = self.filters.Length <= 0 ? "Create Your First Filter" : "Create New Filter"; + if (GUILayout.Button(text, GUILayout.Height(24))) + { + Utils.CreateNewFilterAsset(self); + } + UnityEditor.EditorGUILayout.HelpBox("Then add your filter to the \"Filters\" list below", UnityEditor.MessageType.None); + + GUILayout.Space(5); + base.OnInspectorGUI(); + + GUILayout.Space(5); + + } + } +#endif + + } + + public partial class FaceFilterHeadPosition + { +#if UNITY_EDITOR + private void OnDrawGizmos() + { + Utils.RenderHeadGizmo(this); + } + [UnityEditor.CustomEditor(typeof(FaceFilterHeadPosition))] + private class Editor : UnityEditor.Editor + { + public override void OnInspectorGUI() + { + base.OnInspectorGUI(); + UnityEditor.EditorGUILayout.HelpBox("Add this component to a GameObject in your Filter and place it to match the head position (Enable Gizmos if you don't see the head visualization in the scene).\n\nYou can either use the gizmo to place your model on the face or you can move, scale or rotate the gizmo to fit your model (it can be added anywhere in your filter hierarchy but make sure you only use it once because humans only have one head, right?)", UnityEditor.MessageType.None); + } + } +#endif + } + + + public partial class FaceFilterRoot + { +#if UNITY_EDITOR + + private void OnDrawGizmos() + { + if (!GetComponentInChildren()) + { + Utils.RenderHeadGizmo(this, null); + } + } + + [UnityEditor.CustomEditor(typeof(FaceFilterRoot))] + private class Editor : UnityEditor.Editor + { + private FaceFilterHeadPosition _headPosition; + private FaceFilterAnimator _animator; + + private void OnEnable() + { + _headPosition = (this.target as Component)!.GetComponentInChildren(); + _animator = (this.target as Component)!.GetComponentInChildren(); + } + + public override void OnInspectorGUI() + { + UnityEditor.EditorGUILayout.HelpBox("Put this component at the Root GameObject of your filter and add the filter to the FaceFilterManager \"Filters\" array to use it in the web.", UnityEditor.MessageType.None); + + base.OnInspectorGUI(); + + if (!_headPosition) + { + UnityEditor.EditorGUILayout.HelpBox("Click the button to position the filter.", UnityEditor.MessageType.None); + if (GUILayout.Button("Configure Head Position/Size (Optional)", GUILayout.Height(32))) + { + var obj = new GameObject("Needle Filter Head Position"); + UnityEditor.Undo.RegisterCreatedObjectUndo(obj, "Create Head Position"); + _headPosition = obj.AddComponent(); + obj.transform.SetParent((this.target as Component)!.transform, false); + UnityEditor.Selection.activeObject = obj; + } + } + // if (!_animator) + // { + // if (GUILayout.Button("Add Animator (Optional)", GUILayout.Height(32))) + // { + // _animator = Undo.AddComponent(((Component)target).gameObject); + // } + // } + } + } +#endif + } + + + public partial class FaceBlendshapes + { +#if UNITY_EDITOR + [UnityEditor.CustomEditor(typeof(FaceBlendshapes))] + internal class Editor : UnityEditor.Editor + { + private UnityEngine.GUIStyle optionsStyle; + + public override void OnInspectorGUI() + { + base.OnInspectorGUI(); + // TODO: allow for remapping with a nice GUI + + UnityEditor.EditorGUILayout.LabelField("Supported Blendshapes", UnityEditor.EditorStyles.boldLabel); + optionsStyle ??= new UnityEngine.GUIStyle(UnityEditor.EditorStyles.label); + optionsStyle.wordWrap = true; + optionsStyle.normal.textColor = Color.gray; + UnityEditor.EditorGUILayout.LabelField(string.Join(", ", Utils.supportedBlendshapeNames), optionsStyle); + } + } +#endif + } + + public partial class FaceFilterAnimator + { +#if UNITY_EDITOR + [UnityEditor.CustomEditor(typeof(FaceFilterAnimator))] + internal class Editor : UnityEditor.Editor + { + private UnityEngine.GUIStyle optionsStyle; + + public override void OnInspectorGUI() + { + base.OnInspectorGUI(); + // TODO: allow for remapping with a nice GUI + + UnityEditor.EditorGUILayout.LabelField("Supported Float Parameter Names", UnityEditor.EditorStyles.boldLabel); + optionsStyle ??= new UnityEngine.GUIStyle(UnityEditor.EditorStyles.label); + optionsStyle.wordWrap = true; + optionsStyle.normal.textColor = Color.gray; + UnityEditor.EditorGUILayout.LabelField("- " + string.Join("\n- ", Utils.supportedBlendshapeNames), optionsStyle); + } + } +#endif + } +} \ No newline at end of file diff --git a/package/Runtime/Facefilter/Scripts/Editors.cs.meta b/package/Runtime/Facefilter/Scripts/Editors.cs.meta new file mode 100644 index 000000000..99029c910 --- /dev/null +++ b/package/Runtime/Facefilter/Scripts/Editors.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e03116aff2f4c6846943847b8c490dbc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Facefilter/Scripts/Utils.cs b/package/Runtime/Facefilter/Scripts/Utils.cs new file mode 100644 index 000000000..645d42dfd --- /dev/null +++ b/package/Runtime/Facefilter/Scripts/Utils.cs @@ -0,0 +1,185 @@ +using System; +using System.IO; +using System.Linq; +using Needle.Engine.Utils; +using Needle.Typescript.GeneratedComponents; +using UnityEngine; +using Object = UnityEngine.Object; +using Task = System.Threading.Tasks.Task; + + +namespace Needle.Facefilter.Scripts +{ + internal static class Utils + { + private const string k_occlusionMeshGuid = "496edac131102f446961c476f29dcd72"; + + [NonSerialized] + private static bool _searchedForOcclusionMesh = false; + [NonSerialized] + private static Transform _fallbackOcclusionMesh; + + public static void RenderHeadGizmo(Component comp, Transform assignedOcclusionMesh = null) + { +#if UNITY_EDITOR + var transform = comp.transform; + + Gizmos.color = new Color(.5f, .7f, .8f, .5f); + var position = transform.position; + position.z -= .03f; + + if (!assignedOcclusionMesh && !_searchedForOcclusionMesh) + { + _searchedForOcclusionMesh = true; + var assetPath = UnityEditor.AssetDatabase.GUIDToAssetPath(k_occlusionMeshGuid); + if (assetPath != null) + { + var go = UnityEditor.AssetDatabase.LoadAssetAtPath(assetPath); + _fallbackOcclusionMesh = go.transform; + } + } + + + var occlusionMeshObject = assignedOcclusionMesh ? assignedOcclusionMesh : _fallbackOcclusionMesh; + var meshFilters = occlusionMeshObject ? + occlusionMeshObject?.GetComponentsInChildren().ToArray() : Array.Empty(); + if (meshFilters?.Length > 0) + { + foreach (var mf in meshFilters) + { + var t = mf.transform; + var mesh = mf.sharedMesh; + var scale = transform.lossyScale; + scale.Scale(t.localScale); + Gizmos.matrix = Matrix4x4.TRS(transform.position, t.rotation * transform.rotation, scale); + Gizmos.DrawMesh(mesh, 0); + var col2 = Gizmos.color; + col2.a = .05f; + Gizmos.color = col2; + Gizmos.DrawWireMesh(mesh, 0); + } + } + else + { + var scale = new Vector3(.16f, .25f, .15f); + Gizmos.matrix = Matrix4x4.TRS(position, Quaternion.identity, scale); + Gizmos.DrawWireSphere(Vector3.zero, .5f); + } +#endif + } + + public static async void CreateNewFilterAsset(Component comp) + { +#if UNITY_EDITOR + var directory = "Assets/Needle Face Filter"; + if(!Directory.Exists(directory)) Directory.CreateDirectory(directory); + + GameObject go = null; + + var templateInstancePath = UnityEditor.AssetDatabase.GUIDToAssetPath("6c4808ce137677242a27815509fb59c5"); + if (!string.IsNullOrEmpty(templateInstancePath)) + { + go = UnityEditor.AssetDatabase.LoadAssetAtPath(templateInstancePath); + go = Object.Instantiate(go); + } + + if (!go) + { + go = new GameObject("My Filter"); + UnityEditor.Undo.RegisterCreatedObjectUndo(go, "Create Filter"); + go.AddComponent(); + var headMarker = new GameObject("Filter Head Position Marker"); + headMarker.AddComponent(); + headMarker.transform.SetParent(go.transform, false); + + } + + var path = directory + "/MyFilter.prefab"; + path = UnityEditor.AssetDatabase.GenerateUniqueAssetPath(path); + var asset = UnityEditor.PrefabUtility.SaveAsPrefabAsset(go, path); + UnityEditor.Undo.RegisterCreatedObjectUndo(asset, "Create Filter"); + go.SafeDestroy(); + if (asset) + { + var component = (NeedleFilterTrackingManager)comp; + var list = component.filters.Where((f => f)).ToList(); + var isFirstAsset = list.Count == 0; + list.Add(asset.transform); + component.filters = list.ToArray(); + + UnityEditor.EditorGUIUtility.PingObject(asset); + UnityEditor.SceneView.lastActiveSceneView?.ShowNotification(new GUIContent("New Filter created and added to the filters list.")); + + if (isFirstAsset) + await Task.Delay(2000); + else await Task.Delay(500); + + var finalPath = UnityEditor.AssetDatabase.GetAssetPath(asset); + Debug.Log("Successfully created new Needle Filter at " + finalPath, asset); + if (!isFirstAsset || UnityEditor.EditorUtility.DisplayDialog("Needle Filter", "Congrats: you created your first filter. Do you want to open the filter asset now to customize it?", "Open the Filter to customize", + "Do not open now")) + { + UnityEditor.SceneManagement.PrefabStageUtility.OpenPrefab(finalPath); + UnityEditor.SceneView.lastActiveSceneView?.ShowNotification(new GUIContent("Edit your filter now!")); + } + } +#endif + } + + public static readonly string[] supportedBlendshapeNames = new[] + { + "_neutral", + "browDownLeft", + "browDownRight", + "browInnerUp", + "browOuterUpLeft", + "browOuterUpRight", + "cheekPuff", + "cheekSquintLeft", + "cheekSquintRight", + "eyeBlinkLeft", + "eyeBlinkRight", + "eyeLookDownLeft", + "eyeLookDownRight", + "eyeLookInLeft", + "eyeLookInRight", + "eyeLookOutLeft", + "eyeLookOutRight", + "eyeLookUpLeft", + "eyeLookUpRight", + "eyeSquintLeft", + "eyeSquintRight", + "eyeWideLeft", + "eyeWideRight", + "jawForward", + "jawLeft", + "jawOpen", + "jawRight", + "mouthClose", + "mouthDimpleLeft", + "mouthDimpleRight", + "mouthFrownLeft", + "mouthFrownRight", + "mouthFunnel", + "mouthLeft", + "mouthLowerDownLeft", + "mouthLowerDownRight", + "mouthPressLeft", + "mouthPressRight", + "mouthPucker", + "mouthRight", + "mouthRollLower", + "mouthRollUpper", + "mouthShrugLower", + "mouthShrugUpper", + "mouthSmileLeft", + "mouthSmileRight", + "mouthStretchLeft", + "mouthStretchRight", + "mouthUpperUpLeft", + "mouthUpperUpRight", + "noseSneerLeft", + "noseSneerRight" + }; + } +} \ No newline at end of file diff --git a/package/Runtime/Facefilter/Scripts/Utils.cs.meta b/package/Runtime/Facefilter/Scripts/Utils.cs.meta new file mode 100644 index 000000000..d7a475593 --- /dev/null +++ b/package/Runtime/Facefilter/Scripts/Utils.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fee0005d8ef19d643be88f3399f9a830 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Mediapipe/needle-mediapipe~/MediapipeHands.ts b/package/Runtime/Mediapipe/needle-mediapipe~/MediapipeHands.ts index 38a04c1bf..fd1450d43 100644 --- a/package/Runtime/Mediapipe/needle-mediapipe~/MediapipeHands.ts +++ b/package/Runtime/Mediapipe/needle-mediapipe~/MediapipeHands.ts @@ -32,7 +32,6 @@ export class MediapipeHands extends Behaviour { this._video = document.createElement("video"); this._video.setAttribute("style", "max-width: 30vw; height: auto;"); - console.log(this._video); this._video.autoplay = true; this._video.playsInline = true; this.context.domElement.appendChild(this._video); diff --git a/package/Runtime/Mediapipe/needle-mediapipe~/codegen/register_types.ts b/package/Runtime/Mediapipe/needle-mediapipe~/codegen/register_types.ts index 72e123556..9218f16bc 100644 --- a/package/Runtime/Mediapipe/needle-mediapipe~/codegen/register_types.ts +++ b/package/Runtime/Mediapipe/needle-mediapipe~/codegen/register_types.ts @@ -2,9 +2,13 @@ import { TypeStore } from "@needle-tools/engine" // Import types +import { Facefilter } from "../Facefilter.js"; import { MediapipeHands } from "../MediapipeHands.js"; import { ParticleSphere } from "../ParticleSphere.js"; +import { NeedleRecordingHelper } from "../utils.js"; // Register types +TypeStore.add("Facefilter", Facefilter); TypeStore.add("MediapipeHands", MediapipeHands); TypeStore.add("ParticleSphere", ParticleSphere); +TypeStore.add("NeedleRecordingHelper", NeedleRecordingHelper); diff --git a/package/Runtime/Mediapipe/needle-mediapipe~/package-lock.json b/package/Runtime/Mediapipe/needle-mediapipe~/package-lock.json index 47e1443d8..eaf364fc8 100644 --- a/package/Runtime/Mediapipe/needle-mediapipe~/package-lock.json +++ b/package/Runtime/Mediapipe/needle-mediapipe~/package-lock.json @@ -8,301 +8,14782 @@ "name": "@needle-tools/mediapipe-sample", "version": "1.0.0", "dependencies": { - "@mediapipe/tasks-vision": "^0.10.0" + "@mediapipe/tasks-vision": "^0.10.14" }, "devDependencies": { - "@needle-tools/engine": "^3.34.2-alpha.2", + "@needle-tools/engine": "file:C:\\git\\needle-engine-dev\\modules\\needle-engine\\js\\package~", "@types/three": "0.162.0", - "three": "npm:@needle-tools/three@^0.162.1" + "three": "npm:@needle-tools/three@^0.162.9" }, "peerDependencies": { - "@needle-tools/engine": "^3.34.2-alpha.2", - "three": "npm:@needle-tools/three@^0.162.1" + "@needle-tools/engine": "file:C:\\git\\needle-engine-dev\\modules\\needle-engine\\js\\package~", + "three": "npm:@needle-tools/three@^0.162.9" } }, - "node_modules/@dimforge/rapier3d-compat": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/@dimforge/rapier3d-compat/-/rapier3d-compat-0.11.2.tgz", - "integrity": "sha512-vdWmlkpS3G8nGAzLuK7GYTpNdrkn/0NKCe0l1Jqxc7ZZOB3N0q9uG/Ap9l9bothWuAvxscIt0U97GVLr0lXWLg==", - "dev": true - }, - "node_modules/@mediapipe/tasks-vision": { - "version": "0.10.12", - "resolved": "https://registry.npmjs.org/@mediapipe/tasks-vision/-/tasks-vision-0.10.12.tgz", - "integrity": "sha512-688Vukid7hvGmx+7hzS/EQ3Q4diz4eeX4/FYDw8f/t56UjFueD8LTvA2rX5BCIwvT0oy8QHKh5uKIyct1AOFtQ==" - }, - "node_modules/@needle-tools/engine": { - "version": "3.34.2-alpha.2", - "resolved": "https://registry.npmjs.org/@needle-tools/engine/-/engine-3.34.2-alpha.2.tgz", - "integrity": "sha512-k/MR+3JnbrjHm9Xo6DLMdRqffj4B+Hn/N6eYd0+5JdvfgoLEZwV+k4hfQZPXKwC0BUFbA796BjC4qBaci1gqWA==", + "../../../../../needle-engine/js/package~": { + "name": "@needle-tools/engine", + "version": "3.47.5-beta.1", "dev": true, "dependencies": { - "@dimforge/rapier3d-compat": "^0.11.2", + "@dimforge/rapier3d-compat": "^0.12.0", + "@needle-tools/gltf-progressive": "file:../../modules/gltf-progressive", "@webxr-input-profiles/motion-controllers": "^1.0.0", "flatbuffers": "2.0.4", "md5": "^2.3.0", - "n8ao": "^1.4.2", + "n8ao": "^1.8.2", "peerjs": "1.4.7", - "postprocessing": "^6.35.1", + "postprocessing": "^6.35.5", "simplex-noise": "^4.0.1", "stats.js": "^0.17.0", - "three": "npm:@needle-tools/three@^0.162.1", + "three": "npm:@needle-tools/three@^0.162.9", + "three-mesh-bvh": "^0.7.6", "three-mesh-ui": "npm:@needle-tools/three-mesh-ui@^7.1.5-alpha.5", "three.quarks": "0.10.8", "uuid": "^9.0.0", "websocket-ts": "^2.1.5" + }, + "devDependencies": { + "@babel/runtime": "^7.16.0", + "@luncheon/esbuild-plugin-gzip": "^0.1.0", + "@needle-tools/helper": "^1.8.0", + "@needle-tools/needle-component-compiler": "^1.9.3", + "@stylistic/eslint-plugin-ts": "^1.5.4", + "@types/node": "^20.14.8", + "@types/three": "0.162.0", + "@typescript-eslint/eslint-plugin": "^6.2.0", + "@typescript-eslint/parser": "^6.2.0", + "esbuild": "^0.15.10", + "esbuild-node-externals": "^1.5.0", + "eslint": "^8.56.0", + "eslint-plugin-import": "^2.29.1", + "eslint-plugin-no-secrets": "^0.8.9", + "eslint-plugin-no-unsanitized": "^4.0.2", + "eslint-plugin-promise": "^6.1.1", + "eslint-plugin-simple-import-sort": "^10.0.0", + "eslint-plugin-xss": "^0.1.12", + "filehound": "^1.17.6", + "fs-extra": "^11.1.1", + "ftp-deploy": "^2.4.4", + "howfat": "^0.3.7", + "jsdoc-babel": "^0.5.0", + "jsdoc-to-markdown": "^7.1.1", + "madge": "^5.0.1", + "npm-watch": "^0.11.0", + "typescript": "^4.5.5", + "vite": "<= 4.3.9" + }, + "peerDependencies": { + "open": "^10.1.0" } }, - "node_modules/@swc/helpers": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.3.17.tgz", - "integrity": "sha512-tb7Iu+oZ+zWJZ3HJqwx8oNwSDIU440hmVMDPhpACWQWnrZHK99Bxs70gT1L2dnr5Hg50ZRWEFkQCAnOVVV0z1Q==", + "../../../../../needle-engine/js/package~/node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@ampproject/remapping": { + "version": "2.3.0", "dev": true, + "license": "Apache-2.0", + "peer": true, "dependencies": { - "tslib": "^2.4.0" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" } }, - "node_modules/@tweenjs/tween.js": { - "version": "23.1.1", - "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.1.tgz", - "integrity": "sha512-ZpboH7pCPPeyBWKf8c7TJswtCEQObFo3bOBYalm99NzZarATALYCo5OhbCa/n4RQyJyHfhkdx+hNrdL5ByFYDw==", - "dev": true + "../../../../../needle-engine/js/package~/node_modules/@babel/code-frame": { + "version": "7.23.5", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/@types/stats.js": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.3.tgz", - "integrity": "sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ==", - "dev": true + "../../../../../needle-engine/js/package~/node_modules/@babel/compat-data": { + "version": "7.23.5", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/@types/three": { - "version": "0.162.0", - "resolved": "https://registry.npmjs.org/@types/three/-/three-0.162.0.tgz", - "integrity": "sha512-0j5yZcVukVIhrhSIC7+LmBPkkMoMuEJ1AfYBZfgNytdYqYREMuiyXWhYOMeZLBElTEAlJIZn7r2W3vqTIgjWlg==", + "../../../../../needle-engine/js/package~/node_modules/@babel/core": { + "version": "7.24.0", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "@tweenjs/tween.js": "~23.1.1", - "@types/stats.js": "*", - "@types/webxr": "*", - "fflate": "~0.6.10", - "meshoptimizer": "~0.18.1" + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.24.0", + "@babel/parser": "^7.24.0", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.0", + "@babel/types": "^7.24.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "node_modules/@types/webxr": { - "version": "0.5.14", - "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.14.tgz", - "integrity": "sha512-UEMMm/Xn3DtEa+gpzUrOcDj+SJS1tk5YodjwOxcqStNhCfPcwgyC5Srg2ToVKyg2Fhq16Ffpb0UWUQHqoT9AMA==", - "dev": true + "../../../../../needle-engine/js/package~/node_modules/@babel/generator": { + "version": "7.23.6", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/types": "^7.23.6", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/@webxr-input-profiles/motion-controllers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@webxr-input-profiles/motion-controllers/-/motion-controllers-1.0.0.tgz", - "integrity": "sha512-Ppxde+G1/QZbU8ShCQg+eq5VtlcL/FPkerF1dkDOLlIml0LJD1tFqnCZYR0SrHzYleIQ2siRnOx7xbFLaCpExQ==", - "dev": true + "../../../../../needle-engine/js/package~/node_modules/@babel/helper-compilation-targets": { + "version": "7.23.6", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/charenc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", + "../../../../../needle-engine/js/package~/node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", "dev": true, + "license": "MIT", + "peer": true, "engines": { - "node": "*" + "node": ">=6.9.0" } }, - "node_modules/crypt": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "../../../../../needle-engine/js/package~/node_modules/@babel/helper-function-name": { + "version": "7.23.0", "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, "engines": { - "node": "*" + "node": ">=6.9.0" } }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true + "../../../../../needle-engine/js/package~/node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/fflate": { - "version": "0.6.10", - "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.6.10.tgz", - "integrity": "sha512-IQrh3lEPM93wVCEczc9SaAOvkmcoQn/G8Bo1e8ZPlY3X3bnAxWaBdvTdvM1hP62iZp0BXWDy4vTAy4fF0+Dlpg==", - "dev": true + "../../../../../needle-engine/js/package~/node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/flatbuffers": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/flatbuffers/-/flatbuffers-2.0.4.tgz", - "integrity": "sha512-4rUFVDPjSoP0tOII34oQf+72NKU7E088U5oX7kwICahft0UB2kOQ9wUzzCp+OHxByERIfxRDCgX5mP8Pjkfl0g==", - "dev": true + "../../../../../needle-engine/js/package~/node_modules/@babel/helper-module-transforms": { + "version": "7.23.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true + "../../../../../needle-engine/js/package~/node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/md5": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", - "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "../../../../../needle-engine/js/package~/node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "charenc": "0.0.2", - "crypt": "0.0.2", - "is-buffer": "~1.1.6" + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/meshoptimizer": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.18.1.tgz", - "integrity": "sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==", - "dev": true + "../../../../../needle-engine/js/package~/node_modules/@babel/helper-string-parser": { + "version": "7.23.4", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/n8ao": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/n8ao/-/n8ao-1.8.1.tgz", - "integrity": "sha512-biKUW09KnflZpeWmbCy1gjuiyZsbeG6y+EsqV+1IDqQ1KqEydXc6nUUseZp9ZRbjvEOPnsvsjaTce8Pta0803A==", + "../../../../../needle-engine/js/package~/node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", "dev": true, - "peerDependencies": { - "postprocessing": ">=6.30.0", - "three": ">=0.137" + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/peerjs": { - "version": "1.4.7", - "resolved": "https://registry.npmjs.org/peerjs/-/peerjs-1.4.7.tgz", - "integrity": "sha512-dWE2HIGvJO0Hm8lYHJiO/5OWl8xYtGcAuU08To1HMIfhh76ULzkCS3NIQO/PZm4noO1RhaGTkQaQ6sbAss6/Tg==", + "../../../../../needle-engine/js/package~/node_modules/@babel/helper-validator-option": { + "version": "7.23.5", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@babel/helpers": { + "version": "7.24.0", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "@swc/helpers": "^0.3.13", - "eventemitter3": "^4.0.7", - "peerjs-js-binarypack": "1.0.1", - "webrtc-adapter": "^7.7.1" + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.0", + "@babel/types": "^7.24.0" }, "engines": { - "node": ">= 10" + "node": ">=6.9.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@babel/highlight": { + "version": "7.23.4", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/peer" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/peerjs-js-binarypack": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/peerjs-js-binarypack/-/peerjs-js-binarypack-1.0.1.tgz", - "integrity": "sha512-N6aeia3NhdpV7kiGxJV5xQiZZCVEEVjRz2T2C6UZQiBkHWHzUv/oWA4myQLcwBwO8LUoR1KWW5oStvwVesmfCg==", - "dev": true + "../../../../../needle-engine/js/package~/node_modules/@babel/parser": { + "version": "7.24.0", + "dev": true, + "license": "MIT", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@babel/polyfill": { + "version": "7.12.1", + "dev": true, + "license": "MIT", + "dependencies": { + "core-js": "^2.6.5", + "regenerator-runtime": "^0.13.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@babel/polyfill/node_modules/regenerator-runtime": { + "version": "0.13.11", + "dev": true, + "license": "MIT" }, - "node_modules/postprocessing": { - "version": "6.35.2", - "resolved": "https://registry.npmjs.org/postprocessing/-/postprocessing-6.35.2.tgz", - "integrity": "sha512-yGmidrVzA1dSEmExYGgWOGcRvyOVahvurNo9iuzOonRCY6f1hnJe6/HMVSnKV9ppjLtCTqzZOI9iz8CACkmijw==", + "../../../../../needle-engine/js/package~/node_modules/@babel/runtime": { + "version": "7.24.0", "dev": true, + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, "engines": { - "node": ">= 0.13.2" + "node": ">=6.9.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@babel/template": { + "version": "7.24.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" }, - "peerDependencies": { - "three": ">= 0.152.0 < 0.163.0" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/rtcpeerconnection-shim": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/rtcpeerconnection-shim/-/rtcpeerconnection-shim-1.2.15.tgz", - "integrity": "sha512-C6DxhXt7bssQ1nHb154lqeL0SXz5Dx4RczXZu2Aa/L1NJFnEVDxFwCBo3fqtuljhHIGceg5JKBV4XJ0gW5JKyw==", + "../../../../../needle-engine/js/package~/node_modules/@babel/traverse": { + "version": "7.24.0", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "sdp": "^2.6.0" + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0", + "debug": "^4.3.1", + "globals": "^11.1.0" }, "engines": { - "node": ">=6.0.0", - "npm": ">=3.10.0" + "node": ">=6.9.0" } }, - "node_modules/sdp": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/sdp/-/sdp-2.12.0.tgz", - "integrity": "sha512-jhXqQAQVM+8Xj5EjJGVweuEzgtGWb3tmEEpl3CLP3cStInSbVHSg0QWOGQzNq8pSID4JkpeV2mPqlMDLrm0/Vw==", - "dev": true + "../../../../../needle-engine/js/package~/node_modules/@babel/types": { + "version": "7.24.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/simplex-noise": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/simplex-noise/-/simplex-noise-4.0.1.tgz", - "integrity": "sha512-zl/+bdSqW7HJOQ0oDbxrNYaF4F5ik0i7M6YOYmEoIJNtg16NpvWaTTM1Y7oV/7T0jFljawLgYPS81Uu2rsfo1A==", - "dev": true + "../../../../../needle-engine/js/package~/node_modules/@caporal/core": { + "version": "2.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/glob": "^7.1.1", + "@types/lodash": "^4.14.149", + "@types/node": "13.9.3", + "@types/table": "^5.0.0", + "@types/tabtab": "^3.0.1", + "@types/wrap-ansi": "^3.0.0", + "chalk": "^3.0.0", + "glob": "^7.1.6", + "lodash": "^4.17.21", + "table": "^5.4.6", + "tabtab": "^3.0.2", + "winston": "^3.2.1", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">= 10" + } }, - "node_modules/stats.js": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/stats.js/-/stats.js-0.17.0.tgz", - "integrity": "sha512-hNKz8phvYLPEcRkeG1rsGmV5ChMjKDAWU7/OJJdDErPBNChQXxCo3WZurGpnWc6gZhAzEPFad1aVgyOANH1sMw==", - "dev": true + "../../../../../needle-engine/js/package~/node_modules/@caporal/core/node_modules/@types/node": { + "version": "13.9.3", + "dev": true, + "license": "MIT" }, - "node_modules/three": { - "name": "@needle-tools/three", - "version": "0.162.1", - "resolved": "https://registry.npmjs.org/@needle-tools/three/-/three-0.162.1.tgz", - "integrity": "sha512-m+7aImPqydGhkM8g20s+0/mYjx6Fy0CiPGRQeBQNZe/8TIWDDXa7jTlM5EykuSuddBtd72dq7A3weSDoYTuLsQ==", - "dev": true + "../../../../../needle-engine/js/package~/node_modules/@caporal/core/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "node_modules/three-mesh-ui": { - "name": "@needle-tools/three-mesh-ui", - "version": "7.1.5-alpha.5", - "resolved": "https://registry.npmjs.org/@needle-tools/three-mesh-ui/-/three-mesh-ui-7.1.5-alpha.5.tgz", - "integrity": "sha512-bUfZOQrWoYgYSv0GHEkDh6d1FaPBrS9/fay+aoxT5Fb4FCgh5k+3YBENUXgup4thjOSOiBkrSpqheV0FCyuYNg==", + "../../../../../needle-engine/js/package~/node_modules/@caporal/core/node_modules/chalk": { + "version": "3.0.0", "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": "x.x.x" + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@caporal/core/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" }, - "peerDependencies": { - "three": ">=0.154.0" + "engines": { + "node": ">=7.0.0" } }, - "node_modules/three.quarks": { - "version": "0.10.8", - "resolved": "https://registry.npmjs.org/three.quarks/-/three.quarks-0.10.8.tgz", - "integrity": "sha512-gUh2sEvVw4fIgc18nACJP2Q9UiDKBs3kgP7qyM7m1/wrqZyacIMuF6Z1cPPkMCOvH7Yp4bymsILZ25nROCiVDg==", + "../../../../../needle-engine/js/package~/node_modules/@caporal/core/node_modules/color-name": { + "version": "1.1.4", "dev": true, - "peerDependencies": { - "three": ">=0.153.0" + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@caporal/core/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "dev": true + "../../../../../needle-engine/js/package~/node_modules/@caporal/core/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "../../../../../needle-engine/js/package~/node_modules/@colors/colors": { + "version": "1.6.0", "dev": true, - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" + "license": "MIT", + "engines": { + "node": ">=0.1.90" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@dabh/diagnostics": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "colorspace": "1.1.x", + "enabled": "2.0.x", + "kuler": "^2.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@dimforge/rapier3d-compat": { + "version": "0.12.0", + "dev": true, + "license": "Apache-2.0" + }, + "../../../../../needle-engine/js/package~/node_modules/@esbuild/win32-x64": { + "version": "0.17.19", + "cpu": [ + "x64" ], - "bin": { - "uuid": "dist/bin/uuid" + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" } }, - "node_modules/webrtc-adapter": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/webrtc-adapter/-/webrtc-adapter-7.7.1.tgz", - "integrity": "sha512-TbrbBmiQBL9n0/5bvDdORc6ZfRY/Z7JnEj+EYOD1ghseZdpJ+nF2yx14k3LgQKc7JZnG7HAcL+zHnY25So9d7A==", + "../../../../../needle-engine/js/package~/node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", "dev": true, + "license": "MIT", "dependencies": { - "rtcpeerconnection-shim": "^1.2.15", - "sdp": "^2.12.0" + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": ">=6.0.0", - "npm": ">=3.10.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/websocket-ts": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/websocket-ts/-/websocket-ts-2.1.5.tgz", - "integrity": "sha512-rCNl9w6Hsir1azFm/pbjBEFzLD/gi7Th5ZgOxMifB6STUfTSovYAzryWw0TRvSZ1+Qu1Z5Plw4z42UfTNA9idA==", - "dev": true + "../../../../../needle-engine/js/package~/node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.24.0", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@eslint/js": { + "version": "8.57.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@gltf-transform/core": { + "version": "3.10.1", + "dev": true, + "license": "MIT", + "dependencies": { + "property-graph": "^1.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/donmccurdy" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@gltf-transform/extensions": { + "version": "3.10.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@gltf-transform/core": "^3.10.1", + "ktx-parse": "^0.6.0" + }, + "funding": { + "url": "https://github.com/sponsors/donmccurdy" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@gltf-transform/functions": { + "version": "3.10.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@gltf-transform/core": "^3.10.1", + "@gltf-transform/extensions": "^3.10.1", + "ktx-parse": "^0.6.0", + "ndarray": "^1.0.19", + "ndarray-lanczos": "^0.3.0", + "ndarray-pixels": "^3.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/donmccurdy" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@gltf-transform/functions/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@gltf-transform/functions/node_modules/ndarray-pixels": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/ndarray": "^1.0.11", + "ndarray": "^1.0.19", + "ndarray-ops": "^1.2.2", + "sharp": "^0.32.6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@gltf-transform/functions/node_modules/node-addon-api": { + "version": "6.1.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@gltf-transform/functions/node_modules/semver": { + "version": "7.6.0", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@gltf-transform/functions/node_modules/sharp": { + "version": "0.32.6", + "dev": true, + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.2", + "node-addon-api": "^6.1.0", + "prebuild-install": "^7.1.1", + "semver": "^7.5.4", + "simple-get": "^4.0.1", + "tar-fs": "^3.0.4", + "tunnel-agent": "^0.6.0" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@gltf-transform/functions/node_modules/tar-fs": { + "version": "3.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "pump": "^3.0.0", + "tar-stream": "^3.1.5" + }, + "optionalDependencies": { + "bare-fs": "^2.1.1", + "bare-path": "^2.1.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@gltf-transform/functions/node_modules/tar-stream": { + "version": "3.1.7", + "dev": true, + "license": "MIT", + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@gltf-transform/functions/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@humanwhocodes/object-schema": { + "version": "2.0.2", + "dev": true, + "license": "BSD-3-Clause" + }, + "../../../../../needle-engine/js/package~/node_modules/@icetee/ftp": { + "version": "0.3.15", + "dev": true, + "dependencies": { + "readable-stream": "1.1.x", + "xregexp": "2.0.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@icetee/ftp/node_modules/isarray": { + "version": "0.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@icetee/ftp/node_modules/readable-stream": { + "version": "1.1.14", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@icetee/ftp/node_modules/string_decoder": { + "version": "0.10.31", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/bmp": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "bmp-js": "^0.1.0", + "core-js": "^2.5.7" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/core": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "any-base": "^1.1.0", + "buffer": "^5.2.0", + "core-js": "^2.5.7", + "exif-parser": "^0.1.12", + "file-type": "^9.0.0", + "load-bmfont": "^1.3.1", + "mkdirp": "0.5.1", + "phin": "^2.9.1", + "pixelmatch": "^4.0.2", + "tinycolor2": "^1.4.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/core/node_modules/minimist": { + "version": "0.0.8", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/core/node_modules/mkdirp": { + "version": "0.5.1", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "0.0.8" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/custom": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/core": "^0.3.9", + "core-js": "^2.5.7" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/gif": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7", + "omggif": "^1.0.9" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/jpeg": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7", + "jpeg-js": "^0.3.4" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-blit": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-blur": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-color": { + "version": "0.3.10", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7", + "tinycolor2": "^1.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-contain": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-blit": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5", + "@jimp/plugin-scale": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-cover": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-crop": ">=0.3.5", + "@jimp/plugin-scale": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-crop": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-displace": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-dither": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-flip": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-rotate": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-gaussian": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-invert": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-mask": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-normalize": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-print": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7", + "load-bmfont": "^1.3.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-resize": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-rotate": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-blit": ">=0.3.5", + "@jimp/plugin-crop": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugin-scale": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/plugins": { + "version": "0.3.10", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/plugin-blit": "^0.3.9", + "@jimp/plugin-blur": "^0.3.9", + "@jimp/plugin-color": "^0.3.10", + "@jimp/plugin-contain": "^0.3.9", + "@jimp/plugin-cover": "^0.3.9", + "@jimp/plugin-crop": "^0.3.9", + "@jimp/plugin-displace": "^0.3.9", + "@jimp/plugin-dither": "^0.3.9", + "@jimp/plugin-flip": "^0.3.9", + "@jimp/plugin-gaussian": "^0.3.9", + "@jimp/plugin-invert": "^0.3.9", + "@jimp/plugin-mask": "^0.3.9", + "@jimp/plugin-normalize": "^0.3.9", + "@jimp/plugin-print": "^0.3.9", + "@jimp/plugin-resize": "^0.3.9", + "@jimp/plugin-rotate": "^0.3.9", + "@jimp/plugin-scale": "^0.3.9", + "core-js": "^2.5.7", + "timm": "^1.6.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/png": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.3.9", + "core-js": "^2.5.7", + "pngjs": "^3.3.3" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/tiff": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "core-js": "^2.5.7", + "utif": "^2.0.0" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/types": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jimp/bmp": "^0.3.9", + "@jimp/gif": "^0.3.9", + "@jimp/jpeg": "^0.3.9", + "@jimp/png": "^0.3.9", + "@jimp/tiff": "^0.3.9", + "core-js": "^2.5.7", + "timm": "^1.6.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jimp/utils": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "core-js": "^2.5.7" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "dev": true, + "license": "MIT", + "peer": true + }, + "../../../../../needle-engine/js/package~/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@jsdoc/salty": { + "version": "0.2.7", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "lodash": "^4.17.21" + }, + "engines": { + "node": ">=v12.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@luncheon/esbuild-plugin-gzip": { + "version": "0.1.0", + "dev": true, + "license": "WTFPL", + "peerDependencies": { + "esbuild": ">=0.11.15" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@mapbox/node-pre-gyp": { + "version": "1.0.11", + "dev": true, + "license": "BSD-3-Clause", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.7", + "nopt": "^5.0.0", + "npmlog": "^5.0.1", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.11" + }, + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@mapbox/node-pre-gyp/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@mapbox/node-pre-gyp/node_modules/node-fetch": { + "version": "2.7.0", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "../../../../../needle-engine/js/package~/node_modules/@mapbox/node-pre-gyp/node_modules/nopt": { + "version": "5.0.0", + "dev": true, + "license": "ISC", + "optional": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@mapbox/node-pre-gyp/node_modules/semver": { + "version": "7.6.0", + "dev": true, + "license": "ISC", + "optional": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@mapbox/node-pre-gyp/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC", + "optional": true + }, + "../../../../../needle-engine/js/package~/node_modules/@needle-tools/gltf-build-pipeline": { + "version": "1.4.1-beta.15", + "dev": true, + "dependencies": { + "@gltf-transform/core": "^3.10.1", + "@gltf-transform/extensions": "^3.10.1", + "@gltf-transform/functions": "^3.10.1", + "command-exists": "^1.2.9", + "command-line-args": "^5.2.1", + "draco3dgltf": "^1.5.3", + "glob": "^7.2.0", + "meshoptimizer": "^0.18.1", + "micromatch": "^4.0.5", + "ndarray": "^1.0.19", + "ndarray-lanczos": "^0.3.0", + "ndarray-pixels": "^2.0.1", + "p-limit": "3.1.0", + "semver": "^7.3.7", + "sharp": "^0.31.3", + "tmp": "^0.2.1", + "uuid": "^9.0.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@needle-tools/gltf-build-pipeline/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@needle-tools/gltf-build-pipeline/node_modules/semver": { + "version": "7.6.0", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@needle-tools/gltf-build-pipeline/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/@needle-tools/gltf-progressive": { + "resolved": "../../../../../needle-engine/modules/gltf-progressive", + "link": true + }, + "../../../../../needle-engine/js/package~/node_modules/@needle-tools/helper": { + "version": "1.8.0", + "dev": true, + "license": "ISC", + "dependencies": { + "@caporal/core": "^2.0.7", + "@needle-tools/gltf-build-pipeline": "^1.4.1-beta", + "@needle-tools/needle-component-compiler": "^1.0.0", + "archiver": "^5.3.1", + "basic-ftp": "^5.0.5", + "command-line-args": "^5.2.1", + "find-process": "^1.4.7", + "form-data": "^4.0.0", + "ftp-deploy": "^2.4.4", + "msdf-bmfont-xml": "^2.7.0", + "node-fetch": "^3.3.1", + "node-stream-zip": "^1.15.0", + "request": "^2.88.2", + "shelljs": "^0.8.5" + }, + "bin": { + "helper": "dist/cli.js" + }, + "optionalDependencies": { + "ultimate-text-to-image": "^1.0.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@needle-tools/needle-component-compiler": { + "version": "1.11.1", + "dev": true, + "dependencies": { + "typescript": "^4.5.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@sindresorhus/is": { + "version": "0.14.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@stylistic/eslint-plugin-js": { + "version": "1.6.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint": "^8.56.2", + "acorn": "^8.11.3", + "escape-string-regexp": "^4.0.0", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "peerDependencies": { + "eslint": ">=8.40.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@stylistic/eslint-plugin-ts": { + "version": "1.6.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@stylistic/eslint-plugin-js": "1.6.3", + "@types/eslint": "^8.56.2", + "@typescript-eslint/utils": "^6.21.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "peerDependencies": { + "eslint": ">=8.40.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@swc/helpers": { + "version": "0.3.17", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@szmarczak/http-timer": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "defer-to-connect": "^1.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@tweenjs/tween.js": { + "version": "23.1.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@types/eslint": { + "version": "8.56.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@types/estree": { + "version": "1.0.5", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@types/glob": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@types/json-schema": { + "version": "7.0.15", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@types/json5": { + "version": "0.0.29", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@types/linkify-it": { + "version": "3.0.5", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@types/lodash": { + "version": "4.14.202", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@types/markdown-it": { + "version": "12.2.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/linkify-it": "*", + "@types/mdurl": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@types/mdurl": { + "version": "1.0.5", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@types/minimatch": { + "version": "5.1.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@types/ndarray": { + "version": "1.0.14", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@types/node": { + "version": "20.14.8", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@types/semver": { + "version": "7.5.8", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@types/stats.js": { + "version": "0.17.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@types/table": { + "version": "5.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@types/tabtab": { + "version": "3.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@types/three": { + "version": "0.162.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@tweenjs/tween.js": "~23.1.1", + "@types/stats.js": "*", + "@types/webxr": "*", + "fflate": "~0.6.10", + "meshoptimizer": "~0.18.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@types/triple-beam": { + "version": "1.3.5", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@types/webxr": { + "version": "0.5.14", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@types/wrap-ansi": { + "version": "3.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/eslint-plugin": { + "version": "6.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/type-utils": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.6.0", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/parser": { + "version": "6.21.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/scope-manager": { + "version": "6.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/type-utils": { + "version": "6.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/typescript-estree": { + "version": "6.21.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.6.0", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/utils": { + "version": "6.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/utils/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.6.0", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/utils/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/@typescript-eslint/visitor-keys": { + "version": "6.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "../../../../../needle-engine/js/package~/node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/@webxr-input-profiles/motion-controllers": { + "version": "1.0.0", + "dev": true + }, + "../../../../../needle-engine/js/package~/node_modules/abbrev": { + "version": "1.1.1", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/acorn": { + "version": "8.11.3", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/acorn-jsx": { + "version": "5.3.2", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/agent-base": { + "version": "6.0.2", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ajv": { + "version": "6.12.6", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ansi-align": { + "version": "3.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ansi-escape-sequences": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^3.0.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ansi-escapes": { + "version": "3.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ansi-regex": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ansi-styles": { + "version": "3.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/any-base": { + "version": "1.1.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/anymatch": { + "version": "3.1.3", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/app-module-path": { + "version": "2.2.0", + "dev": true, + "license": "BSD-2-Clause" + }, + "../../../../../needle-engine/js/package~/node_modules/aproba": { + "version": "2.0.0", + "dev": true, + "license": "ISC", + "optional": true + }, + "../../../../../needle-engine/js/package~/node_modules/arabic-persian-reshaper": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/archiver": { + "version": "5.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "archiver-utils": "^2.1.0", + "async": "^3.2.4", + "buffer-crc32": "^0.2.1", + "readable-stream": "^3.6.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^2.2.0", + "zip-stream": "^4.1.0" + }, + "engines": { + "node": ">= 10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/archiver-utils": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "glob": "^7.1.4", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/archiver-utils/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/archiver-utils/node_modules/readable-stream": { + "version": "2.3.8", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/archiver-utils/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/archiver-utils/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/are-we-there-yet": { + "version": "2.0.0", + "dev": true, + "license": "ISC", + "optional": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/argparse": { + "version": "2.0.1", + "dev": true, + "license": "Python-2.0" + }, + "../../../../../needle-engine/js/package~/node_modules/array-back": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/array-includes": { + "version": "3.1.7", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/array-union": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/array.prototype.filter": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/array.prototype.findlastindex": { + "version": "1.2.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/array.prototype.flat": { + "version": "1.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/asn1": { + "version": "0.2.6", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/assert-plus": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ast-module-types": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/astral-regex": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/async": { + "version": "3.2.5", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/asynckit": { + "version": "0.4.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/available-typed-arrays": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/aws-sign2": { + "version": "0.7.0", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/aws4": { + "version": "1.12.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/axios": { + "version": "0.26.1", + "dev": true, + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.14.8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/b4a": { + "version": "1.6.6", + "dev": true, + "license": "Apache-2.0" + }, + "../../../../../needle-engine/js/package~/node_modules/balanced-match": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/bare-events": { + "version": "2.2.2", + "dev": true, + "license": "Apache-2.0", + "optional": true + }, + "../../../../../needle-engine/js/package~/node_modules/bare-fs": { + "version": "2.2.2", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "bare-events": "^2.0.0", + "bare-os": "^2.0.0", + "bare-path": "^2.0.0", + "streamx": "^2.13.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/bare-os": { + "version": "2.2.1", + "dev": true, + "license": "Apache-2.0", + "optional": true + }, + "../../../../../needle-engine/js/package~/node_modules/bare-path": { + "version": "2.1.0", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "bare-os": "^2.1.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/base64-js": { + "version": "1.5.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/basic-ftp": { + "version": "5.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "../../../../../needle-engine/js/package~/node_modules/binary-extensions": { + "version": "2.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/bl": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/bluebird": { + "version": "3.7.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/bmp-js": { + "version": "0.1.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/boxen": { + "version": "5.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-align": "^3.0.0", + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.2", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/boxen/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/boxen/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/boxen/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/boxen/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/boxen/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/boxen/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/boxen/node_modules/wrap-ansi": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/brace-expansion": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/braces": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/browserslist": { + "version": "4.23.0", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "../../../../../needle-engine/js/package~/node_modules/buffer": { + "version": "5.7.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "../../../../../needle-engine/js/package~/node_modules/buffer-crc32": { + "version": "0.2.13", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/buffer-equal": { + "version": "0.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/buffer-from": { + "version": "1.1.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/buildcheck": { + "version": "0.0.6", + "dev": true, + "optional": true, + "engines": { + "node": ">=10.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/builtins": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/builtins/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/builtins/node_modules/semver": { + "version": "7.6.0", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/builtins/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/bundle-name": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/cache-point": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^4.0.1", + "fs-then-native": "^2.0.0", + "mkdirp2": "^1.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/cache-point/node_modules/array-back": { + "version": "4.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/cacheable-request": { + "version": "6.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/cacheable-request/node_modules/get-stream": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/cacheable-request/node_modules/json-buffer": { + "version": "3.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/cacheable-request/node_modules/keyv": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/cacheable-request/node_modules/lowercase-keys": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/call-bind": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/callsites": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/camelcase": { + "version": "6.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/caniuse-lite": { + "version": "1.0.30001594", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0", + "peer": true + }, + "../../../../../needle-engine/js/package~/node_modules/canvas": { + "version": "2.11.2", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@mapbox/node-pre-gyp": "^1.0.0", + "nan": "^2.17.0", + "simple-get": "^3.0.3" + }, + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/canvas/node_modules/decompress-response": { + "version": "4.2.1", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "mimic-response": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/canvas/node_modules/mimic-response": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/canvas/node_modules/simple-get": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "decompress-response": "^4.2.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/caseless": { + "version": "0.12.0", + "dev": true, + "license": "Apache-2.0" + }, + "../../../../../needle-engine/js/package~/node_modules/catharsis": { + "version": "0.9.0", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.15" + }, + "engines": { + "node": ">= 10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/chalk": { + "version": "2.4.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/chalk/node_modules/escape-string-regexp": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/chardet": { + "version": "0.7.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/charenc": { + "version": "0.0.2", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/chokidar": { + "version": "3.6.0", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "../../../../../needle-engine/js/package~/node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/chownr": { + "version": "2.0.0", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ci-info": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/cli-boxes": { + "version": "2.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/cli-cursor": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/cli-progress": { + "version": "3.12.0", + "dev": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.2.3" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/cli-spinners": { + "version": "2.9.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/cli-width": { + "version": "2.2.1", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/clone": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/clone-response": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-response": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/clone-response/node_modules/mimic-response": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/collect-all": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "stream-connect": "^1.0.2", + "stream-via": "^1.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/color": { + "version": "4.2.3", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/color-convert": { + "version": "1.9.3", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "../../../../../needle-engine/js/package~/node_modules/color-name": { + "version": "1.1.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/color-string": { + "version": "1.9.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "../../../../../needle-engine/js/package~/node_modules/color-support": { + "version": "1.1.3", + "dev": true, + "license": "ISC", + "optional": true, + "bin": { + "color-support": "bin.js" + } + }, + "../../../../../needle-engine/js/package~/node_modules/color/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/color/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/colorspace": { + "version": "1.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "color": "^3.1.3", + "text-hex": "1.0.x" + } + }, + "../../../../../needle-engine/js/package~/node_modules/colorspace/node_modules/color": { + "version": "3.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/combined-stream": { + "version": "1.0.8", + "dev": true, + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/command-exists": { + "version": "1.2.9", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/command-line-args": { + "version": "5.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^3.1.0", + "find-replace": "^3.0.0", + "lodash.camelcase": "^4.3.0", + "typical": "^4.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/command-line-tool": { + "version": "0.8.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escape-sequences": "^4.0.0", + "array-back": "^2.0.0", + "command-line-args": "^5.0.0", + "command-line-usage": "^4.1.0", + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/command-line-tool/node_modules/array-back": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/command-line-tool/node_modules/typical": { + "version": "2.6.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/command-line-usage": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escape-sequences": "^4.0.0", + "array-back": "^2.0.0", + "table-layout": "^0.4.2", + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/command-line-usage/node_modules/array-back": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/command-line-usage/node_modules/typical": { + "version": "2.6.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/commander": { + "version": "5.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/common-sequence": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/commondir": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/compress-commons": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-crc32": "^0.2.13", + "crc32-stream": "^4.0.2", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/concat-stream": { + "version": "2.0.0", + "dev": true, + "engines": [ + "node >= 6.0" + ], + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/config-master": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "walk-back": "^2.0.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/config-master/node_modules/walk-back": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/configstore": { + "version": "5.0.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dot-prop": "^5.2.0", + "graceful-fs": "^4.1.2", + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/console-control-strings": { + "version": "1.1.0", + "dev": true, + "license": "ISC", + "optional": true + }, + "../../../../../needle-engine/js/package~/node_modules/contentstream": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "~1.0.33-1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/contentstream/node_modules/isarray": { + "version": "0.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/contentstream/node_modules/readable-stream": { + "version": "1.0.34", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "../../../../../needle-engine/js/package~/node_modules/contentstream/node_modules/string_decoder": { + "version": "0.10.31", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/convert-source-map": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "../../../../../needle-engine/js/package~/node_modules/core-js": { + "version": "2.6.12", + "dev": true, + "hasInstallScript": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/core-util-is": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/cpu-features": { + "version": "0.0.9", + "dev": true, + "hasInstallScript": true, + "optional": true, + "dependencies": { + "buildcheck": "~0.0.6", + "nan": "^2.17.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/crc-32": { + "version": "1.2.2", + "dev": true, + "license": "Apache-2.0", + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/crc32-stream": { + "version": "4.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "crc-32": "^1.2.0", + "readable-stream": "^3.4.0" + }, + "engines": { + "node": ">= 10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/cross-spawn": { + "version": "7.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/crypt": { + "version": "0.0.2", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/crypto-random-string": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/cwise-compiler": { + "version": "1.1.3", + "dev": true, + "license": "MIT", + "dependencies": { + "uniq": "^1.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/dashdash": { + "version": "1.14.1", + "dev": true, + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/data-uri-to-buffer": { + "version": "0.0.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "../../../../../needle-engine/js/package~/node_modules/decompress-response": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/deep-extend": { + "version": "0.6.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/deep-is": { + "version": "0.1.4", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/default-browser": { + "version": "5.2.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/default-browser-id": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/defaults": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/defer-to-connect": { + "version": "1.1.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/define-data-property": { + "version": "1.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/define-lazy-prop": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/define-properties": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/delayed-stream": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/delegates": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "optional": true + }, + "../../../../../needle-engine/js/package~/node_modules/dependency-tree": { + "version": "8.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "commander": "^2.20.3", + "debug": "^4.3.1", + "filing-cabinet": "^3.0.1", + "precinct": "^8.0.0", + "typescript": "^3.9.7" + }, + "bin": { + "dependency-tree": "bin/cli.js" + }, + "engines": { + "node": "^10.13 || ^12 || >=14" + } + }, + "../../../../../needle-engine/js/package~/node_modules/dependency-tree/node_modules/commander": { + "version": "2.20.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/dependency-tree/node_modules/typescript": { + "version": "3.9.10", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/detect-libc": { + "version": "2.0.2", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/detective-amd": { + "version": "3.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ast-module-types": "^3.0.0", + "escodegen": "^2.0.0", + "get-amd-module-type": "^3.0.0", + "node-source-walk": "^4.2.0" + }, + "bin": { + "detective-amd": "bin/cli.js" + }, + "engines": { + "node": ">=6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/detective-cjs": { + "version": "3.1.3", + "dev": true, + "license": "MIT", + "dependencies": { + "ast-module-types": "^3.0.0", + "node-source-walk": "^4.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/detective-es6": { + "version": "2.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "node-source-walk": "^4.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/detective-less": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.0.0", + "gonzales-pe": "^4.2.3", + "node-source-walk": "^4.0.0" + }, + "engines": { + "node": ">= 6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/detective-postcss": { + "version": "5.1.3", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "is-url": "^1.2.4", + "postcss": "^8.4.6", + "postcss-values-parser": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "../../../../../needle-engine/js/package~/node_modules/detective-sass": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "gonzales-pe": "^4.3.0", + "node-source-walk": "^4.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/detective-scss": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "gonzales-pe": "^4.3.0", + "node-source-walk": "^4.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/detective-stylus": { + "version": "1.0.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/detective-typescript": { + "version": "7.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "^4.33.0", + "ast-module-types": "^2.7.1", + "node-source-walk": "^4.2.0", + "typescript": "^3.9.10" + }, + "engines": { + "node": "^10.13 || >=12.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/detective-typescript/node_modules/@typescript-eslint/types": { + "version": "4.33.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "../../../../../needle-engine/js/package~/node_modules/detective-typescript/node_modules/@typescript-eslint/typescript-estree": { + "version": "4.33.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/visitor-keys": "4.33.0", + "debug": "^4.3.1", + "globby": "^11.0.3", + "is-glob": "^4.0.1", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "../../../../../needle-engine/js/package~/node_modules/detective-typescript/node_modules/@typescript-eslint/visitor-keys": { + "version": "4.33.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "4.33.0", + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "../../../../../needle-engine/js/package~/node_modules/detective-typescript/node_modules/ast-module-types": { + "version": "2.7.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/detective-typescript/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/detective-typescript/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/detective-typescript/node_modules/semver": { + "version": "7.6.0", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/detective-typescript/node_modules/typescript": { + "version": "3.9.10", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/detective-typescript/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/dir-glob": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/dmd": { + "version": "6.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^6.2.2", + "cache-point": "^2.0.0", + "common-sequence": "^2.0.2", + "file-set": "^4.0.2", + "handlebars": "^4.7.7", + "marked": "^4.2.3", + "object-get": "^2.1.1", + "reduce-flatten": "^3.0.1", + "reduce-unique": "^2.0.1", + "reduce-without": "^1.0.1", + "test-value": "^3.0.0", + "walk-back": "^5.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "../../../../../needle-engine/js/package~/node_modules/dmd/node_modules/array-back": { + "version": "6.2.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.17" + } + }, + "../../../../../needle-engine/js/package~/node_modules/doctrine": { + "version": "3.0.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/dom-walk": { + "version": "0.1.2", + "dev": true + }, + "../../../../../needle-engine/js/package~/node_modules/dot-prop": { + "version": "5.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/dot-prop/node_modules/is-obj": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/draco3dgltf": { + "version": "1.5.7", + "dev": true, + "license": "Apache-2.0" + }, + "../../../../../needle-engine/js/package~/node_modules/duplexer3": { + "version": "0.1.5", + "dev": true, + "license": "BSD-3-Clause" + }, + "../../../../../needle-engine/js/package~/node_modules/ecc-jsbn": { + "version": "0.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/electron-to-chromium": { + "version": "1.4.693", + "dev": true, + "license": "ISC", + "peer": true + }, + "../../../../../needle-engine/js/package~/node_modules/emoji-regex": { + "version": "8.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/enabled": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/end-of-stream": { + "version": "1.4.4", + "dev": true, + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/enhanced-resolve": { + "version": "5.15.1", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/entities": { + "version": "2.1.0", + "dev": true, + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/err-code": { + "version": "1.1.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/es-abstract": { + "version": "1.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.1", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.0", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.5", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/es-define-property": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/es-errors": { + "version": "1.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/es-set-tostringtag": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/es-shim-unscopables": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/es-to-primitive": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/es6-promisify": { + "version": "6.1.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/esbuild": { + "version": "0.15.18", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.15.18", + "@esbuild/linux-loong64": "0.15.18", + "esbuild-android-64": "0.15.18", + "esbuild-android-arm64": "0.15.18", + "esbuild-darwin-64": "0.15.18", + "esbuild-darwin-arm64": "0.15.18", + "esbuild-freebsd-64": "0.15.18", + "esbuild-freebsd-arm64": "0.15.18", + "esbuild-linux-32": "0.15.18", + "esbuild-linux-64": "0.15.18", + "esbuild-linux-arm": "0.15.18", + "esbuild-linux-arm64": "0.15.18", + "esbuild-linux-mips64le": "0.15.18", + "esbuild-linux-ppc64le": "0.15.18", + "esbuild-linux-riscv64": "0.15.18", + "esbuild-linux-s390x": "0.15.18", + "esbuild-netbsd-64": "0.15.18", + "esbuild-openbsd-64": "0.15.18", + "esbuild-sunos-64": "0.15.18", + "esbuild-windows-32": "0.15.18", + "esbuild-windows-64": "0.15.18", + "esbuild-windows-arm64": "0.15.18" + } + }, + "../../../../../needle-engine/js/package~/node_modules/esbuild-node-externals": { + "version": "1.13.0", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^5.0.0", + "tslib": "^2.4.1" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "esbuild": "0.12 - 0.20" + } + }, + "../../../../../needle-engine/js/package~/node_modules/esbuild-windows-64": { + "version": "0.15.18", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "../../../../../needle-engine/js/package~/node_modules/escalade": { + "version": "3.1.2", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/escape-goat": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/escape-string-regexp": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/escodegen": { + "version": "2.1.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint": { + "version": "8.57.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint-module-utils": { + "version": "2.8.1", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint-plugin-import": { + "version": "2.29.1", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.8.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", + "semver": "^6.3.1", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint-plugin-import/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint-plugin-import/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint-plugin-no-secrets": { + "version": "0.8.9", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0", + "npm": ">=6.9.0" + }, + "peerDependencies": { + "eslint": ">=3.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint-plugin-no-unsanitized": { + "version": "4.0.2", + "dev": true, + "license": "MPL-2.0", + "peerDependencies": { + "eslint": "^6 || ^7 || ^8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint-plugin-promise": { + "version": "6.1.1", + "dev": true, + "license": "ISC", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint-plugin-simple-import-sort": { + "version": "10.0.0", + "dev": true, + "license": "MIT", + "peerDependencies": { + "eslint": ">=5.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint-plugin-xss": { + "version": "0.1.12", + "dev": true, + "license": "ISC", + "dependencies": { + "requireindex": "~1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint-scope": { + "version": "7.2.2", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/eslint/node_modules/globals": { + "version": "13.24.0", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/espree": { + "version": "9.6.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "../../../../../needle-engine/js/package~/node_modules/esprima": { + "version": "4.0.1", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/esquery": { + "version": "1.5.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/esrecurse": { + "version": "4.3.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/estraverse": { + "version": "5.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/esutils": { + "version": "2.0.3", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/eventemitter3": { + "version": "4.0.7", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/exif-parser": { + "version": "0.1.12", + "dev": true + }, + "../../../../../needle-engine/js/package~/node_modules/expand-template": { + "version": "2.0.3", + "dev": true, + "license": "(MIT OR WTFPL)", + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/extend": { + "version": "3.0.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/external-editor": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/external-editor/node_modules/tmp": { + "version": "0.0.33", + "dev": true, + "license": "MIT", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/extsprintf": { + "version": "1.3.0", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/fast-deep-equal": { + "version": "3.1.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/fast-fifo": { + "version": "1.3.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/fast-glob": { + "version": "3.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/fast-levenshtein": { + "version": "2.0.6", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/fastq": { + "version": "1.17.1", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/fecha": { + "version": "4.2.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/fetch-blob": { + "version": "3.2.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "license": "MIT", + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, + "../../../../../needle-engine/js/package~/node_modules/fflate": { + "version": "0.6.10", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/figures": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/file-entry-cache": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/file-js": { + "version": "0.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "bluebird": "^3.4.7", + "minimatch": "^3.0.3", + "proper-lockfile": "^1.2.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/file-js/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/file-js/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/file-set": { + "version": "4.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^5.0.0", + "glob": "^7.1.6" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/file-set/node_modules/array-back": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/file-type": { + "version": "9.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/filehound": { + "version": "1.17.6", + "dev": true, + "license": "MIT", + "dependencies": { + "bluebird": "^3.7.2", + "file-js": "0.3.0", + "lodash": "^4.17.21", + "minimatch": "^5.0.0", + "moment": "^2.29.1", + "unit-compare": "^1.0.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/filehound/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/filing-cabinet": { + "version": "3.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "app-module-path": "^2.2.0", + "commander": "^2.20.3", + "debug": "^4.3.3", + "enhanced-resolve": "^5.8.3", + "is-relative-path": "^1.0.2", + "module-definition": "^3.3.1", + "module-lookup-amd": "^7.0.1", + "resolve": "^1.21.0", + "resolve-dependency-path": "^2.0.0", + "sass-lookup": "^3.0.0", + "stylus-lookup": "^3.0.1", + "tsconfig-paths": "^3.10.1", + "typescript": "^3.9.7" + }, + "bin": { + "filing-cabinet": "bin/cli.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/filing-cabinet/node_modules/commander": { + "version": "2.20.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/filing-cabinet/node_modules/typescript": { + "version": "3.9.10", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/fill-range": { + "version": "7.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/find-process": { + "version": "1.4.7", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "commander": "^5.1.0", + "debug": "^4.1.1" + }, + "bin": { + "find-process": "bin/find-process.js" + } + }, + "../../../../../needle-engine/js/package~/node_modules/find-process/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/find-process/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/find-process/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/find-process/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/find-process/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/find-process/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/find-replace": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^3.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/flat-cache": { + "version": "3.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/flatbuffers": { + "version": "2.0.4", + "dev": true, + "license": "SEE LICENSE IN LICENSE.txt" + }, + "../../../../../needle-engine/js/package~/node_modules/flatted": { + "version": "3.3.1", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/flatten": { + "version": "1.0.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/fn.name": { + "version": "1.1.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/follow-redirects": { + "version": "1.15.5", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "../../../../../needle-engine/js/package~/node_modules/for-each": { + "version": "0.3.3", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "../../../../../needle-engine/js/package~/node_modules/forever-agent": { + "version": "0.6.1", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/form-data": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/formdata-polyfill": { + "version": "4.0.10", + "dev": true, + "license": "MIT", + "dependencies": { + "fetch-blob": "^3.1.2" + }, + "engines": { + "node": ">=12.20.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/fs-constants": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/fs-extra": { + "version": "11.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "../../../../../needle-engine/js/package~/node_modules/fs-minipass": { + "version": "2.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/fs-minipass/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/fs-then-native": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/fs.realpath": { + "version": "1.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/ftp-deploy": { + "version": "2.4.7", + "dev": true, + "license": "MIT", + "dependencies": { + "minimatch": "9.0.0", + "promise-ftp": "^1.3.5", + "read": "^2.1.0", + "ssh2-sftp-client": "^7.2.3", + "upath": "^2.0.1" + }, + "engines": { + "node": ">=12" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ftp-deploy/node_modules/minimatch": { + "version": "9.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "../../../../../needle-engine/js/package~/node_modules/function-bind": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/function.prototype.name": { + "version": "1.1.6", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/functions-have-names": { + "version": "1.2.3", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/gauge": { + "version": "3.0.2", + "dev": true, + "license": "ISC", + "optional": true, + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/gensync": { + "version": "1.0.0-beta.2", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/get-amd-module-type": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ast-module-types": "^3.0.0", + "node-source-walk": "^4.2.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/get-intrinsic": { + "version": "1.2.4", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/get-pixels": { + "version": "3.3.3", + "dev": true, + "license": "MIT", + "dependencies": { + "data-uri-to-buffer": "0.0.3", + "jpeg-js": "^0.4.1", + "mime-types": "^2.0.1", + "ndarray": "^1.0.13", + "ndarray-pack": "^1.1.1", + "node-bitmap": "0.0.1", + "omggif": "^1.0.5", + "parse-data-uri": "^0.2.0", + "pngjs": "^3.3.3", + "request": "^2.44.0", + "through": "^2.3.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/get-pixels/node_modules/jpeg-js": { + "version": "0.4.4", + "dev": true, + "license": "BSD-3-Clause" + }, + "../../../../../needle-engine/js/package~/node_modules/get-stream": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/get-symbol-description": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/getpass": { + "version": "0.1.7", + "dev": true, + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/gif-encoder": { + "version": "0.4.3", + "dev": true, + "dependencies": { + "readable-stream": "~1.1.9" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/gif-encoder/node_modules/isarray": { + "version": "0.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/gif-encoder/node_modules/readable-stream": { + "version": "1.1.14", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "../../../../../needle-engine/js/package~/node_modules/gif-encoder/node_modules/string_decoder": { + "version": "0.10.31", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/github-from-package": { + "version": "0.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/glob": { + "version": "7.2.3", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "../../../../../needle-engine/js/package~/node_modules/glob-parent": { + "version": "6.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/global": { + "version": "4.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/global-dirs": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ini": "2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/global-dirs/node_modules/ini": { + "version": "2.0.0", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/globals": { + "version": "11.12.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/globalthis": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/globby": { + "version": "11.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/gonzales-pe": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "gonzales": "bin/gonzales.js" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/gopd": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/got": { + "version": "9.6.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + }, + "engines": { + "node": ">=8.6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/got/node_modules/decompress-response": { + "version": "3.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-response": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/got/node_modules/mimic-response": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/graceful-fs": { + "version": "4.2.11", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/graphemer": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/graphviz": { + "version": "0.0.9", + "dev": true, + "license": "GPL-3.0", + "dependencies": { + "temp": "~0.4.0" + }, + "engines": { + "node": ">=0.6.8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/handlebars": { + "version": "4.7.8", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/har-schema": { + "version": "2.0.0", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/har-validator": { + "version": "5.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/has-bigints": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/has-flag": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/has-property-descriptors": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/has-proto": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/has-symbols": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/has-tostringtag": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/has-unicode": { + "version": "2.0.1", + "dev": true, + "license": "ISC", + "optional": true + }, + "../../../../../needle-engine/js/package~/node_modules/has-yarn": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/hasown": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/hosted-git-info": { + "version": "6.1.1", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^7.5.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "7.18.3", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "../../../../../needle-engine/js/package~/node_modules/howfat": { + "version": "0.3.8", + "dev": true, + "license": "MIT", + "dependencies": { + "axios": "^0.26.1", + "npm-package-arg": "^10.0.0", + "package-options": "^0.1.4", + "semver": "^7.3.8", + "tar": "^6.1.12" + }, + "bin": { + "howfat": "src/index.js" + }, + "engines": { + "node": ">=14" + } + }, + "../../../../../needle-engine/js/package~/node_modules/howfat/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/howfat/node_modules/semver": { + "version": "7.6.0", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/howfat/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/http-cache-semantics": { + "version": "4.1.1", + "dev": true, + "license": "BSD-2-Clause" + }, + "../../../../../needle-engine/js/package~/node_modules/http-signature": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "../../../../../needle-engine/js/package~/node_modules/https-proxy-agent": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/iconv-lite": { + "version": "0.4.24", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ieee754": { + "version": "1.2.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "../../../../../needle-engine/js/package~/node_modules/ignore": { + "version": "5.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ignore-by-default": { + "version": "1.0.1", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/import-fresh": { + "version": "3.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/import-lazy": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/imurmurhash": { + "version": "0.1.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "../../../../../needle-engine/js/package~/node_modules/indexes-of": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/inflight": { + "version": "1.0.6", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/inherits": { + "version": "2.0.4", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/ini": { + "version": "1.3.8", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/inquirer": { + "version": "6.5.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/inquirer/node_modules/ansi-regex": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/inquirer/node_modules/cli-cursor": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/inquirer/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/inquirer/node_modules/mimic-fn": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/inquirer/node_modules/mute-stream": { + "version": "0.0.7", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/inquirer/node_modules/onetime": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/inquirer/node_modules/restore-cursor": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/inquirer/node_modules/string-width": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/inquirer/node_modules/string-width/node_modules/ansi-regex": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/inquirer/node_modules/string-width/node_modules/strip-ansi": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/inquirer/node_modules/strip-ansi": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/internal-slot": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/interpret": { + "version": "1.4.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/iota-array": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/is-array-buffer": { + "version": "3.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-arrayish": { + "version": "0.3.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/is-bigint": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-binary-path": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-boolean-object": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-buffer": { + "version": "1.1.6", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/is-callable": { + "version": "1.2.7", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-ci": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-core-module": { + "version": "2.13.1", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-date-object": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-docker": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-extglob": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-function": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/is-glob": { + "version": "4.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-inside-container": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-installed-globally": { + "version": "0.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-interactive": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-invalid-path": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-negative-zero": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-npm": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-number": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-number-object": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-obj": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-path-inside": { + "version": "3.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-regex": { + "version": "1.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-regexp": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-relative-path": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/is-shared-array-buffer": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-stream": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-string": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-symbol": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-typed-array": { + "version": "1.1.13", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-typedarray": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/is-unicode-supported": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-url": { + "version": "1.2.4", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/is-url-superb": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-weakref": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-wsl": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/is-yarn-global": { + "version": "0.3.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/isarray": { + "version": "2.0.5", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/isexe": { + "version": "2.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/isstream": { + "version": "0.1.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/jimp": { + "version": "0.3.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/polyfill": "^7.0.0", + "@jimp/custom": "^0.3.9", + "@jimp/plugins": "^0.3.10", + "@jimp/types": "^0.3.9", + "core-js": "^2.5.7" + } + }, + "../../../../../needle-engine/js/package~/node_modules/jpeg-js": { + "version": "0.3.7", + "dev": true, + "license": "BSD-3-Clause" + }, + "../../../../../needle-engine/js/package~/node_modules/js-tokens": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "../../../../../needle-engine/js/package~/node_modules/js-yaml": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "../../../../../needle-engine/js/package~/node_modules/js2xmlparser": { + "version": "4.0.2", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "xmlcreate": "^2.0.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/jsbn": { + "version": "0.1.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/jsdoc": { + "version": "4.0.2", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@babel/parser": "^7.20.15", + "@jsdoc/salty": "^0.2.1", + "@types/markdown-it": "^12.2.3", + "bluebird": "^3.7.2", + "catharsis": "^0.9.0", + "escape-string-regexp": "^2.0.0", + "js2xmlparser": "^4.0.2", + "klaw": "^3.0.0", + "markdown-it": "^12.3.2", + "markdown-it-anchor": "^8.4.1", + "marked": "^4.0.10", + "mkdirp": "^1.0.4", + "requizzle": "^0.2.3", + "strip-json-comments": "^3.1.0", + "underscore": "~1.13.2" + }, + "bin": { + "jsdoc": "jsdoc.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/jsdoc-api": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^6.2.2", + "cache-point": "^2.0.0", + "collect-all": "^1.0.4", + "file-set": "^4.0.2", + "fs-then-native": "^2.0.0", + "jsdoc": "^4.0.0", + "object-to-spawn-args": "^2.0.1", + "temp-path": "^1.0.0", + "walk-back": "^5.1.0" + }, + "engines": { + "node": ">=12.17" + } + }, + "../../../../../needle-engine/js/package~/node_modules/jsdoc-api/node_modules/array-back": { + "version": "6.2.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.17" + } + }, + "../../../../../needle-engine/js/package~/node_modules/jsdoc-babel": { + "version": "0.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "jsdoc-regex": "^1.0.1", + "lodash": "^4.17.10" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/jsdoc-parse": { + "version": "6.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^6.2.2", + "lodash.omit": "^4.5.0", + "reduce-extract": "^1.0.0", + "sort-array": "^4.1.5", + "test-value": "^3.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "../../../../../needle-engine/js/package~/node_modules/jsdoc-parse/node_modules/array-back": { + "version": "6.2.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.17" + } + }, + "../../../../../needle-engine/js/package~/node_modules/jsdoc-regex": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/jsdoc-to-markdown": { + "version": "7.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^6.2.2", + "command-line-tool": "^0.8.0", + "config-master": "^3.1.0", + "dmd": "^6.1.0", + "jsdoc-api": "^7.1.1", + "jsdoc-parse": "^6.1.0", + "walk-back": "^5.1.0" + }, + "bin": { + "jsdoc2md": "bin/cli.js" + }, + "engines": { + "node": ">=12.17" + } + }, + "../../../../../needle-engine/js/package~/node_modules/jsdoc-to-markdown/node_modules/array-back": { + "version": "6.2.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.17" + } + }, + "../../../../../needle-engine/js/package~/node_modules/jsdoc/node_modules/escape-string-regexp": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/jsesc": { + "version": "2.5.2", + "dev": true, + "license": "MIT", + "peer": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/json-buffer": { + "version": "3.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/json-schema": { + "version": "0.4.0", + "dev": true, + "license": "(AFL-2.1 OR BSD-3-Clause)" + }, + "../../../../../needle-engine/js/package~/node_modules/json-schema-traverse": { + "version": "0.4.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/json-stringify-safe": { + "version": "5.0.1", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/json5": { + "version": "2.2.3", + "dev": true, + "license": "MIT", + "peer": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/jsonfile": { + "version": "6.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/jsprim": { + "version": "1.4.2", + "dev": true, + "license": "MIT", + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/keyv": { + "version": "4.5.4", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/klaw": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.9" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ktx-parse": { + "version": "0.6.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/kuler": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/latest-version": { + "version": "5.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "package-json": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/lazystream": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" + } + }, + "../../../../../needle-engine/js/package~/node_modules/lazystream/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/lazystream/node_modules/readable-stream": { + "version": "2.3.8", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/lazystream/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/lazystream/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/levn": { + "version": "0.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/linebreak-next": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "base64-js": "1.3.1", + "unicode-trie": "^1.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/linebreak-next/node_modules/base64-js": { + "version": "1.3.1", + "dev": true, + "license": "MIT", + "optional": true + }, + "../../../../../needle-engine/js/package~/node_modules/linkify-it": { + "version": "3.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "uc.micro": "^1.0.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/load-bmfont": { + "version": "1.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-equal": "0.0.1", + "mime": "^1.3.4", + "parse-bmfont-ascii": "^1.0.3", + "parse-bmfont-binary": "^1.0.5", + "parse-bmfont-xml": "^1.1.4", + "phin": "^2.9.1", + "xhr": "^2.0.1", + "xtend": "^4.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/lodash": { + "version": "4.17.21", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/lodash.camelcase": { + "version": "4.3.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/lodash.defaults": { + "version": "4.2.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/lodash.difference": { + "version": "4.5.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/lodash.flatten": { + "version": "4.4.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/lodash.isplainobject": { + "version": "4.0.6", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/lodash.merge": { + "version": "4.6.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/lodash.omit": { + "version": "4.5.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/lodash.padend": { + "version": "4.6.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/lodash.union": { + "version": "4.6.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/log-symbols": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/logform": { + "version": "2.6.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@colors/colors": "1.6.0", + "@types/triple-beam": "^1.3.2", + "fecha": "^4.2.0", + "ms": "^2.1.1", + "safe-stable-stringify": "^2.3.1", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/lowercase-keys": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/lru-cache": { + "version": "5.1.1", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "../../../../../needle-engine/js/package~/node_modules/madge": { + "version": "5.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.1", + "commander": "^7.2.0", + "commondir": "^1.0.1", + "debug": "^4.3.1", + "dependency-tree": "^8.1.1", + "detective-amd": "^3.1.0", + "detective-cjs": "^3.1.1", + "detective-es6": "^2.2.0", + "detective-less": "^1.0.2", + "detective-postcss": "^5.0.0", + "detective-sass": "^3.0.1", + "detective-scss": "^2.0.1", + "detective-stylus": "^1.0.0", + "detective-typescript": "^7.0.0", + "graphviz": "0.0.9", + "ora": "^5.4.1", + "pluralize": "^8.0.0", + "precinct": "^8.1.0", + "pretty-ms": "^7.0.1", + "rc": "^1.2.7", + "typescript": "^3.9.5", + "walkdir": "^0.4.1" + }, + "bin": { + "madge": "bin/cli.js" + }, + "engines": { + "node": "^10.13 || ^12 || >=14" + }, + "funding": { + "type": "individual", + "url": "https://www.paypal.me/pahen" + } + }, + "../../../../../needle-engine/js/package~/node_modules/madge/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/madge/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/madge/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/madge/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/madge/node_modules/commander": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/madge/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/madge/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/madge/node_modules/typescript": { + "version": "3.9.10", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/make-dir": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/map-limit": { + "version": "0.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "once": "~1.3.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/map-limit/node_modules/once": { + "version": "1.3.3", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/markdown-it": { + "version": "12.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1", + "entities": "~2.1.0", + "linkify-it": "^3.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "../../../../../needle-engine/js/package~/node_modules/markdown-it-anchor": { + "version": "8.6.7", + "dev": true, + "license": "Unlicense", + "peerDependencies": { + "@types/markdown-it": "*", + "markdown-it": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/marked": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 12" + } + }, + "../../../../../needle-engine/js/package~/node_modules/maxrects-packer": { + "version": "2.7.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/md5": { + "version": "2.3.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/mdurl": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/merge2": { + "version": "1.4.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/meshoptimizer": { + "version": "0.18.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/micromatch": { + "version": "4.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/mime": { + "version": "1.6.0", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/mime-db": { + "version": "1.52.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/mime-types": { + "version": "2.1.35", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/mimic-fn": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/mimic-response": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/min-document": { + "version": "2.19.0", + "dev": true, + "dependencies": { + "dom-walk": "^0.1.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/minimatch": { + "version": "9.0.3", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "../../../../../needle-engine/js/package~/node_modules/minimist": { + "version": "1.2.8", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/minipass": { + "version": "5.0.0", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/minizlib": { + "version": "2.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/minizlib/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/mkdirp": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/mkdirp-classic": { + "version": "0.5.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/mkdirp2": { + "version": "1.0.5", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/module-definition": { + "version": "3.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ast-module-types": "^3.0.0", + "node-source-walk": "^4.0.0" + }, + "bin": { + "module-definition": "bin/cli.js" + }, + "engines": { + "node": ">=6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/module-lookup-amd": { + "version": "7.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "commander": "^2.8.1", + "debug": "^4.1.0", + "glob": "^7.1.6", + "requirejs": "^2.3.5", + "requirejs-config-file": "^4.0.0" + }, + "bin": { + "lookup-amd": "bin/cli.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/module-lookup-amd/node_modules/commander": { + "version": "2.20.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/moment": { + "version": "2.30.1", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/msdf-bmfont-xml": { + "version": "2.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "arabic-persian-reshaper": "^1.0.1", + "cli-progress": "^3.10.0", + "commander": "^2.19.0", + "handlebars": "^4.7.2", + "is-invalid-path": "^1.0.2", + "jimp": "^0.3.5", + "js2xmlparser": "^4.0.0", + "map-limit": "0.0.1", + "maxrects-packer": "^2.4.0-alpha.0", + "opentype.js": "^0.11.0", + "update-notifier": "^5.1.0" + }, + "bin": { + "msdf-bmfont": "cli.js" + } + }, + "../../../../../needle-engine/js/package~/node_modules/msdf-bmfont-xml/node_modules/commander": { + "version": "2.20.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/mute-stream": { + "version": "1.0.0", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/n8ao": { + "version": "1.8.2", + "dev": true, + "license": "ISC", + "peerDependencies": { + "postprocessing": ">=6.30.0", + "three": ">=0.137" + } + }, + "../../../../../needle-engine/js/package~/node_modules/nan": { + "version": "2.19.0", + "dev": true, + "license": "MIT", + "optional": true + }, + "../../../../../needle-engine/js/package~/node_modules/nanoid": { + "version": "3.3.7", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/napi-build-utils": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/natural-compare": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/ndarray": { + "version": "1.0.19", + "dev": true, + "license": "MIT", + "dependencies": { + "iota-array": "^1.0.0", + "is-buffer": "^1.0.2" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ndarray-lanczos": { + "version": "0.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/ndarray": "^1.0.11", + "ndarray": "^1.0.19" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ndarray-ops": { + "version": "1.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "cwise-compiler": "^1.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ndarray-pack": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "cwise-compiler": "^1.1.2", + "ndarray": "^1.0.13" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ndarray-pixels": { + "version": "2.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/ndarray": "^1.0.11", + "get-pixels": "^3.3.3", + "ndarray": "^1.0.19", + "ndarray-ops": "^1.2.2", + "save-pixels": "^2.3.6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/neo-async": { + "version": "2.6.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/node-abi": { + "version": "3.57.0", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/node-abi/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/node-abi/node_modules/semver": { + "version": "7.6.0", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/node-abi/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/node-addon-api": { + "version": "5.1.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/node-bitmap": { + "version": "0.0.1", + "dev": true, + "engines": { + "node": ">=v0.6.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/node-domexception": { + "version": "1.0.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "license": "MIT", + "engines": { + "node": ">=10.5.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/node-fetch": { + "version": "3.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, + "../../../../../needle-engine/js/package~/node_modules/node-fetch/node_modules/data-uri-to-buffer": { + "version": "4.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "../../../../../needle-engine/js/package~/node_modules/node-releases": { + "version": "2.0.14", + "dev": true, + "license": "MIT", + "peer": true + }, + "../../../../../needle-engine/js/package~/node_modules/node-source-walk": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/node-stream-zip": { + "version": "1.15.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/antelle" + } + }, + "../../../../../needle-engine/js/package~/node_modules/nodemon": { + "version": "2.0.22", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^3.5.2", + "debug": "^3.2.7", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.1.2", + "pstree.remy": "^1.1.8", + "semver": "^5.7.1", + "simple-update-notifier": "^1.0.7", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5" + }, + "bin": { + "nodemon": "bin/nodemon.js" + }, + "engines": { + "node": ">=8.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nodemon" + } + }, + "../../../../../needle-engine/js/package~/node_modules/nodemon/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/nodemon/node_modules/debug": { + "version": "3.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/nodemon/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/nodemon/node_modules/semver": { + "version": "5.7.2", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "../../../../../needle-engine/js/package~/node_modules/nopt": { + "version": "1.0.10", + "dev": true, + "license": "MIT", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + } + }, + "../../../../../needle-engine/js/package~/node_modules/normalize-path": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/normalize-url": { + "version": "4.5.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/npm-package-arg": { + "version": "10.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^6.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/npm-package-arg/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/npm-package-arg/node_modules/semver": { + "version": "7.6.0", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/npm-package-arg/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/npm-watch": { + "version": "0.11.0", + "dev": true, + "license": "MIT", + "dependencies": { + "nodemon": "^2.0.7", + "through2": "^4.0.2" + }, + "bin": { + "npm-watch": "cli.js" + } + }, + "../../../../../needle-engine/js/package~/node_modules/npmlog": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "optional": true, + "dependencies": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/oauth-sign": { + "version": "0.9.0", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/object-assign": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/object-get": { + "version": "2.1.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/object-inspect": { + "version": "1.13.1", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/object-keys": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/object-to-spawn-args": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/object.assign": { + "version": "4.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/object.fromentries": { + "version": "2.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/object.groupby": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "array.prototype.filter": "^1.0.3", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/object.values": { + "version": "1.1.7", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/omggif": { + "version": "1.0.10", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/once": { + "version": "1.4.0", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/one-time": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "fn.name": "1.x.x" + } + }, + "../../../../../needle-engine/js/package~/node_modules/onetime": { + "version": "5.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/open": { + "version": "10.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/opentype.js": { + "version": "0.11.0", + "dev": true, + "license": "MIT", + "dependencies": { + "string.prototype.codepointat": "^0.2.1", + "tiny-inflate": "^1.0.2" + }, + "bin": { + "ot": "bin/ot" + } + }, + "../../../../../needle-engine/js/package~/node_modules/optionator": { + "version": "0.9.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ora": { + "version": "5.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ora/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ora/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ora/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ora/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/ora/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ora/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/os-tmpdir": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/p-cancelable": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/package-json": { + "version": "6.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/package-options": { + "version": "0.1.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/pako": { + "version": "0.2.9", + "dev": true, + "license": "MIT", + "optional": true + }, + "../../../../../needle-engine/js/package~/node_modules/parent-module": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/parse-bmfont-ascii": { + "version": "1.0.6", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/parse-bmfont-binary": { + "version": "1.0.6", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/parse-bmfont-xml": { + "version": "1.1.6", + "dev": true, + "license": "MIT", + "dependencies": { + "xml-parse-from-string": "^1.0.0", + "xml2js": "^0.5.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/parse-data-uri": { + "version": "0.2.0", + "dev": true, + "license": "ISC", + "dependencies": { + "data-uri-to-buffer": "0.0.3" + } + }, + "../../../../../needle-engine/js/package~/node_modules/parse-headers": { + "version": "2.0.5", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/parse-ms": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/path-is-absolute": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/path-key": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/path-parse": { + "version": "1.0.7", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/path-type": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/peerjs": { + "version": "1.4.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@swc/helpers": "^0.3.13", + "eventemitter3": "^4.0.7", + "peerjs-js-binarypack": "1.0.1", + "webrtc-adapter": "^7.7.1" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/peer" + } + }, + "../../../../../needle-engine/js/package~/node_modules/peerjs-js-binarypack": { + "version": "1.0.1", + "dev": true, + "license": "BSD" + }, + "../../../../../needle-engine/js/package~/node_modules/performance-now": { + "version": "2.1.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/phin": { + "version": "2.9.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/picocolors": { + "version": "1.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/picomatch": { + "version": "2.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "../../../../../needle-engine/js/package~/node_modules/pixelmatch": { + "version": "4.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "pngjs": "^3.0.0" + }, + "bin": { + "pixelmatch": "bin/pixelmatch" + } + }, + "../../../../../needle-engine/js/package~/node_modules/pluralize": { + "version": "8.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/pngjs": { + "version": "3.4.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/pngjs-nozlib": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">= 1.0.0", + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/possible-typed-array-names": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/postcss": { + "version": "8.4.35", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "../../../../../needle-engine/js/package~/node_modules/postcss-values-parser": { + "version": "5.0.0", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "color-name": "^1.1.4", + "is-url-superb": "^4.0.0", + "quote-unquote": "^1.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "../../../../../needle-engine/js/package~/node_modules/postcss-values-parser/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/postprocessing": { + "version": "6.35.5", + "dev": true, + "license": "Zlib", + "engines": { + "node": ">= 0.13.2" + }, + "peerDependencies": { + "three": ">= 0.152.0 < 0.166.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/prebuild-install": { + "version": "7.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/precinct": { + "version": "8.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "commander": "^2.20.3", + "debug": "^4.3.3", + "detective-amd": "^3.1.0", + "detective-cjs": "^3.1.1", + "detective-es6": "^2.2.1", + "detective-less": "^1.0.2", + "detective-postcss": "^4.0.0", + "detective-sass": "^3.0.1", + "detective-scss": "^2.0.1", + "detective-stylus": "^1.0.0", + "detective-typescript": "^7.0.0", + "module-definition": "^3.3.1", + "node-source-walk": "^4.2.0" + }, + "bin": { + "precinct": "bin/cli.js" + }, + "engines": { + "node": "^10.13 || ^12 || >=14" + } + }, + "../../../../../needle-engine/js/package~/node_modules/precinct/node_modules/commander": { + "version": "2.20.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/precinct/node_modules/detective-postcss": { + "version": "4.0.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "debug": "^4.1.1", + "is-url": "^1.2.4", + "postcss": "^8.1.7", + "postcss-values-parser": "^2.0.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "../../../../../needle-engine/js/package~/node_modules/precinct/node_modules/postcss-values-parser": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=6.14.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/prelude-ls": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/prepend-http": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/pretty-ms": { + "version": "7.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "parse-ms": "^2.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/proc-log": { + "version": "3.0.0", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/process": { + "version": "0.11.10", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/process-nextick-args": { + "version": "2.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/promise-ftp": { + "version": "1.3.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@icetee/ftp": "^0.3.15", + "bluebird": "2.x", + "promise-ftp-common": "^1.1.5" + }, + "engines": { + "iojs": "*", + "node": ">=0.11.13" + }, + "peerDependencies": { + "promise-ftp-common": "^1.1.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/promise-ftp-common": { + "version": "1.1.5", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/promise-ftp/node_modules/bluebird": { + "version": "2.11.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/promise-retry": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/promise-retry/node_modules/err-code": { + "version": "2.0.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/promise-retry/node_modules/retry": { + "version": "0.12.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/proper-lockfile": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "err-code": "^1.0.0", + "extend": "^3.0.0", + "graceful-fs": "^4.1.2", + "retry": "^0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/property-graph": { + "version": "1.3.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/psl": { + "version": "1.9.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/pstree.remy": { + "version": "1.1.8", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/pump": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/punycode": { + "version": "2.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/pupa": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-goat": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/qs": { + "version": "6.5.3", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/queue-microtask": { + "version": "1.2.3", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/queue-tick": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/quote-unquote": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/rc": { + "version": "1.2.8", + "dev": true, + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "../../../../../needle-engine/js/package~/node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/read": { + "version": "2.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "mute-stream": "~1.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/readable-stream": { + "version": "3.6.2", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/readdir-glob": { + "version": "1.1.3", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.1.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/readdir-glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/readdirp": { + "version": "3.6.0", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/rechoir": { + "version": "0.6.2", + "dev": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/reduce-extract": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "test-value": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/reduce-extract/node_modules/array-back": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "typical": "^2.6.0" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/reduce-extract/node_modules/test-value": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^1.0.2", + "typical": "^2.4.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/reduce-extract/node_modules/typical": { + "version": "2.6.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/reduce-flatten": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/reduce-unique": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/reduce-without": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "test-value": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/reduce-without/node_modules/array-back": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "typical": "^2.6.0" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/reduce-without/node_modules/test-value": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^1.0.3", + "typical": "^2.6.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/reduce-without/node_modules/typical": { + "version": "2.6.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/regenerator-runtime": { + "version": "0.14.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/regexp.prototype.flags": { + "version": "1.5.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/registry-auth-token": { + "version": "4.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "rc": "1.2.8" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/registry-url": { + "version": "5.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "rc": "^1.2.8" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/request": { + "version": "2.88.2", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/request/node_modules/form-data": { + "version": "2.3.3", + "dev": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "../../../../../needle-engine/js/package~/node_modules/request/node_modules/uuid": { + "version": "3.4.0", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "bin/uuid" + } + }, + "../../../../../needle-engine/js/package~/node_modules/requireindex": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/requirejs": { + "version": "2.3.6", + "dev": true, + "license": "MIT", + "bin": { + "r_js": "bin/r.js", + "r.js": "bin/r.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/requirejs-config-file": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "esprima": "^4.0.0", + "stringify-object": "^3.2.1" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/requizzle": { + "version": "0.2.4", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.21" + } + }, + "../../../../../needle-engine/js/package~/node_modules/resolve": { + "version": "1.22.8", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/resolve-dependency-path": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/resolve-from": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/responselike": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "lowercase-keys": "^1.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/restore-cursor": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/retry": { + "version": "0.10.1", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/reusify": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/rimraf": { + "version": "3.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "../../../../../needle-engine/js/package~/node_modules/rollup": { + "version": "3.29.4", + "dev": true, + "license": "MIT", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "../../../../../needle-engine/js/package~/node_modules/rtcpeerconnection-shim": { + "version": "1.2.15", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "sdp": "^2.6.0" + }, + "engines": { + "node": ">=6.0.0", + "npm": ">=3.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/run-applescript": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/run-async": { + "version": "2.4.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/run-parallel": { + "version": "1.2.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "../../../../../needle-engine/js/package~/node_modules/rxjs": { + "version": "6.6.7", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/rxjs/node_modules/tslib": { + "version": "1.14.1", + "dev": true, + "license": "0BSD" + }, + "../../../../../needle-engine/js/package~/node_modules/safe-array-concat": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "get-intrinsic": "^1.2.2", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/safe-buffer": { + "version": "5.2.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/safe-regex-test": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/safe-stable-stringify": { + "version": "2.4.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/safer-buffer": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/sass-lookup": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "commander": "^2.16.0" + }, + "bin": { + "sass-lookup": "bin/cli.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/sass-lookup/node_modules/commander": { + "version": "2.20.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/save-pixels": { + "version": "2.3.6", + "dev": true, + "license": "MIT", + "dependencies": { + "contentstream": "^1.0.0", + "gif-encoder": "~0.4.1", + "jpeg-js": "^0.4.3", + "ndarray": "^1.0.18", + "ndarray-ops": "^1.2.2", + "pngjs-nozlib": "^1.0.0", + "through": "^2.3.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/save-pixels/node_modules/jpeg-js": { + "version": "0.4.4", + "dev": true, + "license": "BSD-3-Clause" + }, + "../../../../../needle-engine/js/package~/node_modules/sax": { + "version": "1.3.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/sdp": { + "version": "2.12.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "../../../../../needle-engine/js/package~/node_modules/semver-diff": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/set-blocking": { + "version": "2.0.0", + "dev": true, + "license": "ISC", + "optional": true + }, + "../../../../../needle-engine/js/package~/node_modules/set-function-length": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.2", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/set-function-name": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/sharp": { + "version": "0.31.3", + "dev": true, + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.1", + "node-addon-api": "^5.0.0", + "prebuild-install": "^7.1.1", + "semver": "^7.3.8", + "simple-get": "^4.0.1", + "tar-fs": "^2.1.1", + "tunnel-agent": "^0.6.0" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "../../../../../needle-engine/js/package~/node_modules/sharp/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/sharp/node_modules/semver": { + "version": "7.6.0", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/sharp/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/shebang-command": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/shebang-regex": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/shelljs": { + "version": "0.8.5", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/side-channel": { + "version": "1.0.6", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/signal-exit": { + "version": "3.0.7", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/simple-concat": { + "version": "1.0.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/simple-get": { + "version": "4.0.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/simple-swizzle": { + "version": "0.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/simple-update-notifier": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "~7.0.0" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/simple-update-notifier/node_modules/semver": { + "version": "7.0.0", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "../../../../../needle-engine/js/package~/node_modules/simplex-noise": { + "version": "4.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/slash": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/slice-ansi": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/sort-array": { + "version": "4.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^5.0.0", + "typical": "^6.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/sort-array/node_modules/array-back": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/sort-array/node_modules/typical": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/source-map": { + "version": "0.6.1", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/source-map-js": { + "version": "1.0.2", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ssh2": { + "version": "1.15.0", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "asn1": "^0.2.6", + "bcrypt-pbkdf": "^1.0.2" + }, + "engines": { + "node": ">=10.16.0" + }, + "optionalDependencies": { + "cpu-features": "~0.0.9", + "nan": "^2.18.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ssh2-sftp-client": { + "version": "7.2.3", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "concat-stream": "^2.0.0", + "promise-retry": "^2.0.1", + "ssh2": "^1.8.0" + }, + "engines": { + "node": ">=10.24.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/sshpk": { + "version": "1.18.0", + "dev": true, + "license": "MIT", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/stack-trace": { + "version": "0.0.10", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/stats.js": { + "version": "0.17.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/stream-connect": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/stream-connect/node_modules/array-back": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "typical": "^2.6.0" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/stream-connect/node_modules/typical": { + "version": "2.6.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/stream-via": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/streamx": { + "version": "2.16.1", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-fifo": "^1.1.0", + "queue-tick": "^1.0.1" + }, + "optionalDependencies": { + "bare-events": "^2.2.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/string_decoder": { + "version": "1.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/string-width": { + "version": "4.2.3", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/string.prototype.codepointat": { + "version": "0.2.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/string.prototype.trim": { + "version": "1.2.8", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/string.prototype.trimend": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/string.prototype.trimstart": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/stringify-object": { + "version": "3.3.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/strip-ansi": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/strip-bom": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/strip-json-comments": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/stylus-lookup": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "commander": "^2.8.1", + "debug": "^4.1.0" + }, + "bin": { + "stylus-lookup": "bin/cli.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/stylus-lookup/node_modules/commander": { + "version": "2.20.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/supports-color": { + "version": "5.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/table": { + "version": "5.4.6", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/table-layout": { + "version": "0.4.5", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^2.0.0", + "deep-extend": "~0.6.0", + "lodash.padend": "^4.6.1", + "typical": "^2.6.1", + "wordwrapjs": "^3.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/table-layout/node_modules/array-back": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/table-layout/node_modules/typical": { + "version": "2.6.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/table/node_modules/ansi-regex": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/table/node_modules/emoji-regex": { + "version": "7.0.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/table/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/table/node_modules/string-width": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/table/node_modules/strip-ansi": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/tabtab": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.0.1", + "es6-promisify": "^6.0.0", + "inquirer": "^6.0.0", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "untildify": "^3.0.3" + } + }, + "../../../../../needle-engine/js/package~/node_modules/tabtab/node_modules/mkdirp": { + "version": "0.5.6", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "../../../../../needle-engine/js/package~/node_modules/tapable": { + "version": "2.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/tar": { + "version": "6.2.0", + "dev": true, + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/tar-fs": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/tar-fs/node_modules/chownr": { + "version": "1.1.4", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/tar-stream": { + "version": "2.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/tar/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/temp": { + "version": "0.4.0", + "dev": true, + "engines": [ + "node >=0.4.0" + ] + }, + "../../../../../needle-engine/js/package~/node_modules/temp-path": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/test-value": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^2.0.0", + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/test-value/node_modules/array-back": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/test-value/node_modules/typical": { + "version": "2.6.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/text-hex": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/text-table": { + "version": "0.2.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/three": { + "name": "@needle-tools/three", + "version": "0.162.8", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/three-mesh-bvh": { + "version": "0.7.6", + "dev": true, + "license": "MIT", + "peerDependencies": { + "three": ">= 0.151.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/three-mesh-ui": { + "name": "@needle-tools/three-mesh-ui", + "version": "7.1.5-alpha.5", + "dev": true, + "license": "MIT", + "engines": { + "node": "x.x.x" + }, + "peerDependencies": { + "three": ">=0.154.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/three.quarks": { + "version": "0.10.8", + "dev": true, + "license": "MIT", + "peerDependencies": { + "three": ">=0.153.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/through": { + "version": "2.3.8", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/through2": { + "version": "4.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "3" + } + }, + "../../../../../needle-engine/js/package~/node_modules/timm": { + "version": "1.7.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/tiny-inflate": { + "version": "1.0.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/tinycolor2": { + "version": "1.6.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/tmp": { + "version": "0.2.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, + "../../../../../needle-engine/js/package~/node_modules/to-fast-properties": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/to-readable-stream": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/js/package~/node_modules/to-regex-range": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/touch": { + "version": "3.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "nopt": "~1.0.10" + }, + "bin": { + "nodetouch": "bin/nodetouch.js" + } + }, + "../../../../../needle-engine/js/package~/node_modules/tough-cookie": { + "version": "2.5.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/tr46": { + "version": "0.0.3", + "dev": true, + "license": "MIT", + "optional": true + }, + "../../../../../needle-engine/js/package~/node_modules/triple-beam": { + "version": "1.4.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ts-api-utils": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/tsconfig-paths": { + "version": "3.15.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "../../../../../needle-engine/js/package~/node_modules/tslib": { + "version": "2.6.2", + "dev": true, + "license": "0BSD" + }, + "../../../../../needle-engine/js/package~/node_modules/tsutils": { + "version": "3.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "../../../../../needle-engine/js/package~/node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "dev": true, + "license": "0BSD" + }, + "../../../../../needle-engine/js/package~/node_modules/tunnel-agent": { + "version": "0.6.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/tweetnacl": { + "version": "0.14.5", + "dev": true, + "license": "Unlicense" + }, + "../../../../../needle-engine/js/package~/node_modules/type-check": { + "version": "0.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/type-fest": { + "version": "0.20.2", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/typed-array-buffer": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/typed-array-byte-length": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/typed-array-byte-offset": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/typed-array-length": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/typedarray": { + "version": "0.0.6", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/typescript": { + "version": "4.9.5", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/typical": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/uc.micro": { + "version": "1.0.6", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/uglify-js": { + "version": "3.17.4", + "dev": true, + "license": "BSD-2-Clause", + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/ultimate-text-to-image": { + "version": "1.0.1", + "dev": true, + "license": "MIT License", + "optional": true, + "dependencies": { + "canvas": "^2.10.2", + "linebreak-next": "^1.0.3" + } + }, + "../../../../../needle-engine/js/package~/node_modules/unbox-primitive": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/undefsafe": { + "version": "2.0.5", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/underscore": { + "version": "1.13.6", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/undici-types": { + "version": "5.26.5", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/unicode-trie": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/uniq": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/unique-string": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/unit-compare": { + "version": "1.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "moment": "^2.14.1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/universalify": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/untildify": { + "version": "3.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/upath": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "../../../../../needle-engine/js/package~/node_modules/update-browserslist-db": { + "version": "1.0.13", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/update-notifier": { + "version": "5.1.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boxen": "^5.0.0", + "chalk": "^4.1.0", + "configstore": "^5.0.1", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.4.0", + "is-npm": "^5.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.1.0", + "pupa": "^2.1.1", + "semver": "^7.3.4", + "semver-diff": "^3.1.1", + "xdg-basedir": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/yeoman/update-notifier?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/update-notifier/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/update-notifier/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/update-notifier/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/update-notifier/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/update-notifier/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/update-notifier/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/update-notifier/node_modules/semver": { + "version": "7.6.0", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/update-notifier/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/update-notifier/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/uri-js": { + "version": "4.4.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/url-parse-lax": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "prepend-http": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/utif": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "pako": "^1.0.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/utif/node_modules/pako": { + "version": "1.0.11", + "dev": true, + "license": "(MIT AND Zlib)" + }, + "../../../../../needle-engine/js/package~/node_modules/util-deprecate": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/uuid": { + "version": "9.0.1", + "dev": true, + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "../../../../../needle-engine/js/package~/node_modules/validate-npm-package-name": { + "version": "5.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "builtins": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/verror": { + "version": "1.10.0", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/vite": { + "version": "4.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.17.5", + "postcss": "^8.4.23", + "rollup": "^3.21.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "../../../../../needle-engine/js/package~/node_modules/vite/node_modules/esbuild": { + "version": "0.17.19", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.19", + "@esbuild/android-arm64": "0.17.19", + "@esbuild/android-x64": "0.17.19", + "@esbuild/darwin-arm64": "0.17.19", + "@esbuild/darwin-x64": "0.17.19", + "@esbuild/freebsd-arm64": "0.17.19", + "@esbuild/freebsd-x64": "0.17.19", + "@esbuild/linux-arm": "0.17.19", + "@esbuild/linux-arm64": "0.17.19", + "@esbuild/linux-ia32": "0.17.19", + "@esbuild/linux-loong64": "0.17.19", + "@esbuild/linux-mips64el": "0.17.19", + "@esbuild/linux-ppc64": "0.17.19", + "@esbuild/linux-riscv64": "0.17.19", + "@esbuild/linux-s390x": "0.17.19", + "@esbuild/linux-x64": "0.17.19", + "@esbuild/netbsd-x64": "0.17.19", + "@esbuild/openbsd-x64": "0.17.19", + "@esbuild/sunos-x64": "0.17.19", + "@esbuild/win32-arm64": "0.17.19", + "@esbuild/win32-ia32": "0.17.19", + "@esbuild/win32-x64": "0.17.19" + } + }, + "../../../../../needle-engine/js/package~/node_modules/walk-back": { + "version": "5.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.17" + } + }, + "../../../../../needle-engine/js/package~/node_modules/walkdir": { + "version": "0.4.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/wcwidth": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "../../../../../needle-engine/js/package~/node_modules/web-streams-polyfill": { + "version": "3.3.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/webidl-conversions": { + "version": "3.0.1", + "dev": true, + "license": "BSD-2-Clause", + "optional": true + }, + "../../../../../needle-engine/js/package~/node_modules/webrtc-adapter": { + "version": "7.7.1", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "rtcpeerconnection-shim": "^1.2.15", + "sdp": "^2.12.0" + }, + "engines": { + "node": ">=6.0.0", + "npm": ">=3.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/websocket-ts": { + "version": "2.1.5", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/whatwg-url": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/which": { + "version": "2.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/which-boxed-primitive": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/which-typed-array": { + "version": "1.1.14", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.6", + "call-bind": "^1.0.5", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/js/package~/node_modules/wide-align": { + "version": "1.1.5", + "dev": true, + "license": "ISC", + "optional": true, + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/widest-line": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/winston": { + "version": "3.12.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@colors/colors": "^1.6.0", + "@dabh/diagnostics": "^2.0.2", + "async": "^3.2.3", + "is-stream": "^2.0.0", + "logform": "^2.4.0", + "one-time": "^1.0.0", + "readable-stream": "^3.4.0", + "safe-stable-stringify": "^2.3.1", + "stack-trace": "0.0.x", + "triple-beam": "^1.3.0", + "winston-transport": "^4.7.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/winston-transport": { + "version": "4.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "logform": "^2.3.2", + "readable-stream": "^3.6.0", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/wordwrap": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/wordwrapjs": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "reduce-flatten": "^1.0.1", + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/wordwrapjs/node_modules/reduce-flatten": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/wordwrapjs/node_modules/typical": { + "version": "2.6.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/wrap-ansi": { + "version": "6.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "../../../../../needle-engine/js/package~/node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/wrappy": { + "version": "1.0.2", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/js/package~/node_modules/write-file-atomic": { + "version": "3.0.3", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "../../../../../needle-engine/js/package~/node_modules/xdg-basedir": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/js/package~/node_modules/xhr": { + "version": "2.6.0", + "dev": true, + "license": "MIT", + "dependencies": { + "global": "~4.4.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/xml-parse-from-string": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/xml2js": { + "version": "0.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/xmlbuilder": { + "version": "11.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0" + } + }, + "../../../../../needle-engine/js/package~/node_modules/xmlcreate": { + "version": "2.0.4", + "dev": true, + "license": "Apache-2.0" + }, + "../../../../../needle-engine/js/package~/node_modules/xregexp": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/js/package~/node_modules/xtend": { + "version": "4.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "../../../../../needle-engine/js/package~/node_modules/yallist": { + "version": "3.1.1", + "dev": true, + "license": "ISC", + "peer": true + }, + "../../../../../needle-engine/js/package~/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/js/package~/node_modules/zip-stream": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "archiver-utils": "^3.0.4", + "compress-commons": "^4.1.2", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" + } + }, + "../../../../../needle-engine/js/package~/node_modules/zip-stream/node_modules/archiver-utils": { + "version": "3.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "glob": "^7.2.3", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" + } + }, + "../../../../../needle-engine/modules/gltf-progressive": { + "name": "@needle-tools/gltf-progressive", + "version": "1.2.9", + "dev": true, + "devDependencies": { + "@stylistic/eslint-plugin-ts": "^1.5.4", + "@types/three": "0.162.0", + "@typescript-eslint/eslint-plugin": "^6.2.0", + "@typescript-eslint/parser": "^6.2.0", + "eslint": "^8.56.0", + "eslint-plugin-import": "^2.29.1", + "eslint-plugin-no-secrets": "^0.8.9", + "eslint-plugin-no-unsanitized": "^4.0.2", + "eslint-plugin-promise": "^6.1.1", + "eslint-plugin-xss": "^0.1.12", + "nodemon": "^3.1.4", + "npm-watch": "^0.13.0", + "three": ">= 0.160.0", + "vite": "<= 4.3.9" + }, + "peerDependencies": { + "three": ">= 0.160.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@esbuild/win32-x64": { + "version": "0.17.19", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@eslint-community/regexpp": { + "version": "4.11.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@eslint/js": { + "version": "8.57.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "dev": true, + "license": "BSD-3-Clause" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@stylistic/eslint-plugin-js": { + "version": "1.8.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint": "^8.56.10", + "acorn": "^8.11.3", + "escape-string-regexp": "^4.0.0", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "peerDependencies": { + "eslint": ">=8.40.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@stylistic/eslint-plugin-ts": { + "version": "1.8.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@stylistic/eslint-plugin-js": "1.8.1", + "@types/eslint": "^8.56.10", + "@typescript-eslint/utils": "^6.21.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "peerDependencies": { + "eslint": ">=8.40.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@tweenjs/tween.js": { + "version": "23.1.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@types/eslint": { + "version": "8.56.10", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@types/estree": { + "version": "1.0.5", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@types/json-schema": { + "version": "7.0.15", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@types/json5": { + "version": "0.0.29", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@types/semver": { + "version": "7.5.8", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@types/stats.js": { + "version": "0.17.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@types/three": { + "version": "0.162.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@tweenjs/tween.js": "~23.1.1", + "@types/stats.js": "*", + "@types/webxr": "*", + "fflate": "~0.6.10", + "meshoptimizer": "~0.18.1" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@types/webxr": { + "version": "0.5.19", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@typescript-eslint/eslint-plugin": { + "version": "6.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/type-utils": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@typescript-eslint/parser": { + "version": "6.21.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@typescript-eslint/scope-manager": { + "version": "6.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@typescript-eslint/type-utils": { + "version": "6.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@typescript-eslint/typescript-estree": { + "version": "6.21.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@typescript-eslint/utils": { + "version": "6.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@typescript-eslint/visitor-keys": { + "version": "6.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/acorn": { + "version": "8.12.1", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/acorn-jsx": { + "version": "5.3.2", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/ajv": { + "version": "6.12.6", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/ansi-regex": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/anymatch": { + "version": "3.1.3", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/argparse": { + "version": "2.0.1", + "dev": true, + "license": "Python-2.0" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/array-includes": { + "version": "3.1.8", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/array-union": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/array.prototype.findlastindex": { + "version": "1.2.5", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/array.prototype.flat": { + "version": "1.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/available-typed-arrays": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/balanced-match": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/binary-extensions": { + "version": "2.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/brace-expansion": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/braces": { + "version": "3.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/call-bind": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/callsites": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/chokidar": { + "version": "3.6.0", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/cross-spawn": { + "version": "7.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/data-view-buffer": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/data-view-byte-length": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/data-view-byte-offset": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/debug": { + "version": "4.3.5", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/deep-is": { + "version": "0.1.4", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/define-data-property": { + "version": "1.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/define-properties": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/dir-glob": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/doctrine": { + "version": "3.0.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/es-abstract": { + "version": "1.23.3", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.15" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/es-define-property": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/es-errors": { + "version": "1.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/es-object-atoms": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/es-set-tostringtag": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/es-shim-unscopables": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/es-to-primitive": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/esbuild": { + "version": "0.17.19", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.19", + "@esbuild/android-arm64": "0.17.19", + "@esbuild/android-x64": "0.17.19", + "@esbuild/darwin-arm64": "0.17.19", + "@esbuild/darwin-x64": "0.17.19", + "@esbuild/freebsd-arm64": "0.17.19", + "@esbuild/freebsd-x64": "0.17.19", + "@esbuild/linux-arm": "0.17.19", + "@esbuild/linux-arm64": "0.17.19", + "@esbuild/linux-ia32": "0.17.19", + "@esbuild/linux-loong64": "0.17.19", + "@esbuild/linux-mips64el": "0.17.19", + "@esbuild/linux-ppc64": "0.17.19", + "@esbuild/linux-riscv64": "0.17.19", + "@esbuild/linux-s390x": "0.17.19", + "@esbuild/linux-x64": "0.17.19", + "@esbuild/netbsd-x64": "0.17.19", + "@esbuild/openbsd-x64": "0.17.19", + "@esbuild/sunos-x64": "0.17.19", + "@esbuild/win32-arm64": "0.17.19", + "@esbuild/win32-ia32": "0.17.19", + "@esbuild/win32-x64": "0.17.19" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/escape-string-regexp": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint": { + "version": "8.57.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint-module-utils": { + "version": "2.8.1", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint-plugin-import": { + "version": "2.29.1", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.8.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", + "semver": "^6.3.1", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint-plugin-import/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint-plugin-import/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint-plugin-no-secrets": { + "version": "0.8.9", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0", + "npm": ">=6.9.0" + }, + "peerDependencies": { + "eslint": ">=3.0.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint-plugin-no-unsanitized": { + "version": "4.0.2", + "dev": true, + "license": "MPL-2.0", + "peerDependencies": { + "eslint": "^6 || ^7 || ^8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint-plugin-promise": { + "version": "6.4.0", + "dev": true, + "license": "ISC", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint-plugin-xss": { + "version": "0.1.12", + "dev": true, + "license": "ISC", + "dependencies": { + "requireindex": "~1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint-scope": { + "version": "7.2.2", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/espree": { + "version": "9.6.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/esquery": { + "version": "1.6.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/esrecurse": { + "version": "4.3.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/estraverse": { + "version": "5.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/esutils": { + "version": "2.0.3", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/fast-deep-equal": { + "version": "3.1.3", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/fast-glob": { + "version": "3.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/fast-levenshtein": { + "version": "2.0.6", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/fastq": { + "version": "1.17.1", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/fflate": { + "version": "0.6.10", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/file-entry-cache": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/fill-range": { + "version": "7.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/flat-cache": { + "version": "3.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/flatted": { + "version": "3.3.1", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/for-each": { + "version": "0.3.3", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/fs.realpath": { + "version": "1.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/function-bind": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/function.prototype.name": { + "version": "1.1.6", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/functions-have-names": { + "version": "1.2.3", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/get-intrinsic": { + "version": "1.2.4", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/get-symbol-description": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/glob": { + "version": "7.2.3", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/glob-parent": { + "version": "6.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/globals": { + "version": "13.24.0", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/globalthis": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/globby": { + "version": "11.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/gopd": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/graphemer": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/has-bigints": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/has-property-descriptors": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/has-proto": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/has-symbols": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/has-tostringtag": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/hasown": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/ignore": { + "version": "5.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/ignore-by-default": { + "version": "1.0.1", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/import-fresh": { + "version": "3.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/imurmurhash": { + "version": "0.1.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/inflight": { + "version": "1.0.6", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/inherits": { + "version": "2.0.4", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/internal-slot": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-array-buffer": { + "version": "3.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-bigint": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-binary-path": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-boolean-object": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-callable": { + "version": "1.2.7", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-core-module": { + "version": "2.14.0", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-data-view": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-date-object": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-extglob": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-glob": { + "version": "4.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-negative-zero": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-number": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-number-object": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-path-inside": { + "version": "3.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-regex": { + "version": "1.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-shared-array-buffer": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-string": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-symbol": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-typed-array": { + "version": "1.1.13", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/is-weakref": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/isarray": { + "version": "2.0.5", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/isexe": { + "version": "2.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/js-yaml": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/json-buffer": { + "version": "3.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/json-schema-traverse": { + "version": "0.4.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/json5": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/keyv": { + "version": "4.5.4", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/levn": { + "version": "0.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/lodash.merge": { + "version": "4.6.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/merge2": { + "version": "1.4.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/meshoptimizer": { + "version": "0.18.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/micromatch": { + "version": "4.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/minimatch": { + "version": "9.0.3", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/minimist": { + "version": "1.2.8", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/nanoid": { + "version": "3.3.7", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/natural-compare": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/nodemon": { + "version": "3.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^3.5.2", + "debug": "^4", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.1.2", + "pstree.remy": "^1.1.8", + "semver": "^7.5.3", + "simple-update-notifier": "^2.0.0", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5" + }, + "bin": { + "nodemon": "bin/nodemon.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nodemon" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/nodemon/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/nodemon/node_modules/has-flag": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/nodemon/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/nodemon/node_modules/supports-color": { + "version": "5.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/normalize-path": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/npm-watch": { + "version": "0.13.0", + "dev": true, + "license": "MIT", + "dependencies": { + "nodemon": "^3.0.1", + "through2": "^4.0.2" + }, + "bin": { + "npm-watch": "cli.js" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/object-inspect": { + "version": "1.13.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/object-keys": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/object.assign": { + "version": "4.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/object.fromentries": { + "version": "2.0.8", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/object.groupby": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/object.values": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/once": { + "version": "1.4.0", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/optionator": { + "version": "0.9.4", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/parent-module": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/path-is-absolute": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/path-key": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/path-parse": { + "version": "1.0.7", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/path-type": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/picocolors": { + "version": "1.0.1", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/picomatch": { + "version": "2.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/possible-typed-array-names": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/postcss": { + "version": "8.4.39", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/prelude-ls": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/pstree.remy": { + "version": "1.1.8", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/punycode": { + "version": "2.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/queue-microtask": { + "version": "1.2.3", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/readable-stream": { + "version": "3.6.2", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/readdirp": { + "version": "3.6.0", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/regexp.prototype.flags": { + "version": "1.5.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/requireindex": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.5" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/resolve": { + "version": "1.22.8", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/resolve-from": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/reusify": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/rimraf": { + "version": "3.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/rollup": { + "version": "3.29.4", + "dev": true, + "license": "MIT", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/run-parallel": { + "version": "1.2.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/safe-array-concat": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/safe-buffer": { + "version": "5.2.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/safe-regex-test": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/semver": { + "version": "7.6.3", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/set-function-length": { + "version": "1.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/set-function-name": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/shebang-command": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/shebang-regex": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/side-channel": { + "version": "1.0.6", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/simple-update-notifier": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/slash": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/source-map-js": { + "version": "1.2.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/string_decoder": { + "version": "1.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/string.prototype.trim": { + "version": "1.2.9", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/string.prototype.trimend": { + "version": "1.0.8", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/strip-ansi": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/strip-bom": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/strip-json-comments": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/text-table": { + "version": "0.2.0", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/three": { + "version": "0.166.1", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/through2": { + "version": "4.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "3" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/to-regex-range": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/touch": { + "version": "3.1.1", + "dev": true, + "license": "ISC", + "bin": { + "nodetouch": "bin/nodetouch.js" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/ts-api-utils": { + "version": "1.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/tsconfig-paths": { + "version": "3.15.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/type-check": { + "version": "0.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/type-fest": { + "version": "0.20.2", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/typed-array-buffer": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/typed-array-byte-length": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/typed-array-byte-offset": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/typed-array-length": { + "version": "1.0.6", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/typescript": { + "version": "5.5.3", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/unbox-primitive": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/undefsafe": { + "version": "2.0.5", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/uri-js": { + "version": "4.4.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/util-deprecate": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/vite": { + "version": "4.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.17.5", + "postcss": "^8.4.23", + "rollup": "^3.21.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/which": { + "version": "2.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/which-boxed-primitive": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/which-typed-array": { + "version": "1.1.15", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/word-wrap": { + "version": "1.2.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/wrappy": { + "version": "1.0.2", + "dev": true, + "license": "ISC" + }, + "../../../../../needle-engine/modules/gltf-progressive/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@mediapipe/tasks-vision": { + "version": "0.10.14", + "license": "Apache-2.0" + }, + "node_modules/@needle-tools/engine": { + "resolved": "../../../../../needle-engine/js/package~", + "link": true + }, + "node_modules/@tweenjs/tween.js": { + "version": "23.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/stats.js": { + "version": "0.17.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/three": { + "version": "0.162.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@tweenjs/tween.js": "~23.1.1", + "@types/stats.js": "*", + "@types/webxr": "*", + "fflate": "~0.6.10", + "meshoptimizer": "~0.18.1" + } + }, + "node_modules/@types/webxr": { + "version": "0.5.20", + "dev": true, + "license": "MIT" + }, + "node_modules/fflate": { + "version": "0.6.10", + "dev": true, + "license": "MIT" + }, + "node_modules/meshoptimizer": { + "version": "0.18.1", + "dev": true, + "license": "MIT" + }, + "node_modules/three": { + "name": "@needle-tools/three", + "version": "0.162.9", + "dev": true, + "license": "MIT" } } } diff --git a/package/Runtime/Mediapipe/needle-mediapipe~/package.json b/package/Runtime/Mediapipe/needle-mediapipe~/package.json index 0dd9b35ca..3ac2bd555 100644 --- a/package/Runtime/Mediapipe/needle-mediapipe~/package.json +++ b/package/Runtime/Mediapipe/needle-mediapipe~/package.json @@ -3,15 +3,15 @@ "version": "1.0.0", "main": "index.ts", "dependencies": { - "@mediapipe/tasks-vision": "^0.10.0" + "@mediapipe/tasks-vision": "^0.10.14" }, "peerDependencies": { - "@needle-tools/engine": "^3.34.2-alpha.2", - "three": "npm:@needle-tools/three@^0.162.1" + "@needle-tools/engine": "file:C:\\git\\needle-engine-dev\\modules\\needle-engine\\js\\package~", + "three": "npm:@needle-tools/three@^0.162.9" }, "devDependencies": { - "@needle-tools/engine": "^3.34.2-alpha.2", + "@needle-tools/engine": "file:C:\\git\\needle-engine-dev\\modules\\needle-engine\\js\\package~", "@types/three": "0.162.0", - "three": "npm:@needle-tools/three@^0.162.1" + "three": "npm:@needle-tools/three@^0.162.9" } } \ No newline at end of file diff --git a/package/Runtime/MovieSet.meta b/package/Runtime/MovieSet.meta new file mode 100644 index 000000000..0d7ed8e99 --- /dev/null +++ b/package/Runtime/MovieSet.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8e8a11c3645364d4c823957329dab580 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/MovieSet/Assets.meta b/package/Runtime/MovieSet/Assets.meta new file mode 100644 index 000000000..114f6a1bc --- /dev/null +++ b/package/Runtime/MovieSet/Assets.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9ffa71bf0486afa4299e4044ad0807eb +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/MovieSet/Assets/Box.mat b/package/Runtime/MovieSet/Assets/Box.mat new file mode 100644 index 000000000..ba227cd03 --- /dev/null +++ b/package/Runtime/MovieSet/Assets/Box.mat @@ -0,0 +1,264 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Box + m_Shader: {fileID: -6465566751694194690, guid: 478ce3626be7a5f4ea58d6b13f05a2e4, type: 3} + m_ValidKeywords: + - _VERTEX_COLORS_ON + - _VOLUME_TRANSMISSION_OFF + m_InvalidKeywords: [] + m_LightmapFlags: 6 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 2000 + stringTagMap: + RenderType: Opaque + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - baseColorTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - clearcoatRoughnessTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 0, y: 0} + m_Offset: {x: 0, y: 0} + - clearcoatTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - emissiveTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - iridescenceTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - iridescenceThicknessTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - metallicRoughnessTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - normalTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - occlusionTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - specularColorTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - specularTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - thicknessTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - transmissionTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AlphaClip: 0 + - _BUILTIN_AlphaClip: 0 + - _BUILTIN_Blend: 0 + - _BUILTIN_CullMode: 2 + - _BUILTIN_DstBlend: 0 + - _BUILTIN_QueueControl: 1 + - _BUILTIN_QueueOffset: 0 + - _BUILTIN_SrcBlend: 1 + - _BUILTIN_Surface: 0 + - _BUILTIN_ZTest: 4 + - _BUILTIN_ZWrite: 1 + - _BUILTIN_ZWriteControl: 0 + - _Blend: 0 + - _BumpScale: 1 + - _CLEARCOAT: 0 + - _CastShadows: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _IRIDESCENCE: 0 + - _Metallic: 0 + - _NormalMapFormatXYZ: 0 + - _OcclusionStrength: 1 + - _OverrideSurfaceMode: 0 + - _Parallax: 0.005 + - _QueueControl: -1 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _SPECULAR: 0 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _Surface: 0 + - _TEXTURE_TRANSFORM: 0 + - _VERTEX_COLORS: 1 + - _VOLUME_ON: 0 + - _VOLUME_TRANSMISSION: 0 + - _WorkflowMode: 1 + - _ZTest: 4 + - _ZWrite: 1 + - _ZWriteControl: 0 + - alphaCutoff: -0.5 + - attenuationDistance: 0.001 + - baseColorTextureRotation: 0 + - baseColorTextureTexCoord: 0 + - clearcoatFactor: 0 + - clearcoatRoughnessFactor: 0 + - clearcoatRoughnessTextureRotation: 0 + - clearcoatRoughnessTextureTexCoord: 0 + - clearcoatTextureRotation: 0 + - clearcoatTextureTexCoord: 0 + - dispersion: 0 + - emissiveTextureRotation: 0 + - emissiveTextureTexCoord: 0 + - ior: 1.5 + - iridescenceFactor: 0 + - iridescenceIor: 1.3 + - iridescenceTextureRotation: 0 + - iridescenceTextureTexCoord: 0 + - iridescenceThicknessMaximum: 400 + - iridescenceThicknessMinimum: 100 + - iridescenceThicknessTextureRotation: 0 + - iridescenceThicknessTextureTexCoord: 0 + - metallicFactor: 0 + - metallicRoughnessTextureRotation: 0 + - metallicRoughnessTextureTexCoord: 0 + - normalScale: 1 + - normalTextureRotation: 0 + - normalTextureTexCoord: 0 + - occlusionStrength: 1 + - occlusionTextureRotation: 0 + - occlusionTextureTexCoord: 0 + - roughnessFactor: 0.71 + - specularColorTextureRotation: 0 + - specularColorTextureTexCoord: 0 + - specularFactor: 1 + - specularTextureRotation: 0 + - specularTextureTexCoord: 0 + - thicknessFactor: 0 + - thicknessTextureRotation: 0 + - thicknessTextureTexCoord: 0 + - transmissionFactor: 0 + - transmissionTextureRotation: 0 + - transmissionTextureTexCoord: 0 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + - attenuationColor: {r: 1, g: 1, b: 1, a: 0} + - baseColorFactor: {r: 0.754717, g: 0.754717, b: 0.754717, a: 1} + - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} + - specularColorFactor: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!114 &2604497185302687635 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 639247ca83abc874e893eb93af2b5e44, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 0 +--- !u!114 &7607338900922641575 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 5 diff --git a/package/Runtime/MovieSet/Assets/Box.mat.meta b/package/Runtime/MovieSet/Assets/Box.mat.meta new file mode 100644 index 000000000..26353d5da --- /dev/null +++ b/package/Runtime/MovieSet/Assets/Box.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9bac9b0bb71176342960f0b72cda16a0 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/MovieSet/Assets/Canvas.mat b/package/Runtime/MovieSet/Assets/Canvas.mat new file mode 100644 index 000000000..39a7caa29 --- /dev/null +++ b/package/Runtime/MovieSet/Assets/Canvas.mat @@ -0,0 +1,264 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Canvas + m_Shader: {fileID: -6465566751694194690, guid: 478ce3626be7a5f4ea58d6b13f05a2e4, type: 3} + m_ValidKeywords: + - _VERTEX_COLORS_ON + - _VOLUME_TRANSMISSION_OFF + m_InvalidKeywords: [] + m_LightmapFlags: 6 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 2000 + stringTagMap: + RenderType: Opaque + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - baseColorTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - clearcoatRoughnessTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 0, y: 0} + m_Offset: {x: 0, y: 0} + - clearcoatTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - emissiveTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - iridescenceTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - iridescenceThicknessTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - metallicRoughnessTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - normalTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - occlusionTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - specularColorTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - specularTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - thicknessTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - transmissionTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AlphaClip: 0 + - _BUILTIN_AlphaClip: 0 + - _BUILTIN_Blend: 0 + - _BUILTIN_CullMode: 2 + - _BUILTIN_DstBlend: 0 + - _BUILTIN_QueueControl: 1 + - _BUILTIN_QueueOffset: 0 + - _BUILTIN_SrcBlend: 1 + - _BUILTIN_Surface: 0 + - _BUILTIN_ZTest: 4 + - _BUILTIN_ZWrite: 1 + - _BUILTIN_ZWriteControl: 0 + - _Blend: 0 + - _BumpScale: 1 + - _CLEARCOAT: 0 + - _CastShadows: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _IRIDESCENCE: 0 + - _Metallic: 0 + - _NormalMapFormatXYZ: 0 + - _OcclusionStrength: 1 + - _OverrideSurfaceMode: 0 + - _Parallax: 0.005 + - _QueueControl: -1 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _SPECULAR: 0 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _Surface: 0 + - _TEXTURE_TRANSFORM: 0 + - _VERTEX_COLORS: 1 + - _VOLUME_ON: 0 + - _VOLUME_TRANSMISSION: 0 + - _WorkflowMode: 1 + - _ZTest: 4 + - _ZWrite: 1 + - _ZWriteControl: 0 + - alphaCutoff: -0.5 + - attenuationDistance: 0.001 + - baseColorTextureRotation: 0 + - baseColorTextureTexCoord: 0 + - clearcoatFactor: 0 + - clearcoatRoughnessFactor: 0 + - clearcoatRoughnessTextureRotation: 0 + - clearcoatRoughnessTextureTexCoord: 0 + - clearcoatTextureRotation: 0 + - clearcoatTextureTexCoord: 0 + - dispersion: 0 + - emissiveTextureRotation: 0 + - emissiveTextureTexCoord: 0 + - ior: 1.5 + - iridescenceFactor: 0 + - iridescenceIor: 1.3 + - iridescenceTextureRotation: 0 + - iridescenceTextureTexCoord: 0 + - iridescenceThicknessMaximum: 400 + - iridescenceThicknessMinimum: 100 + - iridescenceThicknessTextureRotation: 0 + - iridescenceThicknessTextureTexCoord: 0 + - metallicFactor: 0.087 + - metallicRoughnessTextureRotation: 0 + - metallicRoughnessTextureTexCoord: 0 + - normalScale: 1 + - normalTextureRotation: 0 + - normalTextureTexCoord: 0 + - occlusionStrength: 1 + - occlusionTextureRotation: 0 + - occlusionTextureTexCoord: 0 + - roughnessFactor: 0.985 + - specularColorTextureRotation: 0 + - specularColorTextureTexCoord: 0 + - specularFactor: 1 + - specularTextureRotation: 0 + - specularTextureTexCoord: 0 + - thicknessFactor: 0 + - thicknessTextureRotation: 0 + - thicknessTextureTexCoord: 0 + - transmissionFactor: 0 + - transmissionTextureRotation: 0 + - transmissionTextureTexCoord: 0 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + - attenuationColor: {r: 1, g: 1, b: 1, a: 0} + - baseColorFactor: {r: 0.8, g: 0.8, b: 0.8, a: 1} + - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} + - specularColorFactor: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!114 &7607338900922641575 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 5 +--- !u!114 &9065365114141014416 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 639247ca83abc874e893eb93af2b5e44, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 0 diff --git a/package/Runtime/MovieSet/Assets/Canvas.mat.meta b/package/Runtime/MovieSet/Assets/Canvas.mat.meta new file mode 100644 index 000000000..95dcb998e --- /dev/null +++ b/package/Runtime/MovieSet/Assets/Canvas.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f3ea578003903414b8a2246b101c5704 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/MovieSet/Assets/CharacterAnimator.controller b/package/Runtime/MovieSet/Assets/CharacterAnimator.controller new file mode 100644 index 000000000..519eaac7b --- /dev/null +++ b/package/Runtime/MovieSet/Assets/CharacterAnimator.controller @@ -0,0 +1,391 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1101 &-7818240133594697054 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: [] + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 2039641956487271909} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.15718222 + m_TransitionOffset: 0.20063992 + m_ExitTime: 0.90221006 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1102 &-6137526445320411459 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Salsa dance 2 + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 2514517348111093586} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: -203655887218126122, guid: 6c5591917b12075449acc192d12e2aaf, type: 3} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1102 &-5395769565743125433 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Salsa dance 3 + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 1146782037165081399} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: -203655887218126122, guid: 6c5591917b12075449acc192d12e2aaf, type: 3} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1102 &-4599318303028162183 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Salsa dance 1 + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 2411816378285391090} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: -203655887218126122, guid: 6c5591917b12075449acc192d12e2aaf, type: 3} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1101 &-4395352358838968789 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: [] + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 8614167963575460486} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 1.0331485 + m_TransitionOffset: 0 + m_ExitTime: 0.7686981 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &-1213459983748277608 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: [] + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 8614167963575460486} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 1.0331485 + m_TransitionOffset: 0 + m_ExitTime: 0.7686981 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: CharacterAnimator + serializedVersion: 5 + m_AnimatorParameters: [] + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: 4484840025264162901} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} +--- !u!1101 &317819290998860157 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: [] + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 8614167963575460486} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 1.0331485 + m_TransitionOffset: 0 + m_ExitTime: 0.7686981 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &1146782037165081399 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: [] + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 8614167963575460486} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.94402987 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &1592083332303409647 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: [] + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -4599318303028162183} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.58646405 + m_TransitionOffset: 0 + m_ExitTime: 0.6913347 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1102 &2039641956487271909 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: cheering + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 1592083332303409647} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: -203655887218126122, guid: f32e741afea59604fb3889dd8ccfa248, type: 3} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1101 &2411816378285391090 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: [] + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -6137526445320411459} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 1 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &2514517348111093586 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: [] + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -5395769565743125433} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 1 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1107 &4484840025264162901 +AnimatorStateMachine: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Base Layer + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: 2039641956487271909} + m_Position: {x: 130, y: 360, z: 0} + - serializedVersion: 1 + m_State: {fileID: -4599318303028162183} + m_Position: {x: 410, y: 380, z: 0} + - serializedVersion: 1 + m_State: {fileID: 8614167963575460486} + m_Position: {x: 130, y: 470, z: 0} + - serializedVersion: 1 + m_State: {fileID: -6137526445320411459} + m_Position: {x: 410, y: 430, z: 0} + - serializedVersion: 1 + m_State: {fileID: -5395769565743125433} + m_Position: {x: 410, y: 480, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 50, y: 20, z: 0} + m_EntryPosition: {x: 50, y: 120, z: 0} + m_ExitPosition: {x: 800, y: 120, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: 2039641956487271909} +--- !u!1101 &5251483242263509278 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: [] + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 8614167963575460486} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 1.0331485 + m_TransitionOffset: 0 + m_ExitTime: 0.7686981 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1102 &8614167963575460486 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Wave Hip Hop Dance + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: -7818240133594697054} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: -203655887218126122, guid: ea61a046b4319074fb3fca5236ce7f09, type: 3} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: diff --git a/package/Runtime/MovieSet/Assets/CharacterAnimator.controller.meta b/package/Runtime/MovieSet/Assets/CharacterAnimator.controller.meta new file mode 100644 index 000000000..454f37d20 --- /dev/null +++ b/package/Runtime/MovieSet/Assets/CharacterAnimator.controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 64865e3041ae1c849bb998c170ccef18 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/MovieSet/Assets/PhotoMat.mat b/package/Runtime/MovieSet/Assets/PhotoMat.mat new file mode 100644 index 000000000..9e533ecef --- /dev/null +++ b/package/Runtime/MovieSet/Assets/PhotoMat.mat @@ -0,0 +1,167 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-8909354026560605446 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 639247ca83abc874e893eb93af2b5e44, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 0 +--- !u!114 &-7260937856162811784 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 5 +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: PhotoMat + m_Shader: {fileID: -6465566751694194690, guid: 59541e6caf586ca4f96ccf48a4813a51, type: 3} + m_ValidKeywords: + - _VERTEX_COLORS_ON + m_InvalidKeywords: [] + m_LightmapFlags: 6 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 2000 + stringTagMap: + RenderType: Opaque + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - baseColorTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AlphaClip: 0 + - _BUILTIN_AlphaClip: 0 + - _BUILTIN_Blend: 0 + - _BUILTIN_CullMode: 2 + - _BUILTIN_DstBlend: 0 + - _BUILTIN_QueueControl: 1 + - _BUILTIN_QueueOffset: 0 + - _BUILTIN_SrcBlend: 1 + - _BUILTIN_Surface: 0 + - _BUILTIN_ZTest: 4 + - _BUILTIN_ZWrite: 1 + - _BUILTIN_ZWriteControl: 0 + - _Blend: 0 + - _BlendOp: 0 + - _BumpScale: 1 + - _CastShadows: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueControl: -1 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _SampleGI: 0 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _Surface: 0 + - _TEXTURE_TRANSFORM: 0 + - _VERTEX_COLORS: 1 + - _WorkflowMode: 1 + - _ZTest: 4 + - _ZWrite: 1 + - _ZWriteControl: 0 + - alphaCutoff: -0.5 + - baseColorTextureRotation: 0 + - baseColorTextureTexCoord: 0 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + - baseColorFactor: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] diff --git a/package/Runtime/MovieSet/Assets/PhotoMat.mat.meta b/package/Runtime/MovieSet/Assets/PhotoMat.mat.meta new file mode 100644 index 000000000..34c06eeb7 --- /dev/null +++ b/package/Runtime/MovieSet/Assets/PhotoMat.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d482eb07503c4bf469984785b67355a5 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/MovieSet/Assets/PhotoPrefab.prefab b/package/Runtime/MovieSet/Assets/PhotoPrefab.prefab new file mode 100644 index 000000000..3d92196b5 --- /dev/null +++ b/package/Runtime/MovieSet/Assets/PhotoPrefab.prefab @@ -0,0 +1,148 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &160699782037534142 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4373203156244186179} + - component: {fileID: 7475438445759559524} + - component: {fileID: 5920763950598536747} + m_Layer: 0 + m_Name: Quad + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4373203156244186179 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 160699782037534142} + m_LocalRotation: {x: 0, y: 1, z: 0, w: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.54922, y: 0.36248523, z: 0.54922} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3991476211512460673} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} +--- !u!33 &7475438445759559524 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 160699782037534142} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &5920763950598536747 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 160699782037534142} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d482eb07503c4bf469984785b67355a5, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &4019519260012979501 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3991476211512460673} + - component: {fileID: 7413423039277087865} + - component: {fileID: 6112716222048455753} + m_Layer: 0 + m_Name: PhotoPrefab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3991476211512460673 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4019519260012979501} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4373203156244186179} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!54 &7413423039277087865 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4019519260012979501} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 1 + m_AngularDrag: 1 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!65 &6112716222048455753 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4019519260012979501} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 0.5, y: 0.3, z: 0.01} + m_Center: {x: 0, y: 0, z: 0} diff --git a/package/Runtime/MovieSet/Assets/PhotoPrefab.prefab.meta b/package/Runtime/MovieSet/Assets/PhotoPrefab.prefab.meta new file mode 100644 index 000000000..37bd616ef --- /dev/null +++ b/package/Runtime/MovieSet/Assets/PhotoPrefab.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 1022341484444824a9dec86808b67dbd +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/MovieSet/Assets/RenderTextureSkybox.mat b/package/Runtime/MovieSet/Assets/RenderTextureSkybox.mat new file mode 100644 index 000000000..d7c9a500b --- /dev/null +++ b/package/Runtime/MovieSet/Assets/RenderTextureSkybox.mat @@ -0,0 +1,160 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-4515723030865034921 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 4 +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: RenderTextureSkybox + m_Shader: {fileID: 103, guid: 0000000000000000f000000000000000, type: 0} + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BackTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DownTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _FrontTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _LeftTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _RightTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _Tex: + m_Texture: {fileID: 8900000, guid: 8d2fcbef0364b894282281887b768993, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _UpTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AlphaClip: 0 + - _Blend: 0 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _EnvironmentReflections: 1 + - _Exposure: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Intensity: 1 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Rotation: 117 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _EquatorColor: {r: 1.4292606, g: 1.2651916, b: 1.0314947, a: 1} + - _GroundColor: {r: 0, g: 0, b: 0, a: 1} + - _SkyColor: {r: 1.7411011, g: 1.7411011, b: 1.7411011, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + - _Tint: {r: 0.6698113, g: 0.57502663, b: 0.36966002, a: 0.5} + m_BuildTextureStacks: [] diff --git a/package/Runtime/MovieSet/Assets/RenderTextureSkybox.mat.meta b/package/Runtime/MovieSet/Assets/RenderTextureSkybox.mat.meta new file mode 100644 index 000000000..c0b84f462 --- /dev/null +++ b/package/Runtime/MovieSet/Assets/RenderTextureSkybox.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7793bc9d19ad78240bfe0ae93304f114 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/MovieSet/Assets/Screen.mat b/package/Runtime/MovieSet/Assets/Screen.mat new file mode 100644 index 000000000..211237e66 --- /dev/null +++ b/package/Runtime/MovieSet/Assets/Screen.mat @@ -0,0 +1,264 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Screen + m_Shader: {fileID: -6465566751694194690, guid: 59541e6caf586ca4f96ccf48a4813a51, type: 3} + m_ValidKeywords: + - _VERTEX_COLORS_ON + m_InvalidKeywords: + - _VOLUME_TRANSMISSION_OFF + m_LightmapFlags: 6 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: + RenderType: Opaque + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - baseColorTexture: + m_Texture: {fileID: 8400000, guid: f2c0afbc48774dc4e9588117e0b34bc3, type: 2} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - clearcoatRoughnessTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 0, y: 0} + m_Offset: {x: 0, y: 0} + - clearcoatTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - emissiveTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - iridescenceTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - iridescenceThicknessTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - metallicRoughnessTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - normalTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - occlusionTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - specularColorTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - specularTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - thicknessTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - transmissionTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AlphaClip: 0 + - _BUILTIN_AlphaClip: 0 + - _BUILTIN_Blend: 0 + - _BUILTIN_CullMode: 2 + - _BUILTIN_DstBlend: 0 + - _BUILTIN_QueueControl: 1 + - _BUILTIN_QueueOffset: 0 + - _BUILTIN_SrcBlend: 1 + - _BUILTIN_Surface: 0 + - _BUILTIN_ZTest: 4 + - _BUILTIN_ZWrite: 1 + - _BUILTIN_ZWriteControl: 0 + - _Blend: 0 + - _BumpScale: 1 + - _CLEARCOAT: 0 + - _CastShadows: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _IRIDESCENCE: 0 + - _Metallic: 0 + - _NormalMapFormatXYZ: 0 + - _OcclusionStrength: 1 + - _OverrideSurfaceMode: 0 + - _Parallax: 0.005 + - _QueueControl: -1 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _SPECULAR: 0 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _Surface: 0 + - _TEXTURE_TRANSFORM: 0 + - _VERTEX_COLORS: 1 + - _VOLUME_ON: 0 + - _VOLUME_TRANSMISSION: 0 + - _WorkflowMode: 1 + - _ZTest: 4 + - _ZWrite: 1 + - _ZWriteControl: 0 + - alphaCutoff: -0.5 + - attenuationDistance: 0.001 + - baseColorTextureRotation: 0 + - baseColorTextureTexCoord: 0 + - clearcoatFactor: 0 + - clearcoatRoughnessFactor: 0 + - clearcoatRoughnessTextureRotation: 0 + - clearcoatRoughnessTextureTexCoord: 0 + - clearcoatTextureRotation: 0 + - clearcoatTextureTexCoord: 0 + - dispersion: 0 + - emissiveTextureRotation: 0 + - emissiveTextureTexCoord: 0 + - ior: 1.5 + - iridescenceFactor: 0 + - iridescenceIor: 1.3 + - iridescenceTextureRotation: 0 + - iridescenceTextureTexCoord: 0 + - iridescenceThicknessMaximum: 400 + - iridescenceThicknessMinimum: 100 + - iridescenceThicknessTextureRotation: 0 + - iridescenceThicknessTextureTexCoord: 0 + - metallicFactor: 0 + - metallicRoughnessTextureRotation: 0 + - metallicRoughnessTextureTexCoord: 0 + - normalScale: 1 + - normalTextureRotation: 0 + - normalTextureTexCoord: 0 + - occlusionStrength: 1 + - occlusionTextureRotation: 0 + - occlusionTextureTexCoord: 0 + - roughnessFactor: 0.5 + - specularColorTextureRotation: 0 + - specularColorTextureTexCoord: 0 + - specularFactor: 1 + - specularTextureRotation: 0 + - specularTextureTexCoord: 0 + - thicknessFactor: 0 + - thicknessTextureRotation: 0 + - thicknessTextureTexCoord: 0 + - transmissionFactor: 0 + - transmissionTextureRotation: 0 + - transmissionTextureTexCoord: 0 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + - attenuationColor: {r: 1, g: 1, b: 1, a: 0} + - baseColorFactor: {r: 1, g: 1, b: 1, a: 1} + - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} + - specularColorFactor: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!114 &3213055822020422622 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 639247ca83abc874e893eb93af2b5e44, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 0 +--- !u!114 &4867718099994194576 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 5 diff --git a/package/Runtime/MovieSet/Assets/Screen.mat.meta b/package/Runtime/MovieSet/Assets/Screen.mat.meta new file mode 100644 index 000000000..7f03a373b --- /dev/null +++ b/package/Runtime/MovieSet/Assets/Screen.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 436a480039b73fe42bd9cc544fcfe9da +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/MovieSet/Assets/backdrop_green.glb b/package/Runtime/MovieSet/Assets/backdrop_green.glb new file mode 100644 index 000000000..84cd8dd22 Binary files /dev/null and b/package/Runtime/MovieSet/Assets/backdrop_green.glb differ diff --git a/package/Runtime/MovieSet/Assets/backdrop_green.glb.meta b/package/Runtime/MovieSet/Assets/backdrop_green.glb.meta new file mode 100644 index 000000000..a36639f59 --- /dev/null +++ b/package/Runtime/MovieSet/Assets/backdrop_green.glb.meta @@ -0,0 +1,49 @@ +fileFormatVersion: 2 +guid: 324f6c85171ee1e4b987488fcbedf15e +importerOverride: UnityGLTFEditor:UnityGLTF:GLTFImporter +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 804e1ce4c496647cfa3f1a1134187c71, type: 3} + _removeEmptyRootObjects: 1 + _scaleFactor: 0.01 + _maximumLod: 300 + _readWriteEnabled: 1 + _generateColliders: 0 + _swapUvs: 0 + _generateLightmapUVs: 1 + _importBlendShapeNames: 1 + _blendShapeFrameWeight: + _option: 0 + _multiplier: 1 + _importNormals: 0 + _importTangents: 0 + _importCamera: 2 + _importAnimations: 2 + _addAnimatorComponent: 0 + _animationLoopTime: 1 + _animationLoopPose: 0 + _importMaterials: 1 + _enableGpuInstancing: 0 + _useSceneNameIdentifier: 1 + _textureCompression: -50 + optimizeGameObjects: 0 + materials: + - {fileID: -8771166627424403242, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + - {fileID: -2813467912831258332, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + - {fileID: -6922793697723135513, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + - {fileID: -2453334199957972711, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + textures: [] + hasSceneData: 1 + hasAnimationData: 0 + hasMaterialData: 1 + hasTextureData: 0 + animations: [] + _extensions: [] + _textures: [] + _mainAssetIdentifier: scenes/Sketchfab_Scene + _importPlugins: [] diff --git a/package/Runtime/MovieSet/Assets/flatscreen_tv_46_inch.glb b/package/Runtime/MovieSet/Assets/flatscreen_tv_46_inch.glb new file mode 100644 index 000000000..17f4edf00 Binary files /dev/null and b/package/Runtime/MovieSet/Assets/flatscreen_tv_46_inch.glb differ diff --git a/package/Runtime/MovieSet/Assets/flatscreen_tv_46_inch.glb.meta b/package/Runtime/MovieSet/Assets/flatscreen_tv_46_inch.glb.meta new file mode 100644 index 000000000..f2bb85434 --- /dev/null +++ b/package/Runtime/MovieSet/Assets/flatscreen_tv_46_inch.glb.meta @@ -0,0 +1,58 @@ +fileFormatVersion: 2 +guid: f00125dff4a47204d86b59718d45b7f1 +importerOverride: UnityGLTFEditor:UnityGLTF:GLTFImporter +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 804e1ce4c496647cfa3f1a1134187c71, type: 3} + _removeEmptyRootObjects: 1 + _scaleFactor: 0.01 + _maximumLod: 300 + _readWriteEnabled: 1 + _generateColliders: 0 + _swapUvs: 0 + _generateLightmapUVs: 1 + _importBlendShapeNames: 1 + _blendShapeFrameWeight: + _option: 0 + _multiplier: 1 + _importNormals: 0 + _importTangents: 0 + _importCamera: 2 + _importAnimations: 2 + _addAnimatorComponent: 0 + _animationLoopTime: 1 + _animationLoopPose: 0 + _importMaterials: 1 + _enableGpuInstancing: 0 + _useSceneNameIdentifier: 1 + _textureCompression: -50 + optimizeGameObjects: 0 + materials: + - {fileID: 526017295012399756, guid: f00125dff4a47204d86b59718d45b7f1, type: 3} + textures: + - {fileID: 6983701643236107813, guid: f00125dff4a47204d86b59718d45b7f1, type: 3} + - {fileID: 8022499087761476943, guid: f00125dff4a47204d86b59718d45b7f1, type: 3} + - {fileID: 5230624929818990856, guid: f00125dff4a47204d86b59718d45b7f1, type: 3} + hasSceneData: 1 + hasAnimationData: 0 + hasMaterialData: 1 + hasTextureData: 1 + animations: [] + _extensions: [] + _textures: + - texture: {fileID: 6983701643236107813, guid: f00125dff4a47204d86b59718d45b7f1, type: 3} + shouldBeLinear: 0 + shouldBeNormalMap: 0 + - texture: {fileID: 8022499087761476943, guid: f00125dff4a47204d86b59718d45b7f1, type: 3} + shouldBeLinear: 1 + shouldBeNormalMap: 0 + - texture: {fileID: 5230624929818990856, guid: f00125dff4a47204d86b59718d45b7f1, type: 3} + shouldBeLinear: 1 + shouldBeNormalMap: 1 + _mainAssetIdentifier: scenes/Sketchfab_Scene + _importPlugins: [] diff --git a/package/Runtime/MovieSet/Assets/studio_camera.glb b/package/Runtime/MovieSet/Assets/studio_camera.glb new file mode 100644 index 000000000..1396e8efd Binary files /dev/null and b/package/Runtime/MovieSet/Assets/studio_camera.glb differ diff --git a/package/Runtime/MovieSet/Assets/studio_camera.glb.meta b/package/Runtime/MovieSet/Assets/studio_camera.glb.meta new file mode 100644 index 000000000..926378901 --- /dev/null +++ b/package/Runtime/MovieSet/Assets/studio_camera.glb.meta @@ -0,0 +1,56 @@ +fileFormatVersion: 2 +guid: cabff5a734c75f54d9e603329cd6e952 +importerOverride: UnityGLTFEditor:UnityGLTF:GLTFImporter +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 804e1ce4c496647cfa3f1a1134187c71, type: 3} + _removeEmptyRootObjects: 1 + _scaleFactor: 1 + _maximumLod: 300 + _readWriteEnabled: 1 + _generateColliders: 0 + _swapUvs: 0 + _generateLightmapUVs: 1 + _importBlendShapeNames: 1 + _blendShapeFrameWeight: + _option: 0 + _multiplier: 1 + _importNormals: 0 + _importTangents: 0 + _importCamera: 2 + _importAnimations: 2 + _addAnimatorComponent: 0 + _animationLoopTime: 1 + _animationLoopPose: 0 + _importMaterials: 1 + _enableGpuInstancing: 0 + _useSceneNameIdentifier: 1 + _textureCompression: -50 + optimizeGameObjects: 0 + materials: + - {fileID: 8285017246743974754, guid: cabff5a734c75f54d9e603329cd6e952, type: 3} + - {fileID: 6572354291723449966, guid: cabff5a734c75f54d9e603329cd6e952, type: 3} + - {fileID: -1792401436847800903, guid: cabff5a734c75f54d9e603329cd6e952, type: 3} + - {fileID: 7202895373918562887, guid: cabff5a734c75f54d9e603329cd6e952, type: 3} + - {fileID: 855434228054878152, guid: cabff5a734c75f54d9e603329cd6e952, type: 3} + - {fileID: 7336558241845098872, guid: cabff5a734c75f54d9e603329cd6e952, type: 3} + - {fileID: 5064239222646318912, guid: cabff5a734c75f54d9e603329cd6e952, type: 3} + textures: + - {fileID: 6983701643236107813, guid: cabff5a734c75f54d9e603329cd6e952, type: 3} + hasSceneData: 1 + hasAnimationData: 0 + hasMaterialData: 1 + hasTextureData: 1 + animations: [] + _extensions: [] + _textures: + - texture: {fileID: 6983701643236107813, guid: cabff5a734c75f54d9e603329cd6e952, type: 3} + shouldBeLinear: 0 + shouldBeNormalMap: 0 + _mainAssetIdentifier: scenes/Sketchfab_Scene + _importPlugins: [] diff --git a/package/Runtime/MovieSet/CamFeed.renderTexture b/package/Runtime/MovieSet/CamFeed.renderTexture new file mode 100644 index 000000000..f4ea99dff --- /dev/null +++ b/package/Runtime/MovieSet/CamFeed.renderTexture @@ -0,0 +1,40 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!84 &8400000 +RenderTexture: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: CamFeed + m_ImageContentsHash: + serializedVersion: 2 + Hash: 00000000000000000000000000000000 + m_ForcedFallbackFormat: 4 + m_DownscaleFallback: 0 + m_IsAlphaChannelOptional: 0 + serializedVersion: 5 + m_Width: 1280 + m_Height: 720 + m_AntiAliasing: 1 + m_MipCount: -1 + m_DepthStencilFormat: 90 + m_ColorFormat: 12 + m_MipMap: 0 + m_GenerateMips: 1 + m_SRGB: 0 + m_UseDynamicScale: 0 + m_BindMS: 0 + m_EnableCompatibleFormat: 1 + m_EnableRandomWrite: 0 + m_TextureSettings: + serializedVersion: 2 + m_FilterMode: 1 + m_Aniso: 0 + m_MipBias: 0 + m_WrapU: 1 + m_WrapV: 1 + m_WrapW: 1 + m_Dimension: 2 + m_VolumeDepth: 1 + m_ShadowSamplingMode: 2 diff --git a/package/Runtime/MovieSet/CamFeed.renderTexture.meta b/package/Runtime/MovieSet/CamFeed.renderTexture.meta new file mode 100644 index 000000000..cd1ed6cf5 --- /dev/null +++ b/package/Runtime/MovieSet/CamFeed.renderTexture.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f2c0afbc48774dc4e9588117e0b34bc3 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 8400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/MovieSet/MovieSet.unity b/package/Runtime/MovieSet/MovieSet.unity new file mode 100644 index 000000000..8af054841 --- /dev/null +++ b/package/Runtime/MovieSet/MovieSet.unity @@ -0,0 +1,3137 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.8032967, g: 0.82853115, b: 0.879, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 2100000, guid: 7793bc9d19ad78240bfe0ae93304f114, type: 2} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 1 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 8900000, guid: fee91218d9c68df4b859fa5115079256, type: 3} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.87030566, g: 0.6217097, b: 0.24122907, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 4890085278179872738, guid: c2c98e55731925a418403e0472f3d20c, type: 2} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &85666417 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 85666418} + - component: {fileID: 85666419} + - component: {fileID: 85666421} + - component: {fileID: 85666420} + - component: {fileID: 85666422} + m_Layer: 0 + m_Name: CameraRoot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &85666418 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 85666417} + m_LocalRotation: {x: -0, y: 1, z: -0, w: 0} + m_LocalPosition: {x: -0.5, y: 1.7633524, z: 0.68305475} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2050341319} + - {fileID: 49823736286878022} + - {fileID: 4132482790855720093} + - {fileID: 8696834099673425882} + - {fileID: 7833608256417740802} + - {fileID: 8297221034217166648} + - {fileID: 4010306883750213769} + m_Father: {fileID: 8897093224260293917} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} +--- !u!114 &85666419 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 85666417} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: eb1822f1751a4acabd7c1dba099b6b56, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.Components.DragControls, Needle.Engine + dragMode: 3 + snapGridResolution: 0 + keepRotation: 0 + xrDragMode: 1 + xrKeepRotation: 0 + xrDistanceDragFactor: 1 + showGizmo: 0 +--- !u!114 &85666420 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 85666417} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI.Button, UnityEngine.UI + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 0} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 85666422} + m_TargetAssemblyTypeName: Needle.Typescript.GeneratedComponents.Photographer, + Needle.Engine-Samples.Runtime + m_MethodName: takePhoto + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &85666421 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 85666417} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d6db081035564a29af84317b8dafe597, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.Components.LookAt, Needle.Engine + target: {fileID: 1088712540} + invertForward: 0 + keepUpDirection: 0 + copyTargetRotation: 0 + updateInEditor: 0 +--- !u!114 &85666422 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 85666417} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8fa42ddba8bc9162a2faf7521fc8ede6, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Typescript.GeneratedComponents.Photographer, Needle.Engine-Samples.Runtime + camera: {fileID: 2050341322} + width: 512 + height: 256 + prefab: {fileID: 3991476211512460673, guid: 1022341484444824a9dec86808b67dbd, type: 3} +--- !u!1001 &193706299 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: -9133332790179019904, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} + - target: {fileID: -8612500826477315936, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} + - target: {fileID: -8323195945075869101, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: f3ea578003903414b8a2246b101c5704, type: 2} + - target: {fileID: -6120286824110947529, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_StaticEditorFlags + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -3724957994018845491, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} + - target: {fileID: -3178191931885875462, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} + - target: {fileID: -3126020998741761316, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} + - target: {fileID: -2867435792052671395, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} + - target: {fileID: -2803612455242759233, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} + - target: {fileID: -2288655943714998737, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} + - target: {fileID: -2240839578638515982, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} + - target: {fileID: -1440661575867181754, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} + - target: {fileID: -1177766446588402881, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} + - target: {fileID: -161457335043220225, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} + - target: {fileID: 271866798232883721, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} + - target: {fileID: 1555017511318029907, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} + - target: {fileID: 2596853289507190290, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} + - target: {fileID: 2930808169257553001, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} + - target: {fileID: 5625981404940425463, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} + - target: {fileID: 6300844089772888979, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} + - target: {fileID: 6348034341298583305, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} + - target: {fileID: 6426755146295690467, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} + - target: {fileID: 6964089068572580529, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} + - target: {fileID: 7101259456951374845, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} + - target: {fileID: 7853674338196436839, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} + - target: {fileID: 8128668236925612103, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_Name + value: backdrop_green + objectReference: {fileID: 0} + - target: {fileID: 8128668236925612103, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} + - target: {fileID: 8263482363973400655, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: f3ea578003903414b8a2246b101c5704, type: 2} + - target: {fileID: 8466236079680218470, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} + - target: {fileID: 8592139532335601353, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_LocalScale.x + value: 0.46083 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_LocalScale.y + value: 0.46083 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_LocalScale.z + value: 0.46083 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_LocalPosition.x + value: 0.113033295 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_LocalPosition.y + value: 0.023 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_LocalPosition.z + value: -2.7766144 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_LocalRotation.w + value: 0.9999875 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_LocalRotation.x + value: 0.0050195754 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_LocalRotation.y + value: -1.5367692e-19 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_LocalRotation.z + value: -1.3022475e-16 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: -5645937942226959685, guid: 324f6c85171ee1e4b987488fcbedf15e, type: 3} +--- !u!1 &347242782 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 347242783} + - component: {fileID: 347242785} + - component: {fileID: 347242784} + m_Layer: 0 + m_Name: Display + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &347242783 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 347242782} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0, y: -0.008, z: -0.015} + m_LocalScale: {x: 1.0237, y: 0.5789958, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 881477638} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &347242784 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 347242782} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 436a480039b73fe42bd9cc544fcfe9da, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &347242785 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 347242782} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &364709251 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 364709253} + - component: {fileID: 364709252} + m_Layer: 0 + m_Name: XR Rig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 2147483647 + m_IsActive: 1 +--- !u!114 &364709252 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 364709251} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8babe471bb9745c49bc168b0d44b4a6f, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.Components.XRRig, Needle.Engine + priority: 0 +--- !u!4 &364709253 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 364709251} + m_LocalRotation: {x: -0, y: 1, z: -0, w: 0.00000058114523} + m_LocalPosition: {x: 1.2133332, y: 0, z: 3.7766666} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 14 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} +--- !u!1 &658289387 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 658289389} + - component: {fileID: 658289388} + m_Layer: 0 + m_Name: Contact Shadow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 2147483647 + m_IsActive: 1 +--- !u!114 &658289388 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 658289387} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e02b67dd02032423381aa26c5571503f, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.ContactShadows, Needle.Engine + autoFit: 0 + darkness: 0.5 + opacity: 0.5 + blur: 4 + occludeBelowGround: 0 + backfaceShadows: 0 +--- !u!4 &658289389 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 658289387} + m_LocalRotation: {x: -0, y: -0, z: -0.000000007450581, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.43} + m_LocalScale: {x: 6, y: 4, z: 7} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 11 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &808740342 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 808740343} + - component: {fileID: 808740344} + m_Layer: 0 + m_Name: Floor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &808740343 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 808740342} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -0.47, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &808740344 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 808740342} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 20, y: 1, z: 20} + m_Center: {x: 0, y: 0, z: 0} +--- !u!1001 &881477636 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1914577381} + m_Modifications: + - target: {fileID: -5320306166260060767, guid: f00125dff4a47204d86b59718d45b7f1, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -5320306166260060767, guid: f00125dff4a47204d86b59718d45b7f1, type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} + - target: {fileID: -637274560981909092, guid: f00125dff4a47204d86b59718d45b7f1, type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} + - target: {fileID: -126845401375547579, guid: f00125dff4a47204d86b59718d45b7f1, type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} + - target: {fileID: 642574117828781466, guid: f00125dff4a47204d86b59718d45b7f1, type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} + - target: {fileID: 8128668236925612103, guid: f00125dff4a47204d86b59718d45b7f1, type: 3} + propertyPath: m_Name + value: Display + objectReference: {fileID: 0} + - target: {fileID: 8128668236925612103, guid: f00125dff4a47204d86b59718d45b7f1, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8128668236925612103, guid: f00125dff4a47204d86b59718d45b7f1, type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: f00125dff4a47204d86b59718d45b7f1, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: f00125dff4a47204d86b59718d45b7f1, type: 3} + propertyPath: m_LocalScale.x + value: 1.1326 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: f00125dff4a47204d86b59718d45b7f1, type: 3} + propertyPath: m_LocalScale.y + value: 1.1326 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: f00125dff4a47204d86b59718d45b7f1, type: 3} + propertyPath: m_LocalScale.z + value: 1.1326 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: f00125dff4a47204d86b59718d45b7f1, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: f00125dff4a47204d86b59718d45b7f1, type: 3} + propertyPath: m_LocalPosition.y + value: 0.9029417 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: f00125dff4a47204d86b59718d45b7f1, type: 3} + propertyPath: m_LocalPosition.z + value: 0.011385679 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: f00125dff4a47204d86b59718d45b7f1, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: f00125dff4a47204d86b59718d45b7f1, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: f00125dff4a47204d86b59718d45b7f1, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: f00125dff4a47204d86b59718d45b7f1, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: f00125dff4a47204d86b59718d45b7f1, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: f00125dff4a47204d86b59718d45b7f1, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8897093224900880590, guid: f00125dff4a47204d86b59718d45b7f1, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: -5645937942226959685, guid: f00125dff4a47204d86b59718d45b7f1, type: 3} +--- !u!4 &881477637 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 8897093224900880590, guid: f00125dff4a47204d86b59718d45b7f1, type: 3} + m_PrefabInstance: {fileID: 881477636} + m_PrefabAsset: {fileID: 0} +--- !u!4 &881477638 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -8729495564172502036, guid: f00125dff4a47204d86b59718d45b7f1, type: 3} + m_PrefabInstance: {fileID: 881477636} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &909723211 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1914577381} + m_Modifications: + - target: {fileID: 100000, guid: 87cc3aa2c8635a646ade4a80eacee41d, type: 3} + propertyPath: m_Name + value: Chamfer_box + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 87cc3aa2c8635a646ade4a80eacee41d, type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 87cc3aa2c8635a646ade4a80eacee41d, type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 87cc3aa2c8635a646ade4a80eacee41d, type: 3} + propertyPath: m_LocalScale.x + value: 0.90277 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 87cc3aa2c8635a646ade4a80eacee41d, type: 3} + propertyPath: m_LocalScale.y + value: 0.60684216 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 87cc3aa2c8635a646ade4a80eacee41d, type: 3} + propertyPath: m_LocalScale.z + value: 0.9027702 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 87cc3aa2c8635a646ade4a80eacee41d, type: 3} + propertyPath: m_LocalPosition.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 87cc3aa2c8635a646ade4a80eacee41d, type: 3} + propertyPath: m_LocalPosition.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 87cc3aa2c8635a646ade4a80eacee41d, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 87cc3aa2c8635a646ade4a80eacee41d, type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 87cc3aa2c8635a646ade4a80eacee41d, type: 3} + propertyPath: m_LocalRotation.x + value: -0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 87cc3aa2c8635a646ade4a80eacee41d, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 87cc3aa2c8635a646ade4a80eacee41d, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 87cc3aa2c8635a646ade4a80eacee41d, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 87cc3aa2c8635a646ade4a80eacee41d, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 87cc3aa2c8635a646ade4a80eacee41d, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 87cc3aa2c8635a646ade4a80eacee41d, type: 3} + propertyPath: m_ScaleInLightmap + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 87cc3aa2c8635a646ade4a80eacee41d, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 9bac9b0bb71176342960f0b72cda16a0, type: 2} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 87cc3aa2c8635a646ade4a80eacee41d, type: 3} +--- !u!4 &909723212 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 400000, guid: 87cc3aa2c8635a646ade4a80eacee41d, type: 3} + m_PrefabInstance: {fileID: 909723211} + m_PrefabAsset: {fileID: 0} +--- !u!1 &928458875 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 928458877} + - component: {fileID: 928458876} + m_Layer: 0 + m_Name: WebXR + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 2147483647 + m_IsActive: 1 +--- !u!114 &928458876 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 928458875} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cf409ffccda34166b926284faafa75c8, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.WebXR, Needle.Engine + createVRButton: 1 + createARButton: 1 + createSendToQuestButton: 1 + createQRCode: 1 + usePlacementReticle: 1 + customARPlacementReticle: {fileID: 0} + usePlacementAdjustment: 1 + arScale: 1 + autoPlace: 1 + autoCenter: 1 + useXRAnchor: 0 + useQuicklookExport: 0 + useDepthSensing: 0 + useDefaultControls: 1 + showControllerModels: 1 + showHandModels: 1 + defaultAvatar: {fileID: 8817559676569467057, guid: dc55b2cca6c9bdc4187b43e34b1b51cf, type: 3} +--- !u!4 &928458877 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 928458875} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 13 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &945322828 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 945322831} + - component: {fileID: 945322830} + - component: {fileID: 945322829} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &945322829 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 945322828} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.Rendering.Universal.UniversalAdditionalLightData, + Unity.RenderPipelines.Universal.Runtime + m_Version: 1 + m_UsePipelineSettings: 1 + m_AdditionalLightsShadowResolutionTier: 2 + m_LightLayerMask: 1 + m_CustomShadowLayers: 0 + m_ShadowLayerMask: 1 + m_LightCookieSize: {x: 1, y: 1} + m_LightCookieOffset: {x: 0, y: 0} +--- !u!108 &945322830 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 945322828} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 0.7 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &945322831 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 945322828} + m_LocalRotation: {x: 0.2544697, y: 0.7081133, z: -0.58108556, w: 0.3100973} + m_LocalPosition: {x: -2.5133333, y: 2.3466666, z: 0.13666667} + m_LocalScale: {x: 1.0000157, y: 1.0000001, z: 1.0000138} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 78.745, y: 132.701, z: 0} +--- !u!1 &955642414 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 955642415} + m_Layer: 0 + m_Name: Main Camera Look At + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 2147483647 + m_IsActive: 1 +--- !u!4 &955642415 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 955642414} + m_LocalRotation: {x: -0, y: 0.10793646, z: -0, w: 0.99415785} + m_LocalPosition: {x: 1.04, y: 1.3566667, z: 1.823} + m_LocalScale: {x: 1.0000004, y: 1, z: 1.0000004} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 12.393, z: 0} +--- !u!1 &1088712539 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1088712540} + m_Layer: 0 + m_Name: LookAtGoal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1088712540 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1088712539} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.493, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2120561529} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1262517133 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1262517136} + - component: {fileID: 1262517135} + - component: {fileID: 1262517134} + - component: {fileID: 1262517138} + - component: {fileID: 1262517137} + - component: {fileID: 1262517139} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 2147483647 + m_IsActive: 1 +--- !u!81 &1262517134 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1262517133} + m_Enabled: 1 +--- !u!20 &1262517135 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1262517133} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.92632765, g: 0.9528302, b: 0.48989856, a: 1} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.01 + far clip plane: 100 + field of view: 40 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1262517136 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1262517133} + m_LocalRotation: {x: 0.0042040013, y: -0.9862049, z: 0.025354447, w: 0.16352189} + m_LocalPosition: {x: 2.42, y: 1.5766666, z: 5.87} + m_LocalScale: {x: 1.0000068, y: 1, z: 1.0000261} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} +--- !u!114 &1262517137 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1262517133} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.Rendering.Universal.UniversalAdditionalCameraData, + Unity.RenderPipelines.Universal.Runtime + m_RenderShadows: 1 + m_RequiresDepthTextureOption: 2 + m_RequiresOpaqueTextureOption: 2 + m_CameraType: 0 + m_Cameras: [] + m_RendererIndex: -1 + m_VolumeLayerMask: + serializedVersion: 2 + m_Bits: 1 + m_VolumeTrigger: {fileID: 0} + m_VolumeFrameworkUpdateModeOption: 2 + m_RenderPostProcessing: 0 + m_Antialiasing: 0 + m_AntialiasingQuality: 2 + m_StopNaN: 0 + m_Dithering: 0 + m_ClearDepth: 1 + m_AllowXRRendering: 1 + m_RequiresDepthTexture: 0 + m_RequiresColorTexture: 0 + m_Version: 2 +--- !u!114 &1262517138 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1262517133} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e6c38416c1a949c1a024aacb22e308af, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.Components.OrbitControls, Needle.Engine + autoTarget: 1 + autoFit: 0 + enableRotate: 1 + autoRotate: 0 + autoRotateSpeed: 0.2 + minPolarAngle: 0 + maxPolarAngle: 3.1415927 + minAzimuthAngle: Infinity + maxAzimuthAngle: Infinity + enableZoom: 1 + minZoom: 0.1 + maxZoom: 500 + zoomSpeed: 1 + zoomToCursor: 0 + enablePan: 1 + enableDamping: 1 + dampingFactor: 0.1 + targetLerpDuration: 1 + enableKeys: 0 + middleClickToFocus: 1 + doubleClickToFocus: 1 + clickBackgroundToFitScene: 2 + allowInterrupt: 1 + lookAtConstraint: {fileID: 1262517139} +--- !u!1183024399 &1262517139 +LookAtConstraint: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1262517133} + m_Enabled: 1 + m_Weight: 1 + m_RotationAtRest: {x: 0, y: 0, z: 0} + m_RotationOffset: {x: 0, y: 0, z: 0} + m_Roll: 0 + m_WorldUpObject: {fileID: 0} + m_UseUpObject: 0 + m_IsContraintActive: 1 + m_IsLocked: 0 + m_Sources: + - sourceTransform: {fileID: 955642415} + weight: 1 +--- !u!1 &1369137175 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1369137178} + - component: {fileID: 1369137177} + - component: {fileID: 1369137176} + m_Layer: 0 + m_Name: Directional Light (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1369137176 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1369137175} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.Rendering.Universal.UniversalAdditionalLightData, + Unity.RenderPipelines.Universal.Runtime + m_Version: 1 + m_UsePipelineSettings: 1 + m_AdditionalLightsShadowResolutionTier: 2 + m_LightLayerMask: 1 + m_CustomShadowLayers: 0 + m_ShadowLayerMask: 1 + m_LightCookieSize: {x: 1, y: 1} + m_LightCookieOffset: {x: 0, y: 0} +--- !u!108 &1369137177 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1369137175} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 0.2863564, g: 0.3258445, b: 0.9339623, a: 1} + m_Intensity: 0.2 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1369137178 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1369137175} + m_LocalRotation: {x: 0.04719662, y: 0.8983227, z: 0.09969662, w: -0.4252641} + m_LocalPosition: {x: 2.4366667, y: 3.24, z: 1.3199999} + m_LocalScale: {x: 1.0000155, y: 0.99999994, z: 1.0000157} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 10 + m_LocalEulerAnglesHint: {x: -12.666, y: 230.666, z: 0} +--- !u!1 &1402202919 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1402202921} + - component: {fileID: 1402202920} + m_Layer: 0 + m_Name: README + m_TagString: EditorOnly + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1402202920 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1402202919} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5c280f685421ecc46a892fedfe14dfa3, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.Readme, Needle.Engine-Samples.Runtime + Guid: 52573b45d44cd4948b7d3a75615b0f5e +--- !u!4 &1402202921 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1402202919} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1507289188 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1507289191} + - component: {fileID: 1507289190} + - component: {fileID: 1507289189} + - component: {fileID: 1507289192} + - component: {fileID: 1507289194} + m_Layer: 0 + m_Name: Export Info + m_TagString: EditorOnly + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1507289189 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1507289188} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 438e3fec673b477cbc6d39ba011bf158, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.Codegen.ComponentGenerator, Needle.Engine + compilerDirectory: Library/Needle/Sample/node_modules/@needle-tools/needle-component-compiler/src + Debug: 0 +--- !u!114 &1507289190 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1507289188} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 986a3a93ac16ec0428d8989979ec0966, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.ExportInfo, Needle.Engine.Common + DirectoryName: Library/Needle/Sample + RemoteUrl: + AutoExport: 1 + AutoCompress: 0 + Dependencies: + - Name: '@needle-tools/samples-scripts' + VersionOrPath: Packages/com.needle.engine-samples/Runtime/_Shared/SampleScripts.npmdef + Guid: a54d66e790a1fe74b86cebd5eae8145d +--- !u!4 &1507289191 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1507289188} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1507289192 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1507289188} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 032be61c99af4d068a11adffb37721ad, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.Deployment.DeployToFTP, Needle.Engine.Deployment + FTPServer: {fileID: 11400000, guid: b302aecddeb36624eada38ec53765003, type: 2} + Path: /movie-set + OverrideGzipCompression: 1 + UseGzipCompression: 0 +--- !u!114 &1507289194 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1507289188} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cf2ffc5481d126c498a97e14b35c2fb0, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.HtmlMeta, Needle.Engine.Meta + meta: + title: Movie Set + description: RenderTexture sample + image: {fileID: 2800000, guid: 1f8fc2b3bd16ac6469e1e48a8322689d, type: 3} +--- !u!1 &1893617517 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1893617519} + - component: {fileID: 1893617518} + m_Layer: 0 + m_Name: NeedleMenu + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 2147483647 + m_IsActive: 1 +--- !u!114 &1893617518 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1893617517} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e6d2c67ae7e4416a98aa03d96398832b, type: 3} + m_Name: + m_EditorClassIdentifier: Needle.Engine.Components.NeedleMenu, Needle.Engine + _position: 1 + ShowNeedleLogo: 1 + CreateFullscreenButton: 1 + CreateMuteButton: 0 + CreateQRCodeButton: 1 + ShowSpatialMenu: 1 +--- !u!4 &1893617519 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1893617517} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 12 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1914577380 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1914577381} + m_Layer: 0 + m_Name: TV + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 2147483647 + m_IsActive: 1 +--- !u!4 &1914577381 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1914577380} + m_LocalRotation: {x: -0, y: -0.21317507, z: -0, w: 0.97701406} + m_LocalPosition: {x: 1.93, y: 0.000049948692, z: 1.42} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 881477637} + - {fileID: 909723212} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: -24.617, z: 0} +--- !u!1 &2050341318 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2050341319} + - component: {fileID: 2050341322} + - component: {fileID: 2050341321} + - component: {fileID: 2050341320} + m_Layer: 0 + m_Name: Camera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2050341319 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2050341318} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -0.2299999, z: 0.782} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 85666418} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} +--- !u!114 &2050341320 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2050341318} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.Rendering.Universal.UniversalAdditionalCameraData, + Unity.RenderPipelines.Universal.Runtime + m_RenderShadows: 1 + m_RequiresDepthTextureOption: 2 + m_RequiresOpaqueTextureOption: 2 + m_CameraType: 0 + m_Cameras: [] + m_RendererIndex: -1 + m_VolumeLayerMask: + serializedVersion: 2 + m_Bits: 1 + m_VolumeTrigger: {fileID: 0} + m_VolumeFrameworkUpdateModeOption: 2 + m_RenderPostProcessing: 0 + m_Antialiasing: 0 + m_AntialiasingQuality: 2 + m_StopNaN: 0 + m_Dithering: 0 + m_ClearDepth: 1 + m_AllowXRRendering: 1 + m_RequiresDepthTexture: 0 + m_RequiresColorTexture: 0 + m_Version: 2 +--- !u!81 &2050341321 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2050341318} + m_Enabled: 1 +--- !u!20 &2050341322 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2050341318} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.05 + far clip plane: 20 + field of view: 10 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 8400000, guid: f2c0afbc48774dc4e9588117e0b34bc3, type: 2} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!1001 &2120561528 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: -9016452616888077646, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 40.184834 + objectReference: {fileID: 0} + - target: {fileID: -9016452616888077646, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -21.65865 + objectReference: {fileID: 0} + - target: {fileID: -9016452616888077646, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -2.8332806 + objectReference: {fileID: 0} + - target: {fileID: -8925901015062763240, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 36.87056 + objectReference: {fileID: 0} + - target: {fileID: -8925901015062763240, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 1.6520361 + objectReference: {fileID: 0} + - target: {fileID: -8925901015062763240, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 4.822293 + objectReference: {fileID: 0} + - target: {fileID: -8563020523321513193, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 66.7147 + objectReference: {fileID: 0} + - target: {fileID: -8563020523321513193, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 95.94315 + objectReference: {fileID: 0} + - target: {fileID: -8563020523321513193, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -173.05074 + objectReference: {fileID: 0} + - target: {fileID: -8510826390815554653, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 25.780663 + objectReference: {fileID: 0} + - target: {fileID: -8510826390815554653, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -0.6306988 + objectReference: {fileID: 0} + - target: {fileID: -8510826390815554653, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -2.7693248 + objectReference: {fileID: 0} + - target: {fileID: -8168469847542282774, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 86.765175 + objectReference: {fileID: 0} + - target: {fileID: -8168469847542282774, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 156.41049 + objectReference: {fileID: 0} + - target: {fileID: -8168469847542282774, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 158.79869 + objectReference: {fileID: 0} + - target: {fileID: -6848362073700321630, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 14.435522 + objectReference: {fileID: 0} + - target: {fileID: -6848362073700321630, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -12.999409 + objectReference: {fileID: 0} + - target: {fileID: -6848362073700321630, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -25.67696 + objectReference: {fileID: 0} + - target: {fileID: -6691872828278841010, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: -11.671283 + objectReference: {fileID: 0} + - target: {fileID: -6691872828278841010, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -16.9074 + objectReference: {fileID: 0} + - target: {fileID: -6691872828278841010, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 4.8883014 + objectReference: {fileID: 0} + - target: {fileID: -6496491997212901881, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 40.476532 + objectReference: {fileID: 0} + - target: {fileID: -6496491997212901881, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 2.0341911 + objectReference: {fileID: 0} + - target: {fileID: -6496491997212901881, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 5.456718 + objectReference: {fileID: 0} + - target: {fileID: -5940345854065154972, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 19.156752 + objectReference: {fileID: 0} + - target: {fileID: -5940345854065154972, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 2.307628 + objectReference: {fileID: 0} + - target: {fileID: -5940345854065154972, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 10.960886 + objectReference: {fileID: 0} + - target: {fileID: -5539800966695313602, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 36.85975 + objectReference: {fileID: 0} + - target: {fileID: -5539800966695313602, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 1.6669996 + objectReference: {fileID: 0} + - target: {fileID: -5539800966695313602, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 4.9709888 + objectReference: {fileID: 0} + - target: {fileID: -5536500968561220366, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 1.6797059 + objectReference: {fileID: 0} + - target: {fileID: -5536500968561220366, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -0.41874808 + objectReference: {fileID: 0} + - target: {fileID: -5536500968561220366, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 10.060523 + objectReference: {fileID: 0} + - target: {fileID: -5362487128580151455, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 48.686684 + objectReference: {fileID: 0} + - target: {fileID: -5362487128580151455, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 3.0801387 + objectReference: {fileID: 0} + - target: {fileID: -5362487128580151455, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 6.9675245 + objectReference: {fileID: 0} + - target: {fileID: -4422206524094756887, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 32.183662 + objectReference: {fileID: 0} + - target: {fileID: -4422206524094756887, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 2.3272612 + objectReference: {fileID: 0} + - target: {fileID: -4422206524094756887, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0.2429278 + objectReference: {fileID: 0} + - target: {fileID: -4376432988936066991, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 42.07071 + objectReference: {fileID: 0} + - target: {fileID: -4376432988936066991, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -5.1924586 + objectReference: {fileID: 0} + - target: {fileID: -4376432988936066991, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -5.1041894 + objectReference: {fileID: 0} + - target: {fileID: -4268113644825245880, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 18.144642 + objectReference: {fileID: 0} + - target: {fileID: -4268113644825245880, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 2.701057 + objectReference: {fileID: 0} + - target: {fileID: -4268113644825245880, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 2.0936792 + objectReference: {fileID: 0} + - target: {fileID: -4163632385632370212, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: -55.954094 + objectReference: {fileID: 0} + - target: {fileID: -4163632385632370212, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 5.0873137 + objectReference: {fileID: 0} + - target: {fileID: -4163632385632370212, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 6.5111756 + objectReference: {fileID: 0} + - target: {fileID: -4094776129182612653, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 42.09887 + objectReference: {fileID: 0} + - target: {fileID: -4094776129182612653, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -5.011722 + objectReference: {fileID: 0} + - target: {fileID: -4094776129182612653, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -5.070103 + objectReference: {fileID: 0} + - target: {fileID: -3905635684167165480, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: -18.051046 + objectReference: {fileID: 0} + - target: {fileID: -3905635684167165480, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 5.241735 + objectReference: {fileID: 0} + - target: {fileID: -3905635684167165480, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -166.18806 + objectReference: {fileID: 0} + - target: {fileID: -3816119039148216903, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 14.978968 + objectReference: {fileID: 0} + - target: {fileID: -3816119039148216903, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 12.504452 + objectReference: {fileID: 0} + - target: {fileID: -3816119039148216903, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 24.852478 + objectReference: {fileID: 0} + - target: {fileID: -3698508493830620839, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 6.662119 + objectReference: {fileID: 0} + - target: {fileID: -3698508493830620839, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -4.001653 + objectReference: {fileID: 0} + - target: {fileID: -3698508493830620839, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -61.373577 + objectReference: {fileID: 0} + - target: {fileID: -3626176144389006993, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: -3626176144389006993, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -3626176144389006993, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalPosition.y + value: 0.025 + objectReference: {fileID: 0} + - target: {fileID: -3626176144389006993, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalPosition.z + value: -1.536 + objectReference: {fileID: 0} + - target: {fileID: -3626176144389006993, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -3626176144389006993, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -3626176144389006993, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -3626176144389006993, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -3626176144389006993, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -3626176144389006993, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -3626176144389006993, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -3302753515521682805, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: -4.76416 + objectReference: {fileID: 0} + - target: {fileID: -3302753515521682805, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 3.651905 + objectReference: {fileID: 0} + - target: {fileID: -3302753515521682805, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 6.5222316 + objectReference: {fileID: 0} + - target: {fileID: -2439296577792238599, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: -4.1321754 + objectReference: {fileID: 0} + - target: {fileID: -2439296577792238599, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -0.04326331 + objectReference: {fileID: 0} + - target: {fileID: -2439296577792238599, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -1.0284628 + objectReference: {fileID: 0} + - target: {fileID: -1897591599279398645, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 23.126158 + objectReference: {fileID: 0} + - target: {fileID: -1897591599279398645, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -24.198555 + objectReference: {fileID: 0} + - target: {fileID: -1897591599279398645, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 5.424404 + objectReference: {fileID: 0} + - target: {fileID: -1460181458545649514, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 46.812325 + objectReference: {fileID: 0} + - target: {fileID: -1460181458545649514, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 3.0186357 + objectReference: {fileID: 0} + - target: {fileID: -1460181458545649514, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 6.968934 + objectReference: {fileID: 0} + - target: {fileID: -1099549018016766160, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 68.76605 + objectReference: {fileID: 0} + - target: {fileID: -1099549018016766160, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -107.959076 + objectReference: {fileID: 0} + - target: {fileID: -1099549018016766160, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 167.88715 + objectReference: {fileID: 0} + - target: {fileID: -553155349493089998, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 6.8324723 + objectReference: {fileID: 0} + - target: {fileID: -553155349493089998, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 11.160304 + objectReference: {fileID: 0} + - target: {fileID: -553155349493089998, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 116.89181 + objectReference: {fileID: 0} + - target: {fileID: -391535181640962643, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 72.70722 + objectReference: {fileID: 0} + - target: {fileID: -391535181640962643, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 13.257153 + objectReference: {fileID: 0} + - target: {fileID: -391535181640962643, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 9.01122 + objectReference: {fileID: 0} + - target: {fileID: 161597360567186610, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 73.99111 + objectReference: {fileID: 0} + - target: {fileID: 161597360567186610, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -152.07605 + objectReference: {fileID: 0} + - target: {fileID: 161597360567186610, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -158.89447 + objectReference: {fileID: 0} + - target: {fileID: 431821364586692362, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 73.268524 + objectReference: {fileID: 0} + - target: {fileID: 431821364586692362, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -15.842312 + objectReference: {fileID: 0} + - target: {fileID: 431821364586692362, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -20.96652 + objectReference: {fileID: 0} + - target: {fileID: 455488755276597479, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 44.335835 + objectReference: {fileID: 0} + - target: {fileID: 455488755276597479, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -5.7041645 + objectReference: {fileID: 0} + - target: {fileID: 455488755276597479, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -5.1645417 + objectReference: {fileID: 0} + - target: {fileID: 468737374986348405, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 72.739914 + objectReference: {fileID: 0} + - target: {fileID: 468737374986348405, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 12.552772 + objectReference: {fileID: 0} + - target: {fileID: 468737374986348405, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 8.442117 + objectReference: {fileID: 0} + - target: {fileID: 922206820668731328, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 73.866936 + objectReference: {fileID: 0} + - target: {fileID: 922206820668731328, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -150.85812 + objectReference: {fileID: 0} + - target: {fileID: 922206820668731328, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -158.0948 + objectReference: {fileID: 0} + - target: {fileID: 1373914806313284920, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 5.208101 + objectReference: {fileID: 0} + - target: {fileID: 1373914806313284920, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -0.5312342 + objectReference: {fileID: 0} + - target: {fileID: 1373914806313284920, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0.03536128 + objectReference: {fileID: 0} + - target: {fileID: 1416107430836515573, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 49.472218 + objectReference: {fileID: 0} + - target: {fileID: 1416107430836515573, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -1.4275349 + objectReference: {fileID: 0} + - target: {fileID: 1416107430836515573, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0.9753735 + objectReference: {fileID: 0} + - target: {fileID: 1562814315773289160, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 25.752384 + objectReference: {fileID: 0} + - target: {fileID: 1562814315773289160, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -0.7814088 + objectReference: {fileID: 0} + - target: {fileID: 1562814315773289160, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -3.1815221 + objectReference: {fileID: 0} + - target: {fileID: 2623857960525574509, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 44.19521 + objectReference: {fileID: 0} + - target: {fileID: 2623857960525574509, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -5.641104 + objectReference: {fileID: 0} + - target: {fileID: 2623857960525574509, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -1.1343384 + objectReference: {fileID: 0} + - target: {fileID: 3176483683323223189, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_Name + value: Ch03_nonPBR + objectReference: {fileID: 0} + - target: {fileID: 3262156797675074458, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_DirtyAABB + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3262156797675074458, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_AABB.m_Center.x + value: -0.00013288856 + objectReference: {fileID: 0} + - target: {fileID: 3262156797675074458, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_AABB.m_Center.y + value: -0.5988642 + objectReference: {fileID: 0} + - target: {fileID: 3262156797675074458, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_AABB.m_Center.z + value: 0.039403453 + objectReference: {fileID: 0} + - target: {fileID: 3262156797675074458, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_AABB.m_Extent.x + value: 0.7285516 + objectReference: {fileID: 0} + - target: {fileID: 3262156797675074458, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_AABB.m_Extent.y + value: 0.89196837 + objectReference: {fileID: 0} + - target: {fileID: 3262156797675074458, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_AABB.m_Extent.z + value: 0.26572585 + objectReference: {fileID: 0} + - target: {fileID: 3361887385505581166, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 10.210432 + objectReference: {fileID: 0} + - target: {fileID: 3361887385505581166, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -1.1105806 + objectReference: {fileID: 0} + - target: {fileID: 3361887385505581166, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 2.304141 + objectReference: {fileID: 0} + - target: {fileID: 3749196058988660681, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 73.2516 + objectReference: {fileID: 0} + - target: {fileID: 3749196058988660681, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -15.643362 + objectReference: {fileID: 0} + - target: {fileID: 3749196058988660681, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -20.776423 + objectReference: {fileID: 0} + - target: {fileID: 4004957257867972251, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 81.256065 + objectReference: {fileID: 0} + - target: {fileID: 4004957257867972251, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -166.84456 + objectReference: {fileID: 0} + - target: {fileID: 4004957257867972251, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -172.34253 + objectReference: {fileID: 0} + - target: {fileID: 4295804097729774728, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: -61.923378 + objectReference: {fileID: 0} + - target: {fileID: 4295804097729774728, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 1.3155081 + objectReference: {fileID: 0} + - target: {fileID: 4295804097729774728, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -6.545465 + objectReference: {fileID: 0} + - target: {fileID: 4662344776264845065, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 54.4838 + objectReference: {fileID: 0} + - target: {fileID: 4662344776264845065, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 7.062095 + objectReference: {fileID: 0} + - target: {fileID: 4662344776264845065, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 16.500393 + objectReference: {fileID: 0} + - target: {fileID: 4779028225035680104, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 34.766155 + objectReference: {fileID: 0} + - target: {fileID: 4779028225035680104, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -2.1387432 + objectReference: {fileID: 0} + - target: {fileID: 4779028225035680104, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -0.3058195 + objectReference: {fileID: 0} + - target: {fileID: 5103393087216722305, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 14.914308 + objectReference: {fileID: 0} + - target: {fileID: 5103393087216722305, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -0.22752579 + objectReference: {fileID: 0} + - target: {fileID: 5103393087216722305, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -1.628288 + objectReference: {fileID: 0} + - target: {fileID: 5108972104066148397, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: -17.98804 + objectReference: {fileID: 0} + - target: {fileID: 5108972104066148397, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -3.524146 + objectReference: {fileID: 0} + - target: {fileID: 5108972104066148397, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 168.30362 + objectReference: {fileID: 0} + - target: {fileID: 5688159057867380783, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 36.887154 + objectReference: {fileID: 0} + - target: {fileID: 5688159057867380783, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 1.5386997 + objectReference: {fileID: 0} + - target: {fileID: 5688159057867380783, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 4.445345 + objectReference: {fileID: 0} + - target: {fileID: 6733440655984390788, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: -0.7089372 + objectReference: {fileID: 0} + - target: {fileID: 6733440655984390788, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 5.6076264 + objectReference: {fileID: 0} + - target: {fileID: 6733440655984390788, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 9.115962 + objectReference: {fileID: 0} + - target: {fileID: 6982211295122087396, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 46.848904 + objectReference: {fileID: 0} + - target: {fileID: 6982211295122087396, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 2.8688908 + objectReference: {fileID: 0} + - target: {fileID: 6982211295122087396, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 6.675417 + objectReference: {fileID: 0} + - target: {fileID: 7048100250700188071, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: -2.6373827 + objectReference: {fileID: 0} + - target: {fileID: 7048100250700188071, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 13.867661 + objectReference: {fileID: 0} + - target: {fileID: 7048100250700188071, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -2.8068643 + objectReference: {fileID: 0} + - target: {fileID: 7120899098106388262, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 9.46014 + objectReference: {fileID: 0} + - target: {fileID: 7120899098106388262, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0.8690846 + objectReference: {fileID: 0} + - target: {fileID: 7120899098106388262, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 1.4120194 + objectReference: {fileID: 0} + - target: {fileID: 7513172229480768255, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 4.1202493 + objectReference: {fileID: 0} + - target: {fileID: 7513172229480768255, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 12.733012 + objectReference: {fileID: 0} + - target: {fileID: 7513172229480768255, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 22.076101 + objectReference: {fileID: 0} + - target: {fileID: 8082000021831513372, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 14.900333 + objectReference: {fileID: 0} + - target: {fileID: 8082000021831513372, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -0.24198033 + objectReference: {fileID: 0} + - target: {fileID: 8082000021831513372, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -2.1367822 + objectReference: {fileID: 0} + - target: {fileID: 9129239294670532361, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 5.209387 + objectReference: {fileID: 0} + - target: {fileID: 9129239294670532361, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -0.5402233 + objectReference: {fileID: 0} + - target: {fileID: 9129239294670532361, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0.19803901 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 6413633603367980515, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} +--- !u!4 &2120561529 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -3626176144389006993, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + m_PrefabInstance: {fileID: 2120561528} + m_PrefabAsset: {fileID: 0} +--- !u!1 &2120561530 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 3176483683323223189, guid: 2815b48eed6c35f46a109c05a61dd73e, type: 3} + m_PrefabInstance: {fileID: 2120561528} + m_PrefabAsset: {fileID: 0} +--- !u!111 &2120561532 +Animation: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2120561530} + m_Enabled: 1 + serializedVersion: 3 + m_Animation: {fileID: -203655887218126122, guid: 53abb93f67f6f6143bde19b9cb968573, type: 3} + m_Animations: + - {fileID: -203655887218126122, guid: 53abb93f67f6f6143bde19b9cb968573, type: 3} + m_WrapMode: 0 + m_PlayAutomatically: 1 + m_AnimatePhysics: 0 + m_CullingType: 0 +--- !u!4 &49823736286878022 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 910145386848294694} + m_LocalRotation: {x: -0, y: -0.7071068, z: -0.7071067, w: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.2011934, y: 0.20119342, z: 0.20119342} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 85666418} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &275726642968900208 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8696834099673425882} + - component: {fileID: 8280712424864271855} + - component: {fileID: 5383437056942646754} + m_Layer: 0 + m_Name: Object_6 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 2147483647 + m_IsActive: 1 +--- !u!33 &479417073656528747 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7014205949497323128} + m_Mesh: {fileID: -6557037894994383744, guid: cabff5a734c75f54d9e603329cd6e952, type: 3} +--- !u!33 &587813642097620761 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 910145386848294694} + m_Mesh: {fileID: 16337220340951744, guid: cabff5a734c75f54d9e603329cd6e952, type: 3} +--- !u!1 &910145386848294694 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 49823736286878022} + - component: {fileID: 587813642097620761} + - component: {fileID: 4340917441699521833} + m_Layer: 0 + m_Name: Object_4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 2147483647 + m_IsActive: 1 +--- !u!23 &1137592712563705955 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7014205949497323128} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 6572354291723449966, guid: cabff5a734c75f54d9e603329cd6e952, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!23 &1635948777480823879 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3624823187023862000} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 5064239222646318912, guid: cabff5a734c75f54d9e603329cd6e952, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &2622612824935966257 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3624823187023862000} + m_Mesh: {fileID: -8439562537810720106, guid: cabff5a734c75f54d9e603329cd6e952, type: 3} +--- !u!23 &3449177329809672823 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7782969790800438551} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 7336558241845098872, guid: cabff5a734c75f54d9e603329cd6e952, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!4 &3515436713112986816 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3624823187023862000} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5996047358468535202} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3624823187023862000 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3515436713112986816} + - component: {fileID: 2622612824935966257} + - component: {fileID: 1635948777480823879} + m_Layer: 0 + m_Name: Object_11 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 2147483647 + m_IsActive: 1 +--- !u!33 &3639680071746721221 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7782969790800438551} + m_Mesh: {fileID: -3365258975255008989, guid: cabff5a734c75f54d9e603329cd6e952, type: 3} +--- !u!4 &4010306883750213769 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7782969790800438551} + m_LocalRotation: {x: -0, y: -0.7071068, z: -0.7071067, w: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.2011934, y: 0.20119342, z: 0.20119342} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 85666418} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4132482790855720093 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7014205949497323128} + m_LocalRotation: {x: -0, y: -0.7071068, z: -0.7071067, w: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.2011934, y: 0.20119342, z: 0.20119342} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 85666418} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &4340917441699521833 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 910145386848294694} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 8285017246743974754, guid: cabff5a734c75f54d9e603329cd6e952, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &4411524742878579080 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5996047358468535202} + m_Layer: 0 + m_Name: tripod_4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 2147483647 + m_IsActive: 1 +--- !u!23 &4441924723850205874 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5547211741552374804} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 855434228054878152, guid: cabff5a734c75f54d9e603329cd6e952, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &5321253133420387173 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8019414638514144078} + m_Mesh: {fileID: 3183751252480572336, guid: cabff5a734c75f54d9e603329cd6e952, type: 3} +--- !u!23 &5383437056942646754 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 275726642968900208} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: -1792401436847800903, guid: cabff5a734c75f54d9e603329cd6e952, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &5547211741552374804 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8297221034217166648} + - component: {fileID: 8763078256897489230} + - component: {fileID: 4441924723850205874} + m_Layer: 0 + m_Name: Object_8 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 2147483647 + m_IsActive: 1 +--- !u!4 &5996047358468535202 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4411524742878579080} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.5, y: 1.559679, z: 0.6444515} + m_LocalScale: {x: 0.100000024, y: 0.020000003, z: 0.100000024} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3515436713112986816} + m_Father: {fileID: 8897093224260293917} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7014205949497323128 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4132482790855720093} + - component: {fileID: 479417073656528747} + - component: {fileID: 1137592712563705955} + m_Layer: 0 + m_Name: Object_5 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 2147483647 + m_IsActive: 1 +--- !u!1 &7782969790800438551 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4010306883750213769} + - component: {fileID: 3639680071746721221} + - component: {fileID: 3449177329809672823} + m_Layer: 0 + m_Name: Object_9 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 2147483647 + m_IsActive: 1 +--- !u!4 &7833608256417740802 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8019414638514144078} + m_LocalRotation: {x: -0, y: -0.7071068, z: -0.7071067, w: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.2011934, y: 0.20119342, z: 0.20119342} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 85666418} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8019414638514144078 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7833608256417740802} + - component: {fileID: 5321253133420387173} + - component: {fileID: 8964909451593379834} + m_Layer: 0 + m_Name: Object_7 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 2147483647 + m_IsActive: 1 +--- !u!1 &8128668236685381012 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8897093224260293917} + m_Layer: 0 + m_Name: Tripod Camera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 2147483647 + m_IsActive: 1 +--- !u!33 &8280712424864271855 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 275726642968900208} + m_Mesh: {fileID: -7613127620187343925, guid: cabff5a734c75f54d9e603329cd6e952, type: 3} +--- !u!4 &8297221034217166648 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5547211741552374804} + m_LocalRotation: {x: -0, y: -0.7071068, z: -0.7071067, w: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.2011934, y: 0.20119342, z: 0.20119342} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 85666418} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &8696834099673425882 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 275726642968900208} + m_LocalRotation: {x: -0, y: -0.7071068, z: -0.7071067, w: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.2011934, y: 0.20119342, z: 0.20119342} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 85666418} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8763078256897489230 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5547211741552374804} + m_Mesh: {fileID: -6052515218119891095, guid: cabff5a734c75f54d9e603329cd6e952, type: 3} +--- !u!4 &8897093224260293917 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8128668236685381012} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.4450333, y: 0, z: 1.4303857} + m_LocalScale: {x: 0.63348883, y: 0.63348883, z: 0.63348883} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 85666418} + - {fileID: 5996047358468535202} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &8964909451593379834 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8019414638514144078} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 7202895373918562887, guid: cabff5a734c75f54d9e603329cd6e952, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} diff --git a/package/Runtime/MovieSet/MovieSet.unity.meta b/package/Runtime/MovieSet/MovieSet.unity.meta new file mode 100644 index 000000000..46fa9051e --- /dev/null +++ b/package/Runtime/MovieSet/MovieSet.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 52573b45d44cd4948b7d3a75615b0f5e +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/MovieSet/README.md b/package/Runtime/MovieSet/README.md new file mode 100644 index 000000000..8ee114de2 --- /dev/null +++ b/package/Runtime/MovieSet/README.md @@ -0,0 +1,11 @@ +# Movie Set + +This sample shows how to use a RenderTexture to display the output of a camera on a TV screen. + +A RenderTexture can be assigned to a camera to output a camera view into a texture. This texture can then be assigned to objects and materials in your scene to be displayed or as input for custom shaders. + +## Setup + +1) Create a new RenderTexture asset in your project window with `Create/RenderTexture` +2) Assign the Texture to the camera's `Output Texture` slot (in this scene in the "Tripod Camera" object) +3) Assign the Texture to an object in your scene (in this scene in the "TV" object) \ No newline at end of file diff --git a/package/Runtime/MovieSet/README.md.meta b/package/Runtime/MovieSet/README.md.meta new file mode 100644 index 000000000..6c8e3aab9 --- /dev/null +++ b/package/Runtime/MovieSet/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9e7971c51bc65e9438a509dff353fd2b +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/Splines/Scripts/Needle.Samples.Splines~/SplineWalker.ts b/package/Runtime/Splines/Scripts/Needle.Samples.Splines~/SplineWalker.ts index 217ddcf7b..36b200f66 100644 --- a/package/Runtime/Splines/Scripts/Needle.Samples.Splines~/SplineWalker.ts +++ b/package/Runtime/Splines/Scripts/Needle.Samples.Splines~/SplineWalker.ts @@ -40,7 +40,7 @@ export class SplineWalker extends Behaviour { if (this.clamp) this._position01 = Mathf.clamp01(this._position01); else this._position01 = this._position01 % 1; - const t = this._position01 % 1; + const t = this._position01 >= 1 ? 1 : this._position01 % 1; const pt = this.spline.getPointAt(t); setWorldPosition(this.object, pt); if (!this.lookAt) { diff --git a/package/Runtime/_Shared/Characters.meta b/package/Runtime/_Shared/Characters.meta new file mode 100644 index 000000000..d8e0e7964 --- /dev/null +++ b/package/Runtime/_Shared/Characters.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3371c9f633afcc24e86524e4fda6c0fa +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/_Shared/Characters/Animations.meta b/package/Runtime/_Shared/Characters/Animations.meta new file mode 100644 index 000000000..7f1b6a889 --- /dev/null +++ b/package/Runtime/_Shared/Characters/Animations.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c3e89693115da0c4fb8a61847d1605bc +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/_Shared/Characters/Animations/Ch03_nonPBR@Standing Greeting.fbx b/package/Runtime/_Shared/Characters/Animations/Ch03_nonPBR@Standing Greeting.fbx new file mode 100644 index 000000000..4038f164c Binary files /dev/null and b/package/Runtime/_Shared/Characters/Animations/Ch03_nonPBR@Standing Greeting.fbx differ diff --git a/package/Runtime/_Shared/Characters/Animations/Ch03_nonPBR@Standing Greeting.fbx.meta b/package/Runtime/_Shared/Characters/Animations/Ch03_nonPBR@Standing Greeting.fbx.meta new file mode 100644 index 000000000..b611c4518 --- /dev/null +++ b/package/Runtime/_Shared/Characters/Animations/Ch03_nonPBR@Standing Greeting.fbx.meta @@ -0,0 +1,106 @@ +fileFormatVersion: 2 +guid: 53abb93f67f6f6143bde19b9cb968573 +ModelImporter: + serializedVersion: 21300 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 1 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/_Shared/Characters/Ch03_nonPBR.glb b/package/Runtime/_Shared/Characters/Ch03_nonPBR.glb new file mode 100644 index 000000000..f863af091 Binary files /dev/null and b/package/Runtime/_Shared/Characters/Ch03_nonPBR.glb differ diff --git a/package/Runtime/_Shared/Characters/Ch03_nonPBR.glb.meta b/package/Runtime/_Shared/Characters/Ch03_nonPBR.glb.meta new file mode 100644 index 000000000..c3eb37b76 --- /dev/null +++ b/package/Runtime/_Shared/Characters/Ch03_nonPBR.glb.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 2815b48eed6c35f46a109c05a61dd73e +importerOverride: UnityGLTFEditor:UnityGLTF:GLTFImporter +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 804e1ce4c496647cfa3f1a1134187c71, type: 3} + _removeEmptyRootObjects: 1 + _scaleFactor: 1 + _maximumLod: 300 + _readWriteEnabled: 1 + _generateColliders: 0 + _swapUvs: 0 + _generateLightmapUVs: 0 + _importBlendShapeNames: 1 + _blendShapeFrameWeight: + _option: 0 + _multiplier: 1 + _importNormals: 0 + _importTangents: 0 + _importCamera: 2 + _importAnimations: 2 + _addAnimatorComponent: 0 + _animationLoopTime: 1 + _animationLoopPose: 0 + _importMaterials: 1 + _enableGpuInstancing: 0 + _useSceneNameIdentifier: 1 + _textureCompression: -50 + optimizeGameObjects: 0 + materials: + - {instanceID: 0} + textures: + - {instanceID: 0} + - {instanceID: 0} + hasSceneData: 1 + hasAnimationData: 0 + hasMaterialData: 1 + hasTextureData: 1 + animations: [] + _extensions: + - name: KHR_draco_mesh_compression + supported: 1 + used: 1 + required: 1 + - name: KHR_texture_basisu + supported: 1 + used: 1 + required: 1 + - name: KHR_texture_transform + supported: 1 + used: 1 + required: 0 + _textures: + - texture: {instanceID: 0} + shouldBeLinear: 0 + shouldBeNormalMap: 0 + - texture: {instanceID: 0} + shouldBeLinear: 1 + shouldBeNormalMap: 1 + _mainAssetIdentifier: scenes/Ch03_nonPBR + _importPlugins: [] diff --git a/package/Runtime/_Shared/SampleScripts.codegen/Photographer.cs b/package/Runtime/_Shared/SampleScripts.codegen/Photographer.cs new file mode 100644 index 000000000..6cd6d4abb --- /dev/null +++ b/package/Runtime/_Shared/SampleScripts.codegen/Photographer.cs @@ -0,0 +1,18 @@ +// NEEDLE_CODEGEN_START +// auto generated code - do not edit directly + +#pragma warning disable + +namespace Needle.Typescript.GeneratedComponents +{ + public partial class Photographer : UnityEngine.MonoBehaviour + { + public UnityEngine.Camera @camera; + public float @width = 1024f; + public float @height = 1024f; + public UnityEngine.Transform @prefab; + public void takePhoto(){} + } +} + +// NEEDLE_CODEGEN_END \ No newline at end of file diff --git a/package/Runtime/_Shared/SampleScripts.codegen/Photographer.cs.meta b/package/Runtime/_Shared/SampleScripts.codegen/Photographer.cs.meta new file mode 100644 index 000000000..e17d37324 --- /dev/null +++ b/package/Runtime/_Shared/SampleScripts.codegen/Photographer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8fa42ddba8bc9162a2faf7521fc8ede6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package/Runtime/_Shared/SampleScripts~/Bow & Arrow/ArrowShooting.ts b/package/Runtime/_Shared/SampleScripts~/Bow & Arrow/ArrowShooting.ts index 9ce61c0c2..f8449a3b3 100644 --- a/package/Runtime/_Shared/SampleScripts~/Bow & Arrow/ArrowShooting.ts +++ b/package/Runtime/_Shared/SampleScripts~/Bow & Arrow/ArrowShooting.ts @@ -169,7 +169,7 @@ export class ArrowShooting extends Behaviour { return from.distanceTo(to); } - private fakeArrow?: IGameObject; + private fakeArrow?: Object3D; private async setupPreDraw() { if (!this.arrowPrefab || !this.arrowSpawnSpot) return; diff --git a/package/Runtime/_Shared/SampleScripts~/Photographer.ts b/package/Runtime/_Shared/SampleScripts~/Photographer.ts new file mode 100644 index 000000000..3d247dd81 --- /dev/null +++ b/package/Runtime/_Shared/SampleScripts~/Photographer.ts @@ -0,0 +1,60 @@ +import { AssetReference, Behaviour, Camera, DragControls, ObjectUtils, Renderer, Rigidbody, saveImage, screenshot2, serializable } from "@needle-tools/engine"; +import { DataTexture, DoubleSide, MeshStandardMaterial, Object3D, Texture, TextureLoader } from "three"; + +export class Photographer extends Behaviour { + + @serializable(Camera) + camera?: Camera; + + @serializable() + width: number = 1024; + + @serializable() + height: number = 1024; + + @serializable(AssetReference) + prefab: AssetReference | null = null; + + takePhoto() { + const photo = screenshot2({ + type: "texture", + camera: this.camera, + width: this.width, + height: this.height, + }); + + if (this.prefab && photo instanceof Texture) { + this.prefab.instantiate(this.scene).then(res => { + if (!res) return; + + setTimeout(()=>{ + res.destroy(); + }, 2000) + + + res?.position.set(0, 3, 0); + + res?.getOrAddComponent(DragControls); + + const rb = res?.getComponentInChildren(Rigidbody); + if (rb) { + rb.teleport(this.gameObject.worldPosition.add({ x: 0, y: .5, z: 0 })); + rb.setAngularVelocity(Math.random() - .5, Math.random() - .5, Math.random() * 2 - 1); + rb.applyImpulse(this.gameObject.worldForward.add({ x: 0, y: 2, z: 0 }) + .normalize() + .multiplyScalar(0.01)); + } + + const renderer = res?.getComponentInChildren(Renderer); + if (renderer) { + const mat = renderer.sharedMaterial.clone() || new MeshStandardMaterial(); + if (mat && "map" in mat) { + mat.map = photo; + mat.side = DoubleSide; + } + renderer.sharedMaterial = mat; + } + }) + } + } +} \ No newline at end of file diff --git a/package/Runtime/_Shared/SampleScripts~/codegen/register_types.ts b/package/Runtime/_Shared/SampleScripts~/codegen/register_types.ts index 54cfd954d..d84286176 100644 --- a/package/Runtime/_Shared/SampleScripts~/codegen/register_types.ts +++ b/package/Runtime/_Shared/SampleScripts~/codegen/register_types.ts @@ -24,6 +24,7 @@ import { Networking_ClickToChangeColor } from "../Networking.js"; import { Networking_StringArray } from "../Networking.js"; import { Networking_Object } from "../Networking.js"; import { PerformanceSettings } from "../PerformanceSettings.js"; +import { Photographer } from "../Photographer.js"; import { PhysicsCollision } from "../PhysicsCollision.js"; import { PhysicsTrigger } from "../PhysicsCollision.js"; import { PlayAnimationOnCollision } from "../PlayAnimationOnCollision.js"; @@ -90,6 +91,7 @@ TypeStore.add("Networking_ClickToChangeColor", Networking_ClickToChangeColor); TypeStore.add("Networking_StringArray", Networking_StringArray); TypeStore.add("Networking_Object", Networking_Object); TypeStore.add("PerformanceSettings", PerformanceSettings); +TypeStore.add("Photographer", Photographer); TypeStore.add("PhysicsCollision", PhysicsCollision); TypeStore.add("PhysicsTrigger", PhysicsTrigger); TypeStore.add("PlayAnimationOnCollision", PlayAnimationOnCollision); diff --git a/package/package.json b/package/package.json index 8be777a6b..6623c3d4a 100644 --- a/package/package.json +++ b/package/package.json @@ -2,7 +2,7 @@ "name": "com.needle.engine-samples", "displayName": "Needle Engine Samples", "description": "Sample projects for Needle Engine, covering a wide range of use cases and technologies.", - "version": "0.18.0", + "version": "0.19.0-pre", "type": "sample", "unity": "2021.3", "author": {