@arcgis/core 5.2.0-next.161 → 5.2.0-next.163
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.
- package/arcgisGlobal.d.ts +1 -0
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/092e311cb7aea92a6a26.js +1 -0
- package/assets/esri/core/workers/chunks/17c6d66b47aa690df0d4.js +1 -0
- package/assets/esri/core/workers/chunks/1e1c45f75020d5e05dc3.js +1 -0
- package/assets/esri/core/workers/chunks/{4ed76fb5f6096a089f5b.js → 1f7f4f821d422b46cae7.js} +1 -1
- package/assets/esri/core/workers/chunks/1fe24ffcd88280d84fbe.js +1 -0
- package/assets/esri/core/workers/chunks/25a3bd8bede2d07d3a54.js +1 -0
- package/assets/esri/core/workers/chunks/2ad69cc496235702bbf2.js +1 -0
- package/assets/esri/core/workers/chunks/3f46acfda693c70abbdd.js +1 -0
- package/assets/esri/core/workers/chunks/434a8ba841a59e0deab9.js +1 -0
- package/assets/esri/core/workers/chunks/45fd2b456a6997584ca1.js +1 -0
- package/assets/esri/core/workers/chunks/{8480fe6b4372dbbfa7cc.js → 46c5371c7a627537098c.js} +10 -10
- package/assets/esri/core/workers/chunks/53ff68d4f9e365fc15cd.js +1 -0
- package/assets/esri/core/workers/chunks/542e5640ea1b80ef801a.js +1 -0
- package/assets/esri/core/workers/chunks/5a9b7eb26f936f03d02e.js +1 -0
- package/assets/esri/core/workers/chunks/5d76f4d97beee494bbbf.js +1 -0
- package/assets/esri/core/workers/chunks/5dc604e3691f36f03959.js +1 -0
- package/assets/esri/core/workers/chunks/5f07f52bb8b7721f08d3.js +1 -0
- package/assets/esri/core/workers/chunks/{32b351b047ce1eb58146.js → 60c79934799927114074.js} +1 -1
- package/assets/esri/core/workers/chunks/67f54efc817b241f8746.js +1 -0
- package/assets/esri/core/workers/chunks/7159d9c36869cd82599e.js +29 -0
- package/assets/esri/core/workers/chunks/771dd92cb3e6a3427f66.js +1 -0
- package/assets/esri/core/workers/chunks/792d2b62356a1d953c88.js +1 -0
- package/assets/esri/core/workers/chunks/89c8b0f684c1f27d149e.js +1 -0
- package/assets/esri/core/workers/chunks/{9401cc22373566e1171e.js → 8a7b02037151767542f1.js} +1 -1
- package/assets/esri/core/workers/chunks/8ab57cb1bfd3dc8d3c2a.js +1 -0
- package/assets/esri/core/workers/chunks/95b82cbbe355266c65d7.js +1 -0
- package/assets/esri/core/workers/chunks/97b5f4302fb867c829f4.js +1 -0
- package/assets/esri/core/workers/chunks/9de5ad77bc37ec142218.js +1 -0
- package/assets/esri/core/workers/chunks/a65951f1d5702cfd996e.js +1 -0
- package/assets/esri/core/workers/chunks/a6f969851d4278865cc5.js +1 -0
- package/assets/esri/core/workers/chunks/aa4f3751f0d830113bed.js +1 -0
- package/assets/esri/core/workers/chunks/b1d989b72203113a06fe.js +1 -0
- package/assets/esri/core/workers/chunks/{fc73737b41e086f0ce0b.js → b59aaf30c7fe2c8d1aaa.js} +1 -1
- package/assets/esri/core/workers/chunks/b6d71a4ab788a09714f3.js +1 -0
- package/assets/esri/core/workers/chunks/b704f489d0f072a0bfcd.js +1 -0
- package/assets/esri/core/workers/chunks/{28b74bc77f7c13080074.js → be97a629e2ae4d13ceb3.js} +1 -1
- package/assets/esri/core/workers/chunks/{d33360c4f85203edafff.js → bf4d913e523eae2fda28.js} +1 -1
- package/assets/esri/core/workers/chunks/{d6cd0039d6e9c40961e3.js → d1f98c5249c487eb96f1.js} +1 -1
- package/assets/esri/core/workers/chunks/e077e321a3109c2fbbe2.js +1 -0
- package/assets/esri/core/workers/chunks/e251921bc5367258c4d2.js +1 -0
- package/assets/esri/core/workers/chunks/ee08ae5b73439a1ff666.js +1 -0
- package/assets/esri/core/workers/chunks/fcaf9450642fcef83286.js +1 -0
- package/assets/esri/core/workers/chunks/feb41abc03d677df6f73.js +1 -0
- package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +2 -5
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/chunks/DefaultMaterial.glsl.js +1 -1
- package/chunks/RealisticTree.glsl.js +1 -1
- package/chunks/RibbonLine.glsl.js +70 -64
- package/config.d.ts +11 -30
- package/config.js +1 -1
- package/core/workers/workerFactory.js +1 -1
- package/core/workers.d.ts +17 -0
- package/kernel.js +1 -1
- package/layers/FeatureLayer.d.ts +39 -19
- package/layers/FeatureLayer.js +1 -1
- package/layers/MapImageLayer.d.ts +10 -3
- package/layers/MapNotesLayer.d.ts +2 -2
- package/layers/SubtypeGroupLayer.d.ts +64 -1
- package/layers/SubtypeGroupLayer.js +1 -1
- package/layers/geospatialPDF/GeospatialPDFLayerWorker.js +1 -1
- package/layers/graphics/sources/FeatureLayerSource.js +1 -1
- package/layers/graphics/sources/support/QueryTask.js +1 -1
- package/layers/knowledgeGraph/KnowledgeGraphSublayer.d.ts +16 -16
- package/layers/mixins/ArcGISMapService.js +1 -1
- package/layers/ogc/ogcFeatureUtils.js +1 -1
- package/layers/support/LabelClass.d.ts +20 -2
- package/layers/support/Sublayer.d.ts +61 -17
- package/layers/support/Sublayer.js +1 -1
- package/layers/support/TimeInformation.js +2 -0
- package/package.json +2 -2
- package/rest/layerSources/DynamicDataLayer.d.ts +4 -2
- package/rest/layerSources/DynamicDataLayer.js +1 -1
- package/rest/layerSources/DynamicMapLayer.d.ts +1 -1
- package/rest/layerSources/DynamicWorkspaceLayer.d.ts +49 -0
- package/rest/layerSources/DynamicWorkspaceLayer.js +2 -0
- package/rest/layerSources/typeUtils.js +2 -0
- package/rest/query/operations/queryRelatedRecords.js +1 -1
- package/rest/query/operations/queryUtils.js +1 -1
- package/rest/support/Query.js +1 -1
- package/rest/support/RelationshipQuery.js +1 -1
- package/rest/support/timeUtils.js +2 -0
- package/symbols/LineSymbol3D.d.ts +5 -3
- package/symbols/TextSymbol.d.ts +27 -2
- package/views/2d/analysis/AreaMeasurement/AreaMeasurementTool.js +1 -1
- package/views/2d/analysis/AreaMeasurementAnalysisView2D.js +1 -1
- package/views/2d/analysis/DistanceMeasurement/DistanceMeasurementTool.js +1 -1
- package/views/2d/analysis/DistanceMeasurementAnalysisView2D.js +1 -1
- package/views/2d/analysis/ElevationProfileAnalysisView2D.d.ts +6 -0
- package/views/2d/analysis/ElevationProfileAnalysisView2D.js +1 -1
- package/views/2d/layers/features/layerAdapters/FeatureLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/SubtypeGroupLayerAdapter.js +1 -1
- package/views/3d/GroundView3D.js +1 -1
- package/views/3d/analysis/Dimension/DimensionVisualization.js +1 -1
- package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
- package/views/3d/analysis/Dimension/lengthDimensionManipulatorUtils.js +1 -1
- package/views/3d/analysis/ElevationProfileAnalysisView3D.d.ts +6 -0
- package/views/3d/analysis/ElevationProfileAnalysisView3D.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightObserverPlugin.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightTargetPlugin.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedFieldOfViewManipulation.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedPlacementPointPlugin.js +1 -1
- package/views/3d/analysis/ViewshedAnalysisView3D.js +1 -1
- package/views/3d/environment/SunLighting.d.ts +17 -1
- package/views/3d/environment/SunLighting.js +1 -1
- package/views/3d/environment/VirtualLighting.d.ts +17 -1
- package/views/3d/environment/VirtualLighting.js +1 -1
- package/views/3d/interactive/editingTools/move/MoveTool3D.js +1 -1
- package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
- package/views/3d/interactive/manipulators/ResizeManipulator.js +1 -1
- package/views/3d/interactive/manipulators/RotateManipulator.js +1 -1
- package/views/3d/interactive/manipulators/ShiftManipulator.js +1 -1
- package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/LineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
- package/views/3d/layers/FlowSubView3D.js +1 -1
- package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
- package/views/3d/support/elevationUpdateUtils.js +1 -1
- package/views/3d/terrain/TerrainData.js +1 -1
- package/views/3d/terrain/terrainUtils.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentData.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialExternalColor.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/output/getEmissions.glsl.js +2 -2
- package/views/3d/webgl-engine/lib/GridLocalOriginFactory.js +1 -1
- package/views/3d/webgl-engine/lib/RenderFeature.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
- package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
- package/views/3d/webgl-engine/parts/RenderView.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
- package/views/BasemapView.js +1 -1
- package/views/BreakpointsOwner.d.ts +6 -0
- package/views/GroundView.d.ts +1 -1
- package/views/GroundView.js +1 -1
- package/views/SceneView.js +1 -1
- package/views/analysis/ElevationProfile/ElevationProfileTool.js +1 -1
- package/views/support/ScheduledQueueProcessor.js +1 -1
- package/views/types.d.ts +3 -0
- package/views/webgl/ShaderBuilder.js +1 -1
- package/widgets/Daylight/DaylightViewModel.js +1 -1
- package/widgets/OrientedImageryViewer.js +1 -1
- package/widgets/Sketch/SketchViewModel.d.ts +61 -2
- package/widgets/Sketch/SketchViewModel.js +1 -1
- package/widgets/TimeSlider/TimeSliderViewModel.d.ts +3 -2
- package/widgets/TimeSlider.d.ts +5 -4
- package/assets/esri/core/workers/chunks/0a5a9885ee6f5b5f99f0.js +0 -1
- package/assets/esri/core/workers/chunks/0bd5012da287469b17d5.js +0 -1
- package/assets/esri/core/workers/chunks/112befb3b5b406f29298.js +0 -1
- package/assets/esri/core/workers/chunks/172cfeb5f415e4662432.js +0 -1
- package/assets/esri/core/workers/chunks/2d13a22f7b2427927fdc.js +0 -1
- package/assets/esri/core/workers/chunks/3e3e076fa5e8d5d5f33f.js +0 -1
- package/assets/esri/core/workers/chunks/42fd2a7b22b03dacc6a7.js +0 -1
- package/assets/esri/core/workers/chunks/43cf862577bf37344ff4.js +0 -1
- package/assets/esri/core/workers/chunks/4be559c53fe5ac0d0d2e.js +0 -1
- package/assets/esri/core/workers/chunks/4e350d6c76957f5beb70.js +0 -1
- package/assets/esri/core/workers/chunks/4fe34da1c5d63e66ce98.js +0 -1
- package/assets/esri/core/workers/chunks/510502a4c9a2ba8d3f7b.js +0 -1
- package/assets/esri/core/workers/chunks/612104dff305ff062dfa.js +0 -29
- package/assets/esri/core/workers/chunks/6c9266120d46e8c69dbf.js +0 -1
- package/assets/esri/core/workers/chunks/6c9acd9e4e201dc380e9.js +0 -1
- package/assets/esri/core/workers/chunks/74c866e0b66e61751861.js +0 -1
- package/assets/esri/core/workers/chunks/830ab9b8d000169da675.js +0 -1
- package/assets/esri/core/workers/chunks/8ff23ac0abeea0073b47.js +0 -1
- package/assets/esri/core/workers/chunks/939942b00ba380e2957e.js +0 -1
- package/assets/esri/core/workers/chunks/95dbbddac6581b9d671f.js +0 -1
- package/assets/esri/core/workers/chunks/a40b6d8b5c73e06e14d4.js +0 -1
- package/assets/esri/core/workers/chunks/aa1ac7954e4f0fefe15b.js +0 -1
- package/assets/esri/core/workers/chunks/b5df193c93e9c19f9700.js +0 -1
- package/assets/esri/core/workers/chunks/befa32b9e7b3fbdd431e.js +0 -1
- package/assets/esri/core/workers/chunks/c2c1f51a4668055c2838.js +0 -1
- package/assets/esri/core/workers/chunks/d0f5bee9db1ad51ae687.js +0 -1
- package/assets/esri/core/workers/chunks/d95d63e8d51244d71afb.js +0 -1
- package/assets/esri/core/workers/chunks/dfd2dc5cdc97ffba8926.js +0 -1
- package/assets/esri/core/workers/chunks/e1b7806ab3e1967b15f0.js +0 -1
- package/assets/esri/core/workers/chunks/e1f5d00878f27e1d413e.js +0 -1
- package/assets/esri/core/workers/chunks/e8bf653376a607f00897.js +0 -1
- package/assets/esri/core/workers/chunks/f4a7aa3cdbc0c429c359.js +0 -1
- package/assets/esri/core/workers/chunks/ffbcb816b611049a6276.js +0 -1
|
@@ -43,7 +43,7 @@ import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.
|
|
|
43
43
|
${M(X,`vColor.rgb *`)} matColor,
|
|
44
44
|
texColor.rgb,
|
|
45
45
|
vExternalColor.rgb,
|
|
46
|
-
colorMixMode
|
|
46
|
+
int(colorMixMode)
|
|
47
47
|
);
|
|
48
48
|
float opacity_ = getDefaultMaterialOpacity(texColor.a);
|
|
49
49
|
|
|
@@ -34,7 +34,7 @@ import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.
|
|
|
34
34
|
${O(P.hasVertexColors,`vColor.rgb * `)} matColor,
|
|
35
35
|
texColor.rgb,
|
|
36
36
|
vExternalColor.rgb,
|
|
37
|
-
colorMixMode
|
|
37
|
+
int(colorMixMode)
|
|
38
38
|
);
|
|
39
39
|
float opacity_ = getDefaultMaterialOpacity(texColor.a);
|
|
40
40
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{sliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{RibbonVertexPosition as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{evaluateSceneLightingFragment as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/evaluateSceneLightingFragment.glsl.js";import{LineStipple as r,computePixelSize as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js";import{MarkerSizing as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{NormalUtils as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{PiUtils as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{positionOutsideClipSpace as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{metersPerRenderUnit as l,screenPixelSizePerDistance as u,inverseProjectionMatrix as d,nearFar as f,viewport as p}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{ColorConversion as
|
|
2
|
+
import{sliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{RibbonVertexPosition as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{evaluateSceneLightingFragment as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/evaluateSceneLightingFragment.glsl.js";import{LineStipple as r,computePixelSize as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js";import{MarkerSizing as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{NormalUtils as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{PiUtils as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{positionOutsideClipSpace as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{metersPerRenderUnit as l,screenPixelSizePerDistance as u,inverseProjectionMatrix as d,nearFar as f,viewport as p}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{ColorConversion as ee}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{NoPerspectiveWrite as m,NoPerspectiveRead as h}from"../views/3d/webgl-engine/core/shaderLibrary/util/NoPerspective.glsl.js";import{addProjViewLocalOrigin as g,addPixelRatio as _}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float4PassUniform as v}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatBindUniform as y}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{FloatPassUniform as b}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as x,If as S}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{alphaCutoff as C}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{animatedAlpha as w}from"../views/3d/webgl-engine/shaders/animatedAlpha.glsl.js";import{outputColorHighlightOLID as T}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{getTextureBackedBufferModule as E}from"../views/3d/webgl-engine/shaders/RibbonLineTextureBuffer.glsl.js";import{ShaderBuilder as te}from"../views/webgl/ShaderBuilder.js";const D=1;function O(D){let O=new te,{attributes:k,varyings:A,vertex:j,fragment:M}=O,{applyMarkerOffset:N,draped:P,shadingEnabled:F,output:I,capType:L,stippleEnabled:R,falloffEnabled:z,wireframe:B,innerColorEnabled:V,hasAnimation:H,hasScreenSizePerspective:U,worldSized:W,imagePattern:G,useFlatJoinVarying:K}=D,q=L===2,J=R&&q,Y=z||J,X=R||q,Z=D.usePerspectiveCorrectStipple,Q=E(D).createBuilder(O,D);j.inputs.add(`position`,()=>Q.getTextureAttribute(`position`)),D.hasVVSize?j.inputs.add(`sizeFeatureAttribute`,()=>Q.getTextureAttribute(`sizeFeatureAttribute`)):j.inputs.add(`size`,()=>Q.getTextureAttribute(`size`)),D.hasVVOpacity&&j.inputs.add(`opacityFeatureAttribute`,()=>Q.getTextureAttribute(`opacityFeatureAttribute`)),D.hasVVColor?j.inputs.add(`colorFeatureAttribute`,()=>Q.getTextureAttribute(`colorFeatureAttribute`)):j.inputs.add(`color`,()=>Q.getTextureAttribute(`color`)),M.include(s),O.include(t,D),O.include(r,D),I===11?(O.varyings.add(`objectAndLayerIdColorVarying`,`vec4`),j.code.add(x`
|
|
3
3
|
vec4 getOlidColor() {
|
|
4
4
|
return ${Q.getTextureAttribute(`olidColor`)};
|
|
5
5
|
}
|
|
@@ -7,9 +7,9 @@ import{sliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.gls
|
|
|
7
7
|
void forwardObjectAndLayerIdColor() {
|
|
8
8
|
objectAndLayerIdColorVarying = getOlidColor();
|
|
9
9
|
}
|
|
10
|
-
`),
|
|
10
|
+
`),M.code.add(x`void outputObjectAndLayerIdColor() {
|
|
11
11
|
fragColor = objectAndLayerIdColorVarying;
|
|
12
|
-
}`)):(
|
|
12
|
+
}`)):(j.code.add(x`void forwardObjectAndLayerIdColor() {}`),M.code.add(x`void outputObjectAndLayerIdColor() {}`));let $=N&&!P;if($&&O.include(a,D),g(j,D),P&&(W||R)){let e=W?`groundMetersToScreenRatio`:`planarDistanceToScreenRatio`;j.uniforms.add(new y(e,e=>1/(e.screenToPlanarDistanceRatio*(W?e.planarDistanceToGroundRatio:1))))}return W&&!P&&j.uniforms.add(l,u),j.uniforms.add(d,f,p,new b(`miterLimit`,e=>e.join===`miter`?e.miterLimit:0)),j.constants.add(`LARGE_HALF_FLOAT`,`float`,65500),j.constants.add(`EPS`,`float`,.001),j.constants.add(`NUM_JOIN_SUBDIVISIONS`,`float`,D.numJoinSubdivisions),k.add(`textureElementIndex`,`uint`),k.add(`lineParameters`,`vec2`),A.add(`vColor`,`vec4`),A.add(`vpos`,`vec3`,{invariant:!0}),A.add(`vLineDistance`,`float`),A.add(`vLineWidth`,`float`),K?A.add(`vIsInsideJoin`,`int`,{flat:!0}):A.add(`vIsInsideJoin`,`float`),A.add(`vStretchFactor`,`float`),A.add(`vJoinCenterLineSDFs`,`vec2`),A.add(`vSubdivisionFactor`,`float`),R&&A.add(`vLineSizeInv`,`float`),Y&&A.add(`vLineDistanceNorm`,`float`),q&&(A.add(`vSegmentSDF`,`float`),A.add(`vReverseSegmentSDF`,`float`)),j.code.add(x`vec3 perpendicular(vec3 v) {
|
|
13
13
|
return vec3(v.y, -v.x, 0.0);
|
|
14
14
|
}
|
|
15
15
|
float nearPlaneInterpolationFactor(float nearPlaneDistance, vec4 start, vec4 end) {
|
|
@@ -20,17 +20,17 @@ float s = sin(a);
|
|
|
20
20
|
float c = cos(a);
|
|
21
21
|
mat2 m = mat2(c, -s, s, c);
|
|
22
22
|
return vec3(m * v.xy, v.z);
|
|
23
|
-
}`),
|
|
23
|
+
}`),j.code.add(x`vec4 projectAndScale(vec4 pos) {
|
|
24
24
|
vec4 posNdc = proj * pos;
|
|
25
25
|
posNdc.xy *= viewport.zw / posNdc.w;
|
|
26
26
|
posNdc.z /= posNdc.w;
|
|
27
27
|
return posNdc;
|
|
28
|
-
}`),
|
|
28
|
+
}`),j.code.add(x`
|
|
29
29
|
void clip(
|
|
30
30
|
inout vec4 pos,
|
|
31
31
|
inout vec4 prev,
|
|
32
32
|
inout vec4 next,
|
|
33
|
-
${
|
|
33
|
+
${S(Z,x`inout float u0, inout float prevU0, inout float nextU0,`)}
|
|
34
34
|
bool isStartVertex
|
|
35
35
|
) {
|
|
36
36
|
float adjustedNearPlaneDistance = nearFar[0] * 0.99;
|
|
@@ -41,7 +41,7 @@ return posNdc;
|
|
|
41
41
|
if (prev.z < -nearFar[0]) {
|
|
42
42
|
// Previous position in front of near plane
|
|
43
43
|
float clipFactor = nearPlaneInterpolationFactor(adjustedNearPlaneDistance, prev, pos);
|
|
44
|
-
${
|
|
44
|
+
${S(Z,x`u0 = mix(prevU0, u0, clipFactor); nextU0 = u0;`)}
|
|
45
45
|
pos = mix(prev, pos, clipFactor);
|
|
46
46
|
next = pos;
|
|
47
47
|
} else {
|
|
@@ -51,7 +51,7 @@ return posNdc;
|
|
|
51
51
|
if (next.z < -nearFar[0]) {
|
|
52
52
|
// Next position in front of near plane
|
|
53
53
|
float clipFactor = nearPlaneInterpolationFactor(adjustedNearPlaneDistance, pos, next);
|
|
54
|
-
${
|
|
54
|
+
${S(Z,x`u0 = mix(u0, nextU0, clipFactor); prevU0 = u0;`)}
|
|
55
55
|
pos = mix(pos, next, clipFactor);
|
|
56
56
|
prev = pos;
|
|
57
57
|
} else {
|
|
@@ -63,25 +63,25 @@ return posNdc;
|
|
|
63
63
|
if (prev.z > -nearFar[0]) {
|
|
64
64
|
// Previous position behind near plane
|
|
65
65
|
float clipFactor = nearPlaneInterpolationFactor(adjustedNearPlaneDistance, pos, prev);
|
|
66
|
-
${
|
|
66
|
+
${S(Z,x`prevU0 = mix(u0, prevU0, clipFactor);`)}
|
|
67
67
|
prev = mix(pos, prev, clipFactor);
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
if (next.z > -nearFar[0]) {
|
|
71
71
|
// Next position behind near plane
|
|
72
72
|
float clipFactor = nearPlaneInterpolationFactor(adjustedNearPlaneDistance, next, pos);
|
|
73
|
-
${
|
|
73
|
+
${S(Z,x`nextU0 = mix(nextU0, u0, clipFactor);`)}
|
|
74
74
|
next = mix(next, pos, clipFactor);
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
|
-
`),
|
|
78
|
+
`),_(j),j.constants.add(`aaWidth`,`float`,1),M.constants.add(`aaWidth`,`float`,1),j.main.add(x`
|
|
79
79
|
vec3 position = ${Q.getTextureAttribute(`position`)};
|
|
80
80
|
float u0 = ${Q.getTextureAttribute(`u0`)};
|
|
81
|
-
${
|
|
81
|
+
${S(W,x`
|
|
82
82
|
float prevU0 = ${Q.getTextureAttribute(`u0`,-1)};
|
|
83
83
|
float nextU0 = ${Q.getTextureAttribute(`u0`,1)};
|
|
84
|
-
${
|
|
84
|
+
${S(!P,x`
|
|
85
85
|
u0 *= metersPerRenderUnit;
|
|
86
86
|
prevU0 *= metersPerRenderUnit;
|
|
87
87
|
nextU0 *= metersPerRenderUnit;
|
|
@@ -90,6 +90,10 @@ return posNdc;
|
|
|
90
90
|
|
|
91
91
|
// unpack values from vertex type
|
|
92
92
|
float vertexType = abs(lineParameters.y);
|
|
93
|
+
${S(!K,x`
|
|
94
|
+
bool isInsideJoin = vertexType > 8.0;
|
|
95
|
+
vertexType -= isInsideJoin ? 8.0 : 0.0;
|
|
96
|
+
`)}
|
|
93
97
|
float lineSide = sign(lineParameters.y);
|
|
94
98
|
bool isStartVertex = vertexType == 2.0 || vertexType == 4.0;
|
|
95
99
|
vec3 prevPosition = ${Q.getTextureAttribute(`position`,-1)};
|
|
@@ -106,11 +110,11 @@ return posNdc;
|
|
|
106
110
|
vec4 next = view * vec4(nextPosition, 1.0);
|
|
107
111
|
|
|
108
112
|
bool isJoin = vertexType < 3.0;
|
|
109
|
-
`),$&&
|
|
113
|
+
`),$&&j.main.add(x`vec4 other = isStartVertex ? next : prev;
|
|
110
114
|
bool markersHidden = areWorldMarkersHidden(pos.xyz, other.xyz);
|
|
111
115
|
if (!isJoin && !markersHidden) {
|
|
112
116
|
pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
|
|
113
|
-
}`),
|
|
117
|
+
}`),O.include(m),j.code.add(x`
|
|
114
118
|
vec2 computeJoinAndCapDisplacement(
|
|
115
119
|
bool isJoin,
|
|
116
120
|
bool isStartVertex,
|
|
@@ -156,9 +160,11 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
|
|
|
156
160
|
}
|
|
157
161
|
|
|
158
162
|
// Compute stretch compensation for feathering.
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
163
|
+
${S(K,x`
|
|
164
|
+
if (subdivisionFactor > 0.0) {
|
|
165
|
+
vIsInsideJoin = 1;
|
|
166
|
+
}
|
|
167
|
+
`)}
|
|
162
168
|
vSubdivisionFactor = isOutside ? subdivisionFactor : 0.5;
|
|
163
169
|
|
|
164
170
|
if (miterDisplacementLen > miterLimit * lineWidth) {
|
|
@@ -188,14 +194,14 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
|
|
|
188
194
|
}
|
|
189
195
|
|
|
190
196
|
if (isOutside && displacementLen > miterLimit * lineWidth) {
|
|
191
|
-
${
|
|
197
|
+
${S(D.roundJoins,x`
|
|
192
198
|
vec3 startDir = perpendicular(leftLen < EPS ? right : left);
|
|
193
199
|
vec3 endDir = perpendicular(rightLen < EPS ? left : right);
|
|
194
|
-
float factor = ${
|
|
200
|
+
float factor = ${R?x`min(1.0, subdivisionFactor * ((NUM_JOIN_SUBDIVISIONS + 1.0) / NUM_JOIN_SUBDIVISIONS))`:x`subdivisionFactor`};
|
|
195
201
|
|
|
196
202
|
float rotationAngle = acos(clamp(dot(startDir.xy, endDir.xy), -1.0, 1.0));
|
|
197
203
|
joinDisplacementDir = rotateZ(startDir, -lineSide * factor * rotationAngle);
|
|
198
|
-
`,
|
|
204
|
+
`,x`
|
|
199
205
|
/**
|
|
200
206
|
* Convert to bevel join if miterLimit is exceeded.
|
|
201
207
|
* Here vertices with a subdivisionFactor > 0 are either START vertices or
|
|
@@ -207,19 +213,19 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
|
|
|
207
213
|
vec3 startDir = perpendicular(leftLen < EPS ? right : left);
|
|
208
214
|
vec3 endDir = perpendicular(rightLen < EPS ? left : right);
|
|
209
215
|
|
|
210
|
-
${
|
|
216
|
+
${S(R,x`joinDisplacementDir = (isStartVertex || subdivisionFactor > 0.0) ? endDir : startDir;`,x`joinDisplacementDir = mix(startDir, endDir, subdivisionFactor);`)}
|
|
211
217
|
`)}
|
|
212
218
|
displacementLen = lineWidth;
|
|
213
219
|
}
|
|
214
220
|
} else {
|
|
215
221
|
joinDisplacementDir = perpendicular(isStartVertex ? right : left);
|
|
216
|
-
${
|
|
222
|
+
${L===0?``:x`capDisplacementDir = vec3((isStartVertex ? -right : left).xy, 0.0);`}
|
|
217
223
|
}
|
|
218
224
|
|
|
219
225
|
return (joinDisplacementDir.xy * lineSide + capDisplacementDir.xy) * displacementLen;
|
|
220
226
|
}
|
|
221
|
-
`),
|
|
222
|
-
clip(pos, prev, next, ${
|
|
227
|
+
`),j.main.add(x`
|
|
228
|
+
clip(pos, prev, next, ${S(Z,x`u0, prevU0, nextU0,`)} isStartVertex);
|
|
223
229
|
|
|
224
230
|
vec3 clippedPos = pos.xyz;
|
|
225
231
|
vec3 clippedCenter = mix(pos.xyz, isStartVertex ? next.xyz : prev.xyz, 0.5);
|
|
@@ -231,29 +237,29 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
|
|
|
231
237
|
vec3 left = (pos.xyz - prev.xyz);
|
|
232
238
|
vec3 right = (next.xyz - pos.xyz);
|
|
233
239
|
|
|
234
|
-
float lineSize = getSize(${
|
|
235
|
-
${
|
|
236
|
-
${
|
|
240
|
+
float lineSize = getSize(${S(U,`clippedPos`)});
|
|
241
|
+
${S(R&&U,`float patternLineSize = getSize(clippedCenter);`)}
|
|
242
|
+
${S(R&&!U,`float patternLineSize = lineSize;`)}
|
|
237
243
|
|
|
238
|
-
${
|
|
239
|
-
${
|
|
244
|
+
${S(W,x`
|
|
245
|
+
${S(P,x`float lineSizeScreen = lineSize * groundMetersToScreenRatio;`,x`
|
|
240
246
|
float metersPerScreenPixel = max(-clippedPos.z, nearFar[0]) * metersPerRenderUnit * screenPixelSizePerDistance;
|
|
241
247
|
float lineSizeScreen = lineSize / metersPerScreenPixel;
|
|
242
248
|
`)}
|
|
243
249
|
float lineWidth = lineSizeScreen * pixelRatio + aaWidth;
|
|
244
|
-
`,
|
|
250
|
+
`,x`
|
|
245
251
|
float lineWidth = lineSize * pixelRatio + aaWidth;
|
|
246
252
|
`)}
|
|
247
253
|
|
|
248
254
|
vLineWidth = noPerspectiveWrite(lineWidth, pos.w);
|
|
249
|
-
${
|
|
250
|
-
`),X&&
|
|
255
|
+
${R?x`vLineSizeInv = noPerspectiveWrite(1.0 / ${W?`lineSize`:`max(lineSize, 1.0)`}, pos.w);`:``}
|
|
256
|
+
`),X&&j.main.add(x`
|
|
251
257
|
float isEndVertex = float(!isStartVertex);
|
|
252
258
|
vec3 segmentOrigin = mix(pos.xyz, prev.xyz, isEndVertex);
|
|
253
259
|
vec3 segment = mix(right, left, isEndVertex);
|
|
254
|
-
${q?
|
|
255
|
-
`),
|
|
256
|
-
vIsInsideJoin = 0;
|
|
260
|
+
${q?x`vec3 segmentEnd = mix(next.xyz, pos.xyz, isEndVertex);`:``}
|
|
261
|
+
`),j.main.add(x`
|
|
262
|
+
vIsInsideJoin = ${K?x`0`:x`float(isInsideJoin)`};
|
|
257
263
|
vStretchFactor = 1.0;
|
|
258
264
|
vSubdivisionFactor = 0.0;
|
|
259
265
|
vJoinCenterLineSDFs = vec2(LARGE_HALF_FLOAT);
|
|
@@ -282,10 +288,10 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
|
|
|
282
288
|
float lineDistNorm = noPerspectiveWrite(lineSide, pos.w);
|
|
283
289
|
|
|
284
290
|
vLineDistance = lineWidth * lineDistNorm;
|
|
285
|
-
${Y?
|
|
291
|
+
${Y?x`vLineDistanceNorm = lineDistNorm;`:``}
|
|
286
292
|
|
|
287
293
|
pos.xyz += displacement;
|
|
288
|
-
`),
|
|
294
|
+
`),j.main.add(x`if (isJoin) {
|
|
289
295
|
vec2 joinCenterToVertex = displacementXY;
|
|
290
296
|
vec2 leftCenterlineDir = left.xy;
|
|
291
297
|
vec2 rightCenterlineDir = right.xy;
|
|
@@ -300,36 +306,36 @@ dot(vec2(leftCenterlineDir.y, -leftCenterlineDir.x), joinCenterToVertex)
|
|
|
300
306
|
),
|
|
301
307
|
pos.w
|
|
302
308
|
);
|
|
303
|
-
}`),q&&
|
|
309
|
+
}`),q&&j.main.add(x`vec2 segmentDir = normalize(segment.xy);
|
|
304
310
|
vSegmentSDF = noPerspectiveWrite((isJoin && isStartVertex) ? LARGE_HALF_FLOAT : (dot(pos.xy - segmentOrigin.xy, segmentDir)), pos.w);
|
|
305
|
-
vReverseSegmentSDF = noPerspectiveWrite((isJoin && !isStartVertex) ? LARGE_HALF_FLOAT : (dot(pos.xy - segmentEnd.xy, -segmentDir)), pos.w);`),
|
|
306
|
-
float stippleDistanceToScreenRatio = computeWorldToScreenRatio(segmentCenter);`),
|
|
311
|
+
vReverseSegmentSDF = noPerspectiveWrite((isJoin && !isStartVertex) ? LARGE_HALF_FLOAT : (dot(pos.xy - segmentEnd.xy, -segmentDir)), pos.w);`),R&&(P?j.main.add(x`float stippleDistanceToScreenRatio = ${W?`groundMetersToScreenRatio`:`planarDistanceToScreenRatio`};`):j.main.add(x`vec3 segmentCenter = mix((nextPosition + position) * 0.5, (position + prevPosition) * 0.5, isEndVertex);
|
|
312
|
+
float stippleDistanceToScreenRatio = computeWorldToScreenRatio(segmentCenter);`),j.main.add(x`
|
|
307
313
|
float segmentLengthScreenDouble = length(segment.xy);
|
|
308
314
|
float segmentLengthScreen = segmentLengthScreenDouble * 0.5;
|
|
309
315
|
float discreteStippleDistanceToScreenRatio = discretizeStippleDistanceToScreenRatio(stippleDistanceToScreenRatio);
|
|
310
|
-
float segmentLengthRender = ${
|
|
316
|
+
float segmentLengthRender = ${S(W,x`abs(mix(nextU0 - u0, u0 - prevU0, isEndVertex))`,x`length(mix(nextPosition - position, position - prevPosition, isEndVertex))`)};
|
|
311
317
|
|
|
312
|
-
${
|
|
313
|
-
float segmentStartRender = ${
|
|
318
|
+
${S(!P||W,x`
|
|
319
|
+
float segmentStartRender = ${S(W,x`mix(u0, prevU0, isEndVertex)`,x`mix(u0, u0 - segmentLengthRender, isEndVertex)`)};
|
|
314
320
|
`)}
|
|
315
321
|
|
|
316
322
|
vStipplePatternStretch = stippleDistanceToScreenRatio / discreteStippleDistanceToScreenRatio;
|
|
317
|
-
`),
|
|
318
|
-
float startPseudoScreen = u0 * discreteStippleDistanceToScreenRatio - mix(0.0, segmentLengthPseudoScreen, isEndVertex);`):
|
|
319
|
-
float segmentLengthPseudoScreen = segmentLengthRender * discreteStippleDistanceToScreenRatio;`),
|
|
323
|
+
`),P?j.main.add(x`float segmentLengthPseudoScreen = segmentLengthScreen / pixelRatio * discreteStippleDistanceToScreenRatio / stippleDistanceToScreenRatio;
|
|
324
|
+
float startPseudoScreen = u0 * discreteStippleDistanceToScreenRatio - mix(0.0, segmentLengthPseudoScreen, isEndVertex);`):j.main.add(x`float startPseudoScreen = segmentStartRender * discreteStippleDistanceToScreenRatio;
|
|
325
|
+
float segmentLengthPseudoScreen = segmentLengthRender * discreteStippleDistanceToScreenRatio;`),j.uniforms.add(new b(`stipplePatternPixelSize`,e=>i(e))),j.main.add(x`
|
|
320
326
|
float patternLength = patternLineSize * stipplePatternPixelSize;
|
|
321
327
|
vec2 stippleDistanceLimits;
|
|
322
328
|
|
|
323
|
-
${
|
|
329
|
+
${S(W,x`
|
|
324
330
|
stippleDistanceLimits = vec2(segmentStartRender, segmentStartRender + segmentLengthRender);
|
|
325
331
|
vStipplePatternStretch = 1.0;
|
|
326
332
|
|
|
327
|
-
${
|
|
333
|
+
${S(G,x`
|
|
328
334
|
// The v-coordinate used in case of an image pattern.
|
|
329
335
|
bool isLeft = lineSide < 0.0;
|
|
330
336
|
vStippleV = isLeft ? 0.0 : 1.0;
|
|
331
337
|
`)}
|
|
332
|
-
`,
|
|
338
|
+
`,x`
|
|
333
339
|
// Compute the coordinates at both start and end of the line segment, because we need both to clamp to in the
|
|
334
340
|
// fragment shader
|
|
335
341
|
stippleDistanceLimits = computeStippleDistanceLimits(startPseudoScreen, segmentLengthPseudoScreen, segmentLengthScreen, patternLength);
|
|
@@ -349,7 +355,7 @@ float segmentLengthPseudoScreen = segmentLengthRender * discreteStippleDistanceT
|
|
|
349
355
|
vStippleDistance += (stippleDisplacementFactor - isEndVertex) * (stippleDistanceLimits.y - stippleDistanceLimits.x);
|
|
350
356
|
}
|
|
351
357
|
|
|
352
|
-
${
|
|
358
|
+
${S(Z,x`
|
|
353
359
|
float segmentStartInverseW = 1.0 / mix(pos.w, prev.w, isEndVertex);
|
|
354
360
|
float segmentEndInverseW = 1.0 / mix(next.w, pos.w, isEndVertex);
|
|
355
361
|
vStipplePerspective = noPerspectiveWrite(
|
|
@@ -365,7 +371,7 @@ float segmentLengthPseudoScreen = segmentLengthRender * discreteStippleDistanceT
|
|
|
365
371
|
// Disable stipple distance limits on caps
|
|
366
372
|
vStippleLimitsAndCaps.zw = isJoin ? vec2(0.0) :
|
|
367
373
|
isStartVertex ? vec2(1.0, 0.0) : vec2(0.0, 1.0);
|
|
368
|
-
`)),
|
|
374
|
+
`)),j.main.add(x`
|
|
369
375
|
// Convert back into NDC
|
|
370
376
|
pos.xy = (pos.xy / viewport.zw) * pos.w;
|
|
371
377
|
pos.z = pos.z * pos.w;
|
|
@@ -373,14 +379,14 @@ float segmentLengthPseudoScreen = segmentLengthRender * discreteStippleDistanceT
|
|
|
373
379
|
vColor = getColor();
|
|
374
380
|
vColor.a = noPerspectiveWrite(vColor.a, pos.w);
|
|
375
381
|
|
|
376
|
-
${
|
|
382
|
+
${B&&!P?`pos.z -= EPS * pos.w;`:``}
|
|
377
383
|
|
|
378
384
|
// transform final position to camera space for slicing
|
|
379
385
|
vpos = (inverseProjectionMatrix * pos).xyz;
|
|
380
386
|
gl_Position = pos;
|
|
381
387
|
forwardObjectAndLayerIdColor();
|
|
382
|
-
}`),
|
|
383
|
-
float stretchFactor = vIsInsideJoin
|
|
388
|
+
}`),O.include(T,D),O.include(h),M.include(ee),M.include(C),M.include(e,D),M.main.add(`discardBySlice(vpos);`),M.code.add(x`float lineFeatheringFactor(float lineWidth, float lineDistance) {
|
|
389
|
+
float stretchFactor = float(vIsInsideJoin) > 0.5 ? noPerspectiveRead(vStretchFactor) : 1.0;
|
|
384
390
|
float featherWidth = 2.0;
|
|
385
391
|
float featherStartDistance = lineWidth - featherWidth / stretchFactor;
|
|
386
392
|
float straightFeatherStartDistance = lineWidth - featherWidth;
|
|
@@ -389,15 +395,15 @@ float feather = (value - featherStartDistance) / (lineWidth - featherStartDistan
|
|
|
389
395
|
vec2 joinCenterSDFs = noPerspectiveRead(vJoinCenterLineSDFs);
|
|
390
396
|
float joinCenterDistance = abs(vSubdivisionFactor > 0.5 ? joinCenterSDFs.x : joinCenterSDFs.y);
|
|
391
397
|
float straightFeather = (joinCenterDistance - straightFeatherStartDistance) / (lineWidth - straightFeatherStartDistance);
|
|
392
|
-
feather = vIsInsideJoin
|
|
398
|
+
feather = float(vIsInsideJoin) > 0.5 ? max(feather, straightFeather) : feather;
|
|
393
399
|
float coverage = min(lineWidth - aaWidth, 1.0);
|
|
394
400
|
return clamp(1.0 - feather, 0.0, coverage);
|
|
395
|
-
}`),
|
|
401
|
+
}`),M.main.add(x`
|
|
396
402
|
float lineWidth = noPerspectiveRead(vLineWidth);
|
|
397
403
|
float lineDistance = noPerspectiveRead(vLineDistance);
|
|
398
|
-
${
|
|
399
|
-
`),J&&
|
|
400
|
-
vec4 finalColor = albedo;`):(q&&
|
|
404
|
+
${S(Y,x`float lineDistanceNorm = noPerspectiveRead(vLineDistanceNorm);`)}
|
|
405
|
+
`),J&&M.main.add(x`float nominalLineWidth = lineWidth - aaWidth;`),B?M.main.add(x`vec4 albedo = vec4(1.0, 0.0, 1.0, 1.0);
|
|
406
|
+
vec4 finalColor = albedo;`):(q&&M.main.add(x`
|
|
401
407
|
float sdf = noPerspectiveRead(min(vSegmentSDF, vReverseSegmentSDF));
|
|
402
408
|
vec2 fragmentPosition = vec2(min(sdf, 0.0), lineDistance);
|
|
403
409
|
|
|
@@ -408,7 +414,7 @@ vec4 finalColor = albedo;`):(q&&N.main.add(S`
|
|
|
408
414
|
if (capCoverage < alphaCutoff) {
|
|
409
415
|
discard;
|
|
410
416
|
}
|
|
411
|
-
`),J?
|
|
417
|
+
`),J?M.main.add(x`vec2 stipplePosition = vec2(
|
|
412
418
|
min(getStippleCapDistance(), 0.0) * nominalLineWidth,
|
|
413
419
|
lineDistance
|
|
414
420
|
);
|
|
@@ -416,8 +422,8 @@ float stippleRadius = length(stipplePosition);
|
|
|
416
422
|
float stippleCapSDF = (stippleRadius - nominalLineWidth) * 0.5;
|
|
417
423
|
float stippleCoverage = clamp(0.5 - stippleCapSDF, 0.0, 1.0);
|
|
418
424
|
float lineCoverage = min(lineFeatheringFactor(lineWidth, lineDistance), capCoverage);
|
|
419
|
-
float stippleAlpha = lineCoverage > 0.0 ? min(stippleCoverage, lineCoverage) / lineCoverage : 0.0;`):
|
|
420
|
-
color.a = noPerspectiveRead(color.a);`),
|
|
425
|
+
float stippleAlpha = lineCoverage > 0.0 ? min(stippleCoverage, lineCoverage) / lineCoverage : 0.0;`):M.main.add(x`float stippleAlpha = getStippleAlpha(lineWidth);`),I!==11&&M.main.add(x`discardByStippleAlpha(stippleAlpha, alphaCutoff);`),M.uniforms.add(new v(`intrinsicColor`,e=>e.color)).main.add(x`vec4 color = intrinsicColor * vColor;
|
|
426
|
+
color.a = noPerspectiveRead(color.a);`),V&&M.uniforms.add(new v(`innerColor`,e=>e.innerColor??e.color),new b(`innerWidth`,(e,t)=>e.innerWidth*t.camera.pixelRatio)).main.add(x`float distToInner = abs(lineDistance) - innerWidth;
|
|
421
427
|
float innerAA = clamp(0.5 - distToInner, 0.0, 1.0);
|
|
422
428
|
float innerAlpha = innerColor.a + color.a * (1.0 - innerColor.a);
|
|
423
|
-
color = mix(color, vec4(innerColor.rgb, innerAlpha), innerAA);`),
|
|
429
|
+
color = mix(color, vec4(innerColor.rgb, innerAlpha), innerAA);`),M.main.add(`vec4 albedo = blendStipple(color, stippleAlpha);`),z&&(M.uniforms.add(new b(`falloff`,e=>e.falloff)),M.main.add(x`albedo.a *= pow(max(0.0, 1.0 - abs(lineDistanceNorm)), falloff);`)),M.main.add(x`albedo.a *= ${J?`lineCoverage`:`lineFeatheringFactor(lineWidth, lineDistance)`};`),H&&(j.main.add(`vec4 animatedAlphaTimeStamps = ${Q.getTextureAttribute(`timeStamps`)};`),O.include(w,D),M.main.add(`albedo.a *= animatedAlpha();`)),F?(A.add(`vnormal`,`vec3`),j.include(o,D),j.main.add(`vnormal = getLocalUp(vpos, localOrigin);`),O.include(n,D),M.main.add(`vec4 finalColor = evaluateSceneLightingFragment(vpos, vnormal, albedo);`)):M.main.add(`vec4 finalColor = albedo;`)),M.main.add(x`outputColorHighlightOLID(applySlice(finalColor, vpos), albedo.rgb);`),O}const k=Object.freeze(Object.defineProperty({__proto__:null,build:O,numRoundJoinSubdivisions:1},Symbol.toStringTag,{value:`Module`}));export{k as R,O as b,D as n};
|
package/config.d.ts
CHANGED
|
@@ -235,27 +235,7 @@ export interface Config {
|
|
|
235
235
|
/**
|
|
236
236
|
* An object with properties that control various aspects of [the workers framework](https://developers.arcgis.com/javascript/latest/references/core/core/workers/).
|
|
237
237
|
*
|
|
238
|
-
* @
|
|
239
|
-
* // Load an ESM worker module and invoke its "getMaxNumber" function.
|
|
240
|
-
*
|
|
241
|
-
* const connection = await workers.open(new URL("./workersFolder/Calculator.js", import.meta.url).href, {
|
|
242
|
-
* isESM: true
|
|
243
|
-
* });
|
|
244
|
-
*
|
|
245
|
-
* try {
|
|
246
|
-
* // Invoke the worker function and receive its result on the main thread.
|
|
247
|
-
* const result = await connection.invoke("getMaxNumber", [0, 1, 2, 3, 4]);
|
|
248
|
-
* console.log(result);
|
|
249
|
-
* } finally {
|
|
250
|
-
* connection.close();
|
|
251
|
-
* }
|
|
252
|
-
*
|
|
253
|
-
* //*********************************************************
|
|
254
|
-
* // module: workersFolder/Calculator.js
|
|
255
|
-
* //*********************************************************
|
|
256
|
-
* export function getMaxNumber(numbers) {
|
|
257
|
-
* return Math.max(...numbers);
|
|
258
|
-
* }
|
|
238
|
+
* @deprecated since version 5.2. AMD/SystemJS worker loading is deprecated. Use ESM worker modules with [open()](https://developers.arcgis.com/javascript/latest/references/core/core/workers/#open) instead.
|
|
259
239
|
*/
|
|
260
240
|
workers: WorkersConfig;
|
|
261
241
|
}
|
|
@@ -284,11 +264,12 @@ export interface ApiKeysScopeConfig {
|
|
|
284
264
|
urls: RegExp | string | Array<RegExp | string>;
|
|
285
265
|
}
|
|
286
266
|
|
|
267
|
+
/** @deprecated since version 5.2. AMD/SystemJS worker loading is deprecated. Use ESM worker modules with [open()](https://developers.arcgis.com/javascript/latest/references/core/core/workers/#open) instead. */
|
|
287
268
|
export interface WorkersConfig {
|
|
288
269
|
/**
|
|
289
270
|
* The absolute URL to the AMD or SystemJS loader used in the worker. The AMD CDN build has a default value for when this property isn't set. This is required when using custom workers.
|
|
290
271
|
*
|
|
291
|
-
* @deprecated since version 5.2. AMD/SystemJS worker loading is deprecated. Use ESM worker modules with [
|
|
272
|
+
* @deprecated since version 5.2. AMD/SystemJS worker loading is deprecated. Use ESM worker modules with [open()](https://developers.arcgis.com/javascript/latest/references/core/core/workers/#open) instead. See this [ESM sample](https://github.com/Esri/jsapi-resources/tree/main/templates/geometry-operator-worker).
|
|
292
273
|
*/
|
|
293
274
|
loaderUrl?: string;
|
|
294
275
|
/**
|
|
@@ -297,13 +278,13 @@ export interface WorkersConfig {
|
|
|
297
278
|
*
|
|
298
279
|
* `RemoteClient` is the SDK’s internal worker-side runtime. It loads and instantiates the worker module, then manages communication with the main thread through the worker connection.
|
|
299
280
|
*
|
|
300
|
-
* @deprecated since version 5.2. Custom worker runtime paths are deprecated. Use the default worker runtime with ESM worker modules opened via [
|
|
281
|
+
* @deprecated since version 5.2. Custom worker runtime paths are deprecated. Use the default worker runtime with ESM worker modules opened via [open()](https://developers.arcgis.com/javascript/latest/references/core/core/workers/#open).
|
|
301
282
|
*/
|
|
302
283
|
workerPath?: string;
|
|
303
284
|
/**
|
|
304
285
|
* The AMD configuration object that is set in each worker.
|
|
305
286
|
*
|
|
306
|
-
* @deprecated since version 5.2. AMD/SystemJS worker loading is deprecated. Use ESM worker modules with [
|
|
287
|
+
* @deprecated since version 5.2. AMD/SystemJS worker loading is deprecated. Use ESM worker modules with [open()](https://developers.arcgis.com/javascript/latest/references/core/core/workers/#open) instead.
|
|
307
288
|
*/
|
|
308
289
|
loaderConfig?: WorkersLoaderConfig;
|
|
309
290
|
}
|
|
@@ -311,37 +292,37 @@ export interface WorkersConfig {
|
|
|
311
292
|
/**
|
|
312
293
|
* Configuration for the legacy AMD worker loader.
|
|
313
294
|
*
|
|
314
|
-
* @deprecated since version 5.2. AMD/SystemJS worker loading is deprecated. Use ESM worker modules with [
|
|
295
|
+
* @deprecated since version 5.2. AMD/SystemJS worker loading is deprecated. Use ESM worker modules with [open()](https://developers.arcgis.com/javascript/latest/references/core/core/workers/#open) instead.
|
|
315
296
|
*/
|
|
316
297
|
export interface WorkersLoaderConfig {
|
|
317
298
|
/**
|
|
318
299
|
* The AMD loader loads all code relative to the baseUrl.
|
|
319
300
|
*
|
|
320
|
-
* @deprecated since version 5.2. AMD/SystemJS worker loading is deprecated. Use ESM worker modules with [
|
|
301
|
+
* @deprecated since version 5.2. AMD/SystemJS worker loading is deprecated. Use ESM worker modules with [open()](https://developers.arcgis.com/javascript/latest/references/core/core/workers/#open) instead.
|
|
321
302
|
*/
|
|
322
303
|
baseUrl?: string;
|
|
323
304
|
/**
|
|
324
305
|
* Determines if the specified feature capabilities are supported.
|
|
325
306
|
*
|
|
326
|
-
* @deprecated since version 5.2. AMD/SystemJS worker loading is deprecated. Use ESM worker modules with [
|
|
307
|
+
* @deprecated since version 5.2. AMD/SystemJS worker loading is deprecated. Use ESM worker modules with [open()](https://developers.arcgis.com/javascript/latest/references/core/core/workers/#open) instead.
|
|
327
308
|
*/
|
|
328
309
|
has?: Record<string, any>;
|
|
329
310
|
/**
|
|
330
311
|
* Map paths in module identifiers to different paths.
|
|
331
312
|
*
|
|
332
|
-
* @deprecated since version 5.2. AMD/SystemJS worker loading is deprecated. Use ESM worker modules with [
|
|
313
|
+
* @deprecated since version 5.2. AMD/SystemJS worker loading is deprecated. Use ESM worker modules with [open()](https://developers.arcgis.com/javascript/latest/references/core/core/workers/#open) instead.
|
|
333
314
|
*/
|
|
334
315
|
map?: Record<string, Record<string, string>>;
|
|
335
316
|
/**
|
|
336
317
|
* An array of objects which provide the package name and its location.
|
|
337
318
|
*
|
|
338
|
-
* @deprecated since version 5.2. AMD/SystemJS worker loading is deprecated. Use ESM worker modules with [
|
|
319
|
+
* @deprecated since version 5.2. AMD/SystemJS worker loading is deprecated. Use ESM worker modules with [open()](https://developers.arcgis.com/javascript/latest/references/core/core/workers/#open) instead.
|
|
339
320
|
*/
|
|
340
321
|
packages?: object[];
|
|
341
322
|
/**
|
|
342
323
|
* Map of module id fragments to file paths.
|
|
343
324
|
*
|
|
344
|
-
* @deprecated since version 5.2. AMD/SystemJS worker loading is deprecated. Use ESM worker modules with [
|
|
325
|
+
* @deprecated since version 5.2. AMD/SystemJS worker loading is deprecated. Use ESM worker modules with [open()](https://developers.arcgis.com/javascript/latest/references/core/core/workers/#open) instead.
|
|
345
326
|
*/
|
|
346
327
|
paths?: Record<string, string>;
|
|
347
328
|
}
|
package/config.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import"./core/has.js";import{deepMerge as e}from"./core/object.js";const t={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}};globalThis.esriConfig&&(e(t,globalThis.esriConfig,!0),delete t.has),!t.assetsPath&&(t.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@5.2.0-next.
|
|
2
|
+
import"./core/has.js";import{deepMerge as e}from"./core/object.js";const t={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}};globalThis.esriConfig&&(e(t,globalThis.esriConfig,!0),delete t.has),!t.assetsPath&&(t.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@5.2.0-next.163/assets`,t.defaultAssetsPath=t.assetsPath);export{t as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{getAssetUrl as e}from"../../assets.js";import t from"../../config.js";import{getLocale as n}from"../../intl.js";import{fullVersion as r}from"../../kernel.js";import has from"../has.js";import
|
|
2
|
+
import{getAssetUrl as e}from"../../assets.js";import t from"../../config.js";import{getLocale as n}from"../../intl.js";import{fullVersion as r}from"../../kernel.js";import{deprecatedProperty as i}from"../deprecate.js";import has from"../has.js";import a from"../Logger.js";import{notDeepEqual as o}from"../object.js";import{makeAbsolute as s}from"../urlUtils.js";import{loaderConfig as c}from"./loaderConfig.js";import{receiveMessage as l,MessageType as u}from"./utils.js";import d from"./WorkerFallback.js";const f=()=>a.getLogger(`esri.core.workers.workerFactory`),{HANDSHAKE:p}=u;let m,h;const g=`Failed to create Worker. Fallback to execute module in main thread`;async function _(){if(!has(`esri-workers`))return v(new d);if(!m&&!h)try{let e='"use strict";let globalId=0;const outgoing=new Map,configuration={CONFIGURATION};self.esriConfig=configuration.esriConfig;const workerPath=self.esriConfig.workers.workerPath,HANDSHAKE=0,OPEN=1,OPENED=2,RESPONSE=3,INVOKE=4,ABORT=5;function createAbortError(){const e=new Error("Aborted");return e.name="AbortError",e}function receiveMessage(e){return e&&e.data?"string"==typeof e.data?JSON.parse(e.data):e.data:null}self.invokeStaticMessage=(e,o,r)=>{const t=r&&r.signal,n=globalId++;let s=null;return new Promise((r,i)=>{if(t){if(t.aborted)return i(createAbortError());s=()=>{outgoing.get(n)&&(outgoing.delete(n),self.postMessage({type:5,jobId:n}),i(createAbortError()))},t.addEventListener("abort",s)}outgoing.set(n,{resolve:r,reject:i}),self.postMessage({type:4,jobId:n,methodName:e,abortable:null!=t,data:o})}).finally(()=>{t&&t.removeEventListener("abort",s)})};let workerVersionChecked=!1;function checkWorkerVersion(e){if(!workerVersionChecked&&e.kernelInfo){workerVersionChecked=!0;const{fullVersion:o}=configuration.kernelInfo,{fullVersion:r,version:t}=e.kernelInfo;esriConfig.assetsPath!==esriConfig.defaultAssetsPath&&o!==r&&console.warn(`Version mismatch detected between ArcGIS Maps SDK for JavaScript modules and assets. For more information visit https://esriurl.com/using-local-assets.\\nModules version: ${o}\\nAssets version: ${r??t}\\nAssets path: ${esriConfig.assetsPath}`)}}function messageHandler(e){const o=receiveMessage(e);if(!o)return;const r=o.jobId;switch(o.type){case 1:let t;function n(e){const o=t.connect(e);self.postMessage({type:2,jobId:r,data:o},[o])}"function"==typeof define&&define.amd?require([workerPath],e=>{t=e.default||e,checkWorkerVersion(t),t.loadWorker(o.modulePath).then(e=>e||o.isESM&&import(o.modulePath)||new Promise(e=>{require([o.modulePath],e)})).then(n)}):"System"in self&&"function"==typeof System.import?System.import(workerPath).then(e=>(t=e.default,checkWorkerVersion(t),t.loadWorker(o.modulePath))).then(e=>e||o.isESM&&import(o.modulePath)||System.import(o.modulePath)).then(n):esriConfig.workers.useDynamicImport?import(workerPath).then(e=>{t=e.default||e,checkWorkerVersion(t),t.loadWorker(o.modulePath).then(e=>e||import(o.modulePath)).then(n)}):(self.RemoteClient||importScripts(workerPath),t=self.RemoteClient.default||self.RemoteClient,checkWorkerVersion(t),t.loadWorker(o.modulePath).then(e=>e||import(o.modulePath)).then(n));break;case 3:if(outgoing.has(r)){const s=outgoing.get(r);outgoing.delete(r),o.error?s.reject(JSON.parse(o.error)):s.resolve(o.data)}}}self.dojoConfig=configuration.loaderConfig,esriConfig.workers.loaderUrl&&(self.importScripts(esriConfig.workers.loaderUrl),"function"==typeof require&&"function"==typeof require.config&&require.config(configuration.loaderConfig)),self.addEventListener("message",messageHandler),self.postMessage({type:0});'.split(`{CONFIGURATION}`).join(y());m=URL.createObjectURL(new Blob([e],{type:`text/javascript`}))}catch(e){h=e||{}}let e;if(!m)f().warn(g,h),e=new d;else try{e=new Worker(m,{name:`esri-worker-${b++}`})}catch{f().warn(g,h),e=new d}return v(e)}async function v(e){return new Promise(t=>{function n(i){let a=l(i);a&&a.type===p&&(e.removeEventListener(`message`,n),e.removeEventListener(`error`,r),t(e))}function r(t){t.preventDefault(),e.removeEventListener(`message`,n),e.removeEventListener(`error`,r),f().warn(`Failed to create Worker. Fallback to execute module in main thread`,t),e=new d,e.addEventListener(`message`,n),e.addEventListener(`error`,r)}e.addEventListener(`message`,n),e.addEventListener(`error`,r)})}function y(){o(t.workers,{loaderConfig:{has:{},paths:{},map:{},packages:[]}})&&i(a.getLogger(`esri.config`),`workers`,{see:`https://developers.arcgis.com/javascript/latest/references/core/config/#Config-workers`,version:`5.2`,warnOnce:!0});let l;if(t.default!=null){let e={...t};delete e.default,l=JSON.parse(JSON.stringify(e))}else l=JSON.parse(JSON.stringify(t));l.assetsPath=s(l.assetsPath),l.defaultAssetsPath=l.defaultAssetsPath?s(l.defaultAssetsPath):void 0,l.request.interceptors=[],l.log.interceptors=[],l.locale=n(),l.has={"esri-csp-restrictions":has(`esri-csp-restrictions`),"esri-2d-debug":!1,"esri-2d-update-debug":has(`esri-2d-update-debug`),"esri-2d-annotation-dimension-debug":has(`esri-2d-annotation-dimension-debug`),"esri-2d-log-updating":!1,"esri-2d-complex-shaping":has(`esri-2d-complex-shaping`),"esri-2d-force-complex-shaping":has(`esri-2d-force-complex-shaping`),"esri-2d-stabilize-glyphs":has(`esri-2d-stabilize-glyphs`),"featurelayer-pbf":has(`featurelayer-pbf`),"featurelayer-simplify-thresholds":has(`featurelayer-simplify-thresholds`),"featurelayer-simplify-payload-size-factors":has(`featurelayer-simplify-payload-size-factors`),"featurelayer-simplify-mobile-factor":has(`featurelayer-simplify-mobile-factor`),"featurelayer-query-max-depth":has(`featurelayer-query-max-depth`),"featurelayer-query-max-page-size":has(`featurelayer-query-max-page-size`),"featurelayer-query-tile-max-features":has(`featurelayer-query-tile-max-features`),"featurelayer-query-tile-concurrency":has(`featurelayer-query-tile-concurrency`),"featurelayer-query-pausing-enabled":has(`featurelayer-query-pausing-enabled`),"featurelayer-snapshot-concurrency":has(`featurelayer-snapshot-concurrency`),"featurelayer-snapshot-enabled":has(`featurelayer-snapshot-enabled`),"featurelayer-pixel-buffering-enabled":has(`featurelayer-pixel-buffering-enabled`),"parquetlayer-full-query-feature-count":has(`parquetlayer-full-query-feature-count`),"parquetlayer-cache-enabled":has(`parquetlayer-cache-enabled`),"parquetlayer-legacy-field-overrides-enabled":has(`parquetlayer-legacy-field-overrides-enabled`),"esri-atomics":has(`esri-atomics`),"esri-shared-array-buffer":has(`esri-shared-array-buffer`),"esri-tiles-debug":has(`esri-tiles-debug`),"esri-workers-arraybuffer-transfer":has(`esri-workers-arraybuffer-transfer`),"feature-polyline-generalization-factor":has(`feature-polyline-generalization-factor`),"host-webworker":1},l.workers.loaderUrl&&(l.workers.loaderUrl=s(l.workers.loaderUrl)),l.workers.workerPath?l.workers.workerPath=s(l.workers.workerPath):l.workers.workerPath=s(e(`esri/core/workers/RemoteClient.js`)),l.workers.useDynamicImport=has(`esri-esbuild-build`);let u=t.workers.loaderConfig,d=c({baseUrl:u?.baseUrl,locale:n(),has:{"csp-restrictions":1,"dojo-test-sniff":0,"host-webworker":1,...u?.has},map:{...u?.map},paths:{...u?.paths},packages:u?.packages||[]});return JSON.stringify({esriConfig:l,loaderConfig:d,kernelInfo:{fullVersion:r}})}let b=0;export{_ as createWorker};
|
package/core/workers.d.ts
CHANGED
|
@@ -65,6 +65,10 @@ export interface OpenOptions extends AbortOptions {
|
|
|
65
65
|
/**
|
|
66
66
|
* Opens a connection to workers and loads a script with the workers framework.
|
|
67
67
|
*
|
|
68
|
+
* Custom ES module workers can load SDK modules using standard ES module imports
|
|
69
|
+
* in npm-based applications or `$arcgis.import()` in CDN applications.
|
|
70
|
+
* Only modules that do not depend on the DOM can be used within a worker.
|
|
71
|
+
*
|
|
68
72
|
* @param modulePath - A fully qualified URL to a script to execute with the workers framework.
|
|
69
73
|
* @param options - Worker options. See properties below for object specifications.
|
|
70
74
|
* @returns Resolves to an instance of [Connection](https://developers.arcgis.com/javascript/latest/references/core/core/workers/Connection/).
|
|
@@ -119,5 +123,18 @@ export interface OpenOptions extends AbortOptions {
|
|
|
119
123
|
* return `The time is ${time}`;
|
|
120
124
|
* }
|
|
121
125
|
* }
|
|
126
|
+
* @example
|
|
127
|
+
* // CustomWorker.js - load an SDK module inside a custom ES module worker in a CDN application.
|
|
128
|
+
* export async function createPoint(coordinates) {
|
|
129
|
+
* const Point = await $arcgis.import("@arcgis/core/geometry/Point.js");
|
|
130
|
+
*
|
|
131
|
+
* const point = new Point({
|
|
132
|
+
* longitude: coordinates.longitude,
|
|
133
|
+
* latitude: coordinates.latitude
|
|
134
|
+
* });
|
|
135
|
+
*
|
|
136
|
+
* // Return serializable data to the main thread.
|
|
137
|
+
* return point.toJSON();
|
|
138
|
+
* }
|
|
122
139
|
*/
|
|
123
140
|
export function open(modulePath: string, options?: OpenOptions): Promise<Connection>;
|
package/kernel.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import"./core/has.js";import{addQueryParameter as e}from"./core/urlUtils.js";Symbol.dispose??=Symbol(`Symbol.dispose`),Symbol.asyncDispose??=Symbol(`Symbol.asyncDispose`);const t=`5.2`;let n=`5.2`;n=`5.2.0-next.
|
|
2
|
+
import"./core/has.js";import{addQueryParameter as e}from"./core/urlUtils.js";Symbol.dispose??=Symbol(`Symbol.dispose`),Symbol.asyncDispose??=Symbol(`Symbol.asyncDispose`);const t=`5.2`;let n=`5.2`;n=`5.2.0-next.163`;let r;function i(e){r=e}function a(t){let n=r?.findCredential(t);return n?.token?e(t,`token`,n.token):t}globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}});export{a as addTokenParameter,n as fullVersion,r as id,i as setId,t as version};
|