@mappedin/mappedin-js 6.18.0 → 6.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/THIRD_PARTY_LICENSES.txt +408 -5
  2. package/lib/esm/GLTFExporter-G4WLRGTD.js +1 -0
  3. package/lib/esm/GLTFLoader-6KS65AUU.js +1 -0
  4. package/lib/esm/{chunk-X2XAL5AL.js → chunk-5DTIPZIM.js} +1 -1
  5. package/lib/esm/chunk-7ZLJ5BZG.js +956 -0
  6. package/lib/esm/chunk-PJFSEFCS.js +660 -0
  7. package/lib/esm/chunk-PWEV3AFA.js +1 -0
  8. package/lib/esm/chunk-S634J4FK.js +3819 -0
  9. package/lib/esm/chunk-XH3AOOQM.js +1515 -0
  10. package/lib/esm/index.css +1 -1
  11. package/lib/esm/index.d.ts +563 -87
  12. package/lib/esm/index.js +1 -1
  13. package/lib/esm/inspector-IMRVE3SS.js +482 -0
  14. package/lib/esm/inspector-PGGVNGUZ.css +1 -0
  15. package/lib/esm/internal-75ZEUF5X.js +1 -0
  16. package/lib/esm/internal-Q5HDG37N.css +1 -0
  17. package/lib/esm/{roboto-regular-OIQQVHWA.js → roboto-regular-6ZYOMS3F.js} +1 -1
  18. package/lib/esm/src-RKBRVS5G.js +1 -0
  19. package/lib/esm/src-WUAFLQGO.css +1 -0
  20. package/lib/esm/text3d-YG2QJ2JU.js +252 -0
  21. package/lib/esm/workers/collision-worker.csp.js +1 -1
  22. package/lib/index.css +1 -1
  23. package/package.json +1 -1
  24. package/lib/esm/GLTFExporter-REUTCDDJ.js +0 -1
  25. package/lib/esm/GLTFLoader-BHAZAEWN.js +0 -1
  26. package/lib/esm/chunk-FILUCKU4.js +0 -1
  27. package/lib/esm/chunk-FQILVVN4.js +0 -1
  28. package/lib/esm/chunk-KNYR4VGD.js +0 -1
  29. package/lib/esm/chunk-MCLERQTU.js +0 -1
  30. package/lib/esm/chunk-USECXCBB.js +0 -1
  31. package/lib/esm/inspector-6AQ5XCPD.js +0 -1
  32. package/lib/esm/inspector-6RM5OI6U.css +0 -1
  33. package/lib/esm/internal-I66JHO4D.js +0 -1
  34. package/lib/esm/internal-J5PK6TOB.css +0 -1
  35. package/lib/esm/src-GA2Z4OON.css +0 -1
  36. package/lib/esm/src-VUR3CJ3Y.js +0 -1
  37. package/lib/esm/text3d-WK55MUUL.js +0 -1
@@ -3260,6 +3260,37 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
3260
3260
 
3261
3261
  -----------
3262
3262
 
3263
+ The following npm package may be included in this product:
3264
+
3265
+ - void-elements@3.1.0
3266
+
3267
+ This package contains the following license:
3268
+
3269
+ (The MIT License)
3270
+
3271
+ Copyright (c) 2014 hemanth
3272
+
3273
+ Permission is hereby granted, free of charge, to any person obtaining
3274
+ a copy of this software and associated documentation files (the
3275
+ 'Software'), to deal in the Software without restriction, including
3276
+ without limitation the rights to use, copy, modify, merge, publish,
3277
+ distribute, sublicense, and/or sell copies of the Software, and to
3278
+ permit persons to whom the Software is furnished to do so, subject to
3279
+ the following conditions:
3280
+
3281
+ The above copyright notice and this permission notice shall be
3282
+ included in all copies or substantial portions of the Software.
3283
+
3284
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
3285
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
3286
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
3287
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
3288
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
3289
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
3290
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
3291
+
3292
+ -----------
3293
+
3263
3294
  The following npm package may be included in this product:
3264
3295
 
3265
3296
  - compression@1.8.1
@@ -5166,6 +5197,69 @@ CC0-1.0
5166
5197
 
5167
5198
  -----------
5168
5199
 
5200
+ The following npm package may be included in this product:
5201
+
5202
+ - chroma-js@2.6.0
5203
+
5204
+ This package contains the following license:
5205
+
5206
+ chroma.js - JavaScript library for color conversions
5207
+
5208
+ Copyright (c) 2011-2024, Gregor Aisch
5209
+ All rights reserved.
5210
+
5211
+ Redistribution and use in source and binary forms, with or without
5212
+ modification, are permitted provided that the following conditions are met:
5213
+
5214
+ 1. Redistributions of source code must retain the above copyright notice, this
5215
+ list of conditions and the following disclaimer.
5216
+
5217
+ 2. Redistributions in binary form must reproduce the above copyright notice,
5218
+ this list of conditions and the following disclaimer in the documentation
5219
+ and/or other materials provided with the distribution.
5220
+
5221
+ 3. The name Gregor Aisch may not be used to endorse or promote products
5222
+ derived from this software without specific prior written permission.
5223
+
5224
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
5225
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
5226
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
5227
+ DISCLAIMED. IN NO EVENT SHALL GREGOR AISCH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
5228
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
5229
+ BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
5230
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
5231
+ OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
5232
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
5233
+ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
5234
+
5235
+ -------------------------------------------------------
5236
+
5237
+ chroma.js includes colors from colorbrewer2.org, which are released under
5238
+ the following license:
5239
+
5240
+ Copyright (c) 2002 Cynthia Brewer, Mark Harrower,
5241
+ and The Pennsylvania State University.
5242
+
5243
+ Licensed under the Apache License, Version 2.0 (the "License");
5244
+ you may not use this file except in compliance with the License.
5245
+ You may obtain a copy of the License at
5246
+ http://www.apache.org/licenses/LICENSE-2.0
5247
+
5248
+ Unless required by applicable law or agreed to in writing,
5249
+ software distributed under the License is distributed on an
5250
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
5251
+ either express or implied. See the License for the specific
5252
+ language governing permissions and limitations under the License.
5253
+
5254
+ ------------------------------------------------------
5255
+
5256
+ Named colors are taken from X11 Color Names.
5257
+ http://www.w3.org/TR/css3-color/#svg-color
5258
+
5259
+ @preserve
5260
+
5261
+ -----------
5262
+
5169
5263
  The following npm package may be included in this product:
5170
5264
 
5171
5265
  - sprintf-js@1.0.3
@@ -6091,6 +6185,35 @@ CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
6091
6185
 
6092
6186
  -----------
6093
6187
 
6188
+ The following npm package may be included in this product:
6189
+
6190
+ - color-blend@3.0.1
6191
+
6192
+ This package contains the following license:
6193
+
6194
+ Copyright (c) 2016 Florian Reuschel
6195
+
6196
+ Permission is hereby granted, free of charge, to any person obtaining
6197
+ a copy of this software and associated documentation files (the
6198
+ "Software"), to deal in the Software without restriction, including
6199
+ without limitation the rights to use, copy, modify, merge, publish,
6200
+ distribute, sublicense, and/or sell copies of the Software, and to
6201
+ permit persons to whom the Software is furnished to do so, subject to
6202
+ the following conditions:
6203
+
6204
+ The above copyright notice and this permission notice shall be
6205
+ included in all copies or substantial portions of the Software.
6206
+
6207
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
6208
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
6209
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
6210
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
6211
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
6212
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
6213
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
6214
+
6215
+ -----------
6216
+
6094
6217
  The following npm packages may be included in this product:
6095
6218
 
6096
6219
  - test-exclude@6.0.0
@@ -6229,11 +6352,12 @@ SOFTWARE.
6229
6352
 
6230
6353
  -----------
6231
6354
 
6232
- The following npm package may be included in this product:
6355
+ The following npm packages may be included in this product:
6233
6356
 
6234
6357
  - csstype@3.1.3
6358
+ - csstype@3.2.3
6235
6359
 
6236
- This package contains the following license:
6360
+ These packages each contain the following license:
6237
6361
 
6238
6362
  Copyright (c) 2017-2018 Fredrik Nicol
6239
6363
 
@@ -7565,7 +7689,7 @@ The following npm packages may be included in this product:
7565
7689
  - lodash.defaultsdeep@4.6.1
7566
7690
  - lodash.merge@4.6.2
7567
7691
  - lodash.mergewith@4.6.2
7568
- - lodash@4.17.21
7692
+ - lodash@4.18.1
7569
7693
 
7570
7694
  These packages each contain the following license:
7571
7695
 
@@ -7944,6 +8068,7 @@ The following npm packages may be included in this product:
7944
8068
  - @expo/sdk-runtime-versions@1.0.0
7945
8069
  - @expo/server@0.6.2
7946
8070
  - @expo/ws-tunnel@1.0.6
8071
+ - @mappedin/apps-sdk@0.2.1-eb4e2e8.0
7947
8072
  - @radix-ui/react-compose-refs@1.1.2
7948
8073
  - @radix-ui/react-slot@1.2.0
7949
8074
  - @react-native/assets-registry@0.79.2
@@ -7985,6 +8110,7 @@ The following npm packages may be included in this product:
7985
8110
  - expo-system-ui@5.0.11
7986
8111
  - expo-web-browser@14.1.6
7987
8112
  - expo@53.0.25
8113
+ - html-parse-stringify@3.0.1
7988
8114
  - imurmurhash@0.1.4
7989
8115
  - jimp-compact@0.16.1
7990
8116
  - metro-babel-transformer@0.82.4
@@ -8762,6 +8888,66 @@ SOFTWARE.
8762
8888
 
8763
8889
  -----------
8764
8890
 
8891
+ The following npm package may be included in this product:
8892
+
8893
+ - styled-components@6.4.1
8894
+
8895
+ This package contains the following license:
8896
+
8897
+ MIT License
8898
+
8899
+ Copyright (c) 2016-present Glen Maddern and Maximilian Stoiber
8900
+
8901
+ Permission is hereby granted, free of charge, to any person obtaining a copy
8902
+ of this software and associated documentation files (the "Software"), to deal
8903
+ in the Software without restriction, including without limitation the rights
8904
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8905
+ copies of the Software, and to permit persons to whom the Software is
8906
+ furnished to do so, subject to the following conditions:
8907
+
8908
+ The above copyright notice and this permission notice shall be included in all
8909
+ copies or substantial portions of the Software.
8910
+
8911
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
8912
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
8913
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
8914
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
8915
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
8916
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
8917
+ SOFTWARE.
8918
+
8919
+ -----------
8920
+
8921
+ The following npm package may be included in this product:
8922
+
8923
+ - stylis@4.3.6
8924
+
8925
+ This package contains the following license:
8926
+
8927
+ MIT License
8928
+
8929
+ Copyright (c) 2016-present Sultan Tarimo
8930
+
8931
+ Permission is hereby granted, free of charge, to any person obtaining a copy
8932
+ of this software and associated documentation files (the "Software"), to deal
8933
+ in the Software without restriction, including without limitation the rights
8934
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8935
+ copies of the Software, and to permit persons to whom the Software is
8936
+ furnished to do so, subject to the following conditions:
8937
+
8938
+ The above copyright notice and this permission notice shall be included in all
8939
+ copies or substantial portions of the Software.
8940
+
8941
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
8942
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
8943
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
8944
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
8945
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
8946
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
8947
+ SOFTWARE.
8948
+
8949
+ -----------
8950
+
8765
8951
  The following npm package may be included in this product:
8766
8952
 
8767
8953
  - buffer-from@1.1.2
@@ -9040,6 +9226,36 @@ SOFTWARE.
9040
9226
 
9041
9227
  -----------
9042
9228
 
9229
+ The following npm package may be included in this product:
9230
+
9231
+ - dayjs@1.11.20
9232
+
9233
+ This package contains the following license:
9234
+
9235
+ MIT License
9236
+
9237
+ Copyright (c) 2018-present, iamkun
9238
+
9239
+ Permission is hereby granted, free of charge, to any person obtaining a copy
9240
+ of this software and associated documentation files (the "Software"), to deal
9241
+ in the Software without restriction, including without limitation the rights
9242
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9243
+ copies of the Software, and to permit persons to whom the Software is
9244
+ furnished to do so, subject to the following conditions:
9245
+
9246
+ The above copyright notice and this permission notice shall be included in all
9247
+ copies or substantial portions of the Software.
9248
+
9249
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
9250
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
9251
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
9252
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
9253
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
9254
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
9255
+ SOFTWARE.
9256
+
9257
+ -----------
9258
+
9043
9259
  The following npm packages may be included in this product:
9044
9260
 
9045
9261
  - @urql/core@5.2.0
@@ -9378,6 +9594,37 @@ SOFTWARE.
9378
9594
 
9379
9595
  -----------
9380
9596
 
9597
+ The following npm packages may be included in this product:
9598
+
9599
+ - @tanstack/query-core@5.100.10
9600
+ - @tanstack/react-query@5.100.10
9601
+
9602
+ These packages each contain the following license:
9603
+
9604
+ MIT License
9605
+
9606
+ Copyright (c) 2021-present Tanner Linsley
9607
+
9608
+ Permission is hereby granted, free of charge, to any person obtaining a copy
9609
+ of this software and associated documentation files (the "Software"), to deal
9610
+ in the Software without restriction, including without limitation the rights
9611
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9612
+ copies of the Software, and to permit persons to whom the Software is
9613
+ furnished to do so, subject to the following conditions:
9614
+
9615
+ The above copyright notice and this permission notice shall be included in all
9616
+ copies or substantial portions of the Software.
9617
+
9618
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
9619
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
9620
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
9621
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
9622
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
9623
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
9624
+ SOFTWARE.
9625
+
9626
+ -----------
9627
+
9381
9628
  The following npm package may be included in this product:
9382
9629
 
9383
9630
  - supports-preserve-symlinks-flag@1.0.0
@@ -9653,6 +9900,37 @@ SOFTWARE.
9653
9900
 
9654
9901
  -----------
9655
9902
 
9903
+ The following npm packages may be included in this product:
9904
+
9905
+ - @emotion/is-prop-valid@1.4.0
9906
+ - @emotion/memoize@0.9.0
9907
+
9908
+ These packages each contain the following license:
9909
+
9910
+ MIT License
9911
+
9912
+ Copyright (c) Emotion team and other contributors
9913
+
9914
+ Permission is hereby granted, free of charge, to any person obtaining a copy
9915
+ of this software and associated documentation files (the "Software"), to deal
9916
+ in the Software without restriction, including without limitation the rights
9917
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9918
+ copies of the Software, and to permit persons to whom the Software is
9919
+ furnished to do so, subject to the following conditions:
9920
+
9921
+ The above copyright notice and this permission notice shall be included in all
9922
+ copies or substantial portions of the Software.
9923
+
9924
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
9925
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
9926
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
9927
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
9928
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
9929
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
9930
+ SOFTWARE.
9931
+
9932
+ -----------
9933
+
9656
9934
  The following npm packages may be included in this product:
9657
9935
 
9658
9936
  - babel-plugin-transform-flow-enums@0.0.2
@@ -9831,10 +10109,13 @@ The following npm packages may be included in this product:
9831
10109
  - jest-worker@29.7.0
9832
10110
  - pretty-format@29.7.0
9833
10111
  - react-dom@19.0.0
10112
+ - react-dom@19.1.1
9834
10113
  - react-is@19.2.4
9835
10114
  - react-native@0.79.2
9836
10115
  - react@19.0.0
10116
+ - react@19.1.1
9837
10117
  - scheduler@0.25.0
10118
+ - scheduler@0.26.0
9838
10119
  - use-sync-external-store@1.6.0
9839
10120
 
9840
10121
  These packages each contain the following license:
@@ -12144,6 +12425,36 @@ THE SOFTWARE.
12144
12425
 
12145
12426
  -----------
12146
12427
 
12428
+ The following npm package may be included in this product:
12429
+
12430
+ - mobx@6.15.3
12431
+
12432
+ This package contains the following license:
12433
+
12434
+ The MIT License (MIT)
12435
+
12436
+ Copyright (c) 2015 Michel Weststrate
12437
+
12438
+ Permission is hereby granted, free of charge, to any person obtaining a copy
12439
+ of this software and associated documentation files (the "Software"), to deal
12440
+ in the Software without restriction, including without limitation the rights
12441
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12442
+ copies of the Software, and to permit persons to whom the Software is
12443
+ furnished to do so, subject to the following conditions:
12444
+
12445
+ The above copyright notice and this permission notice shall be included in all
12446
+ copies or substantial portions of the Software.
12447
+
12448
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12449
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
12450
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
12451
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
12452
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
12453
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
12454
+ SOFTWARE.
12455
+
12456
+ -----------
12457
+
12147
12458
  The following npm package may be included in this product:
12148
12459
 
12149
12460
  - inline-style-prefixer@7.0.1
@@ -12236,7 +12547,7 @@ SOFTWARE.
12236
12547
 
12237
12548
  The following npm package may be included in this product:
12238
12549
 
12239
- - ajv@8.17.1
12550
+ - ajv@8.18.0
12240
12551
 
12241
12552
  This package contains the following license:
12242
12553
 
@@ -12735,7 +13046,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
12735
13046
  The following npm packages may be included in this product:
12736
13047
 
12737
13048
  - picomatch@2.3.2
12738
- - picomatch@3.0.1
13049
+ - picomatch@3.0.2
12739
13050
 
12740
13051
  These packages each contain the following license:
12741
13052
 
@@ -12840,6 +13151,36 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
12840
13151
 
12841
13152
  -----------
12842
13153
 
13154
+ The following npm package may be included in this product:
13155
+
13156
+ - framer-motion@11.18.2
13157
+
13158
+ This package contains the following license:
13159
+
13160
+ The MIT License (MIT)
13161
+
13162
+ Copyright (c) 2018 Framer B.V.
13163
+
13164
+ Permission is hereby granted, free of charge, to any person obtaining a copy
13165
+ of this software and associated documentation files (the "Software"), to deal
13166
+ in the Software without restriction, including without limitation the rights
13167
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13168
+ copies of the Software, and to permit persons to whom the Software is
13169
+ furnished to do so, subject to the following conditions:
13170
+
13171
+ The above copyright notice and this permission notice shall be included in all
13172
+ copies or substantial portions of the Software.
13173
+
13174
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13175
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
13176
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
13177
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
13178
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
13179
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
13180
+ SOFTWARE.
13181
+
13182
+ -----------
13183
+
12843
13184
  The following npm package may be included in this product:
12844
13185
 
12845
13186
  - cross-spawn@7.0.6
@@ -13142,6 +13483,37 @@ SOFTWARE.
13142
13483
 
13143
13484
  -----------
13144
13485
 
13486
+ The following npm packages may be included in this product:
13487
+
13488
+ - motion-dom@11.18.1
13489
+ - motion-utils@11.18.1
13490
+
13491
+ These packages each contain the following license:
13492
+
13493
+ The MIT License (MIT)
13494
+
13495
+ Copyright (c) 2024 [Motion](https://motion.dev) B.V.
13496
+
13497
+ Permission is hereby granted, free of charge, to any person obtaining a copy
13498
+ of this software and associated documentation files (the "Software"), to deal
13499
+ in the Software without restriction, including without limitation the rights
13500
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13501
+ copies of the Software, and to permit persons to whom the Software is
13502
+ furnished to do so, subject to the following conditions:
13503
+
13504
+ The above copyright notice and this permission notice shall be included in all
13505
+ copies or substantial portions of the Software.
13506
+
13507
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13508
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
13509
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
13510
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
13511
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
13512
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
13513
+ SOFTWARE.
13514
+
13515
+ -----------
13516
+
13145
13517
  The following npm package may be included in this product:
13146
13518
 
13147
13519
  - i18next@25.8.0
@@ -13172,6 +13544,37 @@ SOFTWARE.
13172
13544
 
13173
13545
  -----------
13174
13546
 
13547
+ The following npm packages may be included in this product:
13548
+
13549
+ - i18next-browser-languagedetector@8.2.1
13550
+ - react-i18next@15.7.4
13551
+
13552
+ These packages each contain the following license:
13553
+
13554
+ The MIT License (MIT)
13555
+
13556
+ Copyright (c) 2025 i18next
13557
+
13558
+ Permission is hereby granted, free of charge, to any person obtaining a copy
13559
+ of this software and associated documentation files (the "Software"), to deal
13560
+ in the Software without restriction, including without limitation the rights
13561
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13562
+ copies of the Software, and to permit persons to whom the Software is
13563
+ furnished to do so, subject to the following conditions:
13564
+
13565
+ The above copyright notice and this permission notice shall be included in all
13566
+ copies or substantial portions of the Software.
13567
+
13568
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13569
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
13570
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
13571
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
13572
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
13573
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
13574
+ SOFTWARE.
13575
+
13576
+ -----------
13577
+
13175
13578
  The following npm package may be included in this product:
13176
13579
 
13177
13580
  - @expo/schema-utils@0.1.8
@@ -0,0 +1 @@
1
+ import{B as Ae,C as Me,Ga as D,N as P,P as Ee,Q as O,T as Ie,U as Re,_ as H,a as ae,ba as Ne,ea as S,f as ce,i as ue,j as le,k as fe,l as he,m as pe,mb as v,n as de,o as xe,oa as G,p as ye,q as ge,u as Te,v as we,w as me}from"./chunk-S634J4FK.js";import"./chunk-PWEV3AFA.js";ae();var be={POSITION:["byte","byte normalized","unsigned byte","unsigned byte normalized","short","short normalized","unsigned short","unsigned short normalized"],NORMAL:["byte normalized","short normalized"],TANGENT:["byte normalized","short normalized"],TEXCOORD:["byte","byte normalized","unsigned byte","short","short normalized","unsigned short"]},z=class{constructor(){this.textureUtils=null,this.pluginCallbacks=[],this.register(function(e){return new j(e)}),this.register(function(e){return new q(e)}),this.register(function(e){return new Z(e)}),this.register(function(e){return new Q(e)}),this.register(function(e){return new $(e)}),this.register(function(e){return new ee(e)}),this.register(function(e){return new X(e)}),this.register(function(e){return new W(e)}),this.register(function(e){return new J(e)}),this.register(function(e){return new se(e)}),this.register(function(e){return new te(e)}),this.register(function(e){return new ne(e)}),this.register(function(e){return new ie(e)}),this.register(function(e){return new re(e)})}register(e){return this.pluginCallbacks.indexOf(e)===-1&&this.pluginCallbacks.push(e),this}unregister(e){return this.pluginCallbacks.indexOf(e)!==-1&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(e),1),this}setTextureUtils(e){return this.textureUtils=e,this}parse(e,s,n,t){let i=new K,r=[];for(let o=0,c=this.pluginCallbacks.length;o<c;o++)r.push(this.pluginCallbacks[o](i));i.setPlugins(r),i.setTextureUtils(this.textureUtils),i.writeAsync(e,s,t).catch(n)}parseAsync(e,s){let n=this;return new Promise(function(t,i){n.parse(e,t,i,s)})}},y={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,ARRAY_BUFFER:34962,ELEMENT_ARRAY_BUFFER:34963,NEAREST:9728,LINEAR:9729,NEAREST_MIPMAP_NEAREST:9984,LINEAR_MIPMAP_NEAREST:9985,NEAREST_MIPMAP_LINEAR:9986,LINEAR_MIPMAP_LINEAR:9987,CLAMP_TO_EDGE:33071,MIRRORED_REPEAT:33648,REPEAT:10497},V="KHR_mesh_quantization",R={};R[he]=y.NEAREST;R[pe]=y.NEAREST_MIPMAP_NEAREST;R[de]=y.NEAREST_MIPMAP_LINEAR;R[xe]=y.LINEAR;R[ye]=y.LINEAR_MIPMAP_NEAREST;R[ge]=y.LINEAR_MIPMAP_LINEAR;R[le]=y.CLAMP_TO_EDGE;R[ue]=y.REPEAT;R[fe]=y.MIRRORED_REPEAT;var Se={scale:"scale",position:"translation",quaternion:"rotation",morphTargetInfluences:"weights"},Fe=new Ne,_e=12,ze=1179937895,Be=2,Ue=8,Pe=1313821514,De=5130562;function F(a,e){return a.length===e.length&&a.every(function(s,n){return s===e[n]})}function ke(a){return new TextEncoder().encode(a).buffer}function He(a){return F(a.elements,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}function Ge(a,e,s){let n={min:new Array(a.itemSize).fill(Number.POSITIVE_INFINITY),max:new Array(a.itemSize).fill(Number.NEGATIVE_INFINITY)};for(let t=e;t<e+s;t++)for(let i=0;i<a.itemSize;i++){let r;a.itemSize>4?r=a.array[t*a.itemSize+i]:(i===0?r=a.getX(t):i===1?r=a.getY(t):i===2?r=a.getZ(t):i===3&&(r=a.getW(t)),a.normalized===!0&&(r=P.normalize(r,a.array))),n.min[i]=Math.min(n.min[i],r),n.max[i]=Math.max(n.max[i],r)}return n}function Le(a){return Math.ceil(a/4)*4}function Y(a,e=0){let s=Le(a.byteLength);if(s!==a.byteLength){let n=new Uint8Array(s);if(n.set(new Uint8Array(a)),e!==0)for(let t=a.byteLength;t<s;t++)n[t]=e;return n.buffer}return a}function Ce(){return typeof document>"u"&&typeof OffscreenCanvas<"u"?new OffscreenCanvas(1,1):document.createElement("canvas")}function Ve(a,e){if(a.toBlob!==void 0)return new Promise(n=>a.toBlob(n,e));let s;return e==="image/jpeg"?s=.92:e==="image/webp"&&(s=.8),a.convertToBlob({type:e,quality:s})}var K=class{constructor(){this.plugins=[],this.options={},this.pending=[],this.buffers=[],this.byteOffset=0,this.buffers=[],this.nodeMap=new Map,this.skins=[],this.extensionsUsed={},this.extensionsRequired={},this.uids=new Map,this.uid=0,this.json={asset:{version:"2.0",generator:"THREE.GLTFExporter r178"}},this.cache={meshes:new Map,attributes:new Map,attributesNormalized:new Map,materials:new Map,textures:new Map,images:new Map},this.textureUtils=null}setPlugins(e){this.plugins=e}setTextureUtils(e){this.textureUtils=e}async writeAsync(e,s,n={}){this.options=Object.assign({binary:!1,trs:!1,onlyVisible:!0,maxTextureSize:1/0,animations:[],includeCustomExtensions:!1},n),this.options.animations.length>0&&(this.options.trs=!0),await this.processInputAsync(e),await Promise.all(this.pending);let t=this,i=t.buffers,r=t.json;n=t.options;let o=t.extensionsUsed,c=t.extensionsRequired,l=new Blob(i,{type:"application/octet-stream"}),h=Object.keys(o),u=Object.keys(c);if(h.length>0&&(r.extensionsUsed=h),u.length>0&&(r.extensionsRequired=u),r.buffers&&r.buffers.length>0&&(r.buffers[0].byteLength=l.size),n.binary===!0){let T=new FileReader;T.readAsArrayBuffer(l),T.onloadend=function(){let f=Y(T.result),p=new DataView(new ArrayBuffer(Ue));p.setUint32(0,f.byteLength,!0),p.setUint32(4,De,!0);let d=Y(ke(JSON.stringify(r)),32),g=new DataView(new ArrayBuffer(Ue));g.setUint32(0,d.byteLength,!0),g.setUint32(4,Pe,!0);let A=new ArrayBuffer(_e),N=new DataView(A);N.setUint32(0,ze,!0),N.setUint32(4,Be,!0);let B=_e+g.byteLength+d.byteLength+p.byteLength+f.byteLength;N.setUint32(8,B,!0);let x=new Blob([A,g,d,p,f],{type:"application/octet-stream"}),w=new FileReader;w.readAsArrayBuffer(x),w.onloadend=function(){s(w.result)}}}else if(r.buffers&&r.buffers.length>0){let T=new FileReader;T.readAsDataURL(l),T.onloadend=function(){let f=T.result;r.buffers[0].uri=f,s(r)}}else s(r)}serializeUserData(e,s){if(Object.keys(e.userData).length===0)return;let n=this.options,t=this.extensionsUsed;try{let i=JSON.parse(JSON.stringify(e.userData));if(n.includeCustomExtensions&&i.gltfExtensions){s.extensions===void 0&&(s.extensions={});for(let r in i.gltfExtensions)s.extensions[r]=i.gltfExtensions[r],t[r]=!0;delete i.gltfExtensions}Object.keys(i).length>0&&(s.extras=i)}catch(i){console.warn("THREE.GLTFExporter: userData of '"+e.name+"' won't be serialized because of JSON.stringify error - "+i.message)}}getUID(e,s=!1){if(this.uids.has(e)===!1){let t=new Map;t.set(!0,this.uid++),t.set(!1,this.uid++),this.uids.set(e,t)}return this.uids.get(e).get(s)}isNormalizedNormalAttribute(e){if(this.cache.attributesNormalized.has(e))return!1;let n=new O;for(let t=0,i=e.count;t<i;t++)if(Math.abs(n.fromBufferAttribute(e,t).length()-1)>5e-4)return!1;return!0}createNormalizedNormalAttribute(e){let s=this.cache;if(s.attributesNormalized.has(e))return s.attributesNormalized.get(e);let n=e.clone(),t=new O;for(let i=0,r=n.count;i<r;i++)t.fromBufferAttribute(n,i),t.x===0&&t.y===0&&t.z===0?t.setX(1):t.normalize(),n.setXYZ(i,t.x,t.y,t.z);return s.attributesNormalized.set(e,n),n}applyTextureTransform(e,s){let n=!1,t={};(s.offset.x!==0||s.offset.y!==0)&&(t.offset=s.offset.toArray(),n=!0),s.rotation!==0&&(t.rotation=s.rotation,n=!0),(s.repeat.x!==1||s.repeat.y!==1)&&(t.scale=s.repeat.toArray(),n=!0),n&&(e.extensions=e.extensions||{},e.extensions.KHR_texture_transform=t,this.extensionsUsed.KHR_texture_transform=!0)}async buildMetalRoughTextureAsync(e,s){if(e===s)return e;function n(f){return f.colorSpace===Me?function(d){return d<.04045?d*.0773993808:Math.pow(d*.9478672986+.0521327014,2.4)}:function(d){return d}}e instanceof D&&(e=await this.decompressTextureAsync(e)),s instanceof D&&(s=await this.decompressTextureAsync(s));let t=e?e.image:null,i=s?s.image:null,r=Math.max(t?t.width:0,i?i.width:0),o=Math.max(t?t.height:0,i?i.height:0),c=Ce();c.width=r,c.height=o;let l=c.getContext("2d",{willReadFrequently:!0});l.fillStyle="#00ffff",l.fillRect(0,0,r,o);let h=l.getImageData(0,0,r,o);if(t){l.drawImage(t,0,0,r,o);let f=n(e),p=l.getImageData(0,0,r,o).data;for(let d=2;d<p.length;d+=4)h.data[d]=f(p[d]/256)*256}if(i){l.drawImage(i,0,0,r,o);let f=n(s),p=l.getImageData(0,0,r,o).data;for(let d=1;d<p.length;d+=4)h.data[d]=f(p[d]/256)*256}l.putImageData(h,0,0);let T=(e||s).clone();return T.source=new Re(c),T.colorSpace=Ae,T.channel=(e||s).channel,e&&s&&e.channel!==s.channel&&console.warn("THREE.GLTFExporter: UV channels for metalnessMap and roughnessMap textures must match."),console.warn("THREE.GLTFExporter: Merged metalnessMap and roughnessMap textures."),T}async decompressTextureAsync(e,s=1/0){if(this.textureUtils===null)throw new Error("THREE.GLTFExporter: setTextureUtils() must be called to process compressed textures.");return await this.textureUtils.decompress(e,s)}processBuffer(e){let s=this.json,n=this.buffers;return s.buffers||(s.buffers=[{byteLength:0}]),n.push(e),0}processBufferView(e,s,n,t,i){let r=this.json;r.bufferViews||(r.bufferViews=[]);let o;switch(s){case y.BYTE:case y.UNSIGNED_BYTE:o=1;break;case y.SHORT:case y.UNSIGNED_SHORT:o=2;break;default:o=4}let c=e.itemSize*o;i===y.ARRAY_BUFFER&&(c=Math.ceil(c/4)*4);let l=Le(t*c),h=new DataView(new ArrayBuffer(l)),u=0;for(let p=n;p<n+t;p++){for(let d=0;d<e.itemSize;d++){let g;e.itemSize>4?g=e.array[p*e.itemSize+d]:(d===0?g=e.getX(p):d===1?g=e.getY(p):d===2?g=e.getZ(p):d===3&&(g=e.getW(p)),e.normalized===!0&&(g=P.normalize(g,e.array))),s===y.FLOAT?h.setFloat32(u,g,!0):s===y.INT?h.setInt32(u,g,!0):s===y.UNSIGNED_INT?h.setUint32(u,g,!0):s===y.SHORT?h.setInt16(u,g,!0):s===y.UNSIGNED_SHORT?h.setUint16(u,g,!0):s===y.BYTE?h.setInt8(u,g):s===y.UNSIGNED_BYTE&&h.setUint8(u,g),u+=o}u%c!==0&&(u+=c-u%c)}let T={buffer:this.processBuffer(h.buffer),byteOffset:this.byteOffset,byteLength:l};return i!==void 0&&(T.target=i),i===y.ARRAY_BUFFER&&(T.byteStride=c),this.byteOffset+=l,r.bufferViews.push(T),{id:r.bufferViews.length-1,byteLength:0}}processBufferViewImage(e){let s=this,n=s.json;return n.bufferViews||(n.bufferViews=[]),new Promise(function(t){let i=new FileReader;i.readAsArrayBuffer(e),i.onloadend=function(){let r=Y(i.result),o={buffer:s.processBuffer(r),byteOffset:s.byteOffset,byteLength:r.byteLength};s.byteOffset+=r.byteLength,t(n.bufferViews.push(o)-1)}})}processAccessor(e,s,n,t){let i=this.json,r={1:"SCALAR",2:"VEC2",3:"VEC3",4:"VEC4",9:"MAT3",16:"MAT4"},o;if(e.array.constructor===Float32Array)o=y.FLOAT;else if(e.array.constructor===Int32Array)o=y.INT;else if(e.array.constructor===Uint32Array)o=y.UNSIGNED_INT;else if(e.array.constructor===Int16Array)o=y.SHORT;else if(e.array.constructor===Uint16Array)o=y.UNSIGNED_SHORT;else if(e.array.constructor===Int8Array)o=y.BYTE;else if(e.array.constructor===Uint8Array)o=y.UNSIGNED_BYTE;else throw new Error("THREE.GLTFExporter: Unsupported bufferAttribute component type: "+e.array.constructor.name);if(n===void 0&&(n=0),(t===void 0||t===1/0)&&(t=e.count),t===0)return null;let c=Ge(e,n,t),l;s!==void 0&&(l=e===s.index?y.ELEMENT_ARRAY_BUFFER:y.ARRAY_BUFFER);let h=this.processBufferView(e,o,n,t,l),u={bufferView:h.id,byteOffset:h.byteOffset,componentType:o,count:t,max:c.max,min:c.min,type:r[e.itemSize]};return e.normalized===!0&&(u.normalized=!0),i.accessors||(i.accessors=[]),i.accessors.push(u)-1}processImage(e,s,n,t="image/png"){if(e!==null){let i=this,r=i.cache,o=i.json,c=i.options,l=i.pending;r.images.has(e)||r.images.set(e,{});let h=r.images.get(e),u=t+":flipY/"+n.toString();if(h[u]!==void 0)return h[u];o.images||(o.images=[]);let T={mimeType:t},f=Ce();f.width=Math.min(e.width,c.maxTextureSize),f.height=Math.min(e.height,c.maxTextureSize);let p=f.getContext("2d",{willReadFrequently:!0});if(n===!0&&(p.translate(0,f.height),p.scale(1,-1)),e.data!==void 0){s!==Te&&console.error("GLTFExporter: Only RGBAFormat is supported.",s),(e.width>c.maxTextureSize||e.height>c.maxTextureSize)&&console.warn("GLTFExporter: Image size is bigger than maxTextureSize",e);let g=new Uint8ClampedArray(e.height*e.width*4);for(let A=0;A<g.length;A+=4)g[A+0]=e.data[A+0],g[A+1]=e.data[A+1],g[A+2]=e.data[A+2],g[A+3]=e.data[A+3];p.putImageData(new ImageData(g,e.width,e.height),0,0)}else if(typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&e instanceof ImageBitmap||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas)p.drawImage(e,0,0,f.width,f.height);else throw new Error("THREE.GLTFExporter: Invalid image type. Use HTMLImageElement, HTMLCanvasElement, ImageBitmap or OffscreenCanvas.");c.binary===!0?l.push(Ve(f,t).then(g=>i.processBufferViewImage(g)).then(g=>{T.bufferView=g})):T.uri=Ie.getDataURL(f,t);let d=o.images.push(T)-1;return h[u]=d,d}else throw new Error("THREE.GLTFExporter: No valid image data found. Unable to process texture.")}processSampler(e){let s=this.json;s.samplers||(s.samplers=[]);let n={magFilter:R[e.magFilter],minFilter:R[e.minFilter],wrapS:R[e.wrapS],wrapT:R[e.wrapT]};return s.samplers.push(n)-1}async processTextureAsync(e){let n=this.options,t=this.cache,i=this.json;if(t.textures.has(e))return t.textures.get(e);i.textures||(i.textures=[]),e instanceof D&&(e=await this.decompressTextureAsync(e,n.maxTextureSize));let r=e.userData.mimeType;r==="image/webp"&&(r="image/png");let o={sampler:this.processSampler(e),source:this.processImage(e.image,e.format,e.flipY,r)};e.name&&(o.name=e.name),await this._invokeAllAsync(async function(l){l.writeTexture&&await l.writeTexture(e,o)});let c=i.textures.push(o)-1;return t.textures.set(e,c),c}async processMaterialAsync(e){let s=this.cache,n=this.json;if(s.materials.has(e))return s.materials.get(e);if(e.isShaderMaterial)return console.warn("GLTFExporter: THREE.ShaderMaterial not supported."),null;n.materials||(n.materials=[]);let t={pbrMetallicRoughness:{}};e.isMeshStandardMaterial!==!0&&e.isMeshBasicMaterial!==!0&&console.warn("GLTFExporter: Use MeshStandardMaterial or MeshBasicMaterial for best results.");let i=e.color.toArray().concat([e.opacity]);if(F(i,[1,1,1,1])||(t.pbrMetallicRoughness.baseColorFactor=i),e.isMeshStandardMaterial?(t.pbrMetallicRoughness.metallicFactor=e.metalness,t.pbrMetallicRoughness.roughnessFactor=e.roughness):(t.pbrMetallicRoughness.metallicFactor=0,t.pbrMetallicRoughness.roughnessFactor=1),e.metalnessMap||e.roughnessMap){let o=await this.buildMetalRoughTextureAsync(e.metalnessMap,e.roughnessMap),c={index:await this.processTextureAsync(o),texCoord:o.channel};this.applyTextureTransform(c,o),t.pbrMetallicRoughness.metallicRoughnessTexture=c}if(e.map){let o={index:await this.processTextureAsync(e.map),texCoord:e.map.channel};this.applyTextureTransform(o,e.map),t.pbrMetallicRoughness.baseColorTexture=o}if(e.emissive){let o=e.emissive;if(Math.max(o.r,o.g,o.b)>0&&(t.emissiveFactor=e.emissive.toArray()),e.emissiveMap){let l={index:await this.processTextureAsync(e.emissiveMap),texCoord:e.emissiveMap.channel};this.applyTextureTransform(l,e.emissiveMap),t.emissiveTexture=l}}if(e.normalMap){let o={index:await this.processTextureAsync(e.normalMap),texCoord:e.normalMap.channel};e.normalScale&&e.normalScale.x!==1&&(o.scale=e.normalScale.x),this.applyTextureTransform(o,e.normalMap),t.normalTexture=o}if(e.aoMap){let o={index:await this.processTextureAsync(e.aoMap),texCoord:e.aoMap.channel};e.aoMapIntensity!==1&&(o.strength=e.aoMapIntensity),this.applyTextureTransform(o,e.aoMap),t.occlusionTexture=o}e.transparent?t.alphaMode="BLEND":e.alphaTest>0&&(t.alphaMode="MASK",t.alphaCutoff=e.alphaTest),e.side===ce&&(t.doubleSided=!0),e.name!==""&&(t.name=e.name),this.serializeUserData(e,t),await this._invokeAllAsync(async function(o){o.writeMaterialAsync&&await o.writeMaterialAsync(e,t)});let r=n.materials.push(t)-1;return s.materials.set(e,r),r}async processMeshAsync(e){let s=this.cache,n=this.json,t=[e.geometry.uuid];if(Array.isArray(e.material))for(let x=0,w=e.material.length;x<w;x++)t.push(e.material[x].uuid);else t.push(e.material.uuid);let i=t.join(":");if(s.meshes.has(i))return s.meshes.get(i);let r=e.geometry,o;e.isLineSegments?o=y.LINES:e.isLineLoop?o=y.LINE_LOOP:e.isLine?o=y.LINE_STRIP:e.isPoints?o=y.POINTS:o=e.material.wireframe?y.LINES:y.TRIANGLES;let c={},l={},h=[],u=[],T={uv:"TEXCOORD_0",uv1:"TEXCOORD_1",uv2:"TEXCOORD_2",uv3:"TEXCOORD_3",color:"COLOR_0",skinWeight:"WEIGHTS_0",skinIndex:"JOINTS_0"},f=r.getAttribute("normal");f!==void 0&&!this.isNormalizedNormalAttribute(f)&&(console.warn("THREE.GLTFExporter: Creating normalized normal attribute from the non-normalized one."),r.setAttribute("normal",this.createNormalizedNormalAttribute(f)));let p=null;for(let x in r.attributes){if(x.slice(0,5)==="morph")continue;let w=r.attributes[x];if(x=T[x]||x.toUpperCase(),/^(POSITION|NORMAL|TANGENT|TEXCOORD_\d+|COLOR_\d+|JOINTS_\d+|WEIGHTS_\d+)$/.test(x)||(x="_"+x),s.attributes.has(this.getUID(w))){l[x]=s.attributes.get(this.getUID(w));continue}p=null;let m=w.array;x==="JOINTS_0"&&!(m instanceof Uint16Array)&&!(m instanceof Uint8Array)?(console.warn('GLTFExporter: Attribute "skinIndex" converted to type UNSIGNED_SHORT.'),p=new S(new Uint16Array(m),w.itemSize,w.normalized)):(m instanceof Uint32Array||m instanceof Int32Array)&&!x.startsWith("_")&&(console.warn(`GLTFExporter: Attribute "${x}" converted to type FLOAT.`),p=z.Utils.toFloat32BufferAttribute(w));let I=this.processAccessor(p||w,r);I!==null&&(x.startsWith("_")||this.detectMeshQuantization(x,w),l[x]=I,s.attributes.set(this.getUID(w),I))}if(f!==void 0&&r.setAttribute("normal",f),Object.keys(l).length===0)return null;if(e.morphTargetInfluences!==void 0&&e.morphTargetInfluences.length>0){let x=[],w=[],M={};if(e.morphTargetDictionary!==void 0)for(let m in e.morphTargetDictionary)M[e.morphTargetDictionary[m]]=m;for(let m=0;m<e.morphTargetInfluences.length;++m){let I={},oe=!1;for(let U in r.morphAttributes){if(U!=="position"&&U!=="normal"){oe||(console.warn("GLTFExporter: Only POSITION and NORMAL morph are supported."),oe=!0);continue}let b=r.morphAttributes[U][m],k=U.toUpperCase(),C=r.attributes[U];if(s.attributes.has(this.getUID(b,!0))){I[k]=s.attributes.get(this.getUID(b,!0));continue}let L=b.clone();if(!r.morphTargetsRelative)for(let E=0,Oe=b.count;E<Oe;E++)for(let _=0;_<b.itemSize;_++)_===0&&L.setX(E,b.getX(E)-C.getX(E)),_===1&&L.setY(E,b.getY(E)-C.getY(E)),_===2&&L.setZ(E,b.getZ(E)-C.getZ(E)),_===3&&L.setW(E,b.getW(E)-C.getW(E));I[k]=this.processAccessor(L,r),s.attributes.set(this.getUID(C,!0),I[k])}u.push(I),x.push(e.morphTargetInfluences[m]),e.morphTargetDictionary!==void 0&&w.push(M[m])}c.weights=x,w.length>0&&(c.extras={},c.extras.targetNames=w)}let d=Array.isArray(e.material);if(d&&r.groups.length===0)return null;let g=!1;if(d&&r.index===null){let x=[];for(let w=0,M=r.attributes.position.count;w<M;w++)x[w]=w;r.setIndex(x),g=!0}let A=d?e.material:[e.material],N=d?r.groups:[{materialIndex:0,start:void 0,count:void 0}];for(let x=0,w=N.length;x<w;x++){let M={mode:o,attributes:l};if(this.serializeUserData(r,M),u.length>0&&(M.targets=u),r.index!==null){let I=this.getUID(r.index);(N[x].start!==void 0||N[x].count!==void 0)&&(I+=":"+N[x].start+":"+N[x].count),s.attributes.has(I)?M.indices=s.attributes.get(I):(M.indices=this.processAccessor(r.index,r,N[x].start,N[x].count),s.attributes.set(I,M.indices)),M.indices===null&&delete M.indices}let m=await this.processMaterialAsync(A[N[x].materialIndex]);m!==null&&(M.material=m),h.push(M)}g===!0&&r.setIndex(null),c.primitives=h,n.meshes||(n.meshes=[]),await this._invokeAllAsync(function(x){x.writeMesh&&x.writeMesh(e,c)});let B=n.meshes.push(c)-1;return s.meshes.set(i,B),B}detectMeshQuantization(e,s){if(this.extensionsUsed[V])return;let n;switch(s.array.constructor){case Int8Array:n="byte";break;case Uint8Array:n="unsigned byte";break;case Int16Array:n="short";break;case Uint16Array:n="unsigned short";break;default:return}s.normalized&&(n+=" normalized");let t=e.split("_",1)[0];be[t]&&be[t].includes(n)&&(this.extensionsUsed[V]=!0,this.extensionsRequired[V]=!0)}processCamera(e){let s=this.json;s.cameras||(s.cameras=[]);let n=e.isOrthographicCamera,t={type:n?"orthographic":"perspective"};return n?t.orthographic={xmag:e.right*2,ymag:e.top*2,zfar:e.far<=0?.001:e.far,znear:e.near<0?0:e.near}:t.perspective={aspectRatio:e.aspect,yfov:P.degToRad(e.fov),zfar:e.far<=0?.001:e.far,znear:e.near<0?0:e.near},e.name!==""&&(t.name=e.type),s.cameras.push(t)-1}processAnimation(e,s){let n=this.json,t=this.nodeMap;n.animations||(n.animations=[]),e=z.Utils.mergeMorphTargetTracks(e.clone(),s);let i=e.tracks,r=[],o=[];for(let c=0;c<i.length;++c){let l=i[c],h=v.parseTrackName(l.name),u=v.findNode(s,h.nodeName),T=Se[h.propertyName];if(h.objectName==="bones"&&(u.isSkinnedMesh===!0?u=u.skeleton.getBoneByName(h.objectIndex):u=void 0),!u||!T){console.warn('THREE.GLTFExporter: Could not export animation track "%s".',l.name);continue}let f=1,p=l.values.length/l.times.length;T===Se.morphTargetInfluences&&(p/=u.morphTargetInfluences.length);let d;l.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline===!0?(d="CUBICSPLINE",p/=3):l.getInterpolation()===we?d="STEP":d="LINEAR",o.push({input:this.processAccessor(new S(l.times,f)),output:this.processAccessor(new S(l.values,p)),interpolation:d}),r.push({sampler:o.length-1,target:{node:t.get(u),path:T}})}return n.animations.push({name:e.name||"clip_"+n.animations.length,samplers:o,channels:r}),n.animations.length-1}processSkin(e){let s=this.json,n=this.nodeMap,t=s.nodes[n.get(e)],i=e.skeleton;if(i===void 0)return null;let r=e.skeleton.bones[0];if(r===void 0)return null;let o=[],c=new Float32Array(i.bones.length*16),l=new H;for(let u=0;u<i.bones.length;++u)o.push(n.get(i.bones[u])),l.copy(i.boneInverses[u]),l.multiply(e.bindMatrix).toArray(c,u*16);return s.skins===void 0&&(s.skins=[]),s.skins.push({inverseBindMatrices:this.processAccessor(new S(c,16)),joints:o,skeleton:n.get(r)}),t.skin=s.skins.length-1}async processNodeAsync(e){let s=this.json,n=this.options,t=this.nodeMap;s.nodes||(s.nodes=[]);let i={};if(n.trs){let o=e.quaternion.toArray(),c=e.position.toArray(),l=e.scale.toArray();F(o,[0,0,0,1])||(i.rotation=o),F(c,[0,0,0])||(i.translation=c),F(l,[1,1,1])||(i.scale=l)}else e.matrixAutoUpdate&&e.updateMatrix(),He(e.matrix)===!1&&(i.matrix=e.matrix.elements);if(e.name!==""&&(i.name=String(e.name)),this.serializeUserData(e,i),e.isMesh||e.isLine||e.isPoints){let o=await this.processMeshAsync(e);o!==null&&(i.mesh=o)}else e.isCamera&&(i.camera=this.processCamera(e));e.isSkinnedMesh&&this.skins.push(e);let r=s.nodes.push(i)-1;if(t.set(e,r),e.children.length>0){let o=[];for(let c=0,l=e.children.length;c<l;c++){let h=e.children[c];if(h.visible||n.onlyVisible===!1){let u=await this.processNodeAsync(h);u!==null&&o.push(u)}}o.length>0&&(i.children=o)}return await this._invokeAllAsync(function(o){o.writeNode&&o.writeNode(e,i)}),r}async processSceneAsync(e){let s=this.json,n=this.options;s.scenes||(s.scenes=[],s.scene=0);let t={};e.name!==""&&(t.name=e.name),s.scenes.push(t);let i=[];for(let r=0,o=e.children.length;r<o;r++){let c=e.children[r];if(c.visible||n.onlyVisible===!1){let l=await this.processNodeAsync(c);l!==null&&i.push(l)}}i.length>0&&(t.nodes=i),this.serializeUserData(e,t)}async processObjectsAsync(e){let s=new G;s.name="AuxScene";for(let n=0;n<e.length;n++)s.children.push(e[n]);await this.processSceneAsync(s)}async processInputAsync(e){let s=this.options;e=e instanceof Array?e:[e],await this._invokeAllAsync(function(t){t.beforeParse&&t.beforeParse(e)});let n=[];for(let t=0;t<e.length;t++)e[t]instanceof G?await this.processSceneAsync(e[t]):n.push(e[t]);n.length>0&&await this.processObjectsAsync(n);for(let t=0;t<this.skins.length;++t)this.processSkin(this.skins[t]);for(let t=0;t<s.animations.length;++t)this.processAnimation(s.animations[t],e[0]);await this._invokeAllAsync(function(t){t.afterParse&&t.afterParse(e)})}async _invokeAllAsync(e){for(let s=0,n=this.plugins.length;s<n;s++)await e(this.plugins[s])}},j=class{constructor(e){this.writer=e,this.name="KHR_lights_punctual"}writeNode(e,s){if(!e.isLight)return;if(!e.isDirectionalLight&&!e.isPointLight&&!e.isSpotLight){console.warn("THREE.GLTFExporter: Only directional, point, and spot lights are supported.",e);return}let n=this.writer,t=n.json,i=n.extensionsUsed,r={};e.name&&(r.name=e.name),r.color=e.color.toArray(),r.intensity=e.intensity,e.isDirectionalLight?r.type="directional":e.isPointLight?(r.type="point",e.distance>0&&(r.range=e.distance)):e.isSpotLight&&(r.type="spot",e.distance>0&&(r.range=e.distance),r.spot={},r.spot.innerConeAngle=(1-e.penumbra)*e.angle,r.spot.outerConeAngle=e.angle),e.decay!==void 0&&e.decay!==2&&console.warn("THREE.GLTFExporter: Light decay may be lost. glTF is physically-based, and expects light.decay=2."),e.target&&(e.target.parent!==e||e.target.position.x!==0||e.target.position.y!==0||e.target.position.z!==-1)&&console.warn("THREE.GLTFExporter: Light direction may be lost. For best results, make light.target a child of the light with position 0,0,-1."),i[this.name]||(t.extensions=t.extensions||{},t.extensions[this.name]={lights:[]},i[this.name]=!0);let o=t.extensions[this.name].lights;o.push(r),s.extensions=s.extensions||{},s.extensions[this.name]={light:o.length-1}}},q=class{constructor(e){this.writer=e,this.name="KHR_materials_unlit"}async writeMaterialAsync(e,s){if(!e.isMeshBasicMaterial)return;let t=this.writer.extensionsUsed;s.extensions=s.extensions||{},s.extensions[this.name]={},t[this.name]=!0,s.pbrMetallicRoughness.metallicFactor=0,s.pbrMetallicRoughness.roughnessFactor=.9}},X=class{constructor(e){this.writer=e,this.name="KHR_materials_clearcoat"}async writeMaterialAsync(e,s){if(!e.isMeshPhysicalMaterial||e.clearcoat===0)return;let n=this.writer,t=n.extensionsUsed,i={};if(i.clearcoatFactor=e.clearcoat,e.clearcoatMap){let r={index:await n.processTextureAsync(e.clearcoatMap),texCoord:e.clearcoatMap.channel};n.applyTextureTransform(r,e.clearcoatMap),i.clearcoatTexture=r}if(i.clearcoatRoughnessFactor=e.clearcoatRoughness,e.clearcoatRoughnessMap){let r={index:await n.processTextureAsync(e.clearcoatRoughnessMap),texCoord:e.clearcoatRoughnessMap.channel};n.applyTextureTransform(r,e.clearcoatRoughnessMap),i.clearcoatRoughnessTexture=r}if(e.clearcoatNormalMap){let r={index:await n.processTextureAsync(e.clearcoatNormalMap),texCoord:e.clearcoatNormalMap.channel};e.clearcoatNormalScale.x!==1&&(r.scale=e.clearcoatNormalScale.x),n.applyTextureTransform(r,e.clearcoatNormalMap),i.clearcoatNormalTexture=r}s.extensions=s.extensions||{},s.extensions[this.name]=i,t[this.name]=!0}},W=class{constructor(e){this.writer=e,this.name="KHR_materials_dispersion"}async writeMaterialAsync(e,s){if(!e.isMeshPhysicalMaterial||e.dispersion===0)return;let t=this.writer.extensionsUsed,i={};i.dispersion=e.dispersion,s.extensions=s.extensions||{},s.extensions[this.name]=i,t[this.name]=!0}},J=class{constructor(e){this.writer=e,this.name="KHR_materials_iridescence"}async writeMaterialAsync(e,s){if(!e.isMeshPhysicalMaterial||e.iridescence===0)return;let n=this.writer,t=n.extensionsUsed,i={};if(i.iridescenceFactor=e.iridescence,e.iridescenceMap){let r={index:await n.processTextureAsync(e.iridescenceMap),texCoord:e.iridescenceMap.channel};n.applyTextureTransform(r,e.iridescenceMap),i.iridescenceTexture=r}if(i.iridescenceIor=e.iridescenceIOR,i.iridescenceThicknessMinimum=e.iridescenceThicknessRange[0],i.iridescenceThicknessMaximum=e.iridescenceThicknessRange[1],e.iridescenceThicknessMap){let r={index:await n.processTextureAsync(e.iridescenceThicknessMap),texCoord:e.iridescenceThicknessMap.channel};n.applyTextureTransform(r,e.iridescenceThicknessMap),i.iridescenceThicknessTexture=r}s.extensions=s.extensions||{},s.extensions[this.name]=i,t[this.name]=!0}},Z=class{constructor(e){this.writer=e,this.name="KHR_materials_transmission"}async writeMaterialAsync(e,s){if(!e.isMeshPhysicalMaterial||e.transmission===0)return;let n=this.writer,t=n.extensionsUsed,i={};if(i.transmissionFactor=e.transmission,e.transmissionMap){let r={index:await n.processTextureAsync(e.transmissionMap),texCoord:e.transmissionMap.channel};n.applyTextureTransform(r,e.transmissionMap),i.transmissionTexture=r}s.extensions=s.extensions||{},s.extensions[this.name]=i,t[this.name]=!0}},Q=class{constructor(e){this.writer=e,this.name="KHR_materials_volume"}async writeMaterialAsync(e,s){if(!e.isMeshPhysicalMaterial||e.transmission===0)return;let n=this.writer,t=n.extensionsUsed,i={};if(i.thicknessFactor=e.thickness,e.thicknessMap){let r={index:await n.processTextureAsync(e.thicknessMap),texCoord:e.thicknessMap.channel};n.applyTextureTransform(r,e.thicknessMap),i.thicknessTexture=r}e.attenuationDistance!==1/0&&(i.attenuationDistance=e.attenuationDistance),i.attenuationColor=e.attenuationColor.toArray(),s.extensions=s.extensions||{},s.extensions[this.name]=i,t[this.name]=!0}},$=class{constructor(e){this.writer=e,this.name="KHR_materials_ior"}async writeMaterialAsync(e,s){if(!e.isMeshPhysicalMaterial||e.ior===1.5)return;let t=this.writer.extensionsUsed,i={};i.ior=e.ior,s.extensions=s.extensions||{},s.extensions[this.name]=i,t[this.name]=!0}},ee=class{constructor(e){this.writer=e,this.name="KHR_materials_specular"}async writeMaterialAsync(e,s){if(!e.isMeshPhysicalMaterial||e.specularIntensity===1&&e.specularColor.equals(Fe)&&!e.specularIntensityMap&&!e.specularColorMap)return;let n=this.writer,t=n.extensionsUsed,i={};if(e.specularIntensityMap){let r={index:await n.processTextureAsync(e.specularIntensityMap),texCoord:e.specularIntensityMap.channel};n.applyTextureTransform(r,e.specularIntensityMap),i.specularTexture=r}if(e.specularColorMap){let r={index:await n.processTextureAsync(e.specularColorMap),texCoord:e.specularColorMap.channel};n.applyTextureTransform(r,e.specularColorMap),i.specularColorTexture=r}i.specularFactor=e.specularIntensity,i.specularColorFactor=e.specularColor.toArray(),s.extensions=s.extensions||{},s.extensions[this.name]=i,t[this.name]=!0}},se=class{constructor(e){this.writer=e,this.name="KHR_materials_sheen"}async writeMaterialAsync(e,s){if(!e.isMeshPhysicalMaterial||e.sheen==0)return;let n=this.writer,t=n.extensionsUsed,i={};if(e.sheenRoughnessMap){let r={index:await n.processTextureAsync(e.sheenRoughnessMap),texCoord:e.sheenRoughnessMap.channel};n.applyTextureTransform(r,e.sheenRoughnessMap),i.sheenRoughnessTexture=r}if(e.sheenColorMap){let r={index:await n.processTextureAsync(e.sheenColorMap),texCoord:e.sheenColorMap.channel};n.applyTextureTransform(r,e.sheenColorMap),i.sheenColorTexture=r}i.sheenRoughnessFactor=e.sheenRoughness,i.sheenColorFactor=e.sheenColor.toArray(),s.extensions=s.extensions||{},s.extensions[this.name]=i,t[this.name]=!0}},te=class{constructor(e){this.writer=e,this.name="KHR_materials_anisotropy"}async writeMaterialAsync(e,s){if(!e.isMeshPhysicalMaterial||e.anisotropy==0)return;let n=this.writer,t=n.extensionsUsed,i={};if(e.anisotropyMap){let r={index:await n.processTextureAsync(e.anisotropyMap)};n.applyTextureTransform(r,e.anisotropyMap),i.anisotropyTexture=r}i.anisotropyStrength=e.anisotropy,i.anisotropyRotation=e.anisotropyRotation,s.extensions=s.extensions||{},s.extensions[this.name]=i,t[this.name]=!0}},ne=class{constructor(e){this.writer=e,this.name="KHR_materials_emissive_strength"}async writeMaterialAsync(e,s){if(!e.isMeshStandardMaterial||e.emissiveIntensity===1)return;let t=this.writer.extensionsUsed,i={};i.emissiveStrength=e.emissiveIntensity,s.extensions=s.extensions||{},s.extensions[this.name]=i,t[this.name]=!0}},ie=class{constructor(e){this.writer=e,this.name="EXT_materials_bump"}async writeMaterialAsync(e,s){if(!e.isMeshStandardMaterial||e.bumpScale===1&&!e.bumpMap)return;let n=this.writer,t=n.extensionsUsed,i={};if(e.bumpMap){let r={index:await n.processTextureAsync(e.bumpMap),texCoord:e.bumpMap.channel};n.applyTextureTransform(r,e.bumpMap),i.bumpTexture=r}i.bumpFactor=e.bumpScale,s.extensions=s.extensions||{},s.extensions[this.name]=i,t[this.name]=!0}},re=class{constructor(e){this.writer=e,this.name="EXT_mesh_gpu_instancing"}writeNode(e,s){if(!e.isInstancedMesh)return;let n=this.writer,t=e,i=new Float32Array(t.count*3),r=new Float32Array(t.count*4),o=new Float32Array(t.count*3),c=new H,l=new O,h=new Ee,u=new O;for(let f=0;f<t.count;f++)t.getMatrixAt(f,c),c.decompose(l,h,u),l.toArray(i,f*3),h.toArray(r,f*4),u.toArray(o,f*3);let T={TRANSLATION:n.processAccessor(new S(i,3)),ROTATION:n.processAccessor(new S(r,4)),SCALE:n.processAccessor(new S(o,3))};t.instanceColor&&(T._COLOR_0=n.processAccessor(t.instanceColor)),s.extensions=s.extensions||{},s.extensions[this.name]={attributes:T},n.extensionsUsed[this.name]=!0,n.extensionsRequired[this.name]=!0}};z.Utils={insertKeyframe:function(a,e){let n=a.getValueSize(),t=new a.TimeBufferType(a.times.length+1),i=new a.ValueBufferType(a.values.length+n),r=a.createInterpolant(new a.ValueBufferType(n)),o;if(a.times.length===0){t[0]=e;for(let c=0;c<n;c++)i[c]=0;o=0}else if(e<a.times[0]){if(Math.abs(a.times[0]-e)<.001)return 0;t[0]=e,t.set(a.times,1),i.set(r.evaluate(e),0),i.set(a.values,n),o=0}else if(e>a.times[a.times.length-1]){if(Math.abs(a.times[a.times.length-1]-e)<.001)return a.times.length-1;t[t.length-1]=e,t.set(a.times,0),i.set(a.values,0),i.set(r.evaluate(e),a.values.length),o=t.length-1}else for(let c=0;c<a.times.length;c++){if(Math.abs(a.times[c]-e)<.001)return c;if(a.times[c]<e&&a.times[c+1]>e){t.set(a.times.slice(0,c+1),0),t[c+1]=e,t.set(a.times.slice(c+1),c+2),i.set(a.values.slice(0,(c+1)*n),0),i.set(r.evaluate(e),(c+1)*n),i.set(a.values.slice((c+1)*n),(c+2)*n),o=c+1;break}}return a.times=t,a.values=i,o},mergeMorphTargetTracks:function(a,e){let s=[],n={},t=a.tracks;for(let i=0;i<t.length;++i){let r=t[i],o=v.parseTrackName(r.name),c=v.findNode(e,o.nodeName);if(o.propertyName!=="morphTargetInfluences"||o.propertyIndex===void 0){s.push(r);continue}if(r.createInterpolant!==r.InterpolantFactoryMethodDiscrete&&r.createInterpolant!==r.InterpolantFactoryMethodLinear){if(r.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline)throw new Error("THREE.GLTFExporter: Cannot merge tracks with glTF CUBICSPLINE interpolation.");console.warn("THREE.GLTFExporter: Morph target interpolation mode not yet supported. Using LINEAR instead."),r=r.clone(),r.setInterpolation(me)}let l=c.morphTargetInfluences.length,h=c.morphTargetDictionary[o.propertyIndex];if(h===void 0)throw new Error("THREE.GLTFExporter: Morph target name not found: "+o.propertyIndex);let u;if(n[c.uuid]===void 0){u=r.clone();let f=new u.ValueBufferType(l*u.times.length);for(let p=0;p<u.times.length;p++)f[p*l+h]=u.values[p];u.name=(o.nodeName||"")+".morphTargetInfluences",u.values=f,n[c.uuid]=u,s.push(u);continue}let T=r.createInterpolant(new r.ValueBufferType(1));u=n[c.uuid];for(let f=0;f<u.times.length;f++)u.values[f*l+h]=T.evaluate(u.times[f]);for(let f=0;f<r.times.length;f++){let p=this.insertKeyframe(u,r.times[f]);u.values[p*l+h]=r.values[f]}}return a.tracks=s,a},toFloat32BufferAttribute:function(a){let e=new S(new Float32Array(a.count*a.itemSize),a.itemSize,!1);if(!a.normalized&&!a.isInterleavedBufferAttribute)return e.array.set(a.array),e;for(let s=0,n=a.count;s<n;s++)for(let t=0;t<a.itemSize;t++)e.setComponent(s,t,a.getComponent(s,t));return e}};export{z as GLTFExporter};