@arcgis/core 4.34.0-next.67 → 4.34.0-next.69

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 (181) hide show
  1. package/applications/Components/analysisUtils.d.ts +1 -0
  2. package/applications/Components/analysisUtils.js +1 -1
  3. package/applications/MapViewer/mediaUtils.d.ts +1 -0
  4. package/applications/MapViewer/mediaUtils.js +1 -1
  5. package/arcade/Feature.js +1 -1
  6. package/arcade/functions/measures.js +1 -1
  7. package/assets/esri/core/workers/RemoteClient.js +1 -1
  8. package/assets/esri/core/workers/chunks/097a5c333de28ec5e16f.js +1 -0
  9. package/assets/esri/core/workers/chunks/2f44848916051f5501eb.js +1 -0
  10. package/assets/esri/core/workers/chunks/{2cd27b06226e30aec5da.js → 3cef77453623bbb37ad2.js} +1 -1
  11. package/assets/esri/core/workers/chunks/3d2629357242492afcfa.js +1 -0
  12. package/assets/esri/core/workers/chunks/49486c2e12e768b347ed.js +1 -0
  13. package/assets/esri/core/workers/chunks/{cad03967e132a28512c2.js → 4aa98309081e6889ccbb.js} +1 -1
  14. package/assets/esri/core/workers/chunks/570b17a1a4ab405bbdcb.js +1 -0
  15. package/assets/esri/core/workers/chunks/5a6b487b70ca85a45f57.js +1 -0
  16. package/assets/esri/core/workers/chunks/5a95688651d7e8b7101d.js +1 -0
  17. package/assets/esri/core/workers/chunks/6433116597021a9af680.js +1 -0
  18. package/assets/esri/core/workers/chunks/{5d8c64693830506c8776.js → 643acb12ec6a1d4b4fbb.js} +1 -1
  19. package/assets/esri/core/workers/chunks/{90491262b6d6a126c32f.js → 7944c18b270c85ff2e41.js} +1 -1
  20. package/assets/esri/core/workers/chunks/{35df19d1eab3a694c3fa.js → 978fab0f0b10edde4ff8.js} +1 -1
  21. package/assets/esri/core/workers/chunks/{27027493a8dba8305693.js → a07321a901d6847d1a6b.js} +1 -1
  22. package/assets/esri/core/workers/chunks/a6f66492651646c18f10.js +1 -0
  23. package/assets/esri/core/workers/chunks/{a44f17397d8589433dae.js → b683b0fa7fc430b4d9c5.js} +1 -1
  24. package/assets/esri/core/workers/chunks/{2f7e192ee2066f863e1d.js → c908184d747d33366881.js} +1 -1
  25. package/assets/esri/core/workers/chunks/{997a2a1a51039ce7e4e3.js → dd84f630466a26722d57.js} +1 -1
  26. package/assets/esri/core/workers/chunks/e2486bf5546443408c85.js +1 -0
  27. package/assets/esri/core/workers/chunks/{96102a9296afd1bfe1a9.js → e956d437c0c2ea81db93.js} +1 -1
  28. package/assets/esri/core/workers/chunks/{d6f5297f7b323c340727.js → f060a52a9b69eb250d63.js} +1 -1
  29. package/assets/esri/core/workers/chunks/f1865b28f0f75cadd716.js +1 -0
  30. package/assets/esri/core/workers/chunks/{06ff5f34ad9bdf9705de.js → f47a0b9e500af2b9453b.js} +8 -2
  31. package/assets/esri/core/workers/chunks/f8adac87e48ea86bec21.js +1 -0
  32. package/assets/esri/core/workers/chunks/fe475b1ecdefecfcd541.js +1 -0
  33. package/assets/esri/themes/base/widgets/_Expand.scss +1 -1
  34. package/assets/esri/themes/dark/main.css +1 -1
  35. package/assets/esri/themes/light/main.css +1 -1
  36. package/assets/esri/themes/light/view.css +1 -1
  37. package/chunks/ComponentShader.glsl.js +42 -36
  38. package/chunks/LineSeries.js +1 -1
  39. package/config.js +1 -1
  40. package/core/MemCache.js +1 -1
  41. package/core/MemCachePool.js +1 -1
  42. package/editing/geometry/lineUtils.js +1 -1
  43. package/geometry/ellipsoidUtils.js +1 -1
  44. package/geometry/support/curves/bezierCurveUtils.js +1 -1
  45. package/geometry/support/curves/circleUtils.js +1 -1
  46. package/geometry/support/curves/curveLength.js +1 -1
  47. package/geometry/support/curves/ellipticArc7Utils.js +1 -1
  48. package/interfaces.d.ts +72 -527
  49. package/kernel.js +1 -1
  50. package/layers/support/ElevationTileData.js +1 -1
  51. package/layers/support/gaussianSplatUtils.js +1 -1
  52. package/package.json +1 -1
  53. package/support/elevationInfoUtils.js +1 -1
  54. package/support/revision.js +1 -1
  55. package/views/2d/engine/vectorTiles/RenderBucket.js +1 -1
  56. package/views/2d/engine/vectorTiles/TileHandler3D.js +1 -1
  57. package/views/2d/engine/vectorTiles/VectorTile.js +1 -1
  58. package/views/2d/interactive/editingTools/MediaTransformToolsWrapper.js +5 -0
  59. package/views/3d/analysis/ElevationProfile/ElevationProfileSceneLineComputation.js +1 -1
  60. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementShiftTool.js +5 -0
  61. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementTool.js +1 -1
  62. package/views/3d/glTF/loader.js +1 -1
  63. package/views/3d/interactive/editingTools/draw/DrawGraphicTool3D.js +1 -1
  64. package/views/3d/interactive/editingTools/isSupportedObjectUtils.js +1 -1
  65. package/views/3d/interactive/editingTools/move/isSupportedObject.js +1 -1
  66. package/views/3d/interactive/editingTools/reshape/isSupportedObject.js +1 -1
  67. package/views/3d/interactive/editingTools/transform/isSupportedGraphic.js +1 -1
  68. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  69. package/views/3d/layers/I3SMeshView3D.js +1 -1
  70. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  71. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  72. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  73. package/views/3d/layers/graphics/ElevationContext.js +1 -1
  74. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  75. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  76. package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
  77. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  78. package/views/3d/layers/graphics/Graphics3DLineCalloutSymbolLayer.js +1 -1
  79. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  80. package/views/3d/layers/graphics/Graphics3DLodInstanceGraphicLayer.js +1 -1
  81. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  82. package/views/3d/layers/graphics/Graphics3DMeshObject3DGraphicLayer.js +1 -1
  83. package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.js +1 -1
  84. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  85. package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
  86. package/views/3d/layers/graphics/Graphics3DPointSymbol.js +1 -1
  87. package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
  88. package/views/3d/layers/graphics/Graphics3DSymbol.js +1 -1
  89. package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
  90. package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
  91. package/views/3d/layers/graphics/Graphics3DWaterSymbolLayer.js +1 -1
  92. package/views/3d/layers/graphics/Graphics3DWebStyleSymbol.js +1 -1
  93. package/views/3d/layers/graphics/Labeler.js +1 -1
  94. package/views/3d/layers/graphics/ObjectResourceCache.js +1 -1
  95. package/views/3d/layers/graphics/QueryEngineCache.js +1 -1
  96. package/views/3d/layers/graphics/elevationAlignPointsInFeatures.js +1 -1
  97. package/views/3d/layers/graphics/wosrLoader.js +1 -1
  98. package/views/3d/layers/i3s/CachedMeshData.js +1 -1
  99. package/views/3d/layers/i3s/I3SIndex.js +1 -1
  100. package/views/3d/layers/i3s/I3SOverrides.js +1 -1
  101. package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
  102. package/views/3d/layers/i3s/PointCloudRendererNode.js +1 -1
  103. package/views/3d/layers/support/FeatureTile.js +1 -1
  104. package/views/3d/layers/support/Tiles3DIntersectionHandler.js +1 -1
  105. package/views/3d/support/CombinedElevationProvider.js +1 -1
  106. package/views/3d/support/buffer/InterleavedLayout.js +1 -1
  107. package/views/3d/terrain/MapDataCacheItem.js +5 -0
  108. package/views/3d/terrain/OverlayManager.js +1 -1
  109. package/views/3d/terrain/OverlayRenderer.js +1 -1
  110. package/views/3d/terrain/TerrainSurface.js +1 -1
  111. package/views/3d/terrain/Tile.js +1 -1
  112. package/views/3d/terrain/TileTexture.js +1 -1
  113. package/views/3d/webgl/ManagedFBO.js +1 -1
  114. package/views/3d/webgl/ManagedFBOAttachment.js +1 -1
  115. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  116. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
  117. package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentShader.glsl.js +1 -1
  118. package/views/3d/webgl-engine/core/FBOCache.js +1 -1
  119. package/views/3d/webgl-engine/core/FBOPool.js +1 -1
  120. package/views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js +8 -2
  121. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorNode.js +1 -1
  122. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
  123. package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
  124. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  125. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  126. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  127. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  128. package/views/3d/webgl-engine/materials/renderers/VaoWriter.js +1 -1
  129. package/views/3d/webgl-engine/shaders/SphereDepthInterpolate.glsl.js +17 -0
  130. package/views/GroundView.js +1 -1
  131. package/views/analysis/ElevationProfile/ElevationProfileChart.js +5 -0
  132. package/views/analysis/ElevationProfile/constants.js +1 -1
  133. package/views/analysis/ElevationProfile/elevationProfileChartBoundsUtils.js +5 -0
  134. package/views/analysis/ElevationProfile/elevationProfileChartTheme.js +5 -0
  135. package/views/analysis/ElevationProfile/elevationProfileGeometryUtils.js +1 -1
  136. package/views/webgl/Texture.js +1 -1
  137. package/views/webgl/VertexArrayObject.js +1 -1
  138. package/widgets/Bookmarks.js +1 -1
  139. package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
  140. package/widgets/Editor/UpdateFeaturesWorkflow.js +1 -1
  141. package/widgets/Editor/support/EditorItem.js +1 -1
  142. package/widgets/Editor/support/splitFeatureUtils.js +1 -1
  143. package/widgets/ElevationProfile/support/chartUtils.js +1 -1
  144. package/widgets/Expand.js +1 -1
  145. package/widgets/Feature/FeatureMedia/xyChart.js +1 -1
  146. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  147. package/widgets/support/SelectionList.js +1 -1
  148. package/assets/esri/core/workers/chunks/047d6f7b1677cc7ab271.js +0 -1
  149. package/assets/esri/core/workers/chunks/0f20c0eec850a39620a1.js +0 -1
  150. package/assets/esri/core/workers/chunks/3212a476184be25d17f8.js +0 -1
  151. package/assets/esri/core/workers/chunks/39d69afc9da9db0c75ab.js +0 -1
  152. package/assets/esri/core/workers/chunks/548818df658b607a364e.js +0 -1
  153. package/assets/esri/core/workers/chunks/70dc7ec6474f0801bc04.js +0 -1
  154. package/assets/esri/core/workers/chunks/7597ef10d1699e7088e5.js +0 -1
  155. package/assets/esri/core/workers/chunks/8a104b35708a492bd614.js +0 -1
  156. package/assets/esri/core/workers/chunks/a634764dec5404f4a1d7.js +0 -1
  157. package/assets/esri/core/workers/chunks/bafd9b0f6e817252cb31.js +0 -1
  158. package/assets/esri/core/workers/chunks/bc9f54a6b577c43189fd.js +0 -1
  159. package/assets/esri/core/workers/chunks/de4da985c398c8bcf2e7.js +0 -1
  160. package/assets/esri/core/workers/chunks/f4d4c1f13522f20b00d1.js +0 -1
  161. package/graphic/BuildingGraphicOrigin.d.ts +0 -4
  162. package/graphic/CSVGraphicOrigin.d.ts +0 -4
  163. package/graphic/CatalogGraphicOrigin.d.ts +0 -4
  164. package/graphic/FeatureGraphicOrigin.d.ts +0 -4
  165. package/graphic/GeoJSONGraphicOrigin.d.ts +0 -4
  166. package/graphic/GeoRSSGraphicOrigin.d.ts +0 -4
  167. package/graphic/KnowledgeGraphGraphicOrigin.d.ts +0 -4
  168. package/graphic/MapImageGraphicOrigin.d.ts +0 -4
  169. package/graphic/MapNotesGraphicOrigin.d.ts +0 -4
  170. package/graphic/OGCFeatureGraphicOrigin.d.ts +0 -4
  171. package/graphic/OrientedImageryGraphicOrigin.d.ts +0 -4
  172. package/graphic/ParquetGraphicOrigin.d.ts +0 -4
  173. package/graphic/PointCloudGraphicOrigin.d.ts +0 -4
  174. package/graphic/SceneGraphicOrigin.d.ts +0 -4
  175. package/graphic/StreamGraphicOrigin.d.ts +0 -4
  176. package/graphic/SubtypeGroupGraphicOrigin.d.ts +0 -4
  177. package/graphic/TileGraphicOrigin.d.ts +0 -4
  178. package/graphic/VoxelGraphicOrigin.d.ts +0 -4
  179. package/graphic/WCSGraphicOrigin.d.ts +0 -4
  180. package/graphic/WFSGraphicOrigin.d.ts +0 -4
  181. package/graphic/graphicOrigins.d.ts +0 -22
package/config.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import"./core/has.js";import{deepMerge as e}from"./core/object.js";const s={apiKey:void 0,apiKeys:{scopes:[]},applicationName:"",applicationUrl:globalThis.location?.href,assetsPath:"",fontsUrl:"https://static.arcgis.com/fonts",geometryServiceUrl:"https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer",geoRSSServiceUrl:"https://utility.arcgis.com/sharing/rss",kmlServiceUrl:"https://utility.arcgis.com/sharing/kml",userPrivilegesApplied:!0,portalUrl:"https://www.arcgis.com",respectPrefersReducedMotion:!0,routeServiceUrl:"https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World",workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:["arcgis.com","arcgisonline.com","esrikr.com","premiumservices.blackbridge.com","esripremium.accuweather.com","gbm.digitalglobe.com","firstlook.digitalglobe.com","msi.digitalglobe.com"],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:"high",proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};if(globalThis.esriConfig&&(e(s,globalThis.esriConfig,!0),delete s.has),!s.assetsPath){{const e="4.34.0-next.67";s.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@${e}/assets`}s.defaultAssetsPath=s.assetsPath}export{s as default};
5
+ import"./core/has.js";import{deepMerge as e}from"./core/object.js";const s={apiKey:void 0,apiKeys:{scopes:[]},applicationName:"",applicationUrl:globalThis.location?.href,assetsPath:"",fontsUrl:"https://static.arcgis.com/fonts",geometryServiceUrl:"https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer",geoRSSServiceUrl:"https://utility.arcgis.com/sharing/rss",kmlServiceUrl:"https://utility.arcgis.com/sharing/kml",userPrivilegesApplied:!0,portalUrl:"https://www.arcgis.com",respectPrefersReducedMotion:!0,routeServiceUrl:"https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World",workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:["arcgis.com","arcgisonline.com","esrikr.com","premiumservices.blackbridge.com","esripremium.accuweather.com","gbm.digitalglobe.com","firstlook.digitalglobe.com","msi.digitalglobe.com"],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:"high",proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};if(globalThis.esriConfig&&(e(s,globalThis.esriConfig,!0),delete s.has),!s.assetsPath){{const e="4.34.0-next.69";s.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@${e}/assets`}s.defaultAssetsPath=s.assetsPath}export{s as default};
package/core/MemCache.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import has from"./has.js";const t=-3,s=t-1,i=!!has("esri-tests-disable-gpu-memory-measurements");class e{constructor(t,s,i,e=0){this.name=t,this._storage=s,this.removeFunc=i,this._defaultPriority=e,this.id=`${r++}${_}`,this.size=0,this._hit=0,this._miss=0,this._storage.register(this)}destroy(){this._storage.deregister(this),this._storage=null}get hitRate(){return this._hit/(this._hit+this._miss)}get storageSize(){return this._storage.size}getSize(t){return this._storage.getSize(this,t)}set maxSize(t){this._storage.setMaxSize(this,t)}resetHitRate(){this._hit=this._miss=0}put(t,s,i=this._defaultPriority){this._storage.put(this,t,s,s.cachedMemory,i)}pop(t){const s=this._storage.pop(this,t);return void 0===s?++this._miss:++this._hit,s}get(t){const s=this._storage.get(this,t);return void 0===s?++this._miss:++this._hit,s}peek(t){return this._storage.peek(this,t)}updateSize(t,s){this._storage.updateSize(this,t,s,s.cachedMemory)}clear(){this._storage.clear(this)}clearAll(){this._storage.clearAll()}*[Symbol.iterator](){yield*this._storage.values(this)}get performanceInfo(){return this._storage.performanceInfo}resetStats(){this._storage.resetStats()}}class h{get size(){return this._size}constructor(t=10485760){this._maxSize=t,this._db=new Map,this._size=0,this._hit=0,this._miss=0,this._users=new Map,this._sizeLimits=new Map}destroy(){this.clearAll(),this._sizeLimits.clear(),this._users.clear(),this._db=null}register(t){this._users.set(t.id.slice(0,-1),t)}deregister(t){this.clear(t),this._sizeLimits.delete(t),this._users.delete(t.id.slice(0,-1))}get maxSize(){return this._maxSize}set maxSize(t){this._maxSize=Math.max(t,-1),this._checkSize()}getSize(t,s){const i=this._db.get(t.id+s);return i?.size??0}put(e,h,r,_,n){h=e.id+h;const a=this._db.get(h);if(a&&(this._size-=a.size,e.size-=a.size,this._db.delete(h),a.entry!==r&&this._notifyRemove(h,a.entry,a.size,0)),_>this._maxSize)return void this._notifyRemove(h,r,_,0);if(void 0===r)return void console.warn("Refusing to cache undefined entry ");if(!_||_<0)return i||console.warn(`Refusing to cache entry with size ${_} for key ${h}`),void this._notifyRemove(h,r,0,0);const c=1+Math.max(n,s)-t;this._db.set(h,new o(r,_,c)),this._size+=_,e.size+=_,this._checkSize()}updateSize(t,s,i,e){s=t.id+s;const h=this._db.get(s);if(h&&h.entry===i){for(this._size-=h.size,t.size-=h.size;e>this._maxSize;){const t=this._notifyRemove(s,i,e,1);if(!(null!=t&&t>0))return void this._db.delete(s);e=t}h.size=e,this._size+=e,t.size+=e,this._checkSize()}}pop(t,s){s=t.id+s;const i=this._db.get(s);if(i)return this._size-=i.size,t.size-=i.size,this._db.delete(s),++this._hit,i.entry;++this._miss}get(t,s){s=t.id+s;const i=this._db.get(s);if(void 0!==i)return this._db.delete(s),i.lives=i.lifetime,this._db.set(s,i),++this._hit,i.entry;++this._miss}peek(t,s){const i=this._db.get(t.id+s);return i?++this._hit:++this._miss,i?.entry}get performanceInfo(){const s={Size:Math.round(this._size/1048576)+"/"+Math.round(this._maxSize/1048576)+"MB","Hit rate":Math.round(100*this._getHitRate())+"%",Entries:this._db.size.toString()},i={},e=new Array;this._db.forEach((t,s)=>{const h=t.lifetime;e[h]=(e[h]||0)+t.size,this._users.forEach(e=>{const{id:h,name:r}=e;if(s.startsWith(h)){const s=i[r]||0;i[r]=s+t.size}})});const h={};this._users.forEach(t=>{const s=t.name;if("hitRate"in t&&"number"==typeof t.hitRate&&!isNaN(t.hitRate)&&t.hitRate>0){const e=i[s]||0;i[s]=e,h[s]=Math.round(100*t.hitRate)+"%"}else h[s]="0%"});const r=Object.keys(i);r.sort((t,s)=>i[s]-i[t]),r.forEach(t=>s[t]=Math.round(i[t]/2**20)+"MB / "+h[t]);for(let o=e.length-1;o>=0;--o){const i=e[o];i&&(s["Priority "+(o+t-1)]=Math.round(i/this._size*100)+"%")}return s}resetStats(){this._hit=this._miss=0,this._users.forEach(t=>t.resetHitRate())}clear(t){const s=t.id;this._db.forEach((t,i)=>{i.startsWith(s)&&(this._size-=t.size,this._db.delete(i),this._notifyRemove(i,t.entry,t.size,0))}),t.size=0}clearAll(){this._db.forEach((t,s)=>this._notifyRemove(s,t.entry,t.size,0)),this._users.forEach(t=>t.size=0),this._size=0,this._db.clear()}*values(t){for(const[s,i]of this._db)s.startsWith(t.id)&&(yield i.entry)}_getHitRate(){return this._hit/(this._hit+this._miss)}_notifyRemove(t,s,i,e){const h=this._users.get(t.split(_)[0])?.removeFunc,r=h?.(s,e,i);return"number"==typeof r?r:null}_checkSize(){this._sizeLimits.forEach((t,s)=>this._checkSizeLimits(t,s)),this._checkSizeLimits(this.maxSize)}setMaxSize(t,s){null==s||s<=0?this._sizeLimits.delete(t):this._sizeLimits.set(t,s)}_checkSizeLimits(t,s){const i=s??this;if(i.size<=t)return;const e=s?.id;let h=!0;for(;h;){h=!1;for(const[r,o]of this._db)if(0===o.lifetime&&(!e||r.startsWith(e))){const e=s??this._users.get(r.split(_)[0]);if(this._purgeItem(r,o,e),i.size<=.9*t)return;h||=this._db.has(r)}}for(const[r,o]of this._db)if(!e||r.startsWith(e)){const e=s??this._users.get(r.split(_)[0]);if(this._purgeItem(r,o,e),i.size<=.9*t)return}}_purgeItem(t,s,i){if(this._db.delete(t),s.lives<=1){this._size-=s.size,i&&(i.size-=s.size);const e=this._notifyRemove(t,s.entry,s.size,1);null!=e&&e>0&&(this._size+=e,i&&(i.size+=e),s.lives=s.lifetime,s.size=e,this._db.set(t,s))}else--s.lives,this._db.set(t,s)}}let r=0;class o{constructor(t,s,i){this.entry=t,this.size=s,this.lifetime=i,this.lives=i}}const _=":";export{e as MemCache,h as MemCacheStorage,t as MinPriority,s as NoPriority};
5
+ import has from"./has.js";const t=-3,s=t-1,i=!!has("esri-tests-disable-gpu-memory-measurements");class e{constructor(t,s,i,e=0){this.name=t,this._storage=s,this.removeFunc=i,this._defaultPriority=e,this.id=`${o++}${n}`,this.size=0,this._hit=0,this._miss=0,this._storage.register(this)}destroy(){this._storage.deregister(this),this._storage=r}get hitRate(){return this._hit/(this._hit+this._miss)}get storageSize(){return this._storage.size}getSize(t){return this._storage.getSize(this,t)}set maxSize(t){this._storage.setMaxSize(this,t)}resetHitRate(){this._hit=this._miss=0}put(t,s,i=this._defaultPriority){this._storage.put(this,t,s,s.usedMemory,i)}pop(t){const s=this._storage.pop(this,t);return void 0===s?++this._miss:++this._hit,s}get(t){const s=this._storage.get(this,t);return void 0===s?++this._miss:++this._hit,s}peek(t){return this._storage.peek(this,t)}updateSize(t){this._storage.updateSize(this,t)}clear(){this._storage.clear(this)}clearAll(){this._storage.clearAll()}*[Symbol.iterator](){yield*this._storage.values(this)}get performanceInfo(){return this._storage.performanceInfo}resetStats(){this._storage.resetStats()}}class h{get size(){return this._size}constructor(t=10485760){this._maxSize=t,this._db=new Map,this._size=0,this._hit=0,this._miss=0,this._users=new Map,this._sizeLimits=new Map}destroy(){this.clearAll(),this._sizeLimits.clear(),this._users.clear(),this._db=null}register(t){this._users.set(t.id.slice(0,-1),t)}deregister(t){this.clear(t),this._sizeLimits.delete(t),this._users.delete(t.id.slice(0,-1))}get maxSize(){return this._maxSize}set maxSize(t){this._maxSize=Math.max(t,-1),this._checkSize()}getSize(t,s){const i=this._db.get(t.id+s);return i?.size??0}put(e,h,r,o,n){h=e.id+h;const a=this._db.get(h);if(a&&(this._size-=a.size,e.size-=a.size,this._db.delete(h),a.entry!==r&&this._notifyRemove(h,a.entry,a.size,0)),o>this._maxSize)return void this._notifyRemove(h,r,o,0);if(void 0===r)return void console.warn("Refusing to cache undefined entry ");if(!o||o<0)return i||console.warn(`Refusing to cache entry with size ${o} for key ${h}`),void this._notifyRemove(h,r,0,0);const c=1+Math.max(n,s)-t;this._db.set(h,new _(r,o,c)),this._size+=o,e.size+=o,this._checkSize()}updateSize(t,s){s=t.id+s;const i=this._db.get(s);if(!i)return;this._size-=i.size,t.size-=i.size;let e=i.entry.usedMemory;for(;e>this._maxSize;){const t=this._notifyRemove(s,i.entry,e,1);if(!(null!=t&&t>0))return void this._db.delete(s);e=t}i.size=e,this._size+=e,t.size+=e,this._checkSize()}pop(t,s){s=t.id+s;const i=this._db.get(s);if(i)return this._size-=i.size,t.size-=i.size,this._db.delete(s),++this._hit,i.entry;++this._miss}get(t,s){s=t.id+s;const i=this._db.get(s);if(void 0!==i)return this._db.delete(s),i.lives=i.lifetime,this._db.set(s,i),++this._hit,i.entry;++this._miss}peek(t,s){const i=this._db.get(t.id+s);return i?++this._hit:++this._miss,i?.entry}get performanceInfo(){const s={Size:Math.round(this._size/1048576)+"/"+Math.round(this._maxSize/1048576)+"MB","Hit rate":Math.round(100*this._getHitRate())+"%",Entries:this._db.size.toString()},i={},e=new Array;this._db.forEach((t,s)=>{const h=t.lifetime;e[h]=(e[h]||0)+t.size,this._users.forEach(e=>{const{id:h,name:r}=e;if(s.startsWith(h)){const s=i[r]||0;i[r]=s+t.size}})});const h={};this._users.forEach(t=>{const s=t.name;if("hitRate"in t&&"number"==typeof t.hitRate&&!isNaN(t.hitRate)&&t.hitRate>0){const e=i[s]||0;i[s]=e,h[s]=Math.round(100*t.hitRate)+"%"}else h[s]="0%"});const r=Object.keys(i);r.sort((t,s)=>i[s]-i[t]),r.forEach(t=>s[t]=Math.round(i[t]/2**20)+"MB / "+h[t]);for(let o=e.length-1;o>=0;--o){const i=e[o];i&&(s["Priority "+(o+t-1)]=Math.round(i/this._size*100)+"%")}return s}resetStats(){this._hit=this._miss=0,this._users.forEach(t=>t.resetHitRate())}clear(t){const s=t.id;this._db.forEach((t,i)=>{i.startsWith(s)&&(this._size-=t.size,this._db.delete(i),this._notifyRemove(i,t.entry,t.size,0))}),t.size=0}clearAll(){this._db.forEach((t,s)=>this._notifyRemove(s,t.entry,t.size,0)),this._users.forEach(t=>t.size=0),this._size=0,this._db.clear()}*values(t){for(const[s,i]of this._db)s.startsWith(t.id)&&(yield i.entry)}_getHitRate(){return this._hit/(this._hit+this._miss)}_notifyRemove(t,s,i,e){const h=this._users.get(t.split(n)[0])?.removeFunc,r=h?.(s,e,i);return"number"==typeof r?r:null}_checkSize(){this._sizeLimits.forEach((t,s)=>this._checkSizeLimits(t,s)),this._checkSizeLimits(this.maxSize)}setMaxSize(t,s){null==s||s<=0?this._sizeLimits.delete(t):this._sizeLimits.set(t,s)}_checkSizeLimits(t,s){const i=s??this;if(i.size<=t)return;const e=s?.id;let h=!0;for(;h;){h=!1;for(const[r,o]of this._db)if(0===o.lifetime&&(!e||r.startsWith(e))){const e=s??this._users.get(r.split(n)[0]);if(this._purgeItem(r,o,e),i.size<=.9*t)return;h||=this._db.has(r)}}for(const[r,o]of this._db)if(!e||r.startsWith(e)){const e=s??this._users.get(r.split(n)[0]);if(this._purgeItem(r,o,e),i.size<=.9*t)return}}_purgeItem(t,s,i){if(this._db.delete(t),s.lives<=1){this._size-=s.size,i&&(i.size-=s.size);const e=this._notifyRemove(t,s.entry,s.size,1);null!=e&&e>0&&(this._size+=e,i&&(i.size+=e),s.lives=s.lifetime,s.size=e,this._db.set(t,s))}else--s.lives,this._db.set(t,s)}}const r=new h(0);let o=0;class _{constructor(t,s,i){this.entry=t,this.size=s,this.lifetime=i,this.lives=i}}const n=":";export{e as MemCache,h as MemCacheStorage,t as MinPriority,s as NoPriority};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import e from"./Logger.js";import{NoPriority as c}from"./MemCache.js";const t=()=>e.getLogger("esri/core/MemCachePool");class h{constructor(e,c){this._cache=e(c,(e,c,h)=>{switch(c){case 0:return e.forEach(e=>e.dispose()),0;case 1:{const c=e.shift();return c?(h-=Math.round(c.cachedMemory),c.dispose()):h>0&&(t().warn("Encountered empty MemCachePool with non-zero memory."),h=0),h}}})}hitrate(){return this._cache.hitRate}destroy(){this._cache.destroy()}clear(){this._cache.clear()}getSize(e){return this._cache.getSize(e)}pop(e){const c=this._cache.peek(e);if(!c)return;const t=c.pop();return c.length>0?t&&(c.cachedMemory=this._cache.getSize(e)-Math.round(t.cachedMemory),this._cache.updateSize(e,c)):this._cache.pop(e),t}put(e,t,h=c){const o=this._cache.peek(e);if(!o){const c=new r(t);return void this._cache.put(e,c,h)}o.push(t),o.cachedMemory=this._cache.getSize(e)+Math.round(t.cachedMemory),this._cache.updateSize(e,o)}}class r extends Array{constructor(e){super(),this.item=e,this.cachedMemory=e.cachedMemory,this.push(e)}}export{h as MemCachePool};
5
+ import e from"./Logger.js";import{NoPriority as t}from"./MemCache.js";const s=()=>e.getLogger("esri/core/MemCachePool");class r{constructor(e,t){this._cache=e(t,(e,t,r)=>{switch(t){case 0:return e.forEach(e=>e.dispose()),0;case 1:{const t=e.shift();return t?(r-=Math.round(t.usedMemory),t.dispose()):r>0&&(s().warn("Encountered empty MemCachePool with non-zero memory."),r=0),r}}})}hitrate(){return this._cache.hitRate}destroy(){this._cache.destroy()}clear(){this._cache.clear()}getSize(e){return this._cache.getSize(e)}pop(e){const t=this._cache.peek(e);if(!t)return;const s=t.pop();return t.length>0?s&&(t.usedMemory=this._cache.getSize(e)-Math.round(s.usedMemory),this._cache.updateSize(e)):this._cache.pop(e),s}put(e,s,r=t){const o=this._cache.peek(e);if(!o){const t=new c(s);return void this._cache.put(e,t,r)}o.push(s),o.usedMemory=this._cache.getSize(e)+Math.round(s.usedMemory),this._cache.updateSize(e)}}class c extends Array{constructor(e){super(),this.item=e,this.usedMemory=e.usedMemory,this.push(e)}}export{r as MemCachePool};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../core/Logger.js";import{fromArray as t,fromValues as n,create as r}from"../../core/libs/gl-matrix-2/factories/vec3f64.js";import{n as a,b as s}from"../../chunks/vec32.js";import{interpolateM as o,getHeightUnitCorrectionFactor as i,equivalent as l}from"./coordUtils.js";import c from"../../geometry/Point.js";import f from"../../geometry/Polyline.js";import{getLength as h}from"../../geometry/support/coordsUtils.js";const p=()=>e.getLogger("esri.editing.geometry.lineUtils");function u(e){const t=[];for(let n=0;n<e.length;n++){const r=e[n],a=t.at(-1);null!=a&&l(r,a)||t.push(r)}return t.length===e.length?e:u(t)}function m(e,t,n){let r=t[0]-e[0],a=t[1]-e[1];const s=Math.hypot(r,a);return r/=s,a/=s,r*=n,a*=n,[e[0]+r,e[1]+a]}function g(e,t,o,i){const l=n(t[0]-e[0],t[1]-e[1],t[2]*i-e[2]*i);return a(l,l),s(r(),e,l,o)}function y(e,t,n,r){const a=t>n,s=a?n:t,o=a?t:n,l=new f({spatialReference:e.spatialReference,hasZ:r.hasZ(),hasM:r.hasM()});if(s===o){const t=R(e,s);return t?(l.addPath([r.pointToArray(t),r.pointToArray(t)]),l):(p().warn("editing:empty-line-section","Returning an empty line section."),l)}const c=r.hasZ()?i(e.spatialReference):1;let h=null,m=null,y=0;for(let i=0;i<e.paths.length;i++){const t=e.paths[i];null!==h&&h.push([r.arrayToVector(t[0])]);for(let e=0;e<t.length-1;e++){let n=!1;const a=r.arrayToVector(t[e]),i=r.arrayToVector(t[e+1]),l=r.hasZ()?M(a,i,c):r.distance(a,i),f=y+l;if(null===h)if(f>s){h=[[r.hasZ()?g(a,i,s-y,c):r.lerp(a,i,(s-y)/l,r.createVector())]]}else f===s&&(h=[[i]],n=!0);if(f>o?m=r.hasZ()?g(a,i,o-y,c):r.lerp(a,i,(o-y)/l,r.createVector()):f===o?m=i:null===h||n||h.at(-1)?.push(i),m)break;y+=l}if(m)break}if(!h||0===h.length)return p().warn("editing:empty-line-section","Returning an empty line section."),l;m?h.at(-1)?.push(m):p().warn("editing:line-section-end-measure-not-reached","The end measure was greater than the line's total length. Returning the section up to the end of the line.");for(const i of h)l.addPath(u(i));return a?w(l):l}function R(e,t){let n=0,r=null;const a=e.hasM,s=e.hasZ?3:2;for(const i of e.paths){if(0===t){r=new c({x:i[0][0],y:i[0][1],...a?{m:i[0][s]}:{},spatialReference:e.spatialReference,hasM:a});break}for(let l=0;l<i.length-1;l++){const f=h(i[l],i[l+1]),p=n+f;if(p===t){r=new c({x:i[l+1][0],y:i[l+1][1],...a?{m:i[l+1][s]}:{},spatialReference:e.spatialReference,hasM:a});break}if(p>t){const h=m(i[l],i[l+1],t-n);r=new c({x:h[0],y:h[1],...a?{m:o(i[l][s],i[l+1][s],f,t-n)??void 0}:{},spatialReference:e.spatialReference,hasM:a});break}n+=f}if(null!==r)break}return r}function d(e,n,r){let a=0;const s=e.hasM;for(const i of e.paths){if(0===n)return new c({x:i[0][0],y:i[0][1],z:i[0][2],...s?{m:i[0][3]}:{},hasZ:!0,hasM:s,spatialReference:e.spatialReference});for(let l=0;l<i.length-1;l++){const f=M(i[l],i[l+1],r),h=a+f;if(h===n)return new c({x:i[l+1][0],y:i[l+1][1],z:i[l+1][2],...s?{m:i[l+1][3]}:{},hasZ:!0,hasM:s,spatialReference:e.spatialReference});if(h>n){const h=g(t(i[l]),t(i[l+1]),n-a,r);return new c({x:h[0],y:h[1],z:h[2],...s?{m:o(i[l][3],i[l+1][3],f,n-a)??void 0}:{},hasZ:!0,hasM:s,spatialReference:e.spatialReference})}a+=f}}return null}function w(e){const t=e.paths.map(e=>e.slice().reverse());return t.reverse(),new f({paths:t,spatialReference:e.spatialReference})}function M(e,t,n){return Math.hypot(e[0]-t[0],e[1]-t[1],void 0!==e[2]&&void 0!==t[2]?e[2]*n-t[2]*n:0)}export{m as distanceAlongLineSegment,g as distanceAlongLineSegmentWithZ,y as lineSection,R as pointAlongLine,d as pointAlongLineWithZ,w as reverseLine,M as segmentLength3d};
5
+ import{fromArray as e,fromValues as t,create as r}from"../../core/libs/gl-matrix-2/factories/vec3f64.js";import{n,b as o}from"../../chunks/vec32.js";import{interpolateM as s}from"./coordUtils.js";import a from"../../geometry/Point.js";import{getLength as i}from"../../geometry/support/coordsUtils.js";import{isCoordinate as f,getEndpoint as c}from"../../geometry/support/curves/curveUtils.js";import{splitCurveAtPoint as l}from"../../geometry/support/curves/splitCurveAtPoint.js";function p(e,t,r){let n=t[0]-e[0],o=t[1]-e[1];const s=Math.hypot(n,o);return n/=s,o/=s,n*=r,o*=r,[e[0]+n,e[1]+o]}function u(e,s,a,i){const f=t(s[0]-e[0],s[1]-e[1],s[2]*i-e[2]*i);return n(f,f),o(r(),e,f,a)}function m(e,t){let r=0,n=null;const o=e.hasM,f=e.hasZ?3:2;for(const c of e.paths){if(0===t){n=new a({x:c[0][0],y:c[0][1],...o?{m:c[0][f]}:{},spatialReference:e.spatialReference,hasM:o});break}for(let l=0;l<c.length-1;l++){const u=i(c[l],c[l+1]),m=r+u;if(m===t){n=new a({x:c[l+1][0],y:c[l+1][1],...o?{m:c[l+1][f]}:{},spatialReference:e.spatialReference,hasM:o});break}if(m>t){const i=p(c[l],c[l+1],t-r);n=new a({x:i[0],y:i[1],...o?{m:s(c[l][f],c[l+1][f],u,t-r)??void 0}:{},spatialReference:e.spatialReference,hasM:o});break}r+=u}if(null!==n)break}return n}function h(t,r,n){let o=0;const i=t.hasM;for(const f of t.paths){if(0===r)return new a({x:f[0][0],y:f[0][1],z:f[0][2],...i?{m:f[0][3]}:{},hasZ:!0,hasM:i,spatialReference:t.spatialReference});for(let c=0;c<f.length-1;c++){const l=y(f[c],f[c+1],n),p=o+l;if(p===r)return new a({x:f[c+1][0],y:f[c+1][1],z:f[c+1][2],...i?{m:f[c+1][3]}:{},hasZ:!0,hasM:i,spatialReference:t.spatialReference});if(p>r){const p=u(e(f[c]),e(f[c+1]),r-o,n);return new a({x:p[0],y:p[1],z:p[2],...i?{m:s(f[c][3],f[c+1][3],l,r-o)??void 0}:{},hasZ:!0,hasM:i,spatialReference:t.spatialReference})}o+=l}}return null}function y(e,t,r){return Math.hypot(e[0]-t[0],e[1]-t[1],void 0!==e[2]&&void 0!==t[2]?e[2]*r-t[2]*r:0)}function R(e,t,r,n=.001){if(f(t)){return[[e,r],[r,t]]}const[o,s]=l(e,t,r,n);return[[e,o],[c(o),s]]}export{p as distanceAlongLineSegment,u as distanceAlongLineSegmentWithZ,m as pointAlongLine,h as pointAlongLineWithZ,y as segmentLength3d,R as splitSegmentAtPoint};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{mars as n,moon as e,earth as r}from"./support/Ellipsoid.js";import{equals as t,isValid as i,isWKIDFromMars as c,isWKIDFromMoon as o}from"./support/spatialReferenceUtils.js";function S(n){return{wkt:`GEOCCS["Spherical geocentric",\n DATUM["Not specified",\n SPHEROID["Sphere",${n.radius},0]],\n PRIMEM["Greenwich",0.0,\n AUTHORITY["EPSG","8901"]],\n UNIT["m",1.0],\n AXIS["Geocentric X",OTHER],\n AXIS["Geocentric Y",EAST],\n AXIS["Geocentric Z",NORTH]\n ]`}}const T=S(r),G=S(n),p=S(e),u={wkt:`GEOCCS["WGS 84",\n DATUM["WGS_1984",\n SPHEROID["WGS 84",${r.radius},298.257223563,\n AUTHORITY["EPSG","7030"]],\n AUTHORITY["EPSG","6326"]],\n PRIMEM["Greenwich",0,\n AUTHORITY["EPSG","8901"]],\n UNIT["m",1.0,\n AUTHORITY["EPSG","9001"]],\n AXIS["Geocentric X",OTHER],\n AXIS["Geocentric Y",OTHER],\n AXIS["Geocentric Z",NORTH],\n AUTHORITY["EPSG","4978"]\n]`},I=G.wkt.toUpperCase(),E=p.wkt.toUpperCase();function s(t){if(null!=t&&i(t)){const r=t.wkid,i=t.wkt2??t.wkt;if(c(r))return n;const S=i?.toUpperCase();if(i&&S===I)return n;if(o(r)||S&&S===E)return e}return r}function R(t){return c(t)?n:o(t)?e:r}function A(n){return t(n,T)}function O(n){return A(n)||t(n,G)||t(n,p)}export{T as SphericalECEFSpatialReferenceLike,G as SphericalPCPFMarsLike,p as SphericalPCPFMoonLike,u as WGS84ECEFSpatialReferenceLike,s as getReferenceEllipsoid,R as getReferenceEllipsoidFromWKID,A as isSphericalECEF,O as isSphericalPCPF};
5
+ import{mars as n,moon as t,earth as e}from"./support/Ellipsoid.js";import{equals as r,isValid as i,isWKIDFromMars as c,isWKIDFromMoon as o}from"./support/spatialReferenceUtils.js";function S(n){return{wkt:`GEOCCS["Spherical geocentric",\n DATUM["Not specified",\n SPHEROID["Sphere",${n.radius},0]],\n PRIMEM["Greenwich",0.0,\n AUTHORITY["EPSG","8901"]],\n UNIT["m",1.0],\n AXIS["Geocentric X",OTHER],\n AXIS["Geocentric Y",EAST],\n AXIS["Geocentric Z",NORTH]\n ]`}}const T=S(e),G=S(n),I=S(t),p={wkt:`GEOCCS["WGS 84",\n DATUM["WGS_1984",\n SPHEROID["WGS 84",${e.radius},298.257223563,\n AUTHORITY["EPSG","7030"]],\n AUTHORITY["EPSG","6326"]],\n PRIMEM["Greenwich",0,\n AUTHORITY["EPSG","8901"]],\n UNIT["m",1.0,\n AUTHORITY["EPSG","9001"]],\n AXIS["Geocentric X",OTHER],\n AXIS["Geocentric Y",OTHER],\n AXIS["Geocentric Z",NORTH],\n AUTHORITY["EPSG","4978"]\n]`},s=G.wkt.toUpperCase(),u=I.wkt.toUpperCase();function E(r){if(null!=r&&i(r)){const e=r.wkid,i=r.wkt2??r.wkt;if(c(e))return n;const S=i?.toUpperCase();if(i&&S===s)return n;if(o(e)||S&&S===u)return t}return e}const R=Math.cos(Math.PI/16/16);function A(r){return c(r)?n:o(r)?t:e}function O(n){return r(n,T)}function U(n){return O(n)||r(n,G)||r(n,I)}export{T as SphericalECEFSpatialReferenceLike,G as SphericalPCPFMarsLike,I as SphericalPCPFMoonLike,p as WGS84ECEFSpatialReferenceLike,E as getReferenceEllipsoid,A as getReferenceEllipsoidFromWKID,O as isSphericalECEF,U as isSphericalPCPF,R as radiusModifier};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{floatEqualRelative as t,floatEqualAbsolute as n}from"../../../core/mathUtils.js";import{expandPointInPlace as o,containsXY as r,expandXInPlace as s,expandYInPlace as c}from"../aaBoundingRect.js";import{interpolateSegment as u,findClosestAndFurthestCurveParametersToPoint as e,distance2 as f}from"./mathUtils.js";const i=[0,0];function a(t){const n=1-t,o=n*n,r=t*t;return[o*n,3*t*o,3*r*n,r*t]}function h(t,n,o,r,s){const[c,u,e,f]=a(s);return[t[0]*c+n[0]*u+o[0]*e+r[0]*f,t[1]*c+n[1]*u+o[1]*e+r[1]*f]}function m(t,n,o,r,s){const[c,u,e,f]=a(s);return t*c+n*u+o*e+r*f}function p(t,n,o){const r=t,[s,c,u]=n.b;return h(r,c,u,s,o)}function M(t,n,o){const r=t,[s,c,e]=n.b,f=u([0,0],r,c,o),a=u(i,c,e,o),h=u([0,0],e,s,o),m=u([0,0],f,a,o),p=u([0,0],a,h,o);return[{b:[u([],m,p,o),f,m]},{b:[[...s],p,h]}]}function b(o,r,s){const c=o,[u,f,i]=r.b,a=e(s,[.1,.5,.9],t=>{const n=1-t,[o,r]=h(c,f,i,u,t);return[o,r,3*n*n*(f[0]-c[0])+6*n*t*(i[0]-f[0])+3*t*t*(u[0]-i[0]),3*n*n*(f[1]-c[1])+6*n*t*(i[1]-f[1])+3*t*t*(u[1]-i[1]),6*n*(i[0]-2*f[0]+c[0])+6*t*(u[0]-2*i[0]+f[0]),6*n*(i[1]-2*f[1]+c[1])+6*t*(u[1]-2*i[1]+f[1])]}).map(t=>Math.min(1,Math.max(0,t)));a.push(0,1);let m=1/0;const p=a.map(t=>{const n=h(c,f,i,u,t),[o,r]=n,e=s[0]-o,a=s[1]-r,p=Math.sqrt(e*e+a*a);return m=Math.min(p,m),{t,curvePoint:n,distance:p}}),M=[];for(const e of p){const{t:o,distance:r}=e;t(r,m)&&!M.some(({t})=>n(t,o))&&M.push(e)}return M}function l(t,n,u){const e=n,[f,i,a]=u.b;if(o(t,e),o(t,f),r(t,i[0],i[1])&&r(t,a[0],a[1]))return t;for(const o of q(e[0],i[0],a[0],f[0]))o>0&&o<1&&s(t,m(e[0],i[0],a[0],f[0],o));for(const o of q(e[1],i[1],a[1],f[1]))o>0&&o<1&&c(t,m(e[1],i[1],a[1],f[1],o));return t}function q(t,n,o,r){const s=3*(3*(n-o)-t+r),c=6*(t-2*n+o),u=3*(n-t);if(0===s)return 0!==c?[-u/c]:[];const e=Math.sqrt(c*c-4*s*u);return[(-c+e)/(2*s),(-c-e)/(2*s)]}function d(t,n,o){const r=16;let s=0,c=[n];for(let u=0;u<r;u++){let n=t;const r=[];for(const t of c)r.push(...M(n,t,.5)),n=t.b[0];c=r,n=t,s=0;let u=0;for(const t of c){const[o,r,c]=t.b,e=Math.sqrt(f(n,o));s+=(e+(Math.sqrt(f(n,r))+Math.sqrt(f(r,c))+Math.sqrt(f(c,o))))/2,u+=e,n=o}if(s-u<o)return s}return s}export{l as bezierCurveExtent,d as bezierCurveLength,b as closestPointsOnBezierCurve,p as interpolateBezierCurve,h as interpolateCubicBezier,m as interpolateCubicBezier1D,M as splitBezierCurve};
5
+ import{floatEqualRelative as t,floatEqualAbsolute as n}from"../../../core/mathUtils.js";import{expandPointInPlace as o,containsXY as r,expandXInPlace as s,expandYInPlace as c}from"../aaBoundingRect.js";import{distance2 as u,interpolateSegment as e,findClosestAndFurthestCurveParametersToPoint as f}from"./mathUtils.js";const i=[0,0];function a(t){const n=1-t,o=n*n,r=t*t;return[o*n,3*t*o,3*r*n,r*t]}function h(t,n,o,r,s){const[c,u,e,f]=a(s);return[t[0]*c+n[0]*u+o[0]*e+r[0]*f,t[1]*c+n[1]*u+o[1]*e+r[1]*f]}function m(t,n,o,r,s){const[c,u,e,f]=a(s);return t*c+n*u+o*e+r*f}function p(t,n,o){const r=t,[s,c,u]=n.b;return h(r,c,u,s,o)}function M(t,n,o){const r=t,[s,c,u]=n.b,f=e([0,0],r,c,o),a=e(i,c,u,o),h=e([0,0],u,s,o),m=e([0,0],f,a,o),p=e([0,0],a,h,o);return[{b:[e([],m,p,o),f,m]},{b:[[...s],p,h]}]}function b(o,r,s){const c=o,[u,e,i]=r.b,a=f(s,[.1,.5,.9],t=>{const n=1-t,[o,r]=h(c,e,i,u,t);return[o,r,3*n*n*(e[0]-c[0])+6*n*t*(i[0]-e[0])+3*t*t*(u[0]-i[0]),3*n*n*(e[1]-c[1])+6*n*t*(i[1]-e[1])+3*t*t*(u[1]-i[1]),6*n*(i[0]-2*e[0]+c[0])+6*t*(u[0]-2*i[0]+e[0]),6*n*(i[1]-2*e[1]+c[1])+6*t*(u[1]-2*i[1]+e[1])]}).map(t=>Math.min(1,Math.max(0,t)));a.push(0,1);let m=1/0;const p=a.map(t=>{const n=h(c,e,i,u,t),[o,r]=n,f=s[0]-o,a=s[1]-r,p=Math.sqrt(f*f+a*a);return m=Math.min(p,m),{t,curvePoint:n,distance:p}}),M=[];for(const f of p){const{t:o,distance:r}=f;t(r,m)&&!M.some(({t})=>n(t,o))&&M.push(f)}return M}function l(t,n,u){const e=n,[f,i,a]=u.b;if(o(t,e),o(t,f),r(t,i[0],i[1])&&r(t,a[0],a[1]))return t;for(const o of q(e[0],i[0],a[0],f[0]))o>0&&o<1&&s(t,m(e[0],i[0],a[0],f[0],o));for(const o of q(e[1],i[1],a[1],f[1]))o>0&&o<1&&c(t,m(e[1],i[1],a[1],f[1],o));return t}function q(t,n,o,r){const s=3*(3*(n-o)-t+r),c=6*(t-2*n+o),u=3*(n-t);if(0===s)return 0!==c?[-u/c]:[];const e=Math.sqrt(c*c-4*s*u);return[(-c+e)/(2*s),(-c-e)/(2*s)]}function d(t,n,o){const r=16;let s=0,c=[n];for(let e=0;e<r;e++){let n=t;const r=[];for(const t of c)r.push(...M(n,t,.5)),n=t.b[0];c=r,n=t,s=0;let e=0;for(const t of c){const[o,r,c]=t.b,f=Math.sqrt(u(n,o));s+=(f+(Math.sqrt(u(n,r))+Math.sqrt(u(r,c))+Math.sqrt(u(c,o))))/2,e+=f,n=o}if(s-e<o)return s}return s}export{l as bezierCurveExtent,d as bezierCurveLength,b as closestPointsOnBezierCurve,p as interpolateBezierCurve,h as interpolateCubicBezier,m as interpolateCubicBezier1D,M as splitBezierCurve};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{expandPointInPlace as t}from"../aaBoundingRect.js";import{angularRange as n,angularRangeWrap as a,angularRangeClamp as r,distance2 as s}from"./mathUtils.js";class c{constructor(t,n,a,r,s,c){this.cx=t,this.cy=n,this.radius=a,this.thetaStart=r,this.thetaEnd=s,this.isInvalid=c}}function i(t,n){const{cx:a,cy:r,radius:s}=t;return[a+s*Math.cos(n),r+s*Math.sin(n)]}function o(t,n){const{thetaStart:a,thetaEnd:r}=t;return i(t,a*(1-n)+r*n)}function h(t,a){const{cx:c,cy:o,thetaStart:h,thetaEnd:e}=t,[u,d]=a,f=r(n(h,e),Math.atan2(d-o,u-c)),m=i(t,f);return{t:(f-h)/(e-h),curvePoint:m,distance:Math.sqrt(s(a,m))}}function e(r,s){const{cx:c,cy:o,radius:h,thetaStart:e,thetaEnd:u}=s;t(r,i(s,e)),t(r,i(s,u));const d=n(e,u),f=Math.PI/2;let m=0;for(const n of[[c+h,o],[c,o+h],[c-h,o],[c,o-h]])m=a(d,m),m>d.min&&m<d.max&&t(r,n),m+=f;return r}function u(t){const{radius:n,thetaStart:a,thetaEnd:r}=t;return n*Math.abs(r-a)}export{c as DerivedCircle,e as circularCurveExtent,u as circularCurveLength,h as closestPointOnCircle,o as interpolateCircle};
5
+ import{expandPointInPlace as t}from"../aaBoundingRect.js";import{angularRange as n,angularRangeClamp as a,distance2 as r,angularRangeWrap as s}from"./mathUtils.js";class c{constructor(t,n,a,r,s,c){this.cx=t,this.cy=n,this.radius=a,this.thetaStart=r,this.thetaEnd=s,this.isInvalid=c}}function i(t,n){const{cx:a,cy:r,radius:s}=t;return[a+s*Math.cos(n),r+s*Math.sin(n)]}function o(t,n){const{thetaStart:a,thetaEnd:r}=t;return i(t,a*(1-n)+r*n)}function h(t,s){const{cx:c,cy:o,thetaStart:h,thetaEnd:e}=t,[u,d]=s,f=a(n(h,e),Math.atan2(d-o,u-c)),m=i(t,f);return{t:(f-h)/(e-h),curvePoint:m,distance:Math.sqrt(r(s,m))}}function e(a,r){const{cx:c,cy:o,radius:h,thetaStart:e,thetaEnd:u}=r;t(a,i(r,e)),t(a,i(r,u));const d=n(e,u),f=Math.PI/2;let m=0;for(const n of[[c+h,o],[c,o+h],[c-h,o],[c,o-h]])m=s(d,m),m>d.min&&m<d.max&&t(a,n),m+=f;return a}function u(t){const{radius:n,thetaStart:a,thetaEnd:r}=t;return n*Math.abs(r-a)}export{c as DerivedCircle,e as circularCurveExtent,u as circularCurveLength,h as closestPointOnCircle,o as interpolateCircle};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{bezierCurveLength as r}from"./bezierCurveUtils.js";import{circularCurveLength as i}from"./circleUtils.js";import{deriveCircleFromCircularArc as t}from"./circularArcUtils.js";import{isCoordinate as s,isBezierCurve as o,isCircularArc as l,isEllipticArc4 as m}from"./curveUtils.js";import{deriveCircleFromEllipticArc4 as c}from"./ellipticArc4Utils.js";import{ellipticArcLength as e}from"./ellipticArc7Utils.js";import{distance2 as f}from"./mathUtils.js";function n(n,p,u=1){if(s(p))return 0;if(o(p))return r(n,p,u);if(l(p)){const r=t(n,p);return r.isInvalid?Math.sqrt(f(n,p.c[0])):i(r)}if(m(p)){const r=c(n,p);return r.isInvalid?Math.sqrt(f(n,p.a[0])):i(r)}return e(n,p,u)}export{n as curveLength};
5
+ import{bezierCurveLength as r}from"./bezierCurveUtils.js";import{circularCurveLength as i}from"./circleUtils.js";import{deriveCircleFromCircularArc as t}from"./circularArcUtils.js";import{isBezierCurve as s,isCircularArc as o,isEllipticArc4 as l}from"./curveUtils.js";import{deriveCircleFromEllipticArc4 as m}from"./ellipticArc4Utils.js";import{ellipticArcLength as c}from"./ellipticArc7Utils.js";import{distance2 as e}from"./mathUtils.js";function f(f,n,p=1){if(s(n))return r(f,n,p);if(o(n)){const r=t(f,n);return r.isInvalid?Math.sqrt(e(f,n.c[0])):i(r)}if(l(n)){const r=m(f,n);return r.isInvalid?Math.sqrt(e(f,n.a[0])):i(r)}return c(f,n,p)}export{f as curveLength};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{set as t,invert as s,transpose as n,multiply as a}from"../../../core/libs/gl-matrix-2/math/mat3.js";import{create as r}from"../../../core/libs/gl-matrix-2/factories/mat3f64.js";import{transformMat3 as o}from"../../../core/libs/gl-matrix-2/math/vec2.js";import{expandPointInPlace as i}from"../aaBoundingRect.js";import{cloneCurve as c}from"./curveUtils.js";import{angularRangeWrap as h,angularRange as u,angularRangeOriented as e,wrapAtan2 as f,distance2 as m,findClosestAndFurthestCurveParametersToPoint as M,intersectLineLine as l}from"./mathUtils.js";class b{constructor(t,s,n,a,r,o,i,c,h){this.cx=t,this.cy=s,this.a=n,this.b=a,this.cosR=r,this.sinR=o,this.u1=i,this.u2=c,this.isInvalid=h}}function p(t,s){const[n,a,r,o,i,c,h]=s.a,[u,m]=t,[M,l]=n,[p,R]=a,d=c*h,x=Math.cos(i),q=Math.sin(i),[I,g]=e(f(1/d*(m-R)*x-1/d*(u-p)*q,1/c*(m-R)*q+1/c*(u-p)*x),Math.atan2(1/d*(l-R)*x-1/d*(M-p)*q,1/c*(l-R)*q+1/c*(M-p)*x),r,o);return new b(p,R,c,d,x,q,I,g,0===c||0===d)}function R(t,s){const{a:n,b:a,cosR:r,sinR:o,cx:i,cy:c}=t,h=Math.cos(s),u=Math.sin(s);return[n*h*r-a*u*o+i,n*h*o+a*u*r+c]}function d(t,s){const{u1:n,u2:a}=t;return R(t,n*(1-s)+a*s)}function x(t,s,n){if(n<0||n>1)return[];if(0===n||1===n)return[c(s)];const[a,[r,o],i,h,u,e,f]=s.a,{u1:m,u2:M}=t,l=m*(1-n)+M*n;return[{a:[[...d(t,n)],[r,o],Math.abs(l-m)<Math.PI?1:0,h,u,e,f]},{a:[[...a],[r,o],Math.abs(M-l)<Math.PI?1:0,h,u,e,f]}]}function q(t,s){const{a:n,b:a,cosR:r,sinR:o,u1:i,u2:c}=t,e=Math.PI/6,f=M(s,[1*e,2*e,4*e,5*e,7*e,8*e,10*e,11*e],s=>{const i=Math.cos(s),c=Math.sin(s),[h,u]=R(t,s);return[h,u,-n*r*c-a*o*i,-n*o*c+a*r*i,-n*r*i+a*o*c,-n*o*i-a*r*c]}),m=u(i,c),l=new Set(f.map(t=>h(m,t)).filter(t=>t>m.min&&t<m.max));l.add(i),l.add(c);let b,p,d=1/0;for(const h of l){const n=R(t,h),[a,r]=n,o=s[0]-a,u=s[1]-r,e=o*o+u*u;e<d&&(b=(h-i)/(c-i),p=n,d=e)}return{t:b,curvePoint:p,distance:Math.sqrt(d)}}function I(t,s,n){const a=p(s,n),{a:r,b:o,u1:c,u2:e,cosR:f,sinR:m,isInvalid:M}=a,l=n.a[0];if(i(t,s),i(t,l),M)return t;const b=Math.atan2(-o*m,r*f),d=b+Math.PI,x=Math.atan2(o*f,r*m),q=x+Math.PI,I=u(c,e);for(const u of[b,d,x,q].map(t=>h(I,t)))u>I.min&&u<I.max&&i(t,R(a,u));return t}function g(t,s,n){const[a,r,o,i,c,h,u]=s.a,e=p(t,s),{u1:f,u2:M,isInvalid:b}=e,x=M-f;if(b)return Math.sqrt(m(t,a));const q=14,I=[0,0];let g=0,j=[d(e,0),d(e,.25),d(e,.5),d(e,.75),d(e,1)];for(let p=0;p<q;p++){const t=j.length-1,s=x/(2*t),a=[];for(let n=0;n<t;n++)a.push(j[n]),a.push(R(e,f+(2*n+1)*s));a.push(j[j.length-1]),j=a,g=0;let o=0;for(let n=1;n<j.length;n++){const t=j[n-1],s=j[n];if(g+=Math.sqrt(m(t,s)),n>1){const a=j[n-2],i=l(I,a,t,r,s);o+=i?Math.sqrt(m(t,i)):Math.abs(s[0]-t[0])+Math.abs(s[1]-t[1])}else o+=g}if(o-g<n)return g}return g}const j=r(),v=r(),P=r(),y=r();function w(r,i,c){const[h,u,e,M,l,b,R]=i.a,d=p(r,i),{cosR:x,sinR:q,a:I,b:g,cx:w,cy:U}=d,B=o([0,0],h,c),S=o([0,0],u,c),k=c[0]*c[4]<0?1-M:M;{const s=I*I*q*q+g*g*x*x,n=2*(g*g-I*I)*q*x,a=I*I*x*x+g*g*q*q,r=-2*s*w-n*U,o=-n*w-2*a*U;t(j,s,n/2,r/2,n/2,a,o/2,r/2,o/2,s*w*w+n*w*U+a*U*U-I*I*g*g)}if(s(v,c),null==v){const t=o([0,0],r,c);return{a:[B,S,e,M,f(B[1],B[0]),Math.sqrt(m(B,t))/2,0]}}n(P,v),a(y,a(y,P,j),v);{const t=y[0],s=2*y[1],n=y[4],a=2*y[2],r=2*y[5],o=s*s-4*t*n,i=2*(t*r*r+n*a*a-s*a*r+o*y[8]),c=Math.sqrt((t-n)**2+s*s),h=-Math.sqrt(i*(t+n+c))/o,u=-Math.sqrt(i*(t+n-c))/o;return{a:[B,S,e,k,.5*f(-s,n-t),h,u/h]}}}export{b as DerivedEllipse,q as closestPointOnEllipse,p as deriveEllipse,I as ellipticArcExtent,g as ellipticArcLength,d as interpolateEllipse,x as splitEllipticArc7,w as transformEllipticArc};
5
+ import{set as t,invert as s,transpose as n,multiply as a}from"../../../core/libs/gl-matrix-2/math/mat3.js";import{create as r}from"../../../core/libs/gl-matrix-2/factories/mat3f64.js";import{transformMat3 as o}from"../../../core/libs/gl-matrix-2/math/vec2.js";import{expandPointInPlace as i}from"../aaBoundingRect.js";import{cloneCurve as c}from"./curveUtils.js";import{angularRangeWrap as h,angularRange as u,angularRangeOriented as e,wrapAtan2 as f,distance2 as m,intersectLineLine as M,findClosestAndFurthestCurveParametersToPoint as l}from"./mathUtils.js";class b{constructor(t,s,n,a,r,o,i,c,h){this.cx=t,this.cy=s,this.a=n,this.b=a,this.cosR=r,this.sinR=o,this.u1=i,this.u2=c,this.isInvalid=h}}function p(t,s){const[n,a,r,o,i,c,h]=s.a,[u,m]=t,[M,l]=n,[p,R]=a,d=c*h,x=Math.cos(i),q=Math.sin(i),[I,g]=e(f(1/d*(m-R)*x-1/d*(u-p)*q,1/c*(m-R)*q+1/c*(u-p)*x),Math.atan2(1/d*(l-R)*x-1/d*(M-p)*q,1/c*(l-R)*q+1/c*(M-p)*x),r,o);return new b(p,R,c,d,x,q,I,g,0===c||0===d)}function R(t,s){const{a:n,b:a,cosR:r,sinR:o,cx:i,cy:c}=t,h=Math.cos(s),u=Math.sin(s);return[n*h*r-a*u*o+i,n*h*o+a*u*r+c]}function d(t,s){const{u1:n,u2:a}=t;return R(t,n*(1-s)+a*s)}function x(t,s,n){if(n<0||n>1)return[];if(0===n||1===n)return[c(s)];const[a,[r,o],i,h,u,e,f]=s.a,{u1:m,u2:M}=t,l=m*(1-n)+M*n;return[{a:[[...d(t,n)],[r,o],Math.abs(l-m)<Math.PI?1:0,h,u,e,f]},{a:[[...a],[r,o],Math.abs(M-l)<Math.PI?1:0,h,u,e,f]}]}function q(t,s){const{a:n,b:a,cosR:r,sinR:o,u1:i,u2:c}=t,e=Math.PI/6,f=l(s,[1*e,2*e,4*e,5*e,7*e,8*e,10*e,11*e],s=>{const i=Math.cos(s),c=Math.sin(s),[h,u]=R(t,s);return[h,u,-n*r*c-a*o*i,-n*o*c+a*r*i,-n*r*i+a*o*c,-n*o*i-a*r*c]}),m=u(i,c),M=new Set(f.map(t=>h(m,t)).filter(t=>t>m.min&&t<m.max));M.add(i),M.add(c);let b,p,d=1/0;for(const h of M){const n=R(t,h),[a,r]=n,o=s[0]-a,u=s[1]-r,e=o*o+u*u;e<d&&(b=(h-i)/(c-i),p=n,d=e)}return{t:b,curvePoint:p,distance:Math.sqrt(d)}}function I(t,s,n){const a=p(s,n),{a:r,b:o,u1:c,u2:e,cosR:f,sinR:m,isInvalid:M}=a,l=n.a[0];if(i(t,s),i(t,l),M)return t;const b=Math.atan2(-o*m,r*f),d=b+Math.PI,x=Math.atan2(o*f,r*m),q=x+Math.PI,I=u(c,e);for(const u of[b,d,x,q].map(t=>h(I,t)))u>I.min&&u<I.max&&i(t,R(a,u));return t}function g(t,s,n){const[a,r,o,i,c,h,u]=s.a,e=p(t,s),{u1:f,u2:l,isInvalid:b}=e,x=l-f;if(b)return Math.sqrt(m(t,a));const q=14,I=[0,0];let g=0,j=[d(e,0),d(e,.25),d(e,.5),d(e,.75),d(e,1)];for(let p=0;p<q;p++){const t=j.length-1,s=x/(2*t),a=[];for(let n=0;n<t;n++)a.push(j[n]),a.push(R(e,f+(2*n+1)*s));a.push(j[j.length-1]),j=a,g=0;let o=0;for(let n=1;n<j.length;n++){const t=j[n-1],s=j[n];if(g+=Math.sqrt(m(t,s)),n>1){const a=j[n-2],i=M(I,a,t,r,s);o+=i?Math.sqrt(m(t,i)):Math.abs(s[0]-t[0])+Math.abs(s[1]-t[1])}else o+=g}if(o-g<n)return g}return g}const j=r(),v=r(),P=r(),y=r();function w(r,i,c){const[h,u,e,M,l,b,R]=i.a,d=p(r,i),{cosR:x,sinR:q,a:I,b:g,cx:w,cy:U}=d,B=o([0,0],h,c),S=o([0,0],u,c),k=c[0]*c[4]<0?1-M:M;{const s=I*I*q*q+g*g*x*x,n=2*(g*g-I*I)*q*x,a=I*I*x*x+g*g*q*q,r=-2*s*w-n*U,o=-n*w-2*a*U;t(j,s,n/2,r/2,n/2,a,o/2,r/2,o/2,s*w*w+n*w*U+a*U*U-I*I*g*g)}if(s(v,c),null==v){const t=o([0,0],r,c);return{a:[B,S,e,M,f(B[1],B[0]),Math.sqrt(m(B,t))/2,0]}}n(P,v),a(y,a(y,P,j),v);{const t=y[0],s=2*y[1],n=y[4],a=2*y[2],r=2*y[5],o=s*s-4*t*n,i=2*(t*r*r+n*a*a-s*a*r+o*y[8]),c=Math.sqrt((t-n)**2+s*s),h=-Math.sqrt(i*(t+n+c))/o,u=-Math.sqrt(i*(t+n-c))/o;return{a:[B,S,e,k,.5*f(-s,n-t),h,u/h]}}}export{b as DerivedEllipse,q as closestPointOnEllipse,p as deriveEllipse,I as ellipticArcExtent,g as ellipticArcLength,d as interpolateEllipse,x as splitEllipticArc7,w as transformEllipticArc};