@arcgis/core 4.34.0-next.40 → 4.34.0-next.42

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 (180) hide show
  1. package/assets/esri/core/workers/RemoteClient.js +1 -1
  2. package/assets/esri/core/workers/chunks/016d421114118307d4dd.js +1 -0
  3. package/assets/esri/core/workers/chunks/1a2278b9fe9666342728.js +1 -0
  4. package/assets/esri/core/workers/chunks/250b1629becca0410f2a.js +1 -0
  5. package/assets/esri/core/workers/chunks/3245d20ea4bb779f87ef.js +1 -0
  6. package/assets/esri/core/workers/chunks/6b73926feb5c5d957062.js +1 -0
  7. package/assets/esri/core/workers/chunks/{6269c4bbf0f224a954e9.js → 6f4079b7a2b45f304ee6.js} +1 -1
  8. package/assets/esri/core/workers/chunks/{4e6e5677b90b00622146.js → 7ef7f3925495b9ade88c.js} +1 -1
  9. package/assets/esri/core/workers/chunks/82955562805ad5514ed8.js +346 -0
  10. package/assets/esri/core/workers/chunks/{5fe3c279d57f44416c28.js → a1d3f1c221389eb6090c.js} +1 -1
  11. package/assets/esri/core/workers/chunks/{306a68137e62656b0f05.js → d5d2d4df407cf078bb81.js} +1 -1
  12. package/assets/esri/core/workers/chunks/{94850c094e076d81a016.js → dca2b487152cde45fb65.js} +1 -1
  13. package/assets/esri/core/workers/chunks/{31ad9949b08a5b07218c.js → eea3e0bd17479a767160.js} +2 -2
  14. package/assets/esri/core/workers/chunks/fe6fa1f2c2d54d41645e.js +1 -0
  15. package/config.js +1 -1
  16. package/core/workers/registry.js +1 -1
  17. package/editing/sharedTemplates/executor/support/createFeatureServiceEdit.js +1 -1
  18. package/geometry/support/curves/closestPointOnCurve.js +1 -1
  19. package/geometry/support/curves/curveExtent.js +1 -1
  20. package/geometry/support/curves/curveLength.js +1 -1
  21. package/geometry/support/curves/curveUtils.js +1 -1
  22. package/geometry/support/curves/densifyCurvedGeometry.js +1 -1
  23. package/geometry/support/curves/ellipticArc7Utils.js +1 -1
  24. package/geometry/support/curves/splitCurveAtPoint.js +1 -1
  25. package/geometry/support/meshUtils/exporters/gltf/gltf.js +1 -1
  26. package/interfaces.d.ts +24 -2
  27. package/kernel.js +1 -1
  28. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  29. package/layers/PointCloudLayer.js +1 -1
  30. package/package.json +1 -1
  31. package/rest/networks/support/CircuitPath.js +1 -1
  32. package/smartMapping/raster/support/adapters/ImageryLayerAdapter.js +1 -1
  33. package/support/revision.js +1 -1
  34. package/views/2d/engine/flow/styles/Imagery.js +1 -1
  35. package/views/2d/engine/flow/styles/Particles.js +1 -1
  36. package/views/2d/engine/flow/styles/Streamlines.js +1 -1
  37. package/views/2d/engine/imagery/RasterVFDisplayObject.js +1 -1
  38. package/views/2d/engine/vectorTiles/RenderBucket.js +1 -1
  39. package/views/2d/engine/webgl/BitBlitRenderer.js +1 -1
  40. package/views/2d/engine/webgl/Mesh2D.js +1 -1
  41. package/views/2d/engine/webgl/VertexStream.js +1 -1
  42. package/views/2d/engine/webgl/brushes/WGLBrushStencil.js +1 -1
  43. package/views/2d/engine/webgl/brushes/WGLBrushTileDebugInfo.js +1 -1
  44. package/views/2d/engine/webgl/brushes/WGLBrushVTLBackground.js +1 -1
  45. package/views/2d/engine/webgl/cpuMapped/Buffer.js +1 -1
  46. package/views/2d/engine/webgl/cpuMapped/MappedMesh.js +1 -1
  47. package/views/2d/engine/webgl/effects/highlight/HighlightRenderer.js +1 -1
  48. package/views/2d/engine/webgl/meshing/Mesh.js +1 -1
  49. package/views/2d/engine/webgl/meshing/SimpleMesh.js +1 -1
  50. package/views/2d/engine/webgl/shaderGraph/techniques/overlay/OverlayTechnique.js +1 -1
  51. package/views/2d/engine/webgl/shaderGraph/techniques/videoScreenRenderer/VideoScreenTechnique.js +1 -1
  52. package/views/2d/interactive/editingTools/ControlPointsTransformTool.js +1 -1
  53. package/views/2d/interactive/editingTools/TransformTool.js +1 -1
  54. package/views/2d/layers/BaseDynamicLayerView2D.js +1 -1
  55. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  56. package/views/2d/layers/KMLLayerView2D.js +1 -1
  57. package/views/2d/layers/MapImageLayerView2D.js +1 -1
  58. package/views/2d/layers/MediaLayerView2D.js +1 -1
  59. package/views/2d/layers/TileLayerView2D.js +1 -1
  60. package/views/2d/layers/WMSLayerView2D.js +1 -1
  61. package/views/2d/layers/features/processor/TrackStrategy.js +1 -1
  62. package/views/2d/layers/features/sources/FeatureSource.js +1 -1
  63. package/views/2d/layers/graphics/GraphicBoundsRenderer.js +1 -1
  64. package/views/2d/layers/support/DebugOverlay.js +1 -1
  65. package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementPathHelper.js +1 -1
  66. package/views/3d/analysis/ViewshedAnalysisView3D.js +1 -1
  67. package/views/3d/analysis/VolumeMeasurement/CutFillVolumeMeasurementController.js +1 -1
  68. package/views/3d/environment/LocalAtmosphere.js +1 -1
  69. package/views/3d/environment/MarsAtmosphere.js +1 -1
  70. package/views/3d/environment/Precipitation.js +1 -1
  71. package/views/3d/interactive/editingTools/media/MediaElementControllerControlPoints.js +1 -1
  72. package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
  73. package/views/3d/interactive/editingTools/transform/extentTransform/ExtentScale.js +1 -1
  74. package/views/3d/layers/FlowSubView3D.js +1 -1
  75. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  76. package/views/3d/layers/I3SMeshView3D.js +1 -1
  77. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  78. package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
  79. package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
  80. package/views/3d/layers/graphics/pipeline/rendering/DirectRenderer.js +1 -1
  81. package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
  82. package/views/3d/layers/support/FlowTileTree3DDebugger.js +1 -1
  83. package/views/3d/support/GaussianSplatSortWorker.js +5 -0
  84. package/views/3d/support/GaussianSplatWorkerHandle.js +5 -0
  85. package/views/3d/support/flow/FlowSubViewTiles3D.js +1 -1
  86. package/views/3d/support/flow/geometryUtils.js +1 -1
  87. package/views/3d/support/flow/loadUtils.js +1 -1
  88. package/views/3d/support/intersectionUtils.js +1 -1
  89. package/views/3d/terrain/PatchGeometryFactory.js +1 -1
  90. package/views/3d/terrain/PatchRenderData.js +1 -1
  91. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  92. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
  93. package/views/3d/webgl-engine/effects/RenderPlugin.js +1 -1
  94. package/views/3d/webgl-engine/effects/ScreenSpaceGeometry.js +1 -1
  95. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
  96. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  97. package/views/3d/webgl-engine/effects/laserlines/LaserlinePathData.js +1 -1
  98. package/views/3d/webgl-engine/effects/stars/Stars.js +1 -1
  99. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  100. package/views/3d/webgl-engine/lib/edgeRendering/bufferLayouts.js +1 -1
  101. package/views/3d/webgl-engine/lib/edgeRendering/edgeBufferWriters.js +1 -1
  102. package/views/3d/webgl-engine/lib/glUtil3D.js +1 -1
  103. package/views/3d/webgl-engine/lib/lodRendering/BackedBufferObject.js +1 -1
  104. package/views/3d/webgl-engine/lib/lodRendering/LodComponentData.js +1 -1
  105. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  106. package/views/3d/webgl-engine/lib/lodRendering/RenderInstanceData.js +1 -1
  107. package/views/3d/webgl-engine/materials/renderers/MergedBuffer.js +5 -0
  108. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  109. package/views/3d/webgl-engine/materials/renderers/PerBufferData.js +1 -1
  110. package/views/3d/webgl-engine/materials/renderers/VaoCache.js +1 -1
  111. package/views/3d/webgl-engine/materials/renderers/VaoRenderer.js +5 -0
  112. package/views/PopupView.js +1 -1
  113. package/views/VideoView.js +1 -1
  114. package/views/draw/DrawAction.js +1 -1
  115. package/views/draw/DrawOperation.js +1 -1
  116. package/views/draw/SegmentDrawAction.js +1 -1
  117. package/views/draw/support/Reshape.js +1 -1
  118. package/views/interactive/SegmentLabels.js +1 -1
  119. package/views/interactive/editGeometry/EditGeometry.js +1 -1
  120. package/views/interactive/editGeometry/EditGeometryOperations.js +1 -1
  121. package/views/interactive/editGeometry/operations/AppendVertex.js +1 -1
  122. package/views/interactive/editGeometry/operations/ClosePart.js +5 -0
  123. package/views/interactive/editGeometry/operations/MoveMesh.js +1 -1
  124. package/views/interactive/editGeometry/operations/MoveVertex.js +1 -1
  125. package/views/interactive/editGeometry/operations/OffsetEdgeVertex.js +1 -1
  126. package/views/interactive/editGeometry/operations/RemoveVertices.js +1 -1
  127. package/views/interactive/editGeometry/operations/RotateVertex.js +1 -1
  128. package/views/interactive/editGeometry/operations/ScaleVertex.js +1 -1
  129. package/views/interactive/editGeometry/operations/SetAllVertexPositions.js +1 -1
  130. package/views/interactive/editGeometry/operations/SetVertexPosition.js +1 -1
  131. package/views/interactive/editGeometry/operations/SplitSegment.js +5 -0
  132. package/views/interactive/editGeometry/operations/UpdateVertices.js +1 -1
  133. package/views/interactive/editGeometry/operations/curveOperationUtils.js +5 -0
  134. package/views/interactive/editGeometry/operations.js +1 -1
  135. package/views/interactive/snapping/FeatureSnappingEngine.js +1 -1
  136. package/views/interactive/snapping/LineSnapper.js +1 -1
  137. package/views/interactive/snapping/ParallelLineSnapper.js +1 -1
  138. package/views/interactive/snapping/RightAngleSnapper.js +1 -1
  139. package/views/interactive/snapping/RightAngleTriangleSnapper.js +1 -1
  140. package/views/interactive/snapping/SnappingDragPipelineStep.js +1 -1
  141. package/views/layers/support/MapServiceLayerViewHelper.js +1 -1
  142. package/views/support/TileTreeDebugger.js +1 -1
  143. package/views/webgl/BufferObject.js +1 -1
  144. package/views/webgl/Util.js +1 -1
  145. package/views/webgl/VertexArrayObject.js +1 -1
  146. package/views/webgl/VertexBuffer.js +1 -1
  147. package/views/webgl/testFloatBufferBlend.js +1 -1
  148. package/views/webgl/testSVGPremultipliedAlpha.js +1 -1
  149. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  150. package/widgets/Editor/AddAssociationWorkflow.js +1 -1
  151. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  152. package/widgets/Editor/EditorViewModel.js +1 -1
  153. package/widgets/Editor/support/SketchController.js +1 -1
  154. package/widgets/Feature/FeatureMedia.js +1 -1
  155. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  156. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  157. package/widgets/FeatureTable/Grid/Grid.js +1 -1
  158. package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
  159. package/widgets/FeatureTable/support/FeatureStore.js +1 -1
  160. package/widgets/FeatureTemplates/FeatureTemplatesViewModel.js +1 -1
  161. package/widgets/Features.js +1 -1
  162. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  163. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  164. package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
  165. package/widgets/OrientedImageryViewer/adapters/sketch/TriangulatedMeasurementAdapter.js +1 -1
  166. package/widgets/PanoramicViewer/support/PanoramicMeshManager.js +5 -0
  167. package/widgets/PanoramicViewer/support/PanoramicMeshWorker.js +5 -0
  168. package/widgets/Spinner.js +1 -1
  169. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeature.js +1 -1
  170. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
  171. package/widgets/UtilityNetworkTrace.js +1 -1
  172. package/widgets/UtilityNetworkTraceAnalysis/UtilityNetworkTraceAnalysisViewModel.js +1 -1
  173. package/widgets/smartMapping/HeatmapSlider/HeatmapSliderViewModel.js +1 -1
  174. package/assets/esri/core/workers/chunks/01bd8f90e55081e65b38.js +0 -1
  175. package/assets/esri/core/workers/chunks/0a27f9b11d03874809ee.js +0 -346
  176. package/assets/esri/core/workers/chunks/34f677e8c1691c10e4e9.js +0 -1
  177. package/assets/esri/core/workers/chunks/e95a8c988ef822723503.js +0 -1
  178. package/assets/esri/core/workers/chunks/fd3009164d5e38fda85f.js +0 -1
  179. package/views/interactive/editGeometry/operations/CloseComponent.js +0 -5
  180. package/views/interactive/editGeometry/operations/SplitEdge.js +0 -5
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[4038],{51530:(e,t,s)=>{s.d(t,{KB:()=>a,Xi:()=>r,pn:()=>o,x3:()=>n});var i=s(44208);class r{constructor(e){this.data=e,this.type="encoded-mesh-texture",this.encoding="image/ktx2"}}function n(e){return"encoded-mesh-texture"===e?.type}async function a(e){const t=new Blob([e]),s=await t.text();return JSON.parse(s)}async function o(e,t){if("image/ktx2"===t)return new r(e);const s=new Blob([e],{type:t});let n=URL.createObjectURL(s);switch(t){case"image/jpeg":n+="#.jpg";break;case"image/png":n+="#.png"}const a=new Image;if((0,i.A)("esri-iPhone"))return new Promise((e,t)=>{const s=()=>{r(),e(a)},i=e=>{r(),t(e)},r=()=>{URL.revokeObjectURL(n),a.removeEventListener("load",s),a.removeEventListener("error",i)};a.addEventListener("load",s),a.addEventListener("error",i),a.src=n});try{a.src=n,await a.decode()}catch(e){console.warn("Failed decoding HTMLImageElement")}return URL.revokeObjectURL(n),a}},63907:(e,t,s)=>{s.d(t,{CQ:()=>p,Fq:()=>_,H0:()=>n,SB:()=>c,WR:()=>i,XN:()=>a,iE:()=>o,ld:()=>h,nI:()=>d,pe:()=>r,r6:()=>f,vt:()=>u,yI:()=>l});const i={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},r={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,HALF_FLOAT:5131},n={RGBA4:32854,R16F:33325,RG16F:33327,RGB32F:34837,RGBA16F:34842,R32F:33326,RG32F:33328,RGBA32F:34836,R11F_G11F_B10F:35898,RGB8:32849,RGBA8:32856,RGB5_A1:32855,R8:33321,RG8:33323,R8I:33329,R8UI:33330,R16I:33331,R16UI:33332,R32I:33333,R32UI:33334,RG8I:33335,RG8UI:33336,RG16I:33337,RG16UI:33338,RG32I:33339,RG32UI:33340,RGB16F:34843,RGB9_E5:35901,SRGB8:35905,SRGB8_ALPHA8:35907,RGB565:36194,RGBA32UI:36208,RGB32UI:36209,RGBA16UI:36214,RGB16UI:36215,RGBA8UI:36220,RGB8UI:36221,RGBA32I:36226,RGB32I:36227,RGBA16I:36232,RGB16I:36233,RGBA8I:36238,RGB8I:36239,R8_SNORM:36756,RG8_SNORM:36757,RGB8_SNORM:36758,RGBA8_SNORM:36759,RGB10_A2:32857,RGB10_A2UI:36975},a=Object.values(n),o={DEPTH24_STENCIL8:35056,DEPTH32F_STENCIL8:36013},c={DEPTH_COMPONENT16:33189,DEPTH_COMPONENT24:33190,DEPTH_COMPONENT32F:36012},h={FLOAT:r.FLOAT,UNSIGNED_BYTE:r.UNSIGNED_BYTE,UNSIGNED_INT_24_8:34042,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,BYTE:r.BYTE,UNSIGNED_SHORT:r.UNSIGNED_SHORT,SHORT:r.SHORT,UNSIGNED_INT:r.UNSIGNED_INT,INT:r.INT,HALF_FLOAT:5131,UNSIGNED_INT_2_10_10_10_REV:33640,UNSIGNED_INT_10F_11F_11F_REV:35899,UNSIGNED_INT_5_9_9_9_REV:35902,FLOAT_32_UNSIGNED_INT_24_8_REV:36269},u={Texture:0,TileTexture:1,BufferObject:2,VertexArrayObject:3,Shader:4,Program:5,FramebufferObject:6,Renderbuffer:7,TransformFeedback:8,Sync:9,UNCOUNTED:10,LinesOfCode:10,Uniform:11,COUNT:12},f=36064,l=36065,_=36066,d=33306,p={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_SRGB8_ETC2:37493,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37494,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37495,COMPRESSED_RGBA8_ETC2_EAC:37496,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37497}},84038:(e,t,s)=>{s.r(t),s.d(t,{exportGLTF:()=>v,modelNameGlb:()=>z,modelNameGltf:()=>P,toBinaryGLTF:()=>V});var i=s(74887),r=s(4576);class n{constructor(){this.copyright="",this.defaultScene=0,this.generator="",this._scenes=[]}addScene(e){if(this._scenes.includes(e))throw new Error("Scene already added");this._scenes.push(e)}removeScene(e){(0,r.TF)(this._scenes,e)}forEachScene(e){this._scenes.forEach(e)}}class a{static{this.HEADER_SIZE=12}static{this.CHUNK_HEADER_SIZE=8}static{this.MAGIC=1179937895}static{this.VERSION=2}constructor(e,t){if(!e)throw new Error("GLB requires a JSON gltf chunk");this._length=a.HEADER_SIZE,this._length+=a.CHUNK_HEADER_SIZE;const s=function(e){return(new TextEncoder).encode(e).buffer}(e);if(this._length+=o(s.byteLength,4),t&&(this._length+=a.CHUNK_HEADER_SIZE,this._length+=t.byteLength,t.byteLength%4))throw new Error("Expected BIN chunk length to be divisible by 4 at this point");this.buffer=new ArrayBuffer(this._length),this._outView=new DataView(this.buffer),this._writeHeader();const i=this._writeChunk(s,12,1313821514,32);t&&this._writeChunk(t,i,5130562)}_writeHeader(){this._outView.setUint32(0,a.MAGIC,!0),this._outView.setUint32(4,a.VERSION,!0),this._outView.setUint32(8,this._length,!0)}_writeChunk(e,t,s,i=0){const r=o(e.byteLength,4);for(this._outView.setUint32(t,r,!0),this._outView.setUint32(t+=4,s,!0),function(e,t,s,i,r){new Uint8Array(e,s,r).set(new Uint8Array(t,0,r),0)}(this._outView.buffer,e,t+=4,0,e.byteLength),t+=e.byteLength;t%4;)i&&this._outView.setUint8(t,i),t++;return t}}function o(e,t){return t*Math.ceil(e/t)}var c=s(40876),h=s(53966),u=s(91869),f=s(34727),l=s(67026),_=s(82534),d=s(38954),p=s(51850),m=s(80882),g=s(72258),T=s(63907);class E{constructor(e,t,s,i,r){this._buffer=e,this._componentType=s,this._dataType=i,this._data=[],this._isFinalized=!1,this._accessorIndex=-1,this._accessorAttribute=null,this._accessorMin=null,this._accessorMax=null,t.bufferViews||(t.bufferViews=[]),this.index=t.bufferViews.length,this._bufferView={buffer:e.index,byteLength:-1,target:r};const n=this._getElementSize();n>=4&&34963!==r&&(this._bufferView.byteStride=n),t.bufferViews.push(this._bufferView),this._numComponentsForDataType=this._calculateNumComponentsForDataType()}push(e){const t=this._data.length;if(this._data.push(e),this._accessorIndex>=0){const s=t%this._numComponentsForDataType,i=this._accessorMin[s];this._accessorMin[s]="number"!=typeof i?e:Math.min(i,e);const r=this._accessorMax[s];this._accessorMax[s]="number"!=typeof r?e:Math.max(r,e)}}get dataSize(){return this._data.length*this._sizeComponentType()}get byteSize(){return e=this.dataSize,4*Math.ceil(e/4);var e}getByteOffset(){if(!this._isFinalized)throw new Error("Cannot get BufferView offset until it is finalized");return this._buffer.getByteOffset(this)}get byteOffset(){if(!this._isFinalized)throw new Error("Cannot get BufferView offset until it is finalized");return this._buffer.getByteOffset(this)}_createTypedArray(e,t){switch(this._componentType){case T.pe.BYTE:return new Int8Array(e,t);case T.pe.FLOAT:return new Float32Array(e,t);case T.pe.SHORT:return new Int16Array(e,t);case T.pe.UNSIGNED_BYTE:return new Uint8Array(e,t);case T.pe.UNSIGNED_INT:return new Uint32Array(e,t);case T.pe.UNSIGNED_SHORT:return new Uint16Array(e,t)}}writeOutToBuffer(e,t){this._createTypedArray(e,t).set(this._data)}writeAsync(e){if(this._asyncWritePromise)throw new Error("Can't write multiple bufferView values asynchronously");return this._asyncWritePromise=e.then(e=>{const t=new Uint8Array(e);for(let e=0;e<t.length;++e)this._data.push(t[e]);delete this._asyncWritePromise}),this._asyncWritePromise}startAccessor(e){if(this._accessorIndex>=0)throw new Error("Accessor was started without ending the previous one");this._accessorIndex=this._data.length,this._accessorAttribute=e;const t=this._numComponentsForDataType;this._accessorMin=new Array(t),this._accessorMax=new Array(t)}endAccessor(){if(this._accessorIndex<0)throw new Error("An accessor was not started, but was attempted to be ended");const e=this._getElementSize(),t=this._numComponentsForDataType,s=(this._data.length-this._accessorIndex)/t;if(s%1)throw new Error("An accessor was ended with missing component values");for(let e=0;e<this._accessorMin.length;++e)"number"!=typeof this._accessorMin[e]&&(this._accessorMin[e]=0),"number"!=typeof this._accessorMax[e]&&(this._accessorMax[e]=0);const i={byteOffset:e*(this._accessorIndex/t),componentType:this._componentType,count:s,type:this._dataType,min:this._accessorMin,max:this._accessorMax,name:this._accessorAttribute};switch(this._accessorAttribute){case"TEXCOORD_0":case"TEXCOORD_1":case"COLOR_0":case"WEIGHTS_0":switch(this._componentType){case T.pe.UNSIGNED_BYTE:case T.pe.UNSIGNED_SHORT:i.normalized=!0}}return this._accessorIndex=-1,this._accessorAttribute=null,this._accessorMin=null,this._accessorMax=null,i}get finalized(){return this._finalizedPromise?this._finalizedPromise:this._isFinalized?this._finalizedPromise=Promise.resolve():this._finalizedPromise=new Promise(e=>this._finalizedPromiseResolve=e)}async finalize(){const e=this._bufferView,t=this._buffer.getViewFinalizePromises(this);this._asyncWritePromise&&t.push(this._asyncWritePromise),await Promise.allSettled(t),this._isFinalized=!0,e.byteOffset=this.getByteOffset(),e.byteLength=this.dataSize,this._finalizedPromiseResolve&&this._finalizedPromiseResolve()}_getElementSize(){return this._sizeComponentType()*this._numComponentsForDataType}_sizeComponentType(){switch(this._componentType){case T.pe.BYTE:case T.pe.UNSIGNED_BYTE:return 1;case T.pe.SHORT:case T.pe.UNSIGNED_SHORT:return 2;case T.pe.UNSIGNED_INT:case T.pe.FLOAT:return 4}}_calculateNumComponentsForDataType(){switch(this._dataType){case"SCALAR":return 1;case"VEC2":return 2;case"VEC3":return 3;case"VEC4":case"MAT2":return 4;case"MAT3":return 9;case"MAT4":return 16}}}class w{constructor(e){this._gltf=e,this._bufferViews=[],this._isFinalized=!1,e.buffers||(e.buffers=[]),this.index=e.buffers.length;const t={byteLength:-1};e.buffers.push(t),this._buffer=t}addBufferView(e,t,s){if(this._finalizePromise)throw new Error("Cannot add buffer view after fiinalizing buffer");const i=new E(this,this._gltf,e,t,s);return this._bufferViews.push(i),i}getByteOffset(e){let t=0;for(const s of this._bufferViews){if(s===e)return t;t+=s.byteSize}throw new Error("Given bufferView was not present in this buffer")}getViewFinalizePromises(e){const t=[];for(const s of this._bufferViews){if(e&&s===e)return t;t.push(s.finalized)}return t}getArrayBuffer(){if(!this._isFinalized)throw new Error("Cannot get ArrayBuffer from Buffer before it is finalized");const e=this._getTotalSize(),t=new ArrayBuffer(e);let s=0;for(const e of this._bufferViews)e.writeOutToBuffer(t,s),s+=e.byteSize;return t}finalize(){if(this._finalizePromise)throw new Error(`Buffer ${this.index} was already finalized`);return this._finalizePromise=Promise.allSettled(this.getViewFinalizePromises()).then(()=>{this._isFinalized=!0;const e=this.getArrayBuffer();this._buffer.byteLength=e.byteLength,this._buffer.uri=e}),this._gltf.extras.promises.push(this._finalizePromise),this._finalizePromise}_getTotalSize(){let e=0;for(const t of this._bufferViews)e+=t.byteSize;return e}}function R(e,t){null==t.normal&&(t.normal=new Float32Array(t.position.length));const{position:s,normal:i}=t,r=e.length/3;for(let t=0;t<r;++t){const r=3*e[3*t],n=3*e[3*t+1],a=3*e[3*t+2],o=(0,d.i)(S,s[r],s[r+1],s[r+2]),c=(0,d.i)(b,s[n],s[n+1],s[n+2]),h=(0,d.i)(A,s[a],s[a+1],s[a+2]),u=(0,d.d)(c,c,o),f=(0,d.d)(h,h,o),l=(0,d.h)(u,u,f);i[r]+=l[0],i[r+1]+=l[1],i[r+2]+=l[2],i[n]+=l[0],i[n+1]+=l[1],i[n+2]+=l[2],i[a]+=l[0],i[a+1]+=l[1],i[a+2]+=l[2]}for(let e=0;e<i.length;e+=3)(0,d.i)(N,i[e],i[e+1],i[e+2]),(0,d.n)(N,N),i[e]=N[0],i[e+1]=N[1],i[e+2]=N[2]}const S=(0,p.vt)(),b=(0,p.vt)(),A=(0,p.vt)(),N=(0,p.vt)();s(44208);var y=s(49186),I=s(84952);async function x(e,t){const s=O(e);if(null==s)throw new y.A("imageToArrayBuffer","Unsupported image type");const r=function(e){if(!(e instanceof HTMLImageElement))return"image/png";const t=e.src;if((0,I.DB)(t)){const e=(0,I.r$)(t);return"image/jpeg"===e?.mediaType?e.mediaType:"image/png"}return/\.png$/i.test(t)?"image/png":/\.(jpg|jpeg)$/i.test(t)?"image/jpeg":"image/png"}(e),n=await new Promise(e=>s.toBlob(e,r));if((0,i.Te)(t),!n)throw new y.A("imageToArrayBuffer","Failed to encode image");const a=await n.arrayBuffer();return(0,i.Te)(t),{data:a,type:r}}function O(e){if(e instanceof HTMLCanvasElement)return e;if(e instanceof HTMLVideoElement)return null;const t=document.createElement("canvas");t.width=e.width,t.height=e.height;const s=t.getContext("2d");return e instanceof HTMLImageElement?s.drawImage(e,0,0,e.width,e.height):e instanceof ImageData&&s.putImageData(e,0,0),t}var C=s(51530);const B=()=>h.A.getLogger("esri.geometry.support.meshUtils.exporters.gltf.gltf");class G{constructor(e,t){this.options=t,this._materialMap=new Array,this._imageMap=new Map,this._textureMap=new Map,this.gltf={asset:{version:"2.0",copyright:e.copyright,generator:e.generator},extras:{output:t.output,binChunkBuffer:null,promises:[]}},this._addScenes(e)}_addScenes(e){this.gltf.scene=e.defaultScene;const t=this.gltf.extras,s=2===t.output.buffer||2===t.output.image;s&&(t.binChunkBuffer=new w(this.gltf)),e.forEachScene(e=>{this._addScene(e)}),s&&t.binChunkBuffer.finalize()}_addScene(e){this.gltf.scenes||(this.gltf.scenes=[]);const t={};e.name&&(t.name=e.name),e.forEachNode(e=>{t.nodes||(t.nodes=[]),t.nodes.push(...this._addNodes(e))}),this.gltf.scenes.push(t)}_addNodes(e){this.gltf.nodes||(this.gltf.nodes=[]);const t={};e.name&&(t.name=e.name);const s=e.translation;(0,d.q)(s,p.uY)||(t.translation=(0,p.o8)(s));const i=e.rotation;(0,l.t2)(i,_.zK)||(t.rotation=(0,_.o8)(i));const r=e.scale;(0,d.q)(r,p.Un)||(t.scale=(0,p.o8)(r));const n=this.gltf.nodes.length;if(this.gltf.nodes.push(t),e.mesh&&e.mesh.vertexAttributes.position){const s=this._createMeshes(e.mesh),i=[n];if(1===s.length)this._addMesh(t,s[0]);else for(const e of s){const t={};this._addMesh(t,e),i.push(this.gltf.nodes.length),this.gltf.nodes.push(t)}return i}return e.forEachNode(e=>{t.children||(t.children=[]),t.children.push(...this._addNodes(e))}),[n]}_addMesh(e,t){this.gltf.meshes??=[];const s=this.gltf.meshes.length;this.gltf.meshes.push(t),e.mesh=s}_createMeshes(e){const t=this.gltf.extras,s=2===t.output.buffer;let i;i=s?t.binChunkBuffer:new w(this.gltf);const r=this.options.origin,n=e.vertexSpace.clone();n.origin=[r.x,r.y,r.z??0];const a=(0,g.UR)({vertexAttributes:e.vertexAttributes,vertexSpace:e.vertexSpace,transform:this.options?.ignoreLocalTransform?null:e.transform,spatialReference:e.spatialReference},n,{targetUnit:this.options.unitConversionDisabled?void 0:"meters"});if(!a)return[];(function(e,t){if(e.components)for(const s of e.components)s.faces&&"smooth"===s.shading&&R(s.faces,t)})(e,a),M(a);const{position:o,normal:c,tangent:h}=a,{uv:u,color:f}=e.vertexAttributes,l=i.addBufferView(T.pe.FLOAT,"VEC3",34962);let _,d,p,m;c&&(_=i.addBufferView(T.pe.FLOAT,"VEC3",34962)),u&&(d=i.addBufferView(T.pe.FLOAT,"VEC2",34962)),h&&(p=i.addBufferView(T.pe.FLOAT,"VEC4",34962)),f&&(m=i.addBufferView(T.pe.FLOAT,"VEC4",34962)),l.startAccessor("POSITION"),_&&_.startAccessor("NORMAL"),d&&d.startAccessor("TEXCOORD_0"),p&&p.startAccessor("TANGENT"),m&&m.startAccessor("COLOR_0");const E=a.position.length/3;for(let e=0;e<E;++e)l.push(o[3*e]),l.push(o[3*e+1]),l.push(o[3*e+2]),_&&null!=c&&(_.push(c[3*e]),_.push(c[3*e+1]),_.push(c[3*e+2])),d&&null!=u&&(d.push(u[2*e]),d.push(u[2*e+1])),p&&null!=h&&(p.push(h[4*e]),p.push(h[4*e+1]),p.push(h[4*e+2]),p.push(h[4*e+3])),m&&null!=f&&(m.push(D(f[4*e]/255)),m.push(D(f[4*e+1]/255)),m.push(D(f[4*e+2]/255)),m.push(f[4*e+3]/255));const S=l.endAccessor(),b=this._addAccessor(l.index,S);let A,N,y,I,x;if(_){const e=_.endAccessor();A=this._addAccessor(_.index,e)}if(d){const e=d.endAccessor();N=this._addAccessor(d.index,e)}if(p){const e=p.endAccessor();y=this._addAccessor(p.index,e)}if(m){const e=m.endAccessor();I=this._addAccessor(m.index,e)}const O=[];return e.components&&e.components.length>0&&e.components[0].faces?(x=i.addBufferView(T.pe.UNSIGNED_INT,"SCALAR",34963),this._addMeshVertexIndexed(x,e.components,O,b,A,N,y,I)):this._addMeshVertexNonIndexed(e.components,O,b,A,N,y,I),l.finalize(),_&&_.finalize(),d&&d.finalize(),p&&p.finalize(),x&&x.finalize(),m&&m.finalize(),s||i.finalize(),O}_addMaterial(e){if(null==e)return;const t=this._materialMap.indexOf(e);if(-1!==t)return t;this.gltf.materials||(this.gltf.materials=[]);const s={};switch(e.alphaMode){case"mask":s.alphaMode="MASK";break;case"auto":case"blend":s.alphaMode="BLEND"}s.alphaCutoff=e.alphaCutoff,e.doubleSided&&(s.doubleSided=e.doubleSided),s.pbrMetallicRoughness={};const i=e=>{const t=e.toRgba();return t[0]=D(t[0]/255),t[1]=D(t[1]/255),t[2]=D(t[2]/255),t};if(null!=e.color&&(s.pbrMetallicRoughness.baseColorFactor=i(e.color)),null!=e.colorTexture&&(s.pbrMetallicRoughness.baseColorTexture=this._createTextureInfo(e.colorTexture,e.colorTextureTransform)),null!=e.normalTexture&&(s.normalTexture=this._createTextureInfo(e.normalTexture,e.normalTextureTransform)),e instanceof m.A){if(null!=e.emissiveTexture&&(s.emissiveTexture=this._createTextureInfo(e.emissiveTexture,e.emissiveTextureTransform)),null!=e.emissiveColor){const t=i(e.emissiveColor);s.emissiveFactor=[t[0],t[1],t[2]]}null!=e.occlusionTexture&&(s.occlusionTexture=this._createTextureInfo(e.occlusionTexture,e.occlusionTextureTransform)),null!=e.metallicRoughnessTexture&&(s.pbrMetallicRoughness.metallicRoughnessTexture=this._createTextureInfo(e.metallicRoughnessTexture,e.metallicRoughnessTextureTransform)),s.pbrMetallicRoughness.metallicFactor=e.metallic,s.pbrMetallicRoughness.roughnessFactor=e.roughness}else s.pbrMetallicRoughness.metallicFactor=1,s.pbrMetallicRoughness.roughnessFactor=1,B().warnOnce("Meshes exported to GLTF without MeshMaterialMetallicRoughness material will appear different when imported back.");const r=this.gltf.materials.length;return this.gltf.materials.push(s),this._materialMap.push(e),r}_createTextureInfo(e,t){const s={index:this._addTexture(e)};return t?(s.extensions||(s.extensions={}),s.extensions.KHR_texture_transform={scale:t.scale,offset:t.offset,rotation:(0,f.kU)(t.rotation)},s):s}_addTexture(e){const t=this.gltf.textures??[];return this.gltf.textures=t,(0,u.tE)(this._textureMap,e,()=>{const s={sampler:this._addSampler(e),source:this._addImage(e)},i=t.length;return t.push(s),i})}_addImage(e){const t=this._imageMap.get(e);if(null!=t)return t;this.gltf.images||(this.gltf.images=[]);const s={};if(e.url)s.uri=e.url;else{const t=e.data;s.extras=t;for(let e=0;e<this.gltf.images.length;++e)if(t===this.gltf.images[e].extras)return e;const i=this.gltf.extras;switch(i.output.image){case 2:{const e=i.binChunkBuffer.addBufferView(T.pe.UNSIGNED_BYTE,"SCALAR");if((0,C.x3)(t))null!=t.data&&e.writeOutToBuffer(t.data,0);else{const r=x(t,this.options.signal).then(({data:e,type:t})=>(s.mimeType=t,e));i.promises.push(e.writeAsync(r).then(()=>{e.finalize()}))}s.bufferView=e.index;break}case 1:if((0,C.x3)(t)){B().warnOnce("Image export for basis compressed textures not available.");break}s.uri=function(e){const t=O(e);return null!=t?t.toDataURL():""}(t);break;default:if((0,C.x3)(t)){B().warnOnce("Image export for basis compressed textures not available.");break}i.promises.push(x(t,this.options.signal).then(({data:e,type:t})=>{s.uri=e,s.mimeType=t}))}}const i=this.gltf.images.length;return this.gltf.images.push(s),this._imageMap.set(e,i),i}_addSampler(e){this.gltf.samplers||(this.gltf.samplers=[]);let t=10497,s=10497;if("string"==typeof e.wrap)switch(e.wrap){case"clamp":t=33071,s=33071;break;case"mirror":t=33648,s=33648}else{switch(e.wrap.vertical){case"clamp":s=33071;break;case"mirror":s=33648}switch(e.wrap.horizontal){case"clamp":t=33071;break;case"mirror":t=33648}}const i={wrapS:t,wrapT:s};for(let e=0;e<this.gltf.samplers.length;++e)if(JSON.stringify(i)===JSON.stringify(this.gltf.samplers[e]))return e;const r=this.gltf.samplers.length;return this.gltf.samplers.push(i),r}_addAccessor(e,t){this.gltf.accessors||(this.gltf.accessors=[]);const s={bufferView:e,byteOffset:t.byteOffset,componentType:t.componentType,count:t.count,type:t.type,min:t.min,max:t.max,name:t.name};t.normalized&&(s.normalized=!0);const i=this.gltf.accessors.length;return this.gltf.accessors.push(s),i}_addMeshVertexIndexed(e,t,s,i,r,n,a,o){const c=new Map;for(const h of t){if(e.startAccessor("INDICES"),h.faces)for(let t=0;t<h.faces.length;++t)e.push(h.faces[t]);const t=e.endAccessor(),u={attributes:{POSITION:i},indices:this._addAccessor(e.index,t),material:this._addMaterial(h.material)};r&&"flat"!==h.shading&&(u.attributes.NORMAL=r),n&&(u.attributes.TEXCOORD_0=n),a&&"flat"!==h.shading&&(u.attributes.TANGENT=a),o&&(u.attributes.COLOR_0=o);const f=c.get(h.name);if(f)f.primitives.push(u);else{const e={name:h.name,primitives:[u]};c.set(h.name,e),s.push(e)}}}_addMeshVertexNonIndexed(e,t,s,i,r,n,a){const o={primitives:[]};t.push(o);const c={attributes:{POSITION:s}};i&&(c.attributes.NORMAL=i),r&&(c.attributes.TEXCOORD_0=r),n&&(c.attributes.TANGENT=n),a&&(c.attributes.COLOR_0=a),e&&(c.material=this._addMaterial(e[0].material)),o.primitives.push(c)}}function M({position:e,normal:t,tangent:s}){U(e,3),U(t,3),U(s,4)}function U(e,t){if(null!=e)for(let s=1,i=2;s<e.length;s+=t,i+=t){const t=e[s],r=e[i];e[s]=r,e[i]=-t}}function D(e){return e**c.Tf}class L{constructor(e){this.mesh=e,this.name="",this.translation=(0,p.vt)(),this.rotation=(0,_.vt)(),this.scale=(0,p.o8)(p.Un),this._nodes=[]}addNode(e){if(this._nodes.includes(e))throw new Error("Node already added");this._nodes.push(e)}forEachNode(e){this._nodes.forEach(e)}set rotationAngles(e){(0,l.A6)(this.rotation,e[0],e[1],e[2])}}class F{constructor(){this.name="",this._nodes=[]}addNode(e){if(this._nodes.includes(e))throw new Error("Node already added");this._nodes.push(e)}forEachNode(e){this._nodes.forEach(e)}}const P="model.gltf",z="model.glb";async function v(e,t){const s=new G(e,t).gltf,r=s.extras.promises;let n=1,o=1,c=null;await Promise.allSettled(r),(0,i.Te)(t.signal);const h=t.jsonSpacing??4,u=new Map,f=JSON.stringify(s,(e,s)=>{if("extras"!==e){if(s instanceof ArrayBuffer){if(function(e){if(e.byteLength<8)return!1;const t=new Uint8Array(e);return 137===t[0]&&80===t[1]&&78===t[2]&&71===t[3]&&13===t[4]&&10===t[5]&&26===t[6]&&10===t[7]}(s))switch(t.output?.image){case 1:case 2:break;default:{const e=`img${o}.png`;return o++,u.set(e,s),e}}switch(t.output?.buffer){case 1:return function(e){const t=[],s=new Uint8Array(e);for(let e=0;e<s.length;e++)t.push(String.fromCharCode(s[e]));return"data:application/octet-stream;base64,"+btoa(t.join(""))}(s);case 2:if(c)throw new Error("Already encountered an ArrayBuffer, there should only be one in the GLB format.");return void(c=s);default:{const e=`data${n}.bin`;return n++,u.set(e,s),e}}}return s}},h);return 2===t.output?.buffer||2===t.output?.image?u.set(z,new a(f,c).buffer):u.set(P,f),u}async function V(e,t){const s=new n,i=new F;return s.addScene(i),i.addNode(new L(e)),await async function(e,t){const s=(await v(e,{output:{buffer:2,image:2},jsonSpacing:0,...t})).get(z);if(!(s&&s instanceof ArrayBuffer))throw new Error("failed to export to glb");return s}(s,{origin:e.origin,...t})}}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[4038],{51530:(e,t,s)=>{s.d(t,{KB:()=>a,Xi:()=>r,pn:()=>o,x3:()=>n});var i=s(44208);class r{constructor(e){this.data=e,this.type="encoded-mesh-texture",this.encoding="image/ktx2"}}function n(e){return"encoded-mesh-texture"===e?.type}async function a(e){const t=new Blob([e]),s=await t.text();return JSON.parse(s)}async function o(e,t){if("image/ktx2"===t)return new r(e);const s=new Blob([e],{type:t});let n=URL.createObjectURL(s);switch(t){case"image/jpeg":n+="#.jpg";break;case"image/png":n+="#.png"}const a=new Image;if((0,i.A)("esri-iPhone"))return new Promise((e,t)=>{const s=()=>{r(),e(a)},i=e=>{r(),t(e)},r=()=>{URL.revokeObjectURL(n),a.removeEventListener("load",s),a.removeEventListener("error",i)};a.addEventListener("load",s),a.addEventListener("error",i),a.src=n});try{a.src=n,await a.decode()}catch(e){console.warn("Failed decoding HTMLImageElement")}return URL.revokeObjectURL(n),a}},63907:(e,t,s)=>{s.d(t,{CQ:()=>p,Fq:()=>_,H0:()=>n,SB:()=>c,WR:()=>i,XN:()=>a,iE:()=>o,ld:()=>h,nI:()=>d,pe:()=>r,r6:()=>f,vt:()=>u,yI:()=>l});const i={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},r={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,HALF_FLOAT:5131},n={RGBA4:32854,R16F:33325,RG16F:33327,RGB32F:34837,RGBA16F:34842,R32F:33326,RG32F:33328,RGBA32F:34836,R11F_G11F_B10F:35898,RGB8:32849,RGBA8:32856,RGB5_A1:32855,R8:33321,RG8:33323,R8I:33329,R8UI:33330,R16I:33331,R16UI:33332,R32I:33333,R32UI:33334,RG8I:33335,RG8UI:33336,RG16I:33337,RG16UI:33338,RG32I:33339,RG32UI:33340,RGB16F:34843,RGB9_E5:35901,SRGB8:35905,SRGB8_ALPHA8:35907,RGB565:36194,RGBA32UI:36208,RGB32UI:36209,RGBA16UI:36214,RGB16UI:36215,RGBA8UI:36220,RGB8UI:36221,RGBA32I:36226,RGB32I:36227,RGBA16I:36232,RGB16I:36233,RGBA8I:36238,RGB8I:36239,R8_SNORM:36756,RG8_SNORM:36757,RGB8_SNORM:36758,RGBA8_SNORM:36759,RGB10_A2:32857,RGB10_A2UI:36975},a=Object.values(n),o={DEPTH24_STENCIL8:35056,DEPTH32F_STENCIL8:36013},c={DEPTH_COMPONENT16:33189,DEPTH_COMPONENT24:33190,DEPTH_COMPONENT32F:36012},h={FLOAT:r.FLOAT,UNSIGNED_BYTE:r.UNSIGNED_BYTE,UNSIGNED_INT_24_8:34042,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,BYTE:r.BYTE,UNSIGNED_SHORT:r.UNSIGNED_SHORT,SHORT:r.SHORT,UNSIGNED_INT:r.UNSIGNED_INT,INT:r.INT,HALF_FLOAT:5131,UNSIGNED_INT_2_10_10_10_REV:33640,UNSIGNED_INT_10F_11F_11F_REV:35899,UNSIGNED_INT_5_9_9_9_REV:35902,FLOAT_32_UNSIGNED_INT_24_8_REV:36269},u={Texture:0,TileTexture:1,BufferObject:2,VertexArrayObject:3,Shader:4,Program:5,FramebufferObject:6,Renderbuffer:7,TransformFeedback:8,Sync:9,UNCOUNTED:10,LinesOfCode:10,Uniform:11,COUNT:12},f=36064,l=36065,_=36066,d=33306,p={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_SRGB8_ETC2:37493,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37494,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37495,COMPRESSED_RGBA8_ETC2_EAC:37496,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37497}},84038:(e,t,s)=>{s.r(t),s.d(t,{exportGLTF:()=>v,modelNameGlb:()=>z,modelNameGltf:()=>P,toBinaryGLTF:()=>V});var i=s(74887),r=s(4576);class n{constructor(){this.copyright="",this.defaultScene=0,this.generator="",this._scenes=[]}addScene(e){if(this._scenes.includes(e))throw new Error("Scene already added");this._scenes.push(e)}removeScene(e){(0,r.TF)(this._scenes,e)}forEachScene(e){this._scenes.forEach(e)}}class a{static{this.HEADER_SIZE=12}static{this.CHUNK_HEADER_SIZE=8}static{this.MAGIC=1179937895}static{this.VERSION=2}constructor(e,t){if(!e)throw new Error("GLB requires a JSON gltf chunk");this._length=a.HEADER_SIZE,this._length+=a.CHUNK_HEADER_SIZE;const s=function(e){return(new TextEncoder).encode(e).buffer}(e);if(this._length+=o(s.byteLength,4),t&&(this._length+=a.CHUNK_HEADER_SIZE,this._length+=t.byteLength,t.byteLength%4))throw new Error("Expected BIN chunk length to be divisible by 4 at this point");this.buffer=new ArrayBuffer(this._length),this._outView=new DataView(this.buffer),this._writeHeader();const i=this._writeChunk(s,12,1313821514,32);t&&this._writeChunk(t,i,5130562)}_writeHeader(){this._outView.setUint32(0,a.MAGIC,!0),this._outView.setUint32(4,a.VERSION,!0),this._outView.setUint32(8,this._length,!0)}_writeChunk(e,t,s,i=0){const r=o(e.byteLength,4);for(this._outView.setUint32(t,r,!0),this._outView.setUint32(t+=4,s,!0),function(e,t,s,i,r){new Uint8Array(e,s,r).set(new Uint8Array(t,0,r),0)}(this._outView.buffer,e,t+=4,0,e.byteLength),t+=e.byteLength;t%4;)i&&this._outView.setUint8(t,i),t++;return t}}function o(e,t){return t*Math.ceil(e/t)}var c=s(40876),h=s(53966),u=s(91869),f=s(34727),l=s(67026),_=s(82534),d=s(38954),p=s(51850),m=s(80882),g=s(72258),T=s(63907);class E{constructor(e,t,s,i,r){this._buffer=e,this._componentType=s,this._dataType=i,this._data=[],this._isFinalized=!1,this._accessorIndex=-1,this._accessorAttribute=null,this._accessorMin=null,this._accessorMax=null,t.bufferViews||(t.bufferViews=[]),this.index=t.bufferViews.length,this._bufferView={buffer:e.index,byteLength:-1,target:r};const n=this._getElementSize();n>=4&&34963!==r&&(this._bufferView.byteStride=n),t.bufferViews.push(this._bufferView),this._numComponentsForDataType=this._calculateNumComponentsForDataType()}push(e){const t=this._data.length;if(this._data.push(e),this._accessorIndex>=0){const s=t%this._numComponentsForDataType,i=this._accessorMin[s];this._accessorMin[s]="number"!=typeof i?e:Math.min(i,e);const r=this._accessorMax[s];this._accessorMax[s]="number"!=typeof r?e:Math.max(r,e)}}get dataSize(){return this._data.length*this._sizeComponentType()}get byteSize(){return e=this.dataSize,4*Math.ceil(e/4);var e}getByteOffset(){if(!this._isFinalized)throw new Error("Cannot get BufferView offset until it is finalized");return this._buffer.getByteOffset(this)}get byteOffset(){if(!this._isFinalized)throw new Error("Cannot get BufferView offset until it is finalized");return this._buffer.getByteOffset(this)}_createTypedArray(e,t){switch(this._componentType){case T.pe.BYTE:return new Int8Array(e,t);case T.pe.FLOAT:return new Float32Array(e,t);case T.pe.SHORT:return new Int16Array(e,t);case T.pe.UNSIGNED_BYTE:return new Uint8Array(e,t);case T.pe.UNSIGNED_INT:return new Uint32Array(e,t);case T.pe.UNSIGNED_SHORT:return new Uint16Array(e,t)}}writeOutToBuffer(e,t){this._createTypedArray(e,t).set(this._data)}writeAsync(e){if(this._asyncWritePromise)throw new Error("Can't write multiple bufferView values asynchronously");return this._asyncWritePromise=e.then(e=>{const t=new Uint8Array(e);for(let e=0;e<t.length;++e)this._data.push(t[e]);delete this._asyncWritePromise}),this._asyncWritePromise}startAccessor(e){if(this._accessorIndex>=0)throw new Error("Accessor was started without ending the previous one");this._accessorIndex=this._data.length,this._accessorAttribute=e;const t=this._numComponentsForDataType;this._accessorMin=new Array(t),this._accessorMax=new Array(t)}endAccessor(){if(this._accessorIndex<0)throw new Error("An accessor was not started, but was attempted to be ended");const e=this._getElementSize(),t=this._numComponentsForDataType,s=(this._data.length-this._accessorIndex)/t;if(s%1)throw new Error("An accessor was ended with missing component values");for(let e=0;e<this._accessorMin.length;++e)"number"!=typeof this._accessorMin[e]&&(this._accessorMin[e]=0),"number"!=typeof this._accessorMax[e]&&(this._accessorMax[e]=0);const i={byteOffset:e*(this._accessorIndex/t),componentType:this._componentType,count:s,type:this._dataType,min:this._accessorMin,max:this._accessorMax,name:this._accessorAttribute};switch(this._accessorAttribute){case"TEXCOORD_0":case"TEXCOORD_1":case"COLOR_0":case"WEIGHTS_0":switch(this._componentType){case T.pe.UNSIGNED_BYTE:case T.pe.UNSIGNED_SHORT:i.normalized=!0}}return this._accessorIndex=-1,this._accessorAttribute=null,this._accessorMin=null,this._accessorMax=null,i}get finalized(){return this._finalizedPromise?this._finalizedPromise:this._isFinalized?this._finalizedPromise=Promise.resolve():this._finalizedPromise=new Promise(e=>this._finalizedPromiseResolve=e)}async finalize(){const e=this._bufferView,t=this._buffer.getViewFinalizePromises(this);this._asyncWritePromise&&t.push(this._asyncWritePromise),await Promise.allSettled(t),this._isFinalized=!0,e.byteOffset=this.getByteOffset(),e.byteLength=this.dataSize,this._finalizedPromiseResolve&&this._finalizedPromiseResolve()}_getElementSize(){return this._sizeComponentType()*this._numComponentsForDataType}_sizeComponentType(){switch(this._componentType){case T.pe.BYTE:case T.pe.UNSIGNED_BYTE:return 1;case T.pe.SHORT:case T.pe.UNSIGNED_SHORT:return 2;case T.pe.UNSIGNED_INT:case T.pe.FLOAT:return 4}}_calculateNumComponentsForDataType(){switch(this._dataType){case"SCALAR":return 1;case"VEC2":return 2;case"VEC3":return 3;case"VEC4":case"MAT2":return 4;case"MAT3":return 9;case"MAT4":return 16}}}class w{constructor(e){this._gltf=e,this._bufferViews=[],this._isFinalized=!1,e.buffers||(e.buffers=[]),this.index=e.buffers.length;const t={byteLength:-1};e.buffers.push(t),this._buffer=t}addBufferView(e,t,s){if(this._finalizePromise)throw new Error("Cannot add buffer view after fiinalizing buffer");const i=new E(this,this._gltf,e,t,s);return this._bufferViews.push(i),i}getByteOffset(e){let t=0;for(const s of this._bufferViews){if(s===e)return t;t+=s.byteSize}throw new Error("Given bufferView was not present in this buffer")}getViewFinalizePromises(e){const t=[];for(const s of this._bufferViews){if(e&&s===e)return t;t.push(s.finalized)}return t}getArrayBuffer(){if(!this._isFinalized)throw new Error("Cannot get ArrayBuffer from Buffer before it is finalized");const e=this._getTotalSize(),t=new ArrayBuffer(e);let s=0;for(const e of this._bufferViews)e.writeOutToBuffer(t,s),s+=e.byteSize;return t}finalize(){if(this._finalizePromise)throw new Error(`Buffer ${this.index} was already finalized`);return this._finalizePromise=Promise.allSettled(this.getViewFinalizePromises()).then(()=>{this._isFinalized=!0;const e=this.getArrayBuffer();this._buffer.byteLength=e.byteLength,this._buffer.uri=e}),this._gltf.extras.promises.push(this._finalizePromise),this._finalizePromise}_getTotalSize(){let e=0;for(const t of this._bufferViews)e+=t.byteSize;return e}}function R(e,t){null==t.normal&&(t.normal=new Float32Array(t.position.length));const{position:s,normal:i}=t,r=e.length/3;for(let t=0;t<r;++t){const r=3*e[3*t],n=3*e[3*t+1],a=3*e[3*t+2],o=(0,d.i)(S,s[r],s[r+1],s[r+2]),c=(0,d.i)(b,s[n],s[n+1],s[n+2]),h=(0,d.i)(A,s[a],s[a+1],s[a+2]),u=(0,d.d)(c,c,o),f=(0,d.d)(h,h,o),l=(0,d.h)(u,u,f);i[r]+=l[0],i[r+1]+=l[1],i[r+2]+=l[2],i[n]+=l[0],i[n+1]+=l[1],i[n+2]+=l[2],i[a]+=l[0],i[a+1]+=l[1],i[a+2]+=l[2]}for(let e=0;e<i.length;e+=3)(0,d.i)(N,i[e],i[e+1],i[e+2]),(0,d.n)(N,N),i[e]=N[0],i[e+1]=N[1],i[e+2]=N[2]}const S=(0,p.vt)(),b=(0,p.vt)(),A=(0,p.vt)(),N=(0,p.vt)();s(44208);var y=s(49186),I=s(84952);async function x(e,t){const s=O(e);if(null==s)throw new y.A("imageToArrayBuffer","Unsupported image type");const r=function(e){if(!(e instanceof HTMLImageElement))return"image/png";const t=e.src;if((0,I.DB)(t)){const e=(0,I.r$)(t);return"image/jpeg"===e?.mediaType?e.mediaType:"image/png"}return/\.png$/i.test(t)?"image/png":/\.(jpg|jpeg)$/i.test(t)?"image/jpeg":"image/png"}(e),n=await new Promise(e=>s.toBlob(e,r));if((0,i.Te)(t),!n)throw new y.A("imageToArrayBuffer","Failed to encode image");const a=await n.arrayBuffer();return(0,i.Te)(t),{data:a,type:r}}function O(e){if(e instanceof HTMLCanvasElement)return e;if(e instanceof HTMLVideoElement)return null;const t=document.createElement("canvas");t.width=e.width,t.height=e.height;const s=t.getContext("2d");return e instanceof HTMLImageElement?s.drawImage(e,0,0,e.width,e.height):e instanceof ImageData&&s.putImageData(e,0,0),t}var C=s(51530);const B=()=>h.A.getLogger("esri.geometry.support.meshUtils.exporters.gltf.gltf");class G{constructor(e,t){this.options=t,this._materialMap=new Array,this._imageMap=new Map,this._textureMap=new Map,this.gltf={asset:{version:"2.0",copyright:e.copyright,generator:e.generator},extras:{output:t.output,binChunkBuffer:null,promises:[]}},this._addScenes(e)}_addScenes(e){this.gltf.scene=e.defaultScene;const t=this.gltf.extras,s=2===t.output.buffer||2===t.output.image;s&&(t.binChunkBuffer=new w(this.gltf)),e.forEachScene(e=>{this._addScene(e)}),s&&t.binChunkBuffer.finalize()}_addScene(e){this.gltf.scenes||(this.gltf.scenes=[]);const t={};e.name&&(t.name=e.name),e.forEachNode(e=>{t.nodes||(t.nodes=[]),t.nodes.push(...this._addNodes(e))}),this.gltf.scenes.push(t)}_addNodes(e){this.gltf.nodes||(this.gltf.nodes=[]);const t={};e.name&&(t.name=e.name);const s=e.translation;(0,d.q)(s,p.uY)||(t.translation=(0,p.o8)(s));const i=e.rotation;(0,l.t2)(i,_.zK)||(t.rotation=(0,_.o8)(i));const r=e.scale;(0,d.q)(r,p.Un)||(t.scale=(0,p.o8)(r));const n=this.gltf.nodes.length;if(this.gltf.nodes.push(t),e.mesh&&e.mesh.vertexAttributes.position){const s=this._createMeshes(e.mesh),i=[n];if(1===s.length)this._addMesh(t,s[0]);else for(const e of s){const t={};this._addMesh(t,e),i.push(this.gltf.nodes.length),this.gltf.nodes.push(t)}return i}return e.forEachNode(e=>{t.children||(t.children=[]),t.children.push(...this._addNodes(e))}),[n]}_addMesh(e,t){this.gltf.meshes??=[];const s=this.gltf.meshes.length;this.gltf.meshes.push(t),e.mesh=s}_createMeshes(e){const t=this.gltf.extras,s=2===t.output.buffer;let i;i=s?t.binChunkBuffer:new w(this.gltf);const r=this.options.origin,n=e.vertexSpace.clone();n.origin=[r.x,r.y,r.z??0];const a=(0,g.UR)({vertexAttributes:e.vertexAttributes,vertexSpace:e.vertexSpace,transform:this.options?.ignoreLocalTransform?null:e.transform,spatialReference:e.spatialReference},n,{targetUnit:this.options.unitConversionDisabled?void 0:"meters"});if(!a)return[];(function(e,t){if(e.components)for(const s of e.components)s.faces&&"smooth"===s.shading&&R(s.faces,t)})(e,a),M(a);const{position:o,normal:c,tangent:h}=a,{uv:u,color:f}=e.vertexAttributes,l=i.addBufferView(T.pe.FLOAT,"VEC3",34962);let _,d,p,m;c&&(_=i.addBufferView(T.pe.FLOAT,"VEC3",34962)),u&&(d=i.addBufferView(T.pe.FLOAT,"VEC2",34962)),h&&(p=i.addBufferView(T.pe.FLOAT,"VEC4",34962)),f&&(m=i.addBufferView(T.pe.FLOAT,"VEC4",34962)),l.startAccessor("POSITION"),_&&_.startAccessor("NORMAL"),d&&d.startAccessor("TEXCOORD_0"),p&&p.startAccessor("TANGENT"),m&&m.startAccessor("COLOR_0");const E=a.position.length/3;for(let e=0;e<E;++e)l.push(o[3*e]),l.push(o[3*e+1]),l.push(o[3*e+2]),_&&null!=c&&(_.push(c[3*e]),_.push(c[3*e+1]),_.push(c[3*e+2])),d&&null!=u&&(d.push(u[2*e]),d.push(u[2*e+1])),p&&null!=h&&(p.push(h[4*e]),p.push(h[4*e+1]),p.push(h[4*e+2]),p.push(h[4*e+3])),m&&null!=f&&(m.push(D(f[4*e]/255)),m.push(D(f[4*e+1]/255)),m.push(D(f[4*e+2]/255)),m.push(f[4*e+3]/255));const S=l.endAccessor(),b=this._addAccessor(l.index,S);let A,N,y,I,x;if(_){const e=_.endAccessor();A=this._addAccessor(_.index,e)}if(d){const e=d.endAccessor();N=this._addAccessor(d.index,e)}if(p){const e=p.endAccessor();y=this._addAccessor(p.index,e)}if(m){const e=m.endAccessor();I=this._addAccessor(m.index,e)}const O=[];return e.components&&e.components.length>0&&e.components[0].faces?(x=i.addBufferView(T.pe.UNSIGNED_INT,"SCALAR",34963),this._addMeshVertexIndexed(x,e.components,O,b,A,N,y,I)):this._addMeshVertexNonIndexed(e.components,O,b,A,N,y,I),l.finalize(),_?.finalize(),d?.finalize(),p?.finalize(),x?.finalize(),m?.finalize(),s||i.finalize(),O}_addMaterial(e){if(null==e)return;const t=this._materialMap.indexOf(e);if(-1!==t)return t;this.gltf.materials||(this.gltf.materials=[]);const s={};switch(e.alphaMode){case"mask":s.alphaMode="MASK";break;case"auto":case"blend":s.alphaMode="BLEND"}s.alphaCutoff=e.alphaCutoff,e.doubleSided&&(s.doubleSided=e.doubleSided),s.pbrMetallicRoughness={};const i=e=>{const t=e.toRgba();return t[0]=D(t[0]/255),t[1]=D(t[1]/255),t[2]=D(t[2]/255),t};if(null!=e.color&&(s.pbrMetallicRoughness.baseColorFactor=i(e.color)),null!=e.colorTexture&&(s.pbrMetallicRoughness.baseColorTexture=this._createTextureInfo(e.colorTexture,e.colorTextureTransform)),null!=e.normalTexture&&(s.normalTexture=this._createTextureInfo(e.normalTexture,e.normalTextureTransform)),e instanceof m.A){if(null!=e.emissiveTexture&&(s.emissiveTexture=this._createTextureInfo(e.emissiveTexture,e.emissiveTextureTransform)),null!=e.emissiveColor){const t=i(e.emissiveColor);s.emissiveFactor=[t[0],t[1],t[2]]}null!=e.occlusionTexture&&(s.occlusionTexture=this._createTextureInfo(e.occlusionTexture,e.occlusionTextureTransform)),null!=e.metallicRoughnessTexture&&(s.pbrMetallicRoughness.metallicRoughnessTexture=this._createTextureInfo(e.metallicRoughnessTexture,e.metallicRoughnessTextureTransform)),s.pbrMetallicRoughness.metallicFactor=e.metallic,s.pbrMetallicRoughness.roughnessFactor=e.roughness}else s.pbrMetallicRoughness.metallicFactor=1,s.pbrMetallicRoughness.roughnessFactor=1,B().warnOnce("Meshes exported to GLTF without MeshMaterialMetallicRoughness material will appear different when imported back.");const r=this.gltf.materials.length;return this.gltf.materials.push(s),this._materialMap.push(e),r}_createTextureInfo(e,t){const s={index:this._addTexture(e)};return t?(s.extensions||(s.extensions={}),s.extensions.KHR_texture_transform={scale:t.scale,offset:t.offset,rotation:(0,f.kU)(t.rotation)},s):s}_addTexture(e){const t=this.gltf.textures??[];return this.gltf.textures=t,(0,u.tE)(this._textureMap,e,()=>{const s={sampler:this._addSampler(e),source:this._addImage(e)},i=t.length;return t.push(s),i})}_addImage(e){const t=this._imageMap.get(e);if(null!=t)return t;this.gltf.images||(this.gltf.images=[]);const s={};if(e.url)s.uri=e.url;else{const t=e.data;s.extras=t;for(let e=0;e<this.gltf.images.length;++e)if(t===this.gltf.images[e].extras)return e;const i=this.gltf.extras;switch(i.output.image){case 2:{const e=i.binChunkBuffer.addBufferView(T.pe.UNSIGNED_BYTE,"SCALAR");if((0,C.x3)(t))null!=t.data&&e.writeOutToBuffer(t.data,0);else{const r=x(t,this.options.signal).then(({data:e,type:t})=>(s.mimeType=t,e));i.promises.push(e.writeAsync(r).then(()=>e.finalize()))}s.bufferView=e.index;break}case 1:if((0,C.x3)(t)){B().warnOnce("Image export for basis compressed textures not available.");break}s.uri=function(e){const t=O(e);return null!=t?t.toDataURL():""}(t);break;default:if((0,C.x3)(t)){B().warnOnce("Image export for basis compressed textures not available.");break}i.promises.push(x(t,this.options.signal).then(({data:e,type:t})=>{s.uri=e,s.mimeType=t}))}}const i=this.gltf.images.length;return this.gltf.images.push(s),this._imageMap.set(e,i),i}_addSampler(e){this.gltf.samplers||(this.gltf.samplers=[]);let t=10497,s=10497;if("string"==typeof e.wrap)switch(e.wrap){case"clamp":t=33071,s=33071;break;case"mirror":t=33648,s=33648}else{switch(e.wrap.vertical){case"clamp":s=33071;break;case"mirror":s=33648}switch(e.wrap.horizontal){case"clamp":t=33071;break;case"mirror":t=33648}}const i={wrapS:t,wrapT:s};for(let e=0;e<this.gltf.samplers.length;++e)if(JSON.stringify(i)===JSON.stringify(this.gltf.samplers[e]))return e;const r=this.gltf.samplers.length;return this.gltf.samplers.push(i),r}_addAccessor(e,t){this.gltf.accessors||(this.gltf.accessors=[]);const s={bufferView:e,byteOffset:t.byteOffset,componentType:t.componentType,count:t.count,type:t.type,min:t.min,max:t.max,name:t.name};t.normalized&&(s.normalized=!0);const i=this.gltf.accessors.length;return this.gltf.accessors.push(s),i}_addMeshVertexIndexed(e,t,s,i,r,n,a,o){const c=new Map;for(const h of t){if(e.startAccessor("INDICES"),h.faces)for(let t=0;t<h.faces.length;++t)e.push(h.faces[t]);const t=e.endAccessor(),u={attributes:{POSITION:i},indices:this._addAccessor(e.index,t),material:this._addMaterial(h.material)};r&&"flat"!==h.shading&&(u.attributes.NORMAL=r),n&&(u.attributes.TEXCOORD_0=n),a&&"flat"!==h.shading&&(u.attributes.TANGENT=a),o&&(u.attributes.COLOR_0=o);const f=c.get(h.name);if(f)f.primitives.push(u);else{const e={name:h.name,primitives:[u]};c.set(h.name,e),s.push(e)}}}_addMeshVertexNonIndexed(e,t,s,i,r,n,a){const o={primitives:[]};t.push(o);const c={attributes:{POSITION:s}};i&&(c.attributes.NORMAL=i),r&&(c.attributes.TEXCOORD_0=r),n&&(c.attributes.TANGENT=n),a&&(c.attributes.COLOR_0=a),e&&(c.material=this._addMaterial(e[0].material)),o.primitives.push(c)}}function M({position:e,normal:t,tangent:s}){U(e,3),U(t,3),U(s,4)}function U(e,t){if(null!=e)for(let s=1,i=2;s<e.length;s+=t,i+=t){const t=e[s],r=e[i];e[s]=r,e[i]=-t}}function D(e){return e**c.Tf}class L{constructor(e){this.mesh=e,this.name="",this.translation=(0,p.vt)(),this.rotation=(0,_.vt)(),this.scale=(0,p.o8)(p.Un),this._nodes=[]}addNode(e){if(this._nodes.includes(e))throw new Error("Node already added");this._nodes.push(e)}forEachNode(e){this._nodes.forEach(e)}set rotationAngles(e){(0,l.A6)(this.rotation,e[0],e[1],e[2])}}class F{constructor(){this.name="",this._nodes=[]}addNode(e){if(this._nodes.includes(e))throw new Error("Node already added");this._nodes.push(e)}forEachNode(e){this._nodes.forEach(e)}}const P="model.gltf",z="model.glb";async function v(e,t){const s=new G(e,t).gltf,r=s.extras.promises;let n=1,o=1,c=null;await Promise.allSettled(r),(0,i.Te)(t.signal);const h=t.jsonSpacing??4,u=new Map,f=JSON.stringify(s,(e,s)=>{if("extras"!==e){if(s instanceof ArrayBuffer){if(function(e){if(e.byteLength<8)return!1;const t=new Uint8Array(e);return 137===t[0]&&80===t[1]&&78===t[2]&&71===t[3]&&13===t[4]&&10===t[5]&&26===t[6]&&10===t[7]}(s))switch(t.output?.image){case 1:case 2:break;default:{const e=`img${o}.png`;return o++,u.set(e,s),e}}switch(t.output?.buffer){case 1:return function(e){const t=[],s=new Uint8Array(e);for(let e=0;e<s.length;e++)t.push(String.fromCharCode(s[e]));return"data:application/octet-stream;base64,"+btoa(t.join(""))}(s);case 2:if(c)throw new Error("Already encountered an ArrayBuffer, there should only be one in the GLB format.");return void(c=s);default:{const e=`data${n}.bin`;return n++,u.set(e,s),e}}}return s}},h);return 2===t.output?.buffer||2===t.output?.image?u.set(z,new a(f,c).buffer):u.set(P,f),u}async function V(e,t){const s=new n,i=new F;return s.addScene(i),i.addNode(new L(e)),await async function(e,t){const s=(await v(e,{output:{buffer:2,image:2},jsonSpacing:0,...t})).get(z);if(!(s&&s instanceof ArrayBuffer))throw new Error("failed to export to glb");return s}(s,{origin:e.origin,...t})}}}]);