@arcgis/core 5.1.0-next.93 → 5.1.0-next.94

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 (162) hide show
  1. package/analysis/Viewshed.js +1 -1
  2. package/arcade/arcadeAsyncRuntime.js +1 -1
  3. package/arcade/arcadeCompiler.js +1 -1
  4. package/arcade/arcadeRuntime.js +1 -1
  5. package/arcade/compilerUtils.js +1 -1
  6. package/arcade/debug.d.ts +10 -1
  7. package/arcade.js +1 -1
  8. package/assets/esri/core/workers/RemoteClient.js +1 -1
  9. package/assets/esri/core/workers/chunks/01af2a0611386df64cb1.js +636 -0
  10. package/assets/esri/core/workers/chunks/031ea31bbdb7f1be791e.js +1 -0
  11. package/assets/esri/core/workers/chunks/{9c09097e390985bbac58.js → 075a1e91a075efe59cd3.js} +1 -1
  12. package/assets/esri/core/workers/chunks/0981fe06796060e50d40.js +1 -0
  13. package/assets/esri/core/workers/chunks/0ab1384282afc8731857.js +1 -0
  14. package/assets/esri/core/workers/chunks/{de3e5d82502ee15b7eae.js → 15a070d4ac2087b79e8b.js} +1 -1
  15. package/assets/esri/core/workers/chunks/198864c107fa2b24518c.js +1 -0
  16. package/assets/esri/core/workers/chunks/{8a370cc1a99ddc7ce70b.js → 1f141a007b1ef9b069c6.js} +1 -1
  17. package/assets/esri/core/workers/chunks/{c7ee05f46b26b17f9414.js → 268f203d2492a03165ac.js} +1 -1
  18. package/assets/esri/core/workers/chunks/{f52443cd203e687551da.js → 2fda38219d778f0447b5.js} +1 -1
  19. package/assets/esri/core/workers/chunks/2ffffc1931b2e27c6617.js +1 -0
  20. package/assets/esri/core/workers/chunks/{394812e19b6915d560b0.js → 3a691f848152e3818a48.js} +1 -1
  21. package/assets/esri/core/workers/chunks/{5eff240a0e41a4f80e61.js → 3a6b8879702fb247328b.js} +1 -1
  22. package/assets/esri/core/workers/chunks/{41cbde4738ae4adf973d.js → 4142d5232c99d8aa943d.js} +5 -5
  23. package/assets/esri/core/workers/chunks/{77c2d8d0ce1c1ab469e9.js → 4378e544687fec4b06fb.js} +1 -1
  24. package/assets/esri/core/workers/chunks/{412745bfacef23e3b702.js → 460e693ad19fa77ffdc2.js} +1 -1
  25. package/assets/esri/core/workers/chunks/{a169d9fe66b5865911d9.js → 503439246250d9e1cbd5.js} +1 -1
  26. package/assets/esri/core/workers/chunks/{1e3fe89970c57a883fe5.js → 53ff47c06ccfc0be885c.js} +1 -1
  27. package/assets/esri/core/workers/chunks/561d45dc9421f80feca5.js +1 -0
  28. package/assets/esri/core/workers/chunks/598271956c46e21e5c09.js +1 -0
  29. package/assets/esri/core/workers/chunks/{d82da31dc702b8fd6a07.js → 59a64d72eed8c40c63cf.js} +1 -1
  30. package/assets/esri/core/workers/chunks/5a8fd2fd8a24f9290b7f.js +1 -0
  31. package/assets/esri/core/workers/chunks/64cf18ba2869171a5a7a.js +1 -0
  32. package/assets/esri/core/workers/chunks/{fade7b878a9498382bb2.js → 700f7aa9cf7b13acaf5d.js} +1 -1
  33. package/assets/esri/core/workers/chunks/{4c97cc922eece3a91b6b.js → 7531bbcb6613c87a344e.js} +1 -1
  34. package/assets/esri/core/workers/chunks/{6f67c9f68101a084b683.js → 765bc49e58e9d0caa496.js} +6 -6
  35. package/assets/esri/core/workers/chunks/8042e001545e2782499c.js +1 -0
  36. package/assets/esri/core/workers/chunks/{f8072a4cf1b25d8b93f9.js → 82215d7a64b8be02eff1.js} +1 -1
  37. package/assets/esri/core/workers/chunks/{d3d9d40556c847bba1a7.js → 87f7a674957f734b1b42.js} +1 -1
  38. package/assets/esri/core/workers/chunks/{172228d1a392ca7a5b21.js → 8875e53097b25655ef67.js} +1 -1
  39. package/assets/esri/core/workers/chunks/8e1140725a72038627c2.js +1 -0
  40. package/assets/esri/core/workers/chunks/8e374ce47256a567ae11.js +1 -0
  41. package/assets/esri/core/workers/chunks/{127cd8fee3717a473fc5.js → 928dac64e6ba401d391a.js} +1 -1
  42. package/assets/esri/core/workers/chunks/{d7e7f3efd1d28617b808.js → 92e7067960549733f8e6.js} +1 -1
  43. package/assets/esri/core/workers/chunks/{0a6df243b18acae471be.js → 992525afdf11b2fb16d4.js} +1 -1
  44. package/assets/esri/core/workers/chunks/{f1673e723b336204ad77.js → 9b23d999db902d25ba58.js} +1 -1
  45. package/assets/esri/core/workers/chunks/{19a0cb2d335d97ad9488.js → 9b869a8bda9384f25464.js} +1 -1
  46. package/assets/esri/core/workers/chunks/a76e14fe5e8b2f7ef9de.js +2 -0
  47. package/assets/esri/core/workers/chunks/{46b16501db6681dc467b.js → af074b5b4e1d6baf5219.js} +1 -1
  48. package/assets/esri/core/workers/chunks/{75c09a2fa4c34b4844c5.js → be0eab592db0e651b023.js} +6 -6
  49. package/assets/esri/core/workers/chunks/{6aed2e42e65ac80f1fab.js → c7b9df9a204f6206364a.js} +1 -1
  50. package/assets/esri/core/workers/chunks/{969f58a2de4ebe63619d.js → c88fd4f69cb2b53b48ec.js} +1 -1
  51. package/assets/esri/core/workers/chunks/{f706bfea34d22539b46a.js → d6f03f628ebfc28fdd23.js} +2 -2
  52. package/assets/esri/core/workers/chunks/{2647c739cda29361a463.js → d87e504082e293640ece.js} +2 -2
  53. package/assets/esri/core/workers/chunks/{54c035cdc171998d0776.js → de99500b0fcedf2c8a5c.js} +1 -1
  54. package/assets/esri/core/workers/chunks/e54ad3683ad992682deb.js +1 -0
  55. package/assets/esri/core/workers/chunks/e7e7c7cbfd8542bd7a46.js +1 -0
  56. package/assets/esri/core/workers/chunks/{aefeb5a17bb481c95da3.js → eeb847bfea558566adf6.js} +1 -1
  57. package/assets/esri/core/workers/chunks/{be47e42c6c8c0820efd8.js → f04b49d80f422708d98c.js} +1 -1
  58. package/assets/esri/core/workers/chunks/{d11de13537b623739e14.js → f14e3693cd644265f909.js} +1 -1
  59. package/assets/esri/core/workers/chunks/f2beb4267b8d4cddfa3e.js +1 -0
  60. package/assets/esri/core/workers/chunks/{2fd4220131bfc3f5e2dd.js → f635a8e3b0bfeda99ed5.js} +1 -1
  61. package/assets/esri/core/workers/chunks/f69c44479ee3fd8c831d.js +1 -0
  62. package/assets/esri/core/workers/chunks/fa3138dd8139008b430d.js +1 -0
  63. package/assets/esri/core/workers/chunks/fa4265db06e2721754a0.js +1 -0
  64. package/assets/esri/core/workers/chunks/{12f41c1c66fb446b6286.js → fb75d4bce1e86eed017a.js} +7 -7
  65. package/chunks/GlowComposition.glsl.js +4 -4
  66. package/config.js +1 -1
  67. package/geometry/support/geometryUtils.js +1 -1
  68. package/kernel.js +1 -1
  69. package/layers/FeatureLayer.d.ts +27 -1
  70. package/layers/FeatureLayer.js +1 -1
  71. package/layers/mixins/PortalLayer.js +1 -1
  72. package/layers/raster/datasets/ImageAuxRaster.js +1 -1
  73. package/layers/raster/datasets/InMemoryRaster.js +1 -1
  74. package/layers/raster/formats/ImageCanvasDecoder.js +1 -1
  75. package/layers/raster/formats/RasterCodec.js +1 -1
  76. package/layers/support/RasterJobHandler.js +1 -1
  77. package/package.json +2 -2
  78. package/portal/schemas/definitions.js +1 -1
  79. package/portal/support/layersLoader.js +1 -1
  80. package/rest/versionManagement/gdbVersion/support/ConflictsParameters.js +1 -1
  81. package/rest/versionManagement/gdbVersion/support/DifferencesParameters.js +1 -1
  82. package/rest/versionManagement/gdbVersion/support/DifferencesResult.d.ts +25 -0
  83. package/rest/versionManagement/gdbVersion/support/InspectConflictsParameters.js +1 -1
  84. package/rest/versionManagement/gdbVersion/support/ReconcileParameters.d.ts +3 -5
  85. package/rest/versionManagement/gdbVersion/support/ReconcileParameters.js +1 -1
  86. package/support/revision.js +1 -1
  87. package/symbols/cim/types.d.ts +27 -0
  88. package/views/2d/engine/webgl/GlyphMosaic.js +1 -1
  89. package/views/2d/engine/webgl/GlyphSDFCreator.js +1 -1
  90. package/views/2d/engine/webgl/definitions.js +1 -1
  91. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
  92. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  93. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  94. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  95. package/views/3d/support/QualityProfile.js +1 -1
  96. package/views/3d/support/QualitySettings.js +1 -1
  97. package/views/3d/webgl-engine/collections/Component/Material/ComponentData.glsl.js +11 -12
  98. package/views/3d/webgl-engine/core/shaderLibrary/output/Emissions.glsl.js +5 -5
  99. package/views/3d/webgl-engine/effects/atmosphere/ChapmanAtmosphere.js +1 -1
  100. package/views/3d/webgl-engine/effects/atmosphere/LocalAtmosphere.js +1 -1
  101. package/views/3d/webgl-engine/effects/atmosphere/MarsAtmosphere.js +1 -1
  102. package/views/3d/webgl-engine/effects/clouds/CloudsComposition.js +1 -1
  103. package/views/3d/webgl-engine/effects/clouds/CloudsRenderer.js +1 -1
  104. package/views/3d/webgl-engine/effects/clouds/NoiseTextureAtlas.js +1 -1
  105. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorNode.js +1 -1
  106. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
  107. package/views/3d/webgl-engine/effects/fog/Fog.js +1 -1
  108. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
  109. package/views/3d/webgl-engine/effects/glow/Glow.js +1 -1
  110. package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
  111. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  112. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
  113. package/views/3d/webgl-engine/effects/highlight/ShadowHighlightBuffer.js +1 -1
  114. package/views/3d/webgl-engine/effects/magnifier/Magnifier.js +1 -1
  115. package/views/3d/webgl-engine/effects/precipitation/Precipitation.js +1 -1
  116. package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
  117. package/views/3d/webgl-engine/effects/ssao/SSAO.js +1 -1
  118. package/views/3d/webgl-engine/effects/stars/Stars.js +1 -1
  119. package/views/3d/webgl-engine/lib/CutFillComputationRenderNode.js +1 -1
  120. package/views/3d/webgl-engine/lib/CutFillVisualizationRenderNode.js +1 -1
  121. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  122. package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
  123. package/views/3d/webgl-engine/shaders/oitResolution.glsl.js +1 -1
  124. package/views/SceneView.d.ts +3 -3
  125. package/views/layers/FeatureLikeLayerView.js +1 -1
  126. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  127. package/widgets/FeatureTable/Grid/Column.d.ts +2 -17
  128. package/widgets/FeatureTable/Grid/Column.js +1 -1
  129. package/widgets/FeatureTable/Grid/Grid.js +1 -1
  130. package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
  131. package/widgets/FeatureTable/Grid/GroupColumn.d.ts +1 -7
  132. package/widgets/FeatureTable/Grid/GroupColumn.js +1 -1
  133. package/widgets/FeatureTable/support/ColumnTemplateBase.d.ts +1 -9
  134. package/widgets/FeatureTable/support/ColumnTemplateBase.js +1 -1
  135. package/widgets/FeatureTable/support/types.d.ts +0 -8
  136. package/widgets/FeatureTable.js +1 -1
  137. package/widgets/Search/support/layerSearchUtils.js +1 -1
  138. package/widgets/Search/support/locatorUtils.js +1 -1
  139. package/assets/esri/core/workers/chunks/00e9e25269d5776f8645.js +0 -1
  140. package/assets/esri/core/workers/chunks/014a5fad55f97b9b5166.js +0 -1
  141. package/assets/esri/core/workers/chunks/06003996a378c45bc605.js +0 -1
  142. package/assets/esri/core/workers/chunks/34f7450769826e8b7069.js +0 -636
  143. package/assets/esri/core/workers/chunks/3d9032217347dadcbe41.js +0 -1
  144. package/assets/esri/core/workers/chunks/4b79ebfb3328f9483147.js +0 -1
  145. package/assets/esri/core/workers/chunks/4dbbf59c79d9e72f20ee.js +0 -1
  146. package/assets/esri/core/workers/chunks/4e206957b28253ddc1a3.js +0 -1
  147. package/assets/esri/core/workers/chunks/53ef72edc3ed80bf558c.js +0 -1
  148. package/assets/esri/core/workers/chunks/6dac8dfcd63fc757ae2d.js +0 -1
  149. package/assets/esri/core/workers/chunks/7ba67f1d7831a5576a5a.js +0 -1
  150. package/assets/esri/core/workers/chunks/8a7a99533d02eb9cb058.js +0 -2
  151. package/assets/esri/core/workers/chunks/a6b75576d598ec161cc4.js +0 -1
  152. package/assets/esri/core/workers/chunks/b4bac22467e96be7a974.js +0 -1
  153. package/assets/esri/core/workers/chunks/dd5b362bded458afa2d6.js +0 -1
  154. package/assets/esri/core/workers/chunks/dde94664110ff231a52d.js +0 -1
  155. package/assets/esri/core/workers/chunks/f1e5626a0cc1631a1efb.js +0 -1
  156. package/assets/esri/core/workers/chunks/f36345ebb9851ab92453.js +0 -1
  157. package/assets/esri/core/workers/chunks/f49c7bb5d134bcb22155.js +0 -1
  158. package/assets/esri/core/workers/chunks/f7531aa69a87814c60d1.js +0 -1
  159. package/assets/esri/themes/base/fonts/cdn.scss +0 -3
  160. /package/assets/esri/core/workers/chunks/{8a7a99533d02eb9cb058.js.LICENSE.txt → a76e14fe5e8b2f7ef9de.js.LICENSE.txt} +0 -0
  161. /package/assets/esri/core/workers/chunks/{f706bfea34d22539b46a.js.LICENSE.txt → d6f03f628ebfc28fdd23.js.LICENSE.txt} +0 -0
  162. /package/assets/esri/core/workers/chunks/{2647c739cda29361a463.js.LICENSE.txt → d87e504082e293640ece.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import e from"../../core/Error.js";import{parse as t}from"../../layers/support/arcgisLayerUrl.js";import{fetchFeatureService as r}from"../../layers/support/fetchService.js";import{LayerLoadContext as a}from"../../layers/support/LayerLoadContext.js";import{applyPreferredHostToPortalItem as o,isPreferredUrlApplicable as n,getPreferredHost as s}from"../../layers/support/layerUtils.js";import l from"../Portal.js";import{createForItemRead as i}from"./jsonContext.js";import{instanceTypeToLayerTypes as p,getSublayersByLayerType as u,getFirstLayerOrTable as c,preprocessFSItemData as y,populateSceneServiceItemData as d,getNumLayersAndTables as f,layerTypeToLayerModuleType as m,createSublayerData as w}from"./loadUtils.js";import{hasTypeKeyword as h}from"./portalItemUtils.js";import{loadStyleRenderer as g}from"../../renderers/support/styleUtils.js";import{requestServiceJSON as I}from"../../request/serviceJSON.js";async function b(e,t){const r=e.instance.portalItem;if(r?.id)return await r.load(t),v(e),e.validateItem&&e.validateItem(r),L(e,t)}function v(t){const r=t.instance.portalItem;if(!r?.type||!t.supportedTypes.includes(r.type))throw new e("portal:invalid-layer-item-type","Invalid layer item type '${type}', expected '${expectedType}'",{type:r?.type,expectedType:t.supportedTypes.join(", ")})}async function L(e,t){const r=e.instance,o=r.portalItem;if(!o)return;let{url:n}=o;const{title:s}=o,l=i(o,"portal-item");if("group"===r.type)return S(r,l,e);n&&"media"!==r.type&&r.read({url:n},l);const p=new a,{data:u,preferredHost:c}=await x(e,p,t);return n=o.url,"isUrlHostModified"in r&&(c?r.applyPreferredHost({preferredHost:c}):r.applyHostFromPortalItem()),u&&r.read(u,l),r.resourceReferences={portalItem:o,paths:l.readResourcePaths??[]},"subtype-group"!==r.type&&r.read({title:s},l),g(r,l)}async function S(t,r,a){const o=t.portalItem;if(!t.sourceIsPortalItem)return;const{title:n,type:s}=o;if("Group Layer"===s){if(!h(o,"Map"))throw new e("portal:invalid-layer-item-typekeyword","'Group Layer' item without 'Map' type keyword is not supported");return T(t,a)}return t.read({title:n},r),j(t,a)}async function T(t,r){const a=t.portalItem,o=await a.fetchData("json");if(!o)return;if(!r.populateGroupLayer)throw new e("portal:missing-populate-group-layer","Missing populate group layer");const n=i(a,"web-map");t.read(o,n),await r.populateGroupLayer(t,o,{context:n}),t.resourceReferences={portalItem:a,paths:n.readResourcePaths??[]}}async function j(t,r){let n;const{portalItem:s}=t;if(!s)return;const l=s.type,i=r.layerModuleTypeMap;if(!i)throw new e("portal:missing-layer-module-type-map","Layer module type map is required to construct sub layers");switch(l){case"Feature Service":case"Feature Collection":n=i.FeatureLayer;break;case"Stream Service":n=i.StreamLayer;break;case"Scene Service":n=i.SceneLayer;break;case"Video Service":n=i.VideoLayer;break;default:throw new e("portal:unsupported-item-type-as-group",`The item type '${l}' is not supported as a 'GroupLayer'`)}const p="Video Service"===l,u=new a;let[m,{data:w}]=await Promise.all([n(),p?{data:null}:x(r,u)]),h=()=>m;if(p)return H(t,h,i);if("Feature Service"===l){const e=c(w)?.customParameters;w=s.url?(await y(w,s.url,u)).data:{},h=await E(w,i)||h;const{provider:r,preferredHost:a}=await U(s.url,{customParameters:e,loadContext:u});return o(s,a),await M(t,h,h,w,i,r)}return"Scene Service"===l&&s.url&&(w=await d(s,w,u)),f(w)>0?await M(t,h,null,w,i):await F(t,h,i)}async function F(e,t,r){const{portalItem:a}=e;if(!a?.url)return;const o=await I(a.url);o&&M(e,t,null,{layers:o.layers?.map(w),tables:o.tables?.map(w)},r)}async function H(e,t,r){const{portalItem:a}=e;if(!a?.url)return;const o=await I(a.url);o&&M(e,t,null,{layers:o.layers?.map(({id:e,name:t})=>({id:e,name:t}))},r)}async function M(e,t,r,a,o,n){let s=a.layers||[];const l=a.tables||[];if("Feature Collection"===e.portalItem?.type?(s.forEach((e,t)=>{e.id=t,"Table"===e?.layerDefinition?.type&&l.push(e)}),s=s.filter(e=>"Table"!==e?.layerDefinition?.type)):(s.reverse(),l.reverse()),s.forEach(r=>{const o=n?.(r);if(o||!n){const n=P(e,t(r),a,r,o);e.add(n)}}),l.length){const t=r?null:await o.FeatureLayer();l.forEach(o=>{const s=n?.(o);if(s||!n){const n=P(e,r?r(o):t,a,o,s);e.tables.add(n)}})}}function P(e,t,r,a,o){const n=e.portalItem,s={portalItem:n.clone(),layerId:a.id};null!=a.url&&(s.url=a.url);const i=new t(s);if("sourceJSON"in i&&(i.sourceJSON=o),"subtype-group"!==i.type&&"catalog"!==i.type&&(i.sublayerTitleMode="service-name"),"Feature Collection"===n.type){const e={origin:"portal-item",portal:n.portal||l.getDefault()};i.read(a,e);const t=r.showLegend;null!=t&&i.read({showLegend:t},e)}return i}async function x(e,t,r){if(!1===e.supportsData)return{data:void 0};const a=e.instance,n=a.portalItem;if(!n)return{data:void 0};let s=null;try{s="video"===a.type?null:await n.fetchData("json",r)}catch(l){}if(C(a)){let e=null;const{count:r,preferredHost:l}=await G(n,s,t);if(o(n,l),(s?.layers||s?.tables)&&r>0){if(null==a.layerId){const e=p(a.type),t=e?.length?u(s,e)[0]:c(s);t&&(a.layerId=t.id)}e=k(s,a),"OrientedImageryLayer"===e?.layerType&&"oriented-imagery"===a.type&&a.supportedSourceTypes.add("Feature Layer"),e&&null!=s.showLegend&&(e.showLegend=s.showLegend)}return r>1&&"sublayerTitleMode"in a&&"service-name"!==a.sublayerTitleMode&&(a.sublayerTitleMode="item-title-and-service-name"),{data:e,preferredHost:l}}return{data:s}}async function G(e,r,a){if(r?.layers&&r?.tables)return{count:f(r)};const o=t(e.url);if(!o)return{count:1};const l=o.url.path,i=await a.fetchServiceMetadata(l,{customParameters:c(r)?.customParameters}).catch(()=>null);return{count:(r?.layers?.length??i?.layers?.length??0)+(r?.tables?.length??i?.tables?.length??0),preferredHost:n(e)?s():null}}function k(e,t){const{layerId:r}=t,a=e.layers?.find(e=>e.id===r)||e.tables?.find(e=>e.id===r);return a&&D(a,t)?a:null}function C(e){return"stream"!==e.type&&"layerId"in e}function D(e,t){const r="layerType"in e&&e.layerType,{type:a}=t;return!("feature"===a&&r&&"ArcGISFeatureLayer"!==e.layerType||"catalog"===a&&!r||"oriented-imagery"===a&&!r||"subtype-group"===a&&!r)}async function U(e,t){const{layersJSON:a,preferredHost:o}=await r(e,t);if(!a)return{provider:null,preferredHost:o};const n=[...a.layers,...a.tables];return{provider:e=>n.find(t=>t.id===e.id),preferredHost:o}}async function E(e,t){const{layers:r,tables:a}=e,o=[...r??[],...a??[]];if(!o.length)return;const n=new Set,s=[];for(const{layerType:p}of o){const e=p??"ArcGISFeatureLayer";if(n.has(e))continue;n.add(e);const r=t[m(e)];s.push(r())}const l=await Promise.all(s),i=new Map;return Array.from(n).forEach((e,t)=>{i.set(e,l[t])}),({layerType:e})=>{const t=e??"ArcGISFeatureLayer";return i.get(t)}}export{b as load};
2
+ import e from"../../core/Error.js";import{parse as t}from"../../layers/support/arcgisLayerUrl.js";import{fetchFeatureService as r}from"../../layers/support/fetchService.js";import{LayerLoadContext as a}from"../../layers/support/LayerLoadContext.js";import{applyPreferredHostToPortalItem as o,isPreferredUrlApplicable as n,getPreferredHost as s}from"../../layers/support/layerUtils.js";import i from"../Portal.js";import{createForItemRead as l}from"./jsonContext.js";import{instanceTypeToLayerTypes as u,getSublayersByLayerType as p,getFirstLayerOrTable as c,preprocessFSItemData as y,populateSceneServiceItemData as d,getNumLayersAndTables as f,layerTypeToLayerModuleType as m,createSublayerData as w}from"./loadUtils.js";import{hasTypeKeyword as h}from"./portalItemUtils.js";import{loadStyleRenderer as g}from"../../renderers/support/styleUtils.js";import{requestServiceJSON as I}from"../../request/serviceJSON.js";async function v(e,t){const r=e.instance.portalItem;if(r?.id)return await r.load(t),L(e),e.validateItem&&e.validateItem(r),S(e,t)}async function b(e,t){const r=e.instance.portalItem;if(!r?.id)return!1;if(!r.loaded)return!1;const a=r.modified;return await r.reload(),t?.signal?.throwIfAborted(),a?.getTime()!==r.modified?.getTime()&&(L(e),e.validateItem&&e.validateItem(r),await S(e,t),!0)}function L(t){const r=t.instance.portalItem;if(!r?.type||!t.supportedTypes.includes(r.type))throw new e("portal:invalid-layer-item-type","Invalid layer item type '${type}', expected '${expectedType}'",{type:r?.type,expectedType:t.supportedTypes.join(", ")})}async function S(e,t){const r=e.instance,o=r.portalItem;if(!o)return;let{url:n}=o;const{title:s}=o,i=l(o,"portal-item");if("group"===r.type)return T(r,i,e);n&&"media"!==r.type&&r.read({url:n},i);const u=new a,{data:p,preferredHost:c}=await G(e,u,t);return n=o.url,"isUrlHostModified"in r&&(c?r.applyPreferredHost({preferredHost:c}):r.applyHostFromPortalItem()),p&&r.read(p,i),r.resourceReferences={portalItem:o,paths:i.readResourcePaths??[]},"subtype-group"!==r.type&&r.read({title:s},i),g(r,i)}async function T(t,r,a){const o=t.portalItem;if(!t.sourceIsPortalItem)return;const{title:n,type:s}=o;if("Group Layer"===s){if(!h(o,"Map"))throw new e("portal:invalid-layer-item-typekeyword","'Group Layer' item without 'Map' type keyword is not supported");return j(t,a)}return t.read({title:n},r),F(t,a)}async function j(t,r){const a=t.portalItem,o=await a.fetchData("json");if(!o)return;if(!r.populateGroupLayer)throw new e("portal:missing-populate-group-layer","Missing populate group layer");const n=l(a,"web-map");t.read(o,n),await r.populateGroupLayer(t,o,{context:n}),t.resourceReferences={portalItem:a,paths:n.readResourcePaths??[]}}async function F(t,r){let n;const{portalItem:s}=t;if(!s)return;const i=s.type,l=r.layerModuleTypeMap;if(!l)throw new e("portal:missing-layer-module-type-map","Layer module type map is required to construct sub layers");switch(i){case"Feature Service":case"Feature Collection":n=l.FeatureLayer;break;case"Stream Service":n=l.StreamLayer;break;case"Scene Service":n=l.SceneLayer;break;case"Video Service":n=l.VideoLayer;break;default:throw new e("portal:unsupported-item-type-as-group",`The item type '${i}' is not supported as a 'GroupLayer'`)}const u="Video Service"===i,p=new a;let[m,{data:w}]=await Promise.all([n(),u?{data:null}:G(r,p)]),h=()=>m;if(u)return M(t,h,l);if("Feature Service"===i){const e=c(w)?.customParameters;w=s.url?(await y(w,s.url,p)).data:{},h=await E(w,l)||h;const{provider:r,preferredHost:a}=await A(s.url,{customParameters:e,loadContext:p});return o(s,a),await P(t,h,h,w,l,r)}return"Scene Service"===i&&s.url&&(w=await d(s,w,p)),f(w)>0?await P(t,h,null,w,l):await H(t,h,l)}async function H(e,t,r){const{portalItem:a}=e;if(!a?.url)return;const o=await I(a.url);o&&P(e,t,null,{layers:o.layers?.map(w),tables:o.tables?.map(w)},r)}async function M(e,t,r){const{portalItem:a}=e;if(!a?.url)return;const o=await I(a.url);o&&P(e,t,null,{layers:o.layers?.map(({id:e,name:t})=>({id:e,name:t}))},r)}async function P(e,t,r,a,o,n){let s=a.layers||[];const i=a.tables||[];if("Feature Collection"===e.portalItem?.type?(s.forEach((e,t)=>{e.id=t,"Table"===e?.layerDefinition?.type&&i.push(e)}),s=s.filter(e=>"Table"!==e?.layerDefinition?.type)):(s.reverse(),i.reverse()),s.forEach(r=>{const o=n?.(r);if(o||!n){const n=x(e,t(r),a,r,o);e.add(n)}}),i.length){const t=r?null:await o.FeatureLayer();i.forEach(o=>{const s=n?.(o);if(s||!n){const n=x(e,r?r(o):t,a,o,s);e.tables.add(n)}})}}function x(e,t,r,a,o){const n=e.portalItem,s={portalItem:n.clone(),layerId:a.id};null!=a.url&&(s.url=a.url);const l=new t(s);if("sourceJSON"in l&&(l.sourceJSON=o),"subtype-group"!==l.type&&"catalog"!==l.type&&(l.sublayerTitleMode="service-name"),"Feature Collection"===n.type){const e={origin:"portal-item",portal:n.portal||i.getDefault()};l.read(a,e);const t=r.showLegend;null!=t&&l.read({showLegend:t},e)}return l}async function G(e,t,r){if(!1===e.supportsData)return{data:void 0};const a=e.instance,n=a.portalItem;if(!n)return{data:void 0};let s=null;try{s="video"===a.type?null:await n.fetchData("json",r)}catch(i){}if(D(a)){let e=null;const{count:r,preferredHost:i}=await k(n,s,t);if(o(n,i),(s?.layers||s?.tables)&&r>0){if(null==a.layerId){const e=u(a.type),t=e?.length?p(s,e)[0]:c(s);t&&(a.layerId=t.id)}e=C(s,a),"OrientedImageryLayer"===e?.layerType&&"oriented-imagery"===a.type&&a.supportedSourceTypes.add("Feature Layer"),e&&null!=s.showLegend&&(e.showLegend=s.showLegend)}return r>1&&"sublayerTitleMode"in a&&"service-name"!==a.sublayerTitleMode&&(a.sublayerTitleMode="item-title-and-service-name"),{data:e,preferredHost:i}}return{data:s}}async function k(e,r,a){if(r?.layers&&r?.tables)return{count:f(r)};const o=t(e.url);if(!o)return{count:1};const i=o.url.path,l=await a.fetchServiceMetadata(i,{customParameters:c(r)?.customParameters}).catch(()=>null);return{count:(r?.layers?.length??l?.layers?.length??0)+(r?.tables?.length??l?.tables?.length??0),preferredHost:n(e)?s():null}}function C(e,t){const{layerId:r}=t,a=e.layers?.find(e=>e.id===r)||e.tables?.find(e=>e.id===r);return a&&U(a,t)?a:null}function D(e){return"stream"!==e.type&&"layerId"in e}function U(e,t){const r="layerType"in e&&e.layerType,{type:a}=t;return!("feature"===a&&r&&"ArcGISFeatureLayer"!==e.layerType||"catalog"===a&&!r||"oriented-imagery"===a&&!r||"subtype-group"===a&&!r)}async function A(e,t){const{layersJSON:a,preferredHost:o}=await r(e,t);if(!a)return{provider:null,preferredHost:o};const n=[...a.layers,...a.tables];return{provider:e=>n.find(t=>t.id===e.id),preferredHost:o}}async function E(e,t){const{layers:r,tables:a}=e,o=[...r??[],...a??[]];if(!o.length)return;const n=new Set,s=[];for(const{layerType:u}of o){const e=u??"ArcGISFeatureLayer";if(n.has(e))continue;n.add(e);const r=t[m(e)];s.push(r())}const i=await Promise.all(s),l=new Map;return Array.from(n).forEach((e,t)=>{l.set(e,i[t])}),({layerType:e})=>{const t=e??"ArcGISFeatureLayer";return l.get(t)}}export{v as load,b as reload};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as t}from"tslib";import{JSONSupport as e}from"../../../../core/JSONSupport.js";import{property as o,subclass as r}from"../../../../core/accessorSupport/decorators.js";import s from"../../../../geometry/SpatialReference.js";import{writer as i}from"../../../../core/accessorSupport/decorators/writer.js";let p=class extends e{constructor(t){super(t),this.sessionId=void 0,this.outSpatialReference=null}writeOutSR(t,e,o){if(null!=t){const{wkid:r,latestWkid:s,wkt:i,wkt2:p}=t;e[o]=JSON.stringify({wkid:r??void 0,latestWkid:s??void 0,wkt:i??void 0,wkt2:p??void 0})}}};t([o({type:String,json:{write:!0}})],p.prototype,"sessionId",void 0),t([o({type:s,json:{write:{target:"outSR"}}})],p.prototype,"outSpatialReference",void 0),t([i("outSpatialReference")],p.prototype,"writeOutSR",null),p=t([r("esri.rest.versionManagement.gdbVersion.support.ConflictsParameters")],p);const a=p;export{a as default};
2
+ import{__decorate as t}from"tslib";import{JSONSupport as o}from"../../../../core/JSONSupport.js";import{property as e,subclass as r}from"../../../../core/accessorSupport/decorators.js";import s from"../../../../geometry/SpatialReference.js";import{writer as i}from"../../../../core/accessorSupport/decorators/writer.js";let p=class extends o{constructor(t){super(t)}writeOutSR(t,o,e){if(null!=t){const{wkid:r,latestWkid:s,wkt:i,wkt2:p}=t;o[e]=JSON.stringify({wkid:r??void 0,latestWkid:s??void 0,wkt:i??void 0,wkt2:p??void 0})}}};t([e({type:String,json:{write:!0}})],p.prototype,"sessionId",void 0),t([e({type:s,json:{write:{target:"outSR"}}})],p.prototype,"outSpatialReference",void 0),t([i("outSpatialReference")],p.prototype,"writeOutSR",null),p=t([r("esri.rest.versionManagement.gdbVersion.support.ConflictsParameters")],p);const a=p;export{a as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{JSONMap as t}from"../../../../core/jsonMap.js";import{JSONSupport as o}from"../../../../core/JSONSupport.js";import{property as r,subclass as s}from"../../../../core/accessorSupport/decorators.js";import i from"../../../../geometry/SpatialReference.js";import{writer as p}from"../../../../core/accessorSupport/decorators/writer.js";const n=new t({objectIds:"object-ids",features:"features"});let a=class extends o{constructor(e){super(e),this.sessionId=null,this.resultType="object-ids",this.layers=null,this.outSpatialReference=null,this.fromMoment=null,this.moment=null}writeOutSR(e,t,o){if(null!=e){const{wkid:r,latestWkid:s,wkt:i,wkt2:p}=e;t[o]=JSON.stringify({wkid:r??void 0,latestWkid:s??void 0,wkt:i??void 0,wkt2:p??void 0})}}};e([r({type:String,json:{write:!0}})],a.prototype,"sessionId",void 0),e([r({type:n.apiValues,json:{type:n.jsonValues,read:n.read,write:n.write}})],a.prototype,"resultType",void 0),e([r({type:[Number],json:{write:!0}})],a.prototype,"layers",void 0),e([r({type:i,json:{write:{target:"outSR"}}})],a.prototype,"outSpatialReference",void 0),e([p("outSpatialReference")],a.prototype,"writeOutSR",null),e([r({type:Date,json:{type:Number,write:{writer:(e,t)=>{t.moment=e?e.getTime():null}}}})],a.prototype,"fromMoment",void 0),e([r({type:Date,json:{type:Number,write:{writer:(e,t)=>{t.moment=e?e.getTime():null}}}})],a.prototype,"moment",void 0),a=e([s("esri.rest.versionManagement.gdbVersion.support.DifferencesParameters")],a);const l=a;export{l as default};
2
+ import{__decorate as e}from"tslib";import{JSONMap as t}from"../../../../core/jsonMap.js";import{JSONSupport as o}from"../../../../core/JSONSupport.js";import{property as r,subclass as s}from"../../../../core/accessorSupport/decorators.js";import i from"../../../../geometry/SpatialReference.js";import{writer as p}from"../../../../core/accessorSupport/decorators/writer.js";const n=new t({objectIds:"object-ids",features:"features"});let a=class extends o{constructor(e){super(e)}writeOutSR(e,t,o){if(null!=e){const{wkid:r,latestWkid:s,wkt:i,wkt2:p}=e;t[o]=JSON.stringify({wkid:r??void 0,latestWkid:s??void 0,wkt:i??void 0,wkt2:p??void 0})}}};e([r({type:String,json:{write:!0}})],a.prototype,"sessionId",void 0),e([r({type:n.apiValues,json:{type:n.jsonValues,read:n.read,write:n.write}})],a.prototype,"resultType",void 0),e([r({type:[Number],json:{write:!0}})],a.prototype,"layers",void 0),e([r({type:i,json:{write:{target:"outSR"}}})],a.prototype,"outSpatialReference",void 0),e([p("outSpatialReference")],a.prototype,"writeOutSR",null),e([r({type:Date,json:{type:Number,write:{writer:(e,t)=>{t.moment=e?e.getTime():null}}}})],a.prototype,"fromMoment",void 0),e([r({type:Date,json:{type:Number,write:{writer:(e,t)=>{t.moment=e?e.getTime():null}}}})],a.prototype,"moment",void 0),a=e([s("esri.rest.versionManagement.gdbVersion.support.DifferencesParameters")],a);const m=a;export{m as default};
@@ -0,0 +1,25 @@
1
+ import type Graphic from "../../../../Graphic.js";
2
+
3
+ /** Represents the object IDs that were inserted, updated, or deleted to/from a layer. */
4
+ export interface DifferencesType {
5
+ /** The ID of the layer with differences. */
6
+ layerId: number;
7
+ /** The IDs of objects inserted into this layer. */
8
+ inserts: number[];
9
+ /** The IDs of objects updated in this layer. */
10
+ updates: number[];
11
+ /** The IDs of objects deleted from this layer. */
12
+ deletes: number[];
13
+ }
14
+
15
+ /** Represents the Graphic objects (features) that were inserted, updated, or deleted to/from a layer. */
16
+ export interface FeaturesType {
17
+ /** The ID of the layer with differences. */
18
+ layerId: number;
19
+ /** The Graphic objects (features) inserted into this layer. */
20
+ inserts: Graphic[];
21
+ /** The Graphic objects (features) updated in this layer. */
22
+ updates: Graphic[];
23
+ /** The Graphic objects (features) deleted from this layer. */
24
+ deletes: Graphic[];
25
+ }
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as t}from"tslib";import{JSONSupport as o}from"../../../../core/JSONSupport.js";import{property as s,subclass as e}from"../../../../core/accessorSupport/decorators.js";let r=class extends o{constructor(t){super(t),this.sessionId=void 0,this.setInspected=void 0,this.conflicts=void 0}};t([s({type:String,json:{write:!0}})],r.prototype,"sessionId",void 0),t([s({type:Boolean,json:{write:!0}})],r.prototype,"setInspected",void 0),t([s({type:[Object],json:{write:!0}})],r.prototype,"conflicts",void 0),r=t([e("esri.rest.versionManagement.gdbVersion.support.InspectConflictsParameters")],r);const i=r;export{i as default};
2
+ import{__decorate as o}from"tslib";import{JSONSupport as t}from"../../../../core/JSONSupport.js";import{property as e,subclass as r}from"../../../../core/accessorSupport/decorators.js";let s=class extends t{constructor(o){super(o)}};o([e({type:String,json:{write:!0}})],s.prototype,"sessionId",void 0),o([e({type:Boolean,json:{write:!0}})],s.prototype,"setInspected",void 0),o([e({type:Boolean,json:{write:!0}})],s.prototype,"inspectAll",void 0),o([e({type:[Object],json:{write:!0}})],s.prototype,"conflicts",void 0),s=o([r("esri.rest.versionManagement.gdbVersion.support.InspectConflictsParameters")],s);const p=s;export{p as default};
@@ -12,21 +12,19 @@ export default class ReconcileParameters extends JSONSupport {
12
12
  /**
13
13
  * Specifies whether the reconcile should be aborted if conflicts are found. The default is false
14
14
  *
15
- * @default false
16
15
  * @since 5.0
17
16
  */
18
- accessor abortIfConflicts: boolean;
17
+ accessor abortIfConflicts: boolean | null | undefined;
19
18
  /**
20
19
  * Specifies the conditions required for conflicts to occur are defined by object (row) or attribute (column).
21
20
  *
22
21
  * @since 5.0
23
22
  */
24
- accessor conflictDetection: DetectionType | null;
23
+ accessor conflictDetection: DetectionType | null | undefined;
25
24
  /**
26
25
  * Specifies if post will occur after calling reconcile. Causes post to occur immediately after reconcile, false by default.
27
26
  *
28
- * @default false
29
27
  * @since 5.0
30
28
  */
31
- accessor withPost: boolean;
29
+ accessor withPost: boolean | null | undefined;
32
30
  }
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as t}from"tslib";import{JSONMap as o}from"../../../../core/jsonMap.js";import{JSONSupport as e}from"../../../../core/JSONSupport.js";import{property as r,subclass as s}from"../../../../core/accessorSupport/decorators.js";import{ensureClass as i}from"../../../../core/accessorSupport/ensureType.js";var p;const n=new o({byObject:"by-object",byAttribute:"by-attribute"});let c=p=class extends e{static from(t){return i(p,t)}constructor(t){super(t),this.sessionId=void 0,this.abortIfConflicts=!1,this.conflictDetection=null,this.withPost=!1}};t([r({type:String,json:{write:!0}})],c.prototype,"sessionId",void 0),t([r({type:Boolean,json:{write:!0}})],c.prototype,"abortIfConflicts",void 0),t([r({type:n.apiValues,json:{type:n.jsonValues,read:n.read,write:n.write}})],c.prototype,"conflictDetection",void 0),t([r({type:Boolean,json:{write:!0}})],c.prototype,"withPost",void 0),c=p=t([s("esri.rest.versionManagement.gdbVersion.support.ReconcileParameters")],c);const a=c;export{a as default};
2
+ import{__decorate as o}from"tslib";import{JSONMap as t}from"../../../../core/jsonMap.js";import{JSONSupport as e}from"../../../../core/JSONSupport.js";import{property as r,subclass as s}from"../../../../core/accessorSupport/decorators.js";import{ensureClass as p}from"../../../../core/accessorSupport/ensureType.js";var i;const n=new t({byObject:"by-object",byAttribute:"by-attribute"});let c=i=class extends e{static from(o){return p(i,o)}constructor(o){super(o)}};o([r({type:String,json:{write:!0}})],c.prototype,"sessionId",void 0),o([r({type:Boolean,json:{write:!0}})],c.prototype,"abortIfConflicts",void 0),o([r({type:n.apiValues,json:{type:n.jsonValues,read:n.read,write:n.write}})],c.prototype,"conflictDetection",void 0),o([r({type:Boolean,json:{write:!0}})],c.prototype,"withPost",void 0),c=i=o([s("esri.rest.versionManagement.gdbVersion.support.ReconcileParameters")],c);const a=c;export{a as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- const c="20260505",d="d1fbdf944a1168b076cc9dfe308e740d09c37527";export{c as buildDate,d as commitHash};
2
+ const c="20260507",b="bad9c170d2c602b5073ed83cd9096bb4ecf13659";export{c as buildDate,b as commitHash};
@@ -370,6 +370,15 @@ export interface CIMMarker extends CIMSymbolLayer {
370
370
  markerPlacement?: CIMMarkerPlacement | null;
371
371
  }
372
372
 
373
+ /**
374
+ * > [!WARNING]
375
+ * >
376
+ * > This type is not currently supported.
377
+ */
378
+ export interface CIMCharacterMarker extends CIMMarker {
379
+ type: "CIMCharacterMarker";
380
+ }
381
+
373
382
  /**
374
383
  * Represents color substitution, an ordered list of color substitutes.
375
384
  *
@@ -1916,6 +1925,24 @@ export interface CIMMarkerPlacementPolygonCenter extends CIMMarkerFillPlacement
1916
1925
  clipAtBoundary?: boolean;
1917
1926
  }
1918
1927
 
1928
+ /**
1929
+ * > [!WARNING]
1930
+ * >
1931
+ * > This type is not currently supported.
1932
+ */
1933
+ export interface CIMMaterialSymbolLayer extends CIMSymbolLayer {
1934
+ type: "CIMMaterialSymbolLayer";
1935
+ }
1936
+
1937
+ /**
1938
+ * > [!WARNING]
1939
+ * >
1940
+ * > This type is not currently supported.
1941
+ */
1942
+ export interface CIMObjectMarker3D extends CIMMarker {
1943
+ type: "CIMObjectMarker3D";
1944
+ }
1945
+
1919
1946
  /**
1920
1947
  * Represents a picture fill which fills polygonal geometry with a picture. Supported file types are .bmp, .jpg, .png, and .gif.
1921
1948
  *
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import t from"../../../../request.js";import{bidiText as e}from"../../../../core/BidiText.js";import has from"../../../../core/has.js";import{throwIfNotAbortError as s}from"../../../../core/promiseUtils.js";import{loadTextModule as i}from"../../../../libs/text/loadTextModule.js";import{sdfRadiusComplex as h,sdfBufferGlyphSDFCreator as a,sdfSizeComplex as r,sdfBufferServer as n,sdfRadiusSimple as o,sdfSizeSimple as c}from"./definitions.js";import{GlyphSDFCreator as l}from"./GlyphSDFCreator.js";import g from"./Rect.js";import p from"./RectangleBinPack.js";import{charCodes as d}from"./Utils.js";import _ from"../../../webgl/Texture.js";import{TextureDescriptor as f}from"../../../webgl/TextureDescriptor.js";const u=256,y=.25,m=t=>Math.floor(t/256);function w(t){const e=new Set;for(const s of t)e.add(m(s));return e}function x(t,e,i){return t.has(e)||t.set(e,i().then(()=>{t.delete(e)}).catch(i=>{t.delete(e),s(i)})),t.get(e)}const C=t=>({mosaicItem:{rect:new g(0,0,0,0),sdf:!0,page:0},rect:{left:0,width:0,height:0,top:0},shaping:{xAdvance:0,yAdvance:0,xOffset:0,yOffset:0},code:t});class I{constructor(t,e,s,i=!1){this._snapCoords=i,this.width=0,this.height=0,this._dirties=[],this._pageData=[],this._currentPage=0,this._glyphCache={},this._glyphCacheById={},this._textures=[],this._rangePromises=new Map,this._facePromises=new Map,this._preloadCache={},this._glyphSDFCreator=new l({sdfSizePx:r,sdfBufferPx:a,radius:h,cutoff:y}),this._faces=new Map,this.width=t,this.height=e,this._glyphSource=s,this._binPack=new p(t,e),this._pageData.push(new Uint8Array(t*e)),this._dirties.push(!0),this._textures.push(null),this._initDecorationGlyphs()}dispose(){this._binPack=null;for(const t of this._textures)t&&t.dispose();this._textures.length=0,this._pageData.length=0}_initDecorationGlyphs(){const t=[117,149,181,207,207,181,149,117],e=[],s=[];for(let r=0;r<t.length;r++){const i=t[r];for(let t=0;t<11;t++){const h=r>=3&&r<5&&t>=3&&t<8?255:0;e.push(i),s.push(h)}}const i={width:5,height:2,left:0,top:0,advance:0},h=new Uint8Array(e),a=new Uint8Array(s);this._recordGlyph(i,h,n),this._recordGlyph(i,a,n)}getTexture(t,e){if(!this._textures[e]){const s=new f(this.width,this.height);s.pixelFormat=6406,s.wrapMode=33071,this._textures[e]=new _(t,s,new Uint8Array(this.width*this.height))}return this._dirties[e]&&(this._textures[e].setData(this._pageData[e]),this._dirties[e]=!1),this._textures[e]}async getGlyphItems(t,s,i,l){const g=s?r:c,p=s?h:o,_=s?a:n;let f,u=[],y=!1;if(s){const s=this._getGlyphCacheById(i),h=await this.getFace(i);if(!h)return null;const a=this._glyphSDFCreator.sdfSizePx,[r,n,o]=e(t,!1);y=n;const c=new Uint32Array(Array.from(r).map((t,e)=>o.levels[o.targetToSource[e]]));f={baseline:h.baseline()/a,midline:h.midline()/a},u=h.shape(r,c,a).map(t=>this._getMosaicItemComplex(s,t,h))}else{const[s,h,a]=e(t);y=h;const r=this._getGlyphCache(i),n=d(s);try{await this._fetchRanges(i,n,l)}catch{return null}for(const t of n){const e=this._getMosaicItem(r,i,t);e&&u.push(e)}}return{type:"glyphs",isRightToLeft:y,glyphs:u,faceInfo:f,sdfSize:g,sdfRadius:p,sdfPadding:_}}async getGlyphItemsVTL(t,e){const s=this._getGlyphCache(t);await this._fetchRanges(t,e,null);const i=[];for(const h of e){const e=this._getMosaicItem(s,t,h,!0);e&&(i[h]=e)}return i}async getFace(e){if(this._faces.has(e))return this._faces.get(e);const s=this._glyphSource.woffURL(e);return await x(this._facePromises,e,async()=>{const h=await t(s,{responseType:"array-buffer"}),a=(await i()).Face.parseWoff2(new Uint8Array(h.data));this._faces.set(e,a)}),this._faces.get(e)}_getMosaicItem(t,e,s,i=!1){if(!t[s]){const h=this._glyphSource.getRange(e,s),a=h?.getRect(s),r=h?.getShaping(s),o=h?.getBitmap(s);if(i&&(!a||!r))return;if(!a||!r)return C(s);const c=o?this._recordGlyph(a,o,n):new g(0,0,0,0),l=this._currentPage;t[s]={mosaicItem:{rect:c,sdf:!0,page:l},rect:a,shaping:r,code:s},this._invalidate()}return t[s]}_getMosaicItemComplex(t,e,s){if(!t[e.glyphId]){const i=this._glyphSDFCreator.draw(s,e.glyphId),h=i??{width:0,height:0,top:0,left:0},r=i?this._recordGlyph(h,i.buffer,a):new g(0,0,0,0),n=e.isNewline?10:e.isWhitespace?32:NaN,o={rect:r,sdf:!0,page:this._currentPage};t[e.glyphId]={mosaicItem:o,rect:h,shaping:void 0,code:n}}return{...t[e.glyphId],shaping:{xOffset:e.xOffset,yOffset:e.yOffset,xAdvance:e.xAdvance,yAdvance:e.yAdvance}}}bind(t,e,s,i){const h=this.getTexture(t,s);h.setSamplingMode(e),t.bindTexture(h,i)}preloadASCIIGlyphCache(t){const e=this._preloadCache[t];if(null!=e)return e;const s=this._glyphSource.preloadASCIIRange(t).then(()=>{const e=this._getGlyphCache(t);for(let s=0;s<256;s++)this._getMosaicItem(e,t,s)});return this._preloadCache[t]=s,s}_getGlyphCache(t){return this._glyphCache[t]||(this._glyphCache[t]={}),this._glyphCache[t]}_getGlyphCacheById(t){return this._glyphCacheById[t]||(this._glyphCacheById[t]={}),this._glyphCacheById[t]}_invalidate(){this._dirties[this._currentPage]=!0}async _fetchRanges(t,e,s){const i=w(e),h=[];i.forEach(e=>{h.push(this._fetchRange(t,e,s))}),await Promise.all(h)}async _fetchRange(t,e,s){if(e>u)return;const i=t+e;return x(this._rangePromises,i,()=>this._glyphSource.fetchRange(t,e,s))}_allocNewPage(){this._dirties[this._currentPage]||(this._pageData[this._currentPage]=null),this._currentPage=this._pageData.length,this._pageData.push(new Uint8Array(this.width*this.height)),this._dirties.push(!0),this._textures.push(null),this._initDecorationGlyphs(),this._binPack=new p(this.width,this.height)}_recordGlyph(t,e,s){let i;if(0===t.width)i=new g(0,0,0,0);else{const h=t.width+2*s,a=t.height+2*s;let r=h,n=a;if(this._snapCoords){r+=h%4?4-h%4:4,n+=a%4?4-a%4:4}i=this._binPack.allocate(r,n),i.isEmpty&&(this._allocNewPage(),i=this._binPack.allocate(r,n));const o=this._pageData[this._currentPage];for(let t=0;t<a;t++){const s=h*t,a=this.width*(i.y+t)+i.x;for(let t=0;t<h;t++)o[a+t]=e[s+t]}has("esri-glyph-debug")&&this._showDebugPage(o)}return i}_showDebugPage(t){const e=document.createElement("canvas"),s=e.getContext("2d"),i=new ImageData(this.width,this.height),h=i.data;e.width=this.width,e.height=this.height,e.style.border="1px solid black";for(let a=0;a<t.length;++a)h[4*a]=t[a],h[4*a+1]=0,h[4*a+2]=0,h[4*a+3]=255;s.putImageData(i,0,0),document.body.appendChild(e)}}export{I as default};
2
+ import t from"../../../../request.js";import{bidiText as e}from"../../../../core/BidiText.js";import has from"../../../../core/has.js";import{throwIfNotAbortError as s}from"../../../../core/promiseUtils.js";import{loadTextModule as i}from"../../../../libs/text/loadTextModule.js";import{sdfRadiusComplex as h,sdfBufferGlyphSDFCreator as a,sdfSizeComplex as r,sdfBufferServer as n,sdfRadiusSimple as o,sdfSizeSimple as c}from"./definitions.js";import{GlyphSDFCreator as l}from"./GlyphSDFCreator.js";import g from"./Rect.js";import p from"./RectangleBinPack.js";import{charCodes as d}from"./Utils.js";import _ from"../../../webgl/Texture.js";import{TextureDescriptor as f}from"../../../webgl/TextureDescriptor.js";const u=256,y=.25,m=t=>Math.floor(t/256);function w(t){const e=new Set;for(const s of t)e.add(m(s));return e}function x(t,e,i){return t.has(e)||t.set(e,i().then(()=>{t.delete(e)}).catch(i=>{t.delete(e),s(i)})),t.get(e)}const C=t=>({mosaicItem:{rect:new g(0,0,0,0),sdf:!0,page:0},rect:{left:0,width:0,height:0,top:0},shaping:{xAdvance:0,yAdvance:0,xOffset:0,yOffset:0},code:t});class I{constructor(t,e,s,i=!1){this._snapCoords=i,this.width=0,this.height=0,this._dirties=[],this._pageData=[],this._currentPage=0,this._glyphCache={},this._glyphCacheById={},this._textures=[],this._rangePromises=new Map,this._facePromises=new Map,this._preloadCache={},this._glyphSDFCreator=new l({sdfSizePx:r,sdfBufferPx:a,radius:h,cutoff:y}),this._faces=new Map,this.width=t,this.height=e,this._glyphSource=s,this._binPack=new p(t,e),this._pageData.push(new Uint8Array(t*e)),this._dirties.push(!0),this._textures.push(null),this._initDecorationGlyphs()}dispose(){this._binPack=null;for(const t of this._textures)t&&t.dispose();this._textures.length=0,this._pageData.length=0}_initDecorationGlyphs(){const t=[117,149,181,207,207,181,149,117],e=[],s=[];for(let r=0;r<t.length;r++){const i=t[r];for(let t=0;t<11;t++){const h=r>=3&&r<5&&t>=3&&t<8?255:0;e.push(i),s.push(h)}}const i={width:5,height:2,left:0,top:0,advance:0},h=new Uint8Array(e),a=new Uint8Array(s);this._recordGlyph(i,h,n),this._recordGlyph(i,a,n)}getTexture(t,e){if(!this._textures[e]){const s=new f(this.width,this.height);s.pixelFormat=6406,s.wrapMode=33071,this._textures[e]=new _(t,s,new Uint8Array(this.width*this.height))}return this._dirties[e]&&(this._textures[e].setData(this._pageData[e]),this._dirties[e]=!1),this._textures[e]}async getGlyphItems(t,s,i,l){const g=s?r:c,p=s?h:o,_=s?a:n;let f,u=[],y=!1;if(s){const s=this._getGlyphCacheById(i),h=await this.getFace(i);if(!h)return null;const a=this._glyphSDFCreator.sdfSizePx,[r,n,o]=e(t,!1);y=n;const c=new Uint32Array(Array.from(r).map((t,e)=>o.levels[o.targetToSource[e]]));f={baseline:h.baseline()/a,midline:h.midline()/a},u=h.shape(r,c,a).map(t=>this._getMosaicItemComplex(s,t,h))}else{const[s,h,a]=e(t);y=h;const r=this._getGlyphCache(i),n=d(s);try{await this._fetchRanges(i,n,l)}catch{return null}for(const t of n){const e=this._getMosaicItem(r,i,t);e&&u.push(e)}}return{type:"glyphs",isRightToLeft:y,glyphs:u,faceInfo:f,sdfSize:g,sdfRadius:p,sdfPadding:_}}async getGlyphItemsVTL(t,e){const s=this._getGlyphCache(t);await this._fetchRanges(t,e,null);const i=[];for(const h of e){const e=this._getMosaicItem(s,t,h,!0);e&&(i[h]=e)}return i}async getFace(e){if(this._faces.has(e))return this._faces.get(e);const s=this._glyphSource.woffURL(e);return await x(this._facePromises,e,async()=>{const h=await t(s,{responseType:"array-buffer"}),a=(await i()).Face.parseWoff2(new Uint8Array(h.data));this._faces.set(e,a)}),this._faces.get(e)}_getMosaicItem(t,e,s,i=!1){if(!t[s]){const h=this._glyphSource.getRange(e,s),a=h?.getRect(s),r=h?.getShaping(s),o=h?.getBitmap(s);if(i&&(!a||!r))return;if(!a||!r)return C(s);const c=o?this._recordGlyph(a,o,n):new g(0,0,0,0),l=this._currentPage;t[s]={mosaicItem:{rect:c,sdf:!0,page:l},rect:a,shaping:r,code:s},this._invalidate()}return t[s]}_getMosaicItemComplex(t,e,s){if(!t[e.glyphId]){const i=this._glyphSDFCreator.draw(s,e.glyphId),h=i??{width:0,height:0,top:0,left:0},r=i?this._recordGlyph(h,i.buffer,a):new g(0,0,0,0),n=e.isNewline?10:e.isWhitespace?32:NaN,o={rect:r,sdf:!0,page:this._currentPage};t[e.glyphId]={mosaicItem:o,rect:h,shaping:void 0,code:n},this._invalidate()}return{...t[e.glyphId],shaping:{xOffset:e.xOffset,yOffset:e.yOffset,xAdvance:e.xAdvance,yAdvance:e.yAdvance}}}bind(t,e,s,i){const h=this.getTexture(t,s);h.setSamplingMode(e),t.bindTexture(h,i)}preloadASCIIGlyphCache(t){const e=this._preloadCache[t];if(null!=e)return e;const s=this._glyphSource.preloadASCIIRange(t).then(()=>{const e=this._getGlyphCache(t);for(let s=0;s<256;s++)this._getMosaicItem(e,t,s)});return this._preloadCache[t]=s,s}_getGlyphCache(t){return this._glyphCache[t]||(this._glyphCache[t]={}),this._glyphCache[t]}_getGlyphCacheById(t){return this._glyphCacheById[t]||(this._glyphCacheById[t]={}),this._glyphCacheById[t]}_invalidate(){this._dirties[this._currentPage]=!0}async _fetchRanges(t,e,s){const i=w(e),h=[];i.forEach(e=>{h.push(this._fetchRange(t,e,s))}),await Promise.all(h)}async _fetchRange(t,e,s){if(e>u)return;const i=t+e;return x(this._rangePromises,i,()=>this._glyphSource.fetchRange(t,e,s))}_allocNewPage(){this._dirties[this._currentPage]||(this._pageData[this._currentPage]=null),this._currentPage=this._pageData.length,this._pageData.push(new Uint8Array(this.width*this.height)),this._dirties.push(!0),this._textures.push(null),this._initDecorationGlyphs(),this._binPack=new p(this.width,this.height)}_recordGlyph(t,e,s){let i;if(0===t.width)i=new g(0,0,0,0);else{const h=t.width+2*s,a=t.height+2*s;let r=h,n=a;if(this._snapCoords){r+=h%4?4-h%4:4,n+=a%4?4-a%4:4}i=this._binPack.allocate(r,n),i.isEmpty&&(this._allocNewPage(),i=this._binPack.allocate(r,n));const o=this._pageData[this._currentPage];for(let t=0;t<a;t++){const s=h*t,a=this.width*(i.y+t)+i.x;for(let t=0;t<h;t++)o[a+t]=e[s+t]}has("esri-glyph-debug")&&this._showDebugPage(o)}return i}_showDebugPage(t){const e=document.createElement("canvas"),s=e.getContext("2d"),i=new ImageData(this.width,this.height),h=i.data;e.width=this.width,e.height=this.height,e.style.border="1px solid black";for(let a=0;a<t.length;++a)h[4*a]=t[a],h[4*a+1]=0,h[4*a+2]=0,h[4*a+3]=255;s.putImageData(i,0,0),document.body.appendChild(e)}}export{I as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- const t=1e20;class e{constructor(t){this.sdfSizePx=t.sdfSizePx,this.sdfBufferPx=t.sdfBufferPx,this.radius=t.radius,this.cutoff=t.cutoff;const e=3*t.sdfSizePx;this.canvasSize=e;const s=this._createCanvas(e);this.context=s.getContext("2d",{willReadFrequently:!0}),this.context.imageSmoothingEnabled=!1,this.gridOuter=new Float64Array(e*e),this.gridInner=new Float64Array(e*e),this.gridValues=new Float64Array(e),this.parabolaBoundaries=new Float64Array(e+1),this.parabolaIndices=new Uint16Array(e)}draw(e,s){const{context:a,gridInner:i,gridOuter:r,sdfSizePx:n,sdfBufferPx:o,canvasSize:h,cutoff:l,radius:c}=this,d=n/e.units_per_em();this.context.fillStyle="black",this.context.strokeStyle="black",this.context.resetTransform(),this.context.clearRect(0,0,h,h),this.context.translate(this.sdfSizePx,this.sdfSizePx),this.context.scale(d,d);const f=e.paintCurves(s,a);if(!f)return null;const u=f.xMin*d,x=f.xMax*d,g=f.yMin*d,M=f.yMax*d;f.free();const w=Math.ceil(x-u),y=Math.ceil(M-g),S=Math.floor(n+u-o),_=Math.floor(n+g-o),m=w+2*o,p=y+2*o,P=new Uint8ClampedArray(Math.max(m*p,0)),b=a.getImageData(S,_,m,p);r.fill(t,0,P.length),i.fill(0,0,P.length);for(let v=0;v<p;v++)for(let e=0;e<m;e++){const s=p-1-v,a=b.data[4*(s*m+e)+3]/255;if(0===a)continue;const n=v*m+e;if(1===a)r[n]=0,i[n]=t;else{const t=.5-a;r[n]=t>0?t*t:0,i[n]=t<0?t*t:0}}this._edt(r,0,0,m,p,m),this._edt(i,0,0,m,p,m);for(let t=0;t<P.length;t++){const e=Math.sqrt(r[t])-Math.sqrt(i[t]);P[t]=Math.round(255-255*(e/c+l))}const z=d*e.face_height();return{buffer:P,width:w,height:y,top:Math.round(M-z+2*o),left:Math.round(u-o)}}_createCanvas(t){const e=document.createElement("canvas");return e.width=e.height=t,e}_edt(t,e,s,a,i,r){for(let n=e;n<e+a;n++)this._edt1d(t,s*r+n,r,i);for(let n=s;n<s+i;n++)this._edt1d(t,n*r+e,1,a)}_edt1d(e,s,a,i){const r=this.parabolaIndices,n=this.parabolaBoundaries,o=this.gridValues;r[0]=0,n[0]=-t,n[1]=t,o[0]=e[s];let h=0;for(let l=1;l<i;l++){o[l]=e[s+l*a];const i=l*l;let c;do{const t=r[h];c=(o[l]-o[t]+i-t*t)/(l-t)/2}while(c<=n[h]&&--h>-1);h++,r[h]=l,n[h]=c,n[h+1]=t}for(let t=0,l=0;t<i;t++){for(;n[l+1]<t;)l++;const i=r[l],h=t-i;e[s+t*a]=o[i]+h*h}}}export{e as GlyphSDFCreator};
2
+ const t=1e20;class e{constructor(t){this.pxDensity=4,this.sdfSizePx=t.sdfSizePx,this.sdfBufferPx=t.sdfBufferPx,this.rasterSizePx=this.pxDensity*this.sdfSizePx,this.rasterBufferPx=this.pxDensity*this.sdfBufferPx,this.radius=t.radius,this.cutoff=t.cutoff;const e=this.pxDensity*t.sdfSizePx*3;this.canvasSize=e;const s=this._createCanvas(e);this.context=s.getContext("2d",{willReadFrequently:!0}),this.context.imageSmoothingEnabled=!1,this.gridOuter=new Float64Array(e*e),this.gridInner=new Float64Array(e*e),this.gridValues=new Float64Array(e),this.parabolaBoundaries=new Float64Array(e+1),this.parabolaIndices=new Uint16Array(e)}draw(e,s){const{context:i,gridInner:n,gridOuter:r,rasterSizePx:a,rasterBufferPx:h,canvasSize:o,radius:l,cutoff:c}=this,f=a/e.units_per_em();this.context.fillStyle="black",this.context.strokeStyle="black",this.context.resetTransform(),this.context.clearRect(0,0,o,o),this.context.translate(a,a),this.context.scale(f,f);const x=e.paintCurves(s,i);if(!x)return null;const d=x.xMin*f,u=x.xMax*f,y=x.yMin*f,p=x.yMax*f;x.free();const M=Math.ceil(u-d),D=Math.ceil(p-y),g=Math.floor(a+d-h),w=Math.floor(a+y-h),P=M+2*h,S=D+2*h,_=new Float32Array(Math.max(P*S,0)),m=i.getImageData(g,w,P,S);r.fill(t,0,_.length),n.fill(0,0,_.length);for(let I=0;I<S;I++)for(let e=0;e<P;e++){const s=S-1-I,i=m.data[4*(s*P+e)+3]/255;if(0===i)continue;const a=I*P+e;if(1===i)r[a]=0,n[a]=t;else{const t=.5-i;r[a]=t>0?t*t:0,n[a]=t<0?t*t:0}}this._edt(r,0,0,P,S,P),this._edt(n,0,0,P,S,P);for(let t=0;t<_.length;t++)_[t]=Math.sqrt(r[t])-Math.sqrt(n[t]);const b=Math.ceil(P/this.pxDensity),z=Math.ceil(S/this.pxDensity),A=this.pxDensity*this.pxDensity,B=new Uint8ClampedArray(Math.max(b*z,0));for(let t=0;t<z;t++)for(let e=0;e<b;e++){let s=0;for(let n=0;n<this.pxDensity;n++)for(let i=0;i<this.pxDensity;i++){if(e+i>P||t+n>S)continue;s+=_[(this.pxDensity*t+n)*P+(this.pxDensity*e+i)]}const i=s/this.pxDensity/A/l+c;B[t*b+e]=Math.round(255-255*i)}const v=f*e.face_height(),F=Math.round(p-v+2*h),C=Math.round(d-h);return{buffer:B,width:Math.ceil(M/this.pxDensity),height:Math.ceil(D/this.pxDensity),top:Math.round(F/this.pxDensity),left:Math.round(C/this.pxDensity)}}_createCanvas(t){const e=document.createElement("canvas");return e.width=e.height=t,e}_edt(t,e,s,i,n,r){for(let a=e;a<e+i;a++)this._edt1d(t,s*r+a,r,n);for(let a=s;a<s+n;a++)this._edt1d(t,a*r+e,1,i)}_edt1d(e,s,i,n){const r=this.parabolaIndices,a=this.parabolaBoundaries,h=this.gridValues;r[0]=0,a[0]=-t,a[1]=t,h[0]=e[s];let o=0;for(let l=1;l<n;l++){h[l]=e[s+l*i];const n=l*l;let c;do{const t=r[o];c=(h[l]-h[t]+n-t*t)/(l-t)/2}while(c<=a[o]&&--o>-1);o++,r[o]=l,a[o]=c,a[o+1]=t}for(let t=0,l=0;t<n;t++){for(;a[l+1]<t;)l++;const n=r[l],o=t-n;e[s+t*i]=h[n]+o*o}}}export{e as GlyphSDFCreator};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- const t=8,e=t-2,c=1e-30,h=64,i=4294967295,o=512,a=256,d=256/360,n=128,p=16777216,r=!1,s=128,f=8,g=10,l=29,m=1,v=16,w=16,x=o/s,b=8,j=50,k=10,q=24,u=3,y=8,z=24,A=8,B=64,C=14,D=4,E={metrics:{width:15,height:17,left:0,top:-7,advance:14}},F=1024,G=0,H=0,I=0,J=1,K=2,L=3,M=4,N=5,O=6,P=12,Q=13,R=5,S=6,T=5,U=6,V=6,W=1<<V,X=W<<1,Y=!1,Z=1.05,$=3,_=1,tt=3,et=3,ct=5,ht=6,it=1.15,ot=2,at=4,dt=128,nt=256,pt=nt-2*at,rt=2,st=128,ft=1,gt=8,lt=500,mt=4,vt=128,wt=10,xt=1024,bt=2,jt=0,kt=1,qt=4,ut=8,yt=16,zt=4,At=1,Bt=4,Ct=8,Dt=32,Et=64,Ft=128,Gt=4,Ht=1,It=1<<20,Jt=.75,Kt=10,Lt=.75,Mt=12,Nt=256,Ot=32,Pt=512,Qt=0,Rt=1;export{Ht as MAX_TILE_RESHUFFLES_PER_FRAME,Kt as RESHUFFLING_EXEMPT_DRAW_CALLS,It as RESHUFFLING_EXEMPT_MEMORY_BYTES,Lt as RESHUFFLING_TARGET_DRAW_EFFICIENCY,Jt as RESHUFFLING_TARGET_MEMORY_EFFICIENCY,d as angleFactor256,K as animationUnit,Nt as attributeStoreInitialSize,F as attributeStoreTextureSize,E as averageGlyphMosaicItem,Rt as backbufferStencilClipped,Qt as backbufferStencilVisible,Dt as bitsetFillHasPatternHeightPrecisionFactor,Et as bitsetFillHasPatternWidthPrecisionFactor,Ct as bitsetFillHasUnresolvedReplacementColor,Bt as bitsetFillRandomPatternOffset,yt as bitsetGenericConsiderAlphaOnly,bt as bitsetGenericLockColor,zt as bitsetLineScaleDash,kt as bitsetMarkerAlignmentMap,jt as bitsetMarkerAlignmentScreen,qt as bitsetMarkerOutlineAllowColorOverride,ut as bitsetMarkerScaleSymbolsProportionally,At as bitsetTypeFillOutline,vt as bufferDataMinimumSize,mt as bufferDataPoolSize,g as chartMaxFields,w as collisionBoxPadding,s as collisionBucketSize,v as collisionEarlyRejectBucketSize,m as collisionMaxZoomDelta,b as collisionPlacementPadding,x as collisionTileBoxSize,n as compressionFactorForU16,M as dataDrivenUnit0,N as dataDrivenUnit1,O as dataDrivenUnit2,r as debugLabels,dt as defaultSdfTextureSize,gt as displayRecordIntPerElement,f as dotDensityMaxFields,X as effectFlag0,Y as enableEarlyLabelDiscard,h as extrudeScale,W as filterFlag0,J as filterFlagsUnit,q as glyphSize,P as gpgpuUnit,ft as gradientTextureExternalPadding,k as heuristicGlyphsPerFeature,j as heuristicGlyphsPerLine,et as hittestSmallSymbolThreshold,_ as hittestToleranceDesktop,$ as hittestToleranceMobile,tt as hittestToleranceSmallSymbol,D as labelPlacementOffsetPadding,Q as localTimeOriginUnit,l as magicLabelLineHeight,Mt as maxGeohashLevel,ot as maxGpuUploadsPerFrame,V as maxHighlightReasons,p as maxRepresentableInt,Pt as maxTextLineWidth,wt as minMaxZoomPrecisionFactor,Ot as minTextLineWidth,c as nanMagicNumber,lt as patchPixelBufferAllocSize,rt as patternFillRasterizationScale,i as pictureFillColor,xt as randomInsidePolygonTextureSize,a as rasterTileSize,st as rasterizedVectorMarkerMinSize,y as sdfBufferGlyphSDFCreator,u as sdfBufferServer,C as sdfRadiusComplex,A as sdfRadiusSimple,B as sdfSizeComplex,z as sdfSizeSimple,at as spritePadding,pt as svgSdfTextureInnerSize,nt as svgSdfTextureSize,I as textureBindingBitmap,H as textureBindingGlyphAtlas,R as textureBindingHighlight0,S as textureBindingHighlight1,T as textureBindingRenderer0,U as textureBindingRenderer1,G as textureBindingSpriteAtlas,Gt as textureUploadManagerBudget,Ft as textureUploadManagerChunkSize,Z as thinLineHalfWidthThreshold,o as tileSize,L as visualVariableUnit,it as vtlHighResCutoff,ht as vtlTextureBindingUnitGlyphs,ct as vtlTextureBindingUnitSprites,e as webglMaxInnerStops,t as webglMaxStops};
2
+ const t=8,e=t-2,c=1e-30,h=64,i=4294967295,o=512,a=256,d=256/360,n=128,p=16777216,r=!1,s=128,f=8,g=10,l=29,m=1,v=16,w=16,x=o/s,b=8,j=50,k=10,q=24,u=3,y=24,z=8,A=3,B=24,C=8,D=4,E={metrics:{width:15,height:17,left:0,top:-7,advance:14}},F=1024,G=0,H=0,I=0,J=1,K=2,L=3,M=4,N=5,O=6,P=12,Q=13,R=5,S=6,T=5,U=6,V=6,W=1<<V,X=W<<1,Y=!1,Z=1.05,$=3,_=1,tt=3,et=3,ct=5,ht=6,it=1.15,ot=2,at=4,dt=128,nt=256,pt=nt-2*at,rt=2,st=128,ft=1,gt=8,lt=500,mt=4,vt=128,wt=10,xt=1024,bt=2,jt=0,kt=1,qt=4,ut=8,yt=16,zt=4,At=1,Bt=4,Ct=8,Dt=32,Et=64,Ft=128,Gt=4,Ht=1,It=1<<20,Jt=.75,Kt=10,Lt=.75,Mt=12,Nt=256,Ot=32,Pt=512,Qt=0,Rt=1;export{Ht as MAX_TILE_RESHUFFLES_PER_FRAME,Kt as RESHUFFLING_EXEMPT_DRAW_CALLS,It as RESHUFFLING_EXEMPT_MEMORY_BYTES,Lt as RESHUFFLING_TARGET_DRAW_EFFICIENCY,Jt as RESHUFFLING_TARGET_MEMORY_EFFICIENCY,d as angleFactor256,K as animationUnit,Nt as attributeStoreInitialSize,F as attributeStoreTextureSize,E as averageGlyphMosaicItem,Rt as backbufferStencilClipped,Qt as backbufferStencilVisible,Dt as bitsetFillHasPatternHeightPrecisionFactor,Et as bitsetFillHasPatternWidthPrecisionFactor,Ct as bitsetFillHasUnresolvedReplacementColor,Bt as bitsetFillRandomPatternOffset,yt as bitsetGenericConsiderAlphaOnly,bt as bitsetGenericLockColor,zt as bitsetLineScaleDash,kt as bitsetMarkerAlignmentMap,jt as bitsetMarkerAlignmentScreen,qt as bitsetMarkerOutlineAllowColorOverride,ut as bitsetMarkerScaleSymbolsProportionally,At as bitsetTypeFillOutline,vt as bufferDataMinimumSize,mt as bufferDataPoolSize,g as chartMaxFields,w as collisionBoxPadding,s as collisionBucketSize,v as collisionEarlyRejectBucketSize,m as collisionMaxZoomDelta,b as collisionPlacementPadding,x as collisionTileBoxSize,n as compressionFactorForU16,M as dataDrivenUnit0,N as dataDrivenUnit1,O as dataDrivenUnit2,r as debugLabels,dt as defaultSdfTextureSize,gt as displayRecordIntPerElement,f as dotDensityMaxFields,X as effectFlag0,Y as enableEarlyLabelDiscard,h as extrudeScale,W as filterFlag0,J as filterFlagsUnit,q as glyphSize,P as gpgpuUnit,ft as gradientTextureExternalPadding,k as heuristicGlyphsPerFeature,j as heuristicGlyphsPerLine,et as hittestSmallSymbolThreshold,_ as hittestToleranceDesktop,$ as hittestToleranceMobile,tt as hittestToleranceSmallSymbol,D as labelPlacementOffsetPadding,Q as localTimeOriginUnit,l as magicLabelLineHeight,Mt as maxGeohashLevel,ot as maxGpuUploadsPerFrame,V as maxHighlightReasons,p as maxRepresentableInt,Pt as maxTextLineWidth,wt as minMaxZoomPrecisionFactor,Ot as minTextLineWidth,c as nanMagicNumber,lt as patchPixelBufferAllocSize,rt as patternFillRasterizationScale,i as pictureFillColor,xt as randomInsidePolygonTextureSize,a as rasterTileSize,st as rasterizedVectorMarkerMinSize,A as sdfBufferGlyphSDFCreator,u as sdfBufferServer,C as sdfRadiusComplex,z as sdfRadiusSimple,B as sdfSizeComplex,y as sdfSizeSimple,at as spritePadding,pt as svgSdfTextureInnerSize,nt as svgSdfTextureSize,I as textureBindingBitmap,H as textureBindingGlyphAtlas,R as textureBindingHighlight0,S as textureBindingHighlight1,T as textureBindingRenderer0,U as textureBindingRenderer1,G as textureBindingSpriteAtlas,Gt as textureUploadManagerBudget,Ft as textureUploadManagerChunkSize,Z as thinLineHalfWidthThreshold,o as tileSize,L as visualVariableUnit,it as vtlHighResCutoff,ht as vtlTextureBindingUnitGlyphs,ct as vtlTextureBindingUnitSprites,e as webglMaxInnerStops,t as webglMaxStops};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as t,__param as e}from"tslib";import{minMaxZoomPrecisionFactor as i,labelPlacementOffsetPadding as o}from"../../../definitions.js";import{location as s,option as l,uniform as r,texture as a,define as n,input as d,ComputeVertexInput as p}from"../../GraphShaderModule.js";import{mod as u,Float as y,floor as m,step as c,and as h,lessThan as f,greaterThanEqual as v,Vec3 as w,Mat3 as b,Vec2 as x,ifElse as V,equal as S,greaterThan as R,Bool as g,Vec4 as z,texture2D as j,smoothstep as A,Int as C,bitRShift as O,bitAnd as M,Sampler2D as T}from"../../graph/glsl.js";import{AFeatureShader as L,FeatureVertexInput as P,FeatureFragmentInput as H}from"../shaders/AFeatureShader.js";import{bitsetTextIsBackground as N,bitsetTextIsMapAligned as U}from"../shaders/constants.js";import{isRectHittest as q,distPointTriangle as _,failHittest as k,hittestScreenRect as D}from"../shaders/hittestUtils.js";import{MosaicInfo as I}from"../shaders/MosaicInfo.js";import{getBit as B}from"../shaders/utils.js";import{VisualVariableColor as E}from"../shaders/VisualVariableColor.js";import{VisualVariableOpacity as F}from"../shaders/VisualVariableOpacity.js";import{VisualVariableRotation as W}from"../shaders/VisualVariableRotation.js";import{VisualVariableSizeMinMaxValue as G}from"../shaders/VisualVariableSizeMinMaxValue.js";import{VisualVariableSizeScaleStops as Z}from"../shaders/VisualVariableSizeScaleStops.js";import{VisualVariableSizeStops as J}from"../shaders/VisualVariableSizeStops.js";import{VisualVariableSizeUnitValue as K}from"../shaders/VisualVariableSizeUnitValue.js";import{getVisualVariableSize as Q,getVisualVariableRotation as X}from"../shaders/vvUtils.js";const Y=360/254;class $ extends P{}t([s(3,z)],$.prototype,"color",void 0),t([s(4,x)],$.prototype,"offset",void 0),t([s(5,x)],$.prototype,"textureUV",void 0),t([s(6,z)],$.prototype,"fontAndReferenceSize",void 0),t([s(7,z)],$.prototype,"outlineColor",void 0),t([s(8,z)],$.prototype,"haloColor",void 0),t([s(9,x)],$.prototype,"outlineAndHaloSize",void 0),t([s(10,x)],$.prototype,"zoomRange",void 0),t([s(11,y)],$.prototype,"clipAngle",void 0),t([s(12,z)],$.prototype,"referenceSymbol",void 0),t([s(15,y)],$.prototype,"visibility",void 0);class tt extends p{}t([s(13,x)],tt.prototype,"offsetNextVertex1",void 0),t([s(14,x)],tt.prototype,"offsetNextVertex2",void 0);class et extends H{}class it extends L{constructor(){super(...arguments),this.type="TextShader",this.computeAttributes={offset:["offsetNextVertex1","offsetNextVertex2"]},this.textRenderPassType=0,this.isBackgroundPass=!1,this.isLabel=!1}clipLabel(t,e){const{clipAngle:o,zoomRange:s,visibility:l}=t,r=o.multiply(Y),a=u(r.subtract(this.view.rotation),new y(360));let n=new y(0);const d=m(this.view.currentZoom.multiply(i)).divide(i),p=s.x,w=s.y,b=new y(1).subtract(c(p,d)).multiply(2),x=new y(h(v(a,new y(90)),f(a,new y(270)))).multiply(2),V=new y(2).multiply(new y(1).subtract(c(d,w)));return n=n.add(e.multiply(b)),n=n.add(e.multiply(x)),n=n.add(V),l&&(n=n.add(l)),n}vertex(t,e){const i=B(t.bitset,N),s=new y(1).subtract(i);let l=t.fontAndReferenceSize[0];const r=t.fontAndReferenceSize[1],a=t.fontAndReferenceSize[2],n=t.fontAndReferenceSize[3];let d=l.divide(a);const p=1===this.textRenderPassType?t.outlineColor:2===this.textRenderPassType?t.haloColor:this._getVertexColor(t),u=this.view.displayViewScreenMat3.multiply(new w(t.pos,1));let m=t.offset,c=new y(1),h=b.identity(),f=new x(0);if(this.isLabel){if(!t.referenceSymbol)throw new Error("InternalError: Optional attribute 'referenceSymbol' expected for labels");const e=t.referenceSymbol,i=e.xy,s=e.z,l=this._unpackDirection(e.w),r=Q(this,t.id,s).divide(2),a=l.multiply(r.add(o));f=i.add(a),m=m.add(f)}else{c=Q(this,t.id,r).divide(r),l=l.multiply(c),d=d.multiply(c),m=m.multiply(c),h=X(this,t.id),m=h.multiply(new w(m,0)).xy}const v=B(t.bitset,U),j=this._getViewRotationMatrix(v).multiply(new w(m,0));let A=this.isLabel?this.clipLabel(t,v):this.clip(t.id,t.zoomRange);A=this.isBackgroundPass?A.add(s.multiply(2)):A.add(i.multiply(2));let C=new y(0);if(1===this.textRenderPassType){A=A.add(V(S(t.outlineAndHaloSize.x,new y(0)),new y(2),new y(0)));C=new y(t.outlineAndHaloSize.x).divide(d).divide(n)}if(2===this.textRenderPassType){const e=t.outlineAndHaloSize.x,i=new y(t.outlineAndHaloSize.y);A=A.add(V(S(i,new y(0)),new y(2),new y(0)));C=i.add(e).divide(d).divide(n)}const O=this.isLabel?R(A,new y(1)):new g(!1);return{glPosition:new z(u.xy.add(j.xy),A,1),color:p,size:d,textureUV:t.textureUV.divide(this.mosaicInfo.size),antialiasingWidth:new y(.315).divide(a.divide(n)).multiply(a).divide(l).divide(this.view.pixelRatio),outlineDistanceOffset:C,...this.maybeRunHittest(t,e,{vvSizeAdjustment:c,vvRotation:h,labelOffset:f,labelClipped:O})}}_getViewRotationMatrix(t){const e=this.view.displayViewMat3,i=this.view.displayMat3,o=new y(1).subtract(t);return e.multiply(t).add(i.multiply(o))}fragment(t){const e=new y(2/8),i=new y(1).subtract(e),o=j(this.mosaicTexture,t.textureUV).a;let s=i.subtract(t.outlineDistanceOffset);this.highlight&&(s=s.divide(2));const l=t.antialiasingWidth,r=A(s.subtract(l),s.add(l),o);return this.getFragmentOutput(t.color.multiply(r),t)}computeHittestTriangle(t,e,{vvSizeAdjustment:i,vvRotation:o,labelOffset:s}){let l,r,a;this.isLabel?(l=new w(t.offset.add(s),0),r=new w(e.offsetNextVertex1.add(s),0),a=new w(e.offsetNextVertex2.add(s),0)):(l=o.multiply(new w(t.offset.multiply(i),0)),r=o.multiply(new w(e.offsetNextVertex1.multiply(i),0)),a=o.multiply(new w(e.offsetNextVertex2.multiply(i),0)));const{viewMat3:n,tileMat3:d}=this.view,p=n.multiply(d).multiply(new w(t.pos,1));return{pos0:p.add(d.multiply(l)).xy,pos1:p.add(d.multiply(r)).xy,pos2:p.add(d.multiply(a)).xy}}hittest(t,e,i){const{vvSizeAdjustment:o,vvRotation:s,labelOffset:l,labelClipped:r}=i,a=q(this.hittestRequest),{pos0:n,pos1:d,pos2:p}=this.computeHittestTriangle(t,e,{vvSizeAdjustment:o,vvRotation:s,labelOffset:l});return V(a,()=>{const{tlbr:t}=this.hittestRequest;return this.isLabel?V(r,k(this.hittestRequest),D(n,d,p,t)):D(n,d,p,t)},()=>{const t=_(this.hittestRequest.position,n,d,p),e=this.isLabel?V(r,k(this.hittestRequest),t):t;return V(R(e,this.hittestRequest.distance),new y(0),new y(1))})}_unpackDirection(t){const e=new C(t),i=O(e,new C(2)),o=M(e,new C(3));return new x(new y(i).subtract(1),new y(o).subtract(1))}_getVertexColor(t){let e=t.color;if(this.visualVariableColor){const i=this.getColorValue(t.id);e=this.visualVariableColor.getColor(i,t.color,new g(!1))}if(this.visualVariableOpacity){const i=this.getOpacityValue(t.id),o=this.visualVariableOpacity.getOpacity(i);e=e.multiply(o)}return e}}t([l(E)],it.prototype,"visualVariableColor",void 0),t([l(F)],it.prototype,"visualVariableOpacity",void 0),t([l(W)],it.prototype,"visualVariableRotation",void 0),t([l(G)],it.prototype,"visualVariableSizeMinMaxValue",void 0),t([l(Z)],it.prototype,"visualVariableSizeScaleStops",void 0),t([l(J)],it.prototype,"visualVariableSizeStops",void 0),t([l(K)],it.prototype,"visualVariableSizeUnitValue",void 0),t([r(I)],it.prototype,"mosaicInfo",void 0),t([a(T)],it.prototype,"mosaicTexture",void 0),t([n],it.prototype,"textRenderPassType",void 0),t([n],it.prototype,"isBackgroundPass",void 0),t([n],it.prototype,"isLabel",void 0),t([e(0,d($)),e(1,d(tt))],it.prototype,"vertex",null),t([e(0,d(et))],it.prototype,"fragment",null);export{et as TextFragmentInput,it as TextShader,$ as TextVertexInput};
2
+ import{__decorate as t,__param as e}from"tslib";import{minMaxZoomPrecisionFactor as i,labelPlacementOffsetPadding as o}from"../../../definitions.js";import{location as s,option as l,uniform as r,texture as a,define as n,input as p,ComputeVertexInput as d}from"../../GraphShaderModule.js";import{mod as u,Float as y,floor as m,step as c,and as h,lessThan as f,greaterThanEqual as v,Vec3 as w,Mat3 as b,Vec2 as x,ifElse as V,equal as S,greaterThan as R,Bool as g,Vec4 as z,texture2D as j,smoothstep as A,Int as C,bitRShift as O,bitAnd as M,Sampler2D as T}from"../../graph/glsl.js";import{AFeatureShader as L,FeatureVertexInput as P,FeatureFragmentInput as H}from"../shaders/AFeatureShader.js";import{bitsetTextIsBackground as N,bitsetTextIsMapAligned as U}from"../shaders/constants.js";import{isRectHittest as q,distPointTriangle as _,failHittest as k,hittestScreenRect as D}from"../shaders/hittestUtils.js";import{MosaicInfo as I}from"../shaders/MosaicInfo.js";import{getBit as B}from"../shaders/utils.js";import{VisualVariableColor as E}from"../shaders/VisualVariableColor.js";import{VisualVariableOpacity as F}from"../shaders/VisualVariableOpacity.js";import{VisualVariableRotation as W}from"../shaders/VisualVariableRotation.js";import{VisualVariableSizeMinMaxValue as G}from"../shaders/VisualVariableSizeMinMaxValue.js";import{VisualVariableSizeScaleStops as Z}from"../shaders/VisualVariableSizeScaleStops.js";import{VisualVariableSizeStops as J}from"../shaders/VisualVariableSizeStops.js";import{VisualVariableSizeUnitValue as K}from"../shaders/VisualVariableSizeUnitValue.js";import{getVisualVariableSize as Q,getVisualVariableRotation as X}from"../shaders/vvUtils.js";const Y=360/254;class $ extends P{}t([s(3,z)],$.prototype,"color",void 0),t([s(4,x)],$.prototype,"offset",void 0),t([s(5,x)],$.prototype,"textureUV",void 0),t([s(6,z)],$.prototype,"fontAndReferenceSize",void 0),t([s(7,z)],$.prototype,"outlineColor",void 0),t([s(8,z)],$.prototype,"haloColor",void 0),t([s(9,x)],$.prototype,"outlineAndHaloSize",void 0),t([s(10,x)],$.prototype,"zoomRange",void 0),t([s(11,y)],$.prototype,"clipAngle",void 0),t([s(12,z)],$.prototype,"referenceSymbol",void 0),t([s(15,y)],$.prototype,"visibility",void 0);class tt extends d{}t([s(13,x)],tt.prototype,"offsetNextVertex1",void 0),t([s(14,x)],tt.prototype,"offsetNextVertex2",void 0);class et extends H{}class it extends L{constructor(){super(...arguments),this.type="TextShader",this.computeAttributes={offset:["offsetNextVertex1","offsetNextVertex2"]},this.textRenderPassType=0,this.isBackgroundPass=!1,this.isLabel=!1}clipLabel(t,e){const{clipAngle:o,zoomRange:s,visibility:l}=t,r=o.multiply(Y),a=u(r.subtract(this.view.rotation),new y(360));let n=new y(0);const p=m(this.view.currentZoom.multiply(i)).divide(i),d=s.x,w=s.y,b=new y(1).subtract(c(d,p)).multiply(2),x=new y(h(v(a,new y(90)),f(a,new y(270)))).multiply(2),V=new y(2).multiply(new y(1).subtract(c(p,w)));return n=n.add(e.multiply(b)),n=n.add(e.multiply(x)),n=n.add(V),l&&(n=n.add(l)),n}vertex(t,e){const i=B(t.bitset,N),s=new y(1).subtract(i);let l=t.fontAndReferenceSize[0];const r=t.fontAndReferenceSize[1],a=t.fontAndReferenceSize[2],n=t.fontAndReferenceSize[3];let p=l.divide(a);const d=1===this.textRenderPassType?t.outlineColor:2===this.textRenderPassType?t.haloColor:this._getVertexColor(t),u=this.view.displayViewScreenMat3.multiply(new w(t.pos,1));let m=t.offset,c=new y(1),h=b.identity(),f=new x(0);if(this.isLabel){if(!t.referenceSymbol)throw new Error("InternalError: Optional attribute 'referenceSymbol' expected for labels");const e=t.referenceSymbol,i=e.xy,s=e.z,l=this._unpackDirection(e.w),r=Q(this,t.id,s).divide(2),a=l.multiply(r.add(o));f=i.add(a),m=m.add(f)}else{c=Q(this,t.id,r).divide(r),l=l.multiply(c),p=p.multiply(c),m=m.multiply(c),h=X(this,t.id),m=h.multiply(new w(m,0)).xy}const v=B(t.bitset,U),j=this._getViewRotationMatrix(v).multiply(new w(m,0));let A=this.isLabel?this.clipLabel(t,v):this.clip(t.id,t.zoomRange);A=this.isBackgroundPass?A.add(s.multiply(2)):A.add(i.multiply(2));let C=new y(0);if(1===this.textRenderPassType){A=A.add(V(S(t.outlineAndHaloSize.x,new y(0)),new y(2),new y(0)));C=new y(t.outlineAndHaloSize.x).divide(p).divide(n)}if(2===this.textRenderPassType){const e=t.outlineAndHaloSize.x,i=new y(t.outlineAndHaloSize.y);A=A.add(V(S(i,new y(0)),new y(2),new y(0)));C=i.add(e).divide(p).divide(n)}const O=this.isLabel?R(A,new y(1)):new g(!1);return{glPosition:new z(u.xy.add(j.xy),A,1),color:d,size:p,textureUV:t.textureUV.divide(this.mosaicInfo.size),antialiasingWidth:new y(.105).multiply(a).divide(l).divide(this.view.pixelRatio),outlineDistanceOffset:C,...this.maybeRunHittest(t,e,{vvSizeAdjustment:c,vvRotation:h,labelOffset:f,labelClipped:O})}}_getViewRotationMatrix(t){const e=this.view.displayViewMat3,i=this.view.displayMat3,o=new y(1).subtract(t);return e.multiply(t).add(i.multiply(o))}fragment(t){const e=new y(2/8),i=new y(1).subtract(e),o=j(this.mosaicTexture,t.textureUV).a;let s=i.subtract(t.outlineDistanceOffset);this.highlight&&(s=s.divide(2));const l=t.antialiasingWidth,r=A(s.subtract(l),s.add(l),o);return this.getFragmentOutput(t.color.multiply(r),t)}computeHittestTriangle(t,e,{vvSizeAdjustment:i,vvRotation:o,labelOffset:s}){let l,r,a;this.isLabel?(l=new w(t.offset.add(s),0),r=new w(e.offsetNextVertex1.add(s),0),a=new w(e.offsetNextVertex2.add(s),0)):(l=o.multiply(new w(t.offset.multiply(i),0)),r=o.multiply(new w(e.offsetNextVertex1.multiply(i),0)),a=o.multiply(new w(e.offsetNextVertex2.multiply(i),0)));const{viewMat3:n,tileMat3:p}=this.view,d=n.multiply(p).multiply(new w(t.pos,1));return{pos0:d.add(p.multiply(l)).xy,pos1:d.add(p.multiply(r)).xy,pos2:d.add(p.multiply(a)).xy}}hittest(t,e,i){const{vvSizeAdjustment:o,vvRotation:s,labelOffset:l,labelClipped:r}=i,a=q(this.hittestRequest),{pos0:n,pos1:p,pos2:d}=this.computeHittestTriangle(t,e,{vvSizeAdjustment:o,vvRotation:s,labelOffset:l});return V(a,()=>{const{tlbr:t}=this.hittestRequest;return this.isLabel?V(r,k(this.hittestRequest),D(n,p,d,t)):D(n,p,d,t)},()=>{const t=_(this.hittestRequest.position,n,p,d),e=this.isLabel?V(r,k(this.hittestRequest),t):t;return V(R(e,this.hittestRequest.distance),new y(0),new y(1))})}_unpackDirection(t){const e=new C(t),i=O(e,new C(2)),o=M(e,new C(3));return new x(new y(i).subtract(1),new y(o).subtract(1))}_getVertexColor(t){let e=t.color;if(this.visualVariableColor){const i=this.getColorValue(t.id);e=this.visualVariableColor.getColor(i,t.color,new g(!1))}if(this.visualVariableOpacity){const i=this.getOpacityValue(t.id),o=this.visualVariableOpacity.getOpacity(i);e=e.multiply(o)}return e}}t([l(E)],it.prototype,"visualVariableColor",void 0),t([l(F)],it.prototype,"visualVariableOpacity",void 0),t([l(W)],it.prototype,"visualVariableRotation",void 0),t([l(G)],it.prototype,"visualVariableSizeMinMaxValue",void 0),t([l(Z)],it.prototype,"visualVariableSizeScaleStops",void 0),t([l(J)],it.prototype,"visualVariableSizeStops",void 0),t([l(K)],it.prototype,"visualVariableSizeUnitValue",void 0),t([r(I)],it.prototype,"mosaicInfo",void 0),t([a(T)],it.prototype,"mosaicTexture",void 0),t([n],it.prototype,"textRenderPassType",void 0),t([n],it.prototype,"isBackgroundPass",void 0),t([n],it.prototype,"isLabel",void 0),t([e(0,p($)),e(1,p(tt))],it.prototype,"vertex",null),t([e(0,p(et))],it.prototype,"fragment",null);export{et as TextFragmentInput,it as TextShader,$ as TextVertexInput};