@arcgis/core 5.2.0-next.164 → 5.2.0-next.166
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/Graphic.d.ts +47 -14
- package/PopupTemplate.js +1 -1
- package/WebScene.d.ts +3 -0
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{97d6ef9e34a43ad2e556.js → 02e10f44edf911832c2a.js} +1 -1
- package/assets/esri/core/workers/chunks/{97b5f4302fb867c829f4.js → 07f7177bfaf9de73bc25.js} +1 -1
- package/assets/esri/core/workers/chunks/{612345f17f5eeb99ea8f.js → 0d9c4c6c571ce26d356b.js} +1 -1
- package/assets/esri/core/workers/chunks/{12a7997a40c77f5c9160.js → 151e5799ede763a03ee2.js} +1 -1
- package/assets/esri/core/workers/chunks/196979cc6a765be3c5cd.js +1 -0
- package/assets/esri/core/workers/chunks/1ab59a97ffa49e9e1659.js +1 -0
- package/assets/esri/core/workers/chunks/{8715661a838361d4211a.js → 1b24a40c0fa197014873.js} +1 -1
- package/assets/esri/core/workers/chunks/{83f29a159b8b5197e76a.js → 266c90d8d56a2da42fcf.js} +1 -1
- package/assets/esri/core/workers/chunks/{b1d989b72203113a06fe.js → 2a36fe3f3f257a779a1b.js} +1 -1
- package/assets/esri/core/workers/chunks/{fcaf9450642fcef83286.js → 3048e74e6246324ce6fc.js} +1 -1
- package/assets/esri/core/workers/chunks/{95b82cbbe355266c65d7.js → 30af63b3b750142faadb.js} +1 -1
- package/assets/esri/core/workers/chunks/{74137ffec5265628c33b.js → 36c780a9527c75b36725.js} +1 -1
- package/assets/esri/core/workers/chunks/{6a0ec102962d2c7b4368.js → 40d803584eeade4df433.js} +1 -1
- package/assets/esri/core/workers/chunks/{a546ec82ba149e12f7bf.js → 41773d858e212468db88.js} +1 -1
- package/assets/esri/core/workers/chunks/{129e04d24ced77c9bb6d.js → 49b967d89d2841cea675.js} +1 -1
- package/assets/esri/core/workers/chunks/{b59aaf30c7fe2c8d1aaa.js → 4b99b4cf729881e616bc.js} +1 -1
- package/assets/esri/core/workers/chunks/{a09d2e1e2540921e4717.js → 4d3d7ec407ee5cd5f036.js} +1 -1
- package/assets/esri/core/workers/chunks/{2c626f525f3483c03477.js → 548b8f74a6883e364931.js} +1 -1
- package/assets/esri/core/workers/chunks/{25a3bd8bede2d07d3a54.js → 5af8fb4ec2c72697e35b.js} +1 -1
- package/assets/esri/core/workers/chunks/{340256866f524cb069f6.js → 5d2f043ebe1051326c56.js} +1 -1
- package/assets/esri/core/workers/chunks/{3f46acfda693c70abbdd.js → 61552b4b8111a8624d84.js} +1 -1
- package/assets/esri/core/workers/chunks/{e653c81ffb3d818645dd.js → 632fdf1d95ad69109427.js} +1 -1
- package/assets/esri/core/workers/chunks/{434a8ba841a59e0deab9.js → 67e533748435253aaba6.js} +1 -1
- package/assets/esri/core/workers/chunks/69d5f8ef78b9b8b3d33d.js +1 -0
- package/assets/esri/core/workers/chunks/{feb41abc03d677df6f73.js → 6b9961261241fdce0e94.js} +1 -1
- package/assets/esri/core/workers/chunks/6f897b4e7ddd1dd1672b.js +1 -0
- package/assets/esri/core/workers/chunks/{e251921bc5367258c4d2.js → 710b8251a59884aee31e.js} +1 -1
- package/assets/esri/core/workers/chunks/{af349c7bc8ef41a0e1bd.js → 7748c2886d0122b40eeb.js} +1 -1
- package/assets/esri/core/workers/chunks/{8a7b02037151767542f1.js → 7dbf4c7480bf9c72820d.js} +1 -1
- package/assets/esri/core/workers/chunks/{1bca39e0e651426bdbb5.js → 7dfbc31f3b56728485a4.js} +1 -1
- package/assets/esri/core/workers/chunks/{c19f238b55ff2893f7c2.js → 82a022cc21364c9a8539.js} +1 -1
- package/assets/esri/core/workers/chunks/{5cb26bbaa08114aec5ce.js → 89cc1a5539b82fb46216.js} +1 -1
- package/assets/esri/core/workers/chunks/{8ab57cb1bfd3dc8d3c2a.js → 8b8118ab56cc808b5a71.js} +1 -1
- package/assets/esri/core/workers/chunks/{542e5640ea1b80ef801a.js → 9189dfe19a2a2ccd5173.js} +1 -1
- package/assets/esri/core/workers/chunks/{f74ae0eff3f08978e607.js → 9f358c7b052cdc0ac06f.js} +1 -1
- package/assets/esri/core/workers/chunks/{ee08ae5b73439a1ff666.js → a163c6005aba3378edaa.js} +1 -1
- package/assets/esri/core/workers/chunks/{ec9a2425b4a498054a19.js → a17673e691ced46a90d3.js} +1 -1
- package/assets/esri/core/workers/chunks/{72bd866df89b8d92e247.js → a43b33955aa78a2a8deb.js} +1 -1
- package/assets/esri/core/workers/chunks/{46c5371c7a627537098c.js → a88f346786b04bd194dc.js} +6 -6
- package/assets/esri/core/workers/chunks/{092e311cb7aea92a6a26.js → acb265a22be5e12f38e5.js} +1 -1
- package/assets/esri/core/workers/chunks/{9e8f012a56237fc8285f.js → aea44253c80493ef5755.js} +1 -1
- package/assets/esri/core/workers/chunks/b5b9d42e1f84ee82429c.js +1 -0
- package/assets/esri/core/workers/chunks/c046c4fc934bc6f54c69.js +1 -0
- package/assets/esri/core/workers/chunks/{c72a904e01dc8c17d992.js → c47d095434d09b5f10c6.js} +1 -1
- package/assets/esri/core/workers/chunks/{226f862bbeb33fc7c597.js → c4b7111dcedd9d6e1c2a.js} +1 -1
- package/assets/esri/core/workers/chunks/{81cad8d2f62a5f671c55.js → cb4db5489388559d6bd9.js} +1 -1
- package/assets/esri/core/workers/chunks/{bbd44ac63d2a317d8ed9.js → cc794bb94ebc1cb66024.js} +1 -1
- package/assets/esri/core/workers/chunks/{be308db5b61a7246edfe.js → cc94bf05b235e65291fc.js} +1 -1
- package/assets/esri/core/workers/chunks/d4af9faa5d901274fad2.js +1 -0
- package/assets/esri/core/workers/chunks/{fc5a36e54929e03efa86.js → dba5f44c4e4a3f075df2.js} +1 -1
- package/assets/esri/core/workers/chunks/{1f43e06dcfe56229bb0f.js → debe45e792212682b304.js} +1 -1
- package/assets/esri/core/workers/chunks/{8414ffd937c1099e0bbc.js → e6d10136bc08aef255ff.js} +1 -1
- package/assets/esri/core/workers/chunks/{45fd2b456a6997584ca1.js → f8379cd45f750f28a3d8.js} +1 -1
- package/assets/esri/core/workers/chunks/{709e019885822b1f6f3e.js → f905f1a1aa4c123cbe83.js} +1 -1
- package/assets/esri/core/workers/chunks/{a2fcbc494333376192aa.js → f9c80e9fc349db4873e8.js} +1 -1
- package/assets/esri/core/workers/chunks/{c070d2ddf290b4f92916.js → feb4f8c807bb0dca488f.js} +1 -1
- package/assets/esri/layers/raster/formats/lerc-wasm.wasm +0 -0
- package/chunks/GlobalIllumination.glsl.js +15 -30
- package/config.js +1 -1
- package/core/workers/WorkerFallback.js +4 -2
- package/core/workers/workerFactory.js +1 -1
- package/core/workers/workers.js +4 -2
- package/form/elements/inputs.d.ts +126 -25
- package/form/elements/inputs.js +1 -1
- package/form/elements.d.ts +1 -0
- package/graphic/AnnotationFeatureGraphicOrigin.d.ts +49 -9
- package/graphic/BuildingGraphicOrigin.d.ts +49 -0
- package/graphic/CSVGraphicOrigin.d.ts +42 -9
- package/graphic/CatalogGraphicOrigin.d.ts +42 -9
- package/graphic/DimensionFeatureGraphicOrigin.d.ts +42 -9
- package/graphic/FeatureGraphicOrigin.d.ts +42 -9
- package/graphic/GeoJSONGraphicOrigin.d.ts +42 -9
- package/graphic/GeoRSSGraphicOrigin.d.ts +42 -9
- package/graphic/GraphicOrigin.d.ts +52 -12
- package/graphic/ImageryGraphicOrigin.d.ts +42 -9
- package/graphic/ImageryTileGraphicOrigin.d.ts +42 -9
- package/graphic/KMLGraphicOrigin.d.ts +47 -10
- package/graphic/KnowledgeGraphGraphicOrigin.d.ts +49 -1
- package/graphic/LinkChartGraphicOrigin.d.ts +49 -1
- package/graphic/MapImageGraphicOrigin.d.ts +49 -1
- package/graphic/MapNotesGraphicOrigin.d.ts +48 -1
- package/graphic/OGCFeatureGraphicOrigin.d.ts +42 -9
- package/graphic/OrientedImageryGraphicOrigin.d.ts +42 -9
- package/graphic/ParquetGraphicOrigin.d.ts +42 -9
- package/graphic/PointCloudGraphicOrigin.d.ts +43 -0
- package/graphic/SceneGraphicOrigin.d.ts +43 -0
- package/graphic/SketchGraphicOrigin.d.ts +43 -0
- package/graphic/StreamGraphicOrigin.d.ts +43 -0
- package/graphic/SubtypeGroupGraphicOrigin.d.ts +49 -1
- package/graphic/TileGraphicOrigin.d.ts +49 -1
- package/graphic/VectorTileGraphicOrigin.d.ts +43 -14
- package/graphic/VoxelGraphicOrigin.d.ts +43 -0
- package/graphic/WCSGraphicOrigin.d.ts +43 -0
- package/graphic/WFSGraphicOrigin.d.ts +42 -9
- package/graphic/getGraphicOriginTitle.d.ts +21 -3
- package/kernel.js +1 -1
- package/layers/GaussianSplatLayer.d.ts +2 -1
- package/layers/GeospatialPDFLayer.js +1 -1
- package/layers/ParquetLayer.d.ts +24 -1
- package/layers/ParquetLayer.js +1 -1
- package/layers/geospatialPDF/CIM2DLayerview.js +2 -0
- package/layers/geospatialPDF/GeospatialPDFFrame.js +1 -1
- package/layers/mixins/ReloadableLayer.js +1 -1
- package/layers/mixins/SublayersOwner.js +1 -1
- package/layers/orientedImagery/transformations/utils.js +1 -1
- package/layers/save/featureLayerUtils.js +1 -1
- package/layers/save/imageryUtils.js +1 -1
- package/layers/save/mapImageLayerUtils.js +1 -1
- package/layers/save/mediaLayerUtils.js +1 -1
- package/layers/save/parquetLayerUtils.js +2 -0
- package/layers/save/streamLayerUtils.js +1 -1
- package/layers/support/LabelClass.d.ts +8 -2
- package/layers/support/Sublayer.js +1 -1
- package/layers/support/SubtypeSublayer.js +1 -1
- package/layers/support/layerUtils.js +1 -1
- package/layers/support/layersMapping.js +1 -1
- package/package.json +2 -2
- package/popup/content.js +1 -1
- package/portal/schemas/definitions.js +1 -1
- package/portal/schemas/webScene.js +1 -1
- package/tables/elements.d.ts +1 -0
- package/views/2d/engine/webgl/SpriteMosaic.js +1 -1
- package/views/2d/layers/GeospatialPDFLayerView2D.js +1 -1
- package/views/3d/layers/GeospatialPDFLayerView3D.js +1 -1
- package/views/3d/layers/support/featureTileQuery3D.js +1 -1
- package/views/3d/state/helpers/SceneIntersectionHelper.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +5 -5
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/screenPolygonTriangleIntersections.js +1 -1
- package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/TriangleMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/internal/worldSizedRibbonLineIntersectionUtils.js +1 -1
- package/views/selection/SelectionOperation.js +1 -1
- package/views/selection/types.d.ts +43 -3
- package/views/support/layerViewUtils.js +1 -1
- package/views/support/selectionUtils.js +1 -1
- package/views/webgl/Texture.js +1 -1
- package/webdoc/support/webdocSaveUtils.js +1 -1
- package/widgets/OrientedImageryViewer/ImageMeasurementWorker.js +1 -1
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
- package/widgets/OrientedImageryViewer/services/ImageMeasurementService.js +1 -1
- package/widgets/Sketch/SketchViewModel.js +1 -1
- package/widgets/support/SelectionList/GroupLayerItem.d.ts +6 -0
- package/widgets/support/SelectionList/GroupLayerItem.js +1 -1
- package/widgets/support/SelectionList/ItemBase.js +1 -1
- package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.d.ts +6 -1
- package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.js +1 -1
- package/widgets/support/SelectionToolbar.d.ts +8 -1
- package/widgets/support/SelectionToolbar.js +1 -1
- package/widgets/support/Selector2D/selectorUtils.js +1 -1
- package/assets/esri/core/workers/chunks/1fe24ffcd88280d84fbe.js +0 -1
- package/assets/esri/core/workers/chunks/72071ea5de89720fbe42.js +0 -1
- package/assets/esri/core/workers/chunks/9de5ad77bc37ec142218.js +0 -1
- package/assets/esri/core/workers/chunks/b736046c6b4ede73ea46.js +0 -1
- package/assets/esri/core/workers/chunks/c19cd5a03b6d480fe53b.js +0 -1
- package/assets/esri/core/workers/chunks/d1f98c5249c487eb96f1.js +0 -1
|
Binary file
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{ReadDepthLastFrame as t}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepthLastFrame.glsl.js";import{
|
|
2
|
+
import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{ReadDepthLastFrame as t}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepthLastFrame.glsl.js";import{mainLightDirection as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{ScreenSpaceRayMarching as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceRayMarching.glsl.js";import{CameraSpace as i}from"../views/3d/webgl-engine/core/shaderLibrary/util/CameraSpace.glsl.js";import{viewMatrix as a}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{FloatBindUniform as o}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{FloatPassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as c,If as l}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as u}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{Texture2DBindUniform as d}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{Texture2DPassUniform as f}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{GlobalIlluminationColorQuantization as p}from"../views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationColorQuantization.glsl.js";import{floatBlendReductionFactor as m}from"../views/3d/webgl-engine/shaders/floatBlendScale.glsl.js";import{ToneMapping as h}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ColorAttachment1 as g,SizedPixelFormat as _}from"../views/webgl/enums.js";import{NoParameters as v}from"../views/webgl/NoParameters.js";import{ShaderBuilder as y}from"../views/webgl/ShaderBuilder.js";class b extends v{constructor(){super(...arguments),this.projScale=1,this.resolutionScale=1,this.accumulatedFrames=0,this.temporalSampleFrame=0,this.glowBoost=0}}function x(v){let b=new y,x=b.fragment;b.include(e),b.include(i),x.include(t),x.include(p),x.include(h),b.include(r,v),x.uniforms.add(n,a,new f(`normalMap`,e=>e.normalTexture),new f(`depthMap`,e=>e.depthTexture),new f(`lastFrameGlobalIlluminationTexture`,(e,t)=>e.globalIllumination??t.globalIllumination?.getTexture()),new f(`lastFrameGlobalIlluminationWeightTexture`,(e,t)=>e.globalIlluminationWeights??t.globalIllumination?.getTexture(g)),new d(`lastFrameDepthTexture`,e=>e.reprojection.lastFrameDepth?.attachment),new u(`reprojectionProjectionMatrix`,e=>e.reprojection.lastFrameCamera.projectionMatrix),new u(`reprojectionViewMatrix`,e=>e.reprojection.viewMatrix),new s(`accumulatedFrames`,e=>e.accumulatedFrames),new s(`temporalSampleFrame`,e=>e.temporalSampleFrame),new s(`resolutionScale`,e=>e.resolutionScale));let{hasColor:S,hasEmission:C}=v;return S&&C&&(x.uniforms.add(new s(`emissionBoostFactor`,e=>2.5+e.glowBoost),new o(`inputScale`,e=>e.reprojection.lastFrameEmission?.getTexture()?.descriptor.internalFormat===_.RGBA8?m:1),new d(`lastFrameEmissionTexture`,e=>e.reprojection.lastFrameEmission?.getTexture())),x.code.add(c`bool hasHitReprojectionMismatch(vec3 hit, vec2 hitReprojectedCoordinate, float colorBlendWeight) {
|
|
3
3
|
if (colorBlendWeight != 1.0) {
|
|
4
4
|
return false;
|
|
5
5
|
}
|
|
@@ -19,7 +19,7 @@ hitReprojectedCoordinate
|
|
|
19
19
|
float relativeDepthMismatch = abs(storedLastFrameDepth - expectedLastFrameDepth) /
|
|
20
20
|
max(max(storedLastFrameDepth, expectedLastFrameDepth), 0.00001);
|
|
21
21
|
return relativeDepthMismatch > reprojectionMismatchThreshold;
|
|
22
|
-
}`)),
|
|
22
|
+
}`)),x.constants.add(`rayMarchMinReach`,`float`,.15),x.constants.add(`rayMarchMaxReach`,`float`,v.rayMarchMaxReach),x.constants.add(`rayMarchWorldReach`,`float`,25),x.constants.add(`rayMarchMaxSteps`,`float`,v.rayMarchMaxSteps),x.constants.add(`factorDaylightDirectional`,`float`,.8),x.constants.add(`highQualityIdleColorBlendStart`,`float`,.3),x.constants.add(`highQualityIdleColorBlendEnd`,`float`,.008),x.constants.add(`highQualityIdleColorBlendFrames`,`float`,150),x.constants.add(`highQualityIdleOcclusionBlendEnd`,`float`,.008),x.constants.add(`highQualityIdleOcclusionBlendExponent`,`float`,2),x.constants.add(`highQualityIdleOcclusionBlendFrames`,`float`,60),x.constants.add(`highQualityIdleOcclusionBlendStart`,`float`,.095),x.constants.add(`accumulationDitherScale`,`float`,.0039),x.constants.add(`lowQualityColorBlendWeight`,`float`,.0028),x.constants.add(`lowQualityColorDitherScale`,`float`,.25),x.constants.add(`lowQualityOcclusionBlendWeight`,`float`,.008),x.constants.add(`reprojectionMismatchThreshold`,`float`,.01),x.constants.add(`reprojectionMismatchColorScale`,`float`,.45),x.constants.add(`stableHistoryColorBlendWeight`,`float`,.008),x.constants.add(`strongHistoryOcclusionThreshold`,`float`,.02),x.constants.add(`weakHistoryOcclusionBlendWeight`,`float`,.1),x.constants.add(`weakHistoryOcclusionThreshold`,`float`,.5),x.constants.add(`storedColorBlendWeightScale`,`float`,6),x.code.add(c`float computeIdleColorBlendWeight(float accumulatedFrames) {
|
|
23
23
|
float idleColorBlendProgress = clamp(accumulatedFrames / highQualityIdleColorBlendFrames, 0.0, 1.0);
|
|
24
24
|
return mix(highQualityIdleColorBlendStart, highQualityIdleColorBlendEnd, pow(idleColorBlendProgress, 1./5.)
|
|
25
25
|
);
|
|
@@ -60,7 +60,7 @@ blueNoiseDitherValue(pixel, frame, vec2(0.25881904, 0.9659258), 0.37),
|
|
|
60
60
|
blueNoiseDitherValue(pixel, frame, vec2(1.0, 0.0), 0.61)
|
|
61
61
|
);
|
|
62
62
|
return value * 2.0 - 1.0;
|
|
63
|
-
}`),
|
|
63
|
+
}`),b.outputs.add(`fragGlobalIllumination`,`vec4`,0),b.outputs.add(`fragWeight`,`vec2`,1),x.main.add(c`
|
|
64
64
|
float depth = depthFromTexture(depthMap, uv);
|
|
65
65
|
|
|
66
66
|
// Early out if depth is out of range, such as in the sky
|
|
@@ -162,28 +162,14 @@ return value * 2.0 - 1.0;
|
|
|
162
162
|
// 0.0 alpha excludes the surface as a receiver (e.g. water), but a valid ray hit still occludes as opaque
|
|
163
163
|
hitOpacity = storedHitOpacity == 0.0 ? 1.0 : storedHitOpacity;
|
|
164
164
|
|
|
165
|
-
${
|
|
166
|
-
//
|
|
167
|
-
vec3 receiverColor = texture(lastFrameColorTexture, reprojectedCoordinate.xy).rgb;
|
|
168
|
-
|
|
165
|
+
${l(S&&C,c`
|
|
166
|
+
// Reproject the sampled hit to read emission.
|
|
169
167
|
vec2 hitReprojectedCoordinate = reprojectionCoordinate(hit);
|
|
170
|
-
|
|
171
|
-
vec3
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
vec3 sourceEmission = ${u(C,`rejectReprojectedHitEmission
|
|
176
|
-
? vec3(0.0)
|
|
177
|
-
: texture(lastFrameEmissionTexture, hitReprojectedCoordinate).xyz * inputScale`,`vec3(0.0)`)};
|
|
178
|
-
|
|
179
|
-
float emissionWeight = mix(
|
|
180
|
-
rayMarchMinReachEmissionWeight,
|
|
181
|
-
rayMarchMaxReachEmissionWeight,
|
|
182
|
-
(rayMarchScreenReach - rayMarchMinReach) / max(rayMarchMaxReach - rayMarchMinReach, 0.00001)
|
|
183
|
-
);
|
|
184
|
-
fragGlobalIllumination.rgb += (
|
|
185
|
-
hitOpacity * (sourceColorLinear * colorBleedWeight) + emissionBoostFactor * sourceEmission * emissionWeight
|
|
186
|
-
) * stepSize;
|
|
168
|
+
bool rejectReprojectedHitEmission = hasHitReprojectionMismatch(hit, hitReprojectedCoordinate, colorBlendWeight);
|
|
169
|
+
vec3 sourceEmission = rejectReprojectedHitEmission
|
|
170
|
+
? vec3(0.0)
|
|
171
|
+
: texture(lastFrameEmissionTexture, hitReprojectedCoordinate).xyz * inputScale;
|
|
172
|
+
fragGlobalIllumination.rgb += emissionBoostFactor * sourceEmission * stepSize;
|
|
187
173
|
`)}
|
|
188
174
|
}
|
|
189
175
|
|
|
@@ -205,12 +191,11 @@ return value * 2.0 - 1.0;
|
|
|
205
191
|
? receiverOpacity * randomDirectionSample.b * accumulationDitherScale
|
|
206
192
|
: 0.0;
|
|
207
193
|
|
|
208
|
-
${
|
|
209
|
-
// Accumulate
|
|
210
|
-
vec3 lastFrameColor = lastFrameGlobalIllumination.rgb;
|
|
194
|
+
${l(S,c`
|
|
195
|
+
// Accumulate emission
|
|
211
196
|
float colorDitherScale = isScaledGlobalIllumination ? lowQualityColorDitherScale : 1.0;
|
|
212
197
|
fragGlobalIllumination.rgb = mix(
|
|
213
|
-
|
|
198
|
+
lastFrameGlobalIllumination.rgb + accumulationDither * colorDitherScale,
|
|
214
199
|
fragGlobalIllumination.rgb,
|
|
215
200
|
colorBlendWeight
|
|
216
201
|
);
|
|
@@ -218,7 +203,7 @@ return value * 2.0 - 1.0;
|
|
|
218
203
|
if (hasReprojectionMismatch) {
|
|
219
204
|
fragGlobalIllumination.rgb *= reprojectionMismatchColorScale;
|
|
220
205
|
}
|
|
221
|
-
`,
|
|
206
|
+
`,c`
|
|
222
207
|
fragGlobalIllumination.rgb = vec3(0.0);
|
|
223
208
|
`)}
|
|
224
209
|
|
|
@@ -232,4 +217,4 @@ return value * 2.0 - 1.0;
|
|
|
232
217
|
fragGlobalIllumination = quantizeGlobalIlluminationColor(fragGlobalIllumination);
|
|
233
218
|
|
|
234
219
|
fragWeight = vec2(occlusionBlendWeight, colorBlendWeight * storedColorBlendWeightScale);
|
|
235
|
-
`),
|
|
220
|
+
`),b}const S=Object.freeze(Object.defineProperty({__proto__:null,GlobalIlluminationPassParameters:b,build:x},Symbol.toStringTag,{value:`Module`}));export{b as G,S as a,x as b};
|
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.166/assets`,t.defaultAssetsPath=t.assetsPath);export{t as default};
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{nextTick as e}from"../nextTick.js";import t from"./RemoteClient.js";import{MessageType as n,receiveMessage as r}from"./utils.js";class i{constructor(){let e=document.createDocumentFragment();[`addEventListener`,`dispatchEvent`,`removeEventListener`].forEach(t=>{this[t]=(...n)=>e[t](...n)})}}class a{constructor(){this._dispatcher=new i;this._workerPostMessage({type:n.HANDSHAKE})}terminate(){}get onmessage(){return this._onmessageHandler}set onmessage(e){this._onmessageHandler&&this.removeEventListener(`message`,this._onmessageHandler);this._onmessageHandler=e;e&&this.addEventListener(`message`,e)}get onmessageerror(){return this._onmessageerrorHandler}set onmessageerror(e){this._onmessageerrorHandler&&this.removeEventListener(`messageerror`,this._onmessageerrorHandler);this._onmessageerrorHandler=e;e&&this.addEventListener(`messageerror`,e)}get onerror(){return this._onerrorHandler}set onerror(e){this._onerrorHandler&&this.removeEventListener(`error`,this._onerrorHandler);this._onerrorHandler=e;e&&this.addEventListener(`error`,e)}postMessage(t){e(()=>{this._workerMessageHandler(new MessageEvent(`message`,{data:t}))})}dispatchEvent(e){return this._dispatcher.dispatchEvent(e)}addEventListener(e,t,n){this._dispatcher.addEventListener(e,t,n)}removeEventListener(e,t,n){this._dispatcher.removeEventListener(e,t,n)}_workerPostMessage(t){e(()=>{this.dispatchEvent(new MessageEvent(`message`,{data:t}))})}async _workerMessageHandler(e){let i=r(e);if(!i)return;if(i.type===n.OPEN){let{modulePath:e,jobId:r}=i,a=await t.loadWorker(e);a||=await import(
|
|
2
|
+
import{nextTick as e}from"../nextTick.js";import t from"./RemoteClient.js";import{MessageType as n,receiveMessage as r}from"./utils.js";class i{constructor(){let e=document.createDocumentFragment();[`addEventListener`,`dispatchEvent`,`removeEventListener`].forEach(t=>{this[t]=(...n)=>e[t](...n)})}}class a{constructor(){this._dispatcher=new i;this._workerPostMessage({type:n.HANDSHAKE})}terminate(){}get onmessage(){return this._onmessageHandler}set onmessage(e){this._onmessageHandler&&this.removeEventListener(`message`,this._onmessageHandler);this._onmessageHandler=e;e&&this.addEventListener(`message`,e)}get onmessageerror(){return this._onmessageerrorHandler}set onmessageerror(e){this._onmessageerrorHandler&&this.removeEventListener(`messageerror`,this._onmessageerrorHandler);this._onmessageerrorHandler=e;e&&this.addEventListener(`messageerror`,e)}get onerror(){return this._onerrorHandler}set onerror(e){this._onerrorHandler&&this.removeEventListener(`error`,this._onerrorHandler);this._onerrorHandler=e;e&&this.addEventListener(`error`,e)}postMessage(t){e(()=>{this._workerMessageHandler(new MessageEvent(`message`,{data:t}))})}dispatchEvent(e){return this._dispatcher.dispatchEvent(e)}addEventListener(e,t,n){this._dispatcher.addEventListener(e,t,n)}removeEventListener(e,t,n){this._dispatcher.removeEventListener(e,t,n)}_workerPostMessage(t){e(()=>{this.dispatchEvent(new MessageEvent(`message`,{data:t}))})}async _workerMessageHandler(e){let i=r(e);if(!i)return;if(i.type===n.OPEN){let{modulePath:e,jobId:r}=i,a=await t.loadWorker(e);a||=(i.isESM,await import(
|
|
3
3
|
/* @vite-ignore */
|
|
4
4
|
/* webpackIgnore: true */
|
|
5
|
-
e)
|
|
5
|
+
e))/* @vite-ignore */
|
|
6
|
+
/* webpackIgnore: true */
|
|
7
|
+
;let o=t.connect(a);this._workerPostMessage({type:n.OPENED,jobId:r,data:o})}}}export{a 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{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(
|
|
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(g,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/workers.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{deprecatedPropertyValue as e}from"../deprecate.js";import t from"../Error.js";import{handlesGroup as n}from"../handleUtils.js";import has from"../has.js";import r from"../Logger.js";import{getOrCreateMapValue as i}from"../MapUtils.js";import{throwIfAborted as a}from"../promiseUtils.js";import o from"./Connection.js";import{register as s}from"./connectionRegistry.js";import{registry as c}from"./registry.js";import l from"./RemoteClient.js";import u from"./WorkerOwner.js";function d(){let e=has(`min-workers-pool-size`)??2,t=has(`max-workers-pool-size`)??8,n=has(`host-browser`)&&navigator.hardwareConcurrency!==void 0?navigator.hardwareConcurrency-1:t;return Math.min(Math.max(e,n),t)}const f=[],p=new Map;let m=d(),h=0;function g(){m=d();h=0;p.clear()}function _(){E()}async function v(e,t={},n){let r=new o,{registryTarget:i,...a}=t;await r.open(e,a,n);i&&s(i,r);return r}async function y(n,a={}){if(typeof n!=`string`)throw new t(`workers:undefined-module`,`modulePath is missing`);let o=a.strategy||`distributed`;has(`host-webworker`)&&!has(`esri-workers`)&&(o=`local`);let s=a.isESM??!1;!s&&!Object.hasOwn(c,n)&&e(r.getLogger(`esri.core.workers`),`isESM`,`false`,{replacement:"Call `open` using the `isESM` option value `true`, and author the worker as an ES module.",see:`https://developers.arcgis.com/javascript/latest/references/core/core/workers/#open`,version:`5.2`,warnOnce:!0});let l=i(p,n,()=>new D(n,s));switch(o){case`local`:return b(l,a);default:return x(l,a)}}async function b({modulePath:e},t){let n=await l.loadWorker(e);n||=await import(
|
|
2
|
+
import{deprecatedPropertyValue as e}from"../deprecate.js";import t from"../Error.js";import{handlesGroup as n}from"../handleUtils.js";import has from"../has.js";import r from"../Logger.js";import{getOrCreateMapValue as i}from"../MapUtils.js";import{throwIfAborted as a}from"../promiseUtils.js";import o from"./Connection.js";import{register as s}from"./connectionRegistry.js";import{registry as c}from"./registry.js";import l from"./RemoteClient.js";import u from"./WorkerOwner.js";function d(){let e=has(`min-workers-pool-size`)??2,t=has(`max-workers-pool-size`)??8,n=has(`host-browser`)&&navigator.hardwareConcurrency!==void 0?navigator.hardwareConcurrency-1:t;return Math.min(Math.max(e,n),t)}const f=[],p=new Map;let m=d(),h=0;function g(){m=d();h=0;p.clear()}function _(){E()}async function v(e,t={},n){let r=new o,{registryTarget:i,...a}=t;await r.open(e,a,n);i&&s(i,r);return r}async function y(n,a={}){if(typeof n!=`string`)throw new t(`workers:undefined-module`,`modulePath is missing`);let o=a.strategy||`distributed`;has(`host-webworker`)&&!has(`esri-workers`)&&(o=`local`);let s=a.isESM??!1;!s&&!Object.hasOwn(c,n)&&e(r.getLogger(`esri.core.workers`),`isESM`,`false`,{replacement:"Call `open` using the `isESM` option value `true`, and author the worker as an ES module.",see:`https://developers.arcgis.com/javascript/latest/references/core/core/workers/#open`,version:`5.2`,warnOnce:!0});let l=i(p,n,()=>new D(n,s));switch(o){case`local`:return b(l,a);default:return x(l,a)}}async function b({modulePath:e},t){let n=await l.loadWorker(e);n||=(t.isESM,await import(
|
|
3
3
|
/* @vite-ignore */
|
|
4
4
|
/* webpackIgnore: true */
|
|
5
|
-
e)
|
|
5
|
+
e))/* @vite-ignore */
|
|
6
|
+
/* webpackIgnore: true */
|
|
7
|
+
;a(t.signal);let r=t.client||n;return await v([l.connect(n,t.schedule)],{...t,client:r})}async function x(e,t){await E();a(t.signal);let r=[];return v(S(e,t.strategy===`dedicated`?1:t.maxNumWorkers&&t.maxNumWorkers>0?Math.min(t.maxNumWorkers,m):m,t.signal,r),t,()=>n(r).remove())}function*S(e,t,n,r){let i=new Set;for(let a=0;a<t;a++){let t=e.getNextProxyId(e=>!i.has(e));if(t==null)break;i.add(t);r.push(e.useProxy(t));yield f[t].open(e.modulePath,e.isESM,{signal:n})}}function C(){if(w){T.abort();w=null}for(let e=0;e<f.length;e++)f[e]&&f[e].terminate();f.length=0;g()}let w=null,T;async function E(){if(w)return w;T=new AbortController;let e=[];for(let t=0;t<m;t++){let n=u.create(t).then(e=>{f[t]=e;return e});e.push(n)}w=Promise.all(e);return w}class D{constructor(e,t){this.modulePath=e;this.isESM=t;this._proxyUseCount=new Map}useProxy(e){this._proxyUseCount.set(e,this._getProxyUseCount(e)+1);return{remove:()=>this._unuseProxy(e)}}getNextProxyId(e){let t=Array.from(this._proxyUseCount.keys()),n,r=h;h=(h+1)%m;for(let i=0;i<t.length;i++){let a=t[(r+i)%t.length];if(!e(a))continue;t.length===m&&(n??=a);if(this._getProxyUseCount(a)===0)return a}if(n!=null)return n;for(let t=0;t<m;t++){let n=(t+r)%m;if(e(n)&&!this._proxyUseCount.has(n))return n}}_unuseProxy(e){this._proxyUseCount.set(e,Math.max(0,this._getProxyUseCount(e)-1))}_getProxyUseCount(e){return this._proxyUseCount.get(e)??0}}export{o as Connection,l as RemoteClient,_ as initialize,y as open,v as openWithPorts,C as terminate};
|
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
* }
|
|
42
42
|
* ```
|
|
43
43
|
*
|
|
44
|
+
* @deprecated since 5.2. Import individual input modules directly instead.
|
|
44
45
|
* @since 4.16
|
|
45
46
|
* @see [FormTemplate](https://developers.arcgis.com/javascript/latest/references/core/form/FormTemplate/)
|
|
46
47
|
* @see [FieldElement](https://developers.arcgis.com/javascript/latest/references/core/form/elements/FieldElement/)
|
|
@@ -70,77 +71,177 @@ import type TextAreaInputClass from "./inputs/TextAreaInput.js";
|
|
|
70
71
|
import type TextBoxInputClass from "./inputs/TextBoxInput.js";
|
|
71
72
|
import type TimePickerInputClass from "./inputs/TimePickerInput.js";
|
|
72
73
|
|
|
73
|
-
/**
|
|
74
|
+
/**
|
|
75
|
+
* Form element input types.
|
|
76
|
+
*
|
|
77
|
+
* @deprecated since 5.2. Import [Input](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/Input/) directly instead.
|
|
78
|
+
*/
|
|
74
79
|
export type Input = BarcodeScannerInputClass | ComboBoxInputClass | DatePickerInputClass | DateTimeOffsetPickerInputClass | DateTimePickerInputClass | DynamicChoiceInputClass | MultipleChoiceInputClass | RadioButtonsInputClass | SwitchInputClass | TextAreaInputClass | TextBoxInputClass | TimePickerInputClass;
|
|
75
80
|
|
|
76
|
-
/**
|
|
81
|
+
/**
|
|
82
|
+
* The `BarcodeScannerInput` class defines the desired user interface for a barcode or QR code scanner. If this type is used in an ArcGIS Maps SDK for JavaScript web application, it will default to the [TextBoxInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/TextBoxInput/) type as the API does not support bar code scanning as an input type.
|
|
83
|
+
*
|
|
84
|
+
* @deprecated since 5.2. Import [BarcodeScannerInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/BarcodeScannerInput/) directly instead.
|
|
85
|
+
*/
|
|
77
86
|
export const BarcodeScannerInput: typeof BarcodeScannerInputClass;
|
|
78
87
|
|
|
79
|
-
/**
|
|
88
|
+
/**
|
|
89
|
+
* The `BarcodeScannerInput` class defines the desired user interface for a barcode or QR code scanner. If this type is used in an ArcGIS Maps SDK for JavaScript web application, it will default to the [TextBoxInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/TextBoxInput/) type as the API does not support bar code scanning as an input type.
|
|
90
|
+
*
|
|
91
|
+
* @deprecated since 5.2. Import [BarcodeScannerInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/BarcodeScannerInput/) directly instead.
|
|
92
|
+
*/
|
|
80
93
|
export type BarcodeScannerInput = BarcodeScannerInputClass;
|
|
81
94
|
|
|
82
|
-
/**
|
|
95
|
+
/**
|
|
96
|
+
* The `ComboBoxInput` class defines the desired user interface for a combo box group.
|
|
97
|
+
*
|
|
98
|
+
* @deprecated since 5.2. Import [ComboBoxInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/ComboBoxInput/) directly instead.
|
|
99
|
+
*/
|
|
83
100
|
export const ComboBoxInput: typeof ComboBoxInputClass;
|
|
84
101
|
|
|
85
|
-
/**
|
|
102
|
+
/**
|
|
103
|
+
* The `ComboBoxInput` class defines the desired user interface for a combo box group.
|
|
104
|
+
*
|
|
105
|
+
* @deprecated since 5.2. Import [ComboBoxInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/ComboBoxInput/) directly instead.
|
|
106
|
+
*/
|
|
86
107
|
export type ComboBoxInput = ComboBoxInputClass;
|
|
87
108
|
|
|
88
|
-
/**
|
|
109
|
+
/**
|
|
110
|
+
* The `DatePickerInput` class defines the desired user interface for working with date-only types.
|
|
111
|
+
*
|
|
112
|
+
* @deprecated since 5.2. Import [DatePickerInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/DatePickerInput/) directly instead.
|
|
113
|
+
*/
|
|
89
114
|
export const DatePickerInput: typeof DatePickerInputClass;
|
|
90
115
|
|
|
91
|
-
/**
|
|
116
|
+
/**
|
|
117
|
+
* The `DatePickerInput` class defines the desired user interface for working with date-only types.
|
|
118
|
+
*
|
|
119
|
+
* @deprecated since 5.2. Import [DatePickerInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/DatePickerInput/) directly instead.
|
|
120
|
+
*/
|
|
92
121
|
export type DatePickerInput = DatePickerInputClass;
|
|
93
122
|
|
|
94
|
-
/**
|
|
123
|
+
/**
|
|
124
|
+
* The `DateTimeOffsetPickerInput` class defines the desired user interface for editing date and time fields in a form that also requires the option to include an offset from Coordinated Universal Time (UTC).
|
|
125
|
+
*
|
|
126
|
+
* @deprecated since 5.2. Import [DateTimeOffsetPickerInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/DateTimeOffsetPickerInput/) directly instead.
|
|
127
|
+
*/
|
|
95
128
|
export const DateTimeOffsetPickerInput: typeof DateTimeOffsetPickerInputClass;
|
|
96
129
|
|
|
97
|
-
/**
|
|
130
|
+
/**
|
|
131
|
+
* The `DateTimeOffsetPickerInput` class defines the desired user interface for editing date and time fields in a form that also requires the option to include an offset from Coordinated Universal Time (UTC).
|
|
132
|
+
*
|
|
133
|
+
* @deprecated since 5.2. Import [DateTimeOffsetPickerInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/DateTimeOffsetPickerInput/) directly instead.
|
|
134
|
+
*/
|
|
98
135
|
export type DateTimeOffsetPickerInput = DateTimeOffsetPickerInputClass;
|
|
99
136
|
|
|
100
|
-
/**
|
|
137
|
+
/**
|
|
138
|
+
* The `DateTimePickerInput` class defines the desired user interface for editing date (including time) fields in a form.
|
|
139
|
+
*
|
|
140
|
+
* @deprecated since 5.2. Import [DateTimePickerInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/DateTimePickerInput/) directly instead.
|
|
141
|
+
*/
|
|
101
142
|
export const DateTimePickerInput: typeof DateTimePickerInputClass;
|
|
102
143
|
|
|
103
|
-
/**
|
|
144
|
+
/**
|
|
145
|
+
* The `DateTimePickerInput` class defines the desired user interface for editing date (including time) fields in a form.
|
|
146
|
+
*
|
|
147
|
+
* @deprecated since 5.2. Import [DateTimePickerInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/DateTimePickerInput/) directly instead.
|
|
148
|
+
*/
|
|
104
149
|
export type DateTimePickerInput = DateTimePickerInputClass;
|
|
105
150
|
|
|
106
|
-
/**
|
|
151
|
+
/**
|
|
152
|
+
* The `DynamicChoiceInput` class defines the desired user interface for a dynamically generated choice group.
|
|
153
|
+
*
|
|
154
|
+
* @deprecated since 5.2. Import [DynamicChoiceInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/DynamicChoiceInput/) directly instead.
|
|
155
|
+
*/
|
|
107
156
|
export const DynamicChoiceInput: typeof DynamicChoiceInputClass;
|
|
108
157
|
|
|
109
|
-
/**
|
|
158
|
+
/**
|
|
159
|
+
* The `DynamicChoiceInput` class defines the desired user interface for a dynamically generated choice group.
|
|
160
|
+
*
|
|
161
|
+
* @deprecated since 5.2. Import [DynamicChoiceInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/DynamicChoiceInput/) directly instead.
|
|
162
|
+
*/
|
|
110
163
|
export type DynamicChoiceInput = DynamicChoiceInputClass;
|
|
111
164
|
|
|
112
|
-
/**
|
|
165
|
+
/**
|
|
166
|
+
* The `MultipleChoiceInput` class defines the desired user interface for a multiple choice group.
|
|
167
|
+
*
|
|
168
|
+
* @deprecated since 5.2. Import [MultipleChoiceInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/MultipleChoiceInput/) directly instead.
|
|
169
|
+
*/
|
|
113
170
|
export const MultipleChoiceInput: typeof MultipleChoiceInputClass;
|
|
114
171
|
|
|
115
|
-
/**
|
|
172
|
+
/**
|
|
173
|
+
* The `MultipleChoiceInput` class defines the desired user interface for a multiple choice group.
|
|
174
|
+
*
|
|
175
|
+
* @deprecated since 5.2. Import [MultipleChoiceInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/MultipleChoiceInput/) directly instead.
|
|
176
|
+
*/
|
|
116
177
|
export type MultipleChoiceInput = MultipleChoiceInputClass;
|
|
117
178
|
|
|
118
|
-
/**
|
|
179
|
+
/**
|
|
180
|
+
* The `RadioButtonsInput` class defines the desired user interface for a radio button group.
|
|
181
|
+
*
|
|
182
|
+
* @deprecated since 5.2. Import [RadioButtonsInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/RadioButtonsInput/) directly instead.
|
|
183
|
+
*/
|
|
119
184
|
export const RadioButtonsInput: typeof RadioButtonsInputClass;
|
|
120
185
|
|
|
121
|
-
/**
|
|
186
|
+
/**
|
|
187
|
+
* The `RadioButtonsInput` class defines the desired user interface for a radio button group.
|
|
188
|
+
*
|
|
189
|
+
* @deprecated since 5.2. Import [RadioButtonsInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/RadioButtonsInput/) directly instead.
|
|
190
|
+
*/
|
|
122
191
|
export type RadioButtonsInput = RadioButtonsInputClass;
|
|
123
192
|
|
|
124
|
-
/**
|
|
193
|
+
/**
|
|
194
|
+
* The `SwitchInput` class defines the desired user interface for a binary switch or toggle. This should be used when selecting between two options in a form.
|
|
195
|
+
*
|
|
196
|
+
* @deprecated since 5.2. Import [SwitchInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/SwitchInput/) directly instead.
|
|
197
|
+
*/
|
|
125
198
|
export const SwitchInput: typeof SwitchInputClass;
|
|
126
199
|
|
|
127
|
-
/**
|
|
200
|
+
/**
|
|
201
|
+
* The `SwitchInput` class defines the desired user interface for a binary switch or toggle. This should be used when selecting between two options in a form.
|
|
202
|
+
*
|
|
203
|
+
* @deprecated since 5.2. Import [SwitchInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/SwitchInput/) directly instead.
|
|
204
|
+
*/
|
|
128
205
|
export type SwitchInput = SwitchInputClass;
|
|
129
206
|
|
|
130
|
-
/**
|
|
207
|
+
/**
|
|
208
|
+
* `TextAreaInput` defines the desired user interface for a multi-line text area.
|
|
209
|
+
*
|
|
210
|
+
* @deprecated since 5.2. Import [TextAreaInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/TextAreaInput/) directly instead.
|
|
211
|
+
*/
|
|
131
212
|
export const TextAreaInput: typeof TextAreaInputClass;
|
|
132
213
|
|
|
133
|
-
/**
|
|
214
|
+
/**
|
|
215
|
+
* `TextAreaInput` defines the desired user interface for a multi-line text area.
|
|
216
|
+
*
|
|
217
|
+
* @deprecated since 5.2. Import [TextAreaInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/TextAreaInput/) directly instead.
|
|
218
|
+
*/
|
|
134
219
|
export type TextAreaInput = TextAreaInputClass;
|
|
135
220
|
|
|
136
|
-
/**
|
|
221
|
+
/**
|
|
222
|
+
* `TextBoxInput` defines the desired user interface for a single-line text box.
|
|
223
|
+
*
|
|
224
|
+
* @deprecated since 5.2. Import [TextBoxInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/TextBoxInput/) directly instead.
|
|
225
|
+
*/
|
|
137
226
|
export const TextBoxInput: typeof TextBoxInputClass;
|
|
138
227
|
|
|
139
|
-
/**
|
|
228
|
+
/**
|
|
229
|
+
* `TextBoxInput` defines the desired user interface for a single-line text box.
|
|
230
|
+
*
|
|
231
|
+
* @deprecated since 5.2. Import [TextBoxInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/TextBoxInput/) directly instead.
|
|
232
|
+
*/
|
|
140
233
|
export type TextBoxInput = TextBoxInputClass;
|
|
141
234
|
|
|
142
|
-
/**
|
|
235
|
+
/**
|
|
236
|
+
* The `TimePickerInput` class defines the desired user interface for working with time-only types.
|
|
237
|
+
*
|
|
238
|
+
* @deprecated since 5.2. Import [TimePickerInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/TimePickerInput/) directly instead.
|
|
239
|
+
*/
|
|
143
240
|
export const TimePickerInput: typeof TimePickerInputClass;
|
|
144
241
|
|
|
145
|
-
/**
|
|
242
|
+
/**
|
|
243
|
+
* The `TimePickerInput` class defines the desired user interface for working with time-only types.
|
|
244
|
+
*
|
|
245
|
+
* @deprecated since 5.2. Import [TimePickerInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/TimePickerInput/) directly instead.
|
|
246
|
+
*/
|
|
146
247
|
export type TimePickerInput = TimePickerInputClass;
|
package/form/elements/inputs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import e from"./inputs/BarcodeScannerInput.js";import
|
|
2
|
+
import{deprecatedModule as e}from"../../core/deprecate.js";import t from"../../core/Logger.js";import n from"./inputs/BarcodeScannerInput.js";import r from"./inputs/ComboBoxInput.js";import i from"./inputs/DatePickerInput.js";import a from"./inputs/DateTimeOffsetPickerInput.js";import o from"./inputs/DateTimePickerInput.js";import s from"./inputs/DynamicChoiceInput.js";import c from"./inputs/Input.js";import l from"./inputs/MultipleChoiceInput.js";import u from"./inputs/RadioButtonsInput.js";import d from"./inputs/SwitchInput.js";import f from"./inputs/TextAreaInput.js";import p from"./inputs/TextBoxInput.js";import m from"./inputs/TimePickerInput.js";e(t.getLogger(`esri.form.elements.inputs`),`esri.form.elements.inputs`,{replacement:`Individual input module imports`,version:`5.2`,warnOnce:!0});const h=n,g=r,_=i,v=a,y=o,b=s,x=l,S=u,C=d,w=f,T=p,E=m,D={base:c,key:`type`,typeMap:{"barcode-scanner":h,"combo-box":g,"date-picker":_,"datetime-picker":y,"dynamic-choice":b,"multiple-choice":x,"timestampoffset-picker":v,"datetimeoffset-picker":v,"radio-buttons":S,switch:C,"text-area":w,"text-box":T,"time-picker":E}};export{h as BarcodeScannerInput,g as ComboBoxInput,_ as DatePickerInput,v as DateTimeOffsetPickerInput,y as DateTimePickerInput,b as DynamicChoiceInput,x as MultipleChoiceInput,S as RadioButtonsInput,C as SwitchInput,w as TextAreaInput,T as TextBoxInput,E as TimePickerInput,D as types};
|
package/form/elements.d.ts
CHANGED
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
* }
|
|
35
35
|
* ```
|
|
36
36
|
*
|
|
37
|
+
* @deprecated since 5.2. Import individual element modules directly instead.
|
|
37
38
|
* @since 4.16
|
|
38
39
|
* @see [FormTemplate](https://developers.arcgis.com/javascript/latest/references/core/form/FormTemplate/)
|
|
39
40
|
* @see [AttachmentElement](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/)
|
|
@@ -4,23 +4,63 @@ import type AnnotationFeatureSublayer from "../layers/support/AnnotationFeatureS
|
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Provides information about the [AnnotationFeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/AnnotationFeatureLayer/) from which a graphic originates.
|
|
7
|
+
* The [layer](https://developers.arcgis.com/javascript/latest/references/core/graphic/AnnotationFeatureGraphicOrigin/#layer) property references the AnnotationFeatureLayer, and the
|
|
8
|
+
* [sublayer](https://developers.arcgis.com/javascript/latest/references/core/graphic/AnnotationFeatureGraphicOrigin/#sublayer) property references the [AnnotationFeatureSublayer](https://developers.arcgis.com/javascript/latest/references/core/layers/support/AnnotationFeatureSublayer/) that contains the graphic, when available.
|
|
9
|
+
* The sublayer is `null` when no annotation sublayer information is available.
|
|
7
10
|
* The [origin](https://developers.arcgis.com/javascript/latest/references/core/Graphic/#origin) information may be available when a graphic is returned from methods such as
|
|
8
11
|
* [hitTest()](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#hitTest) or [queryFeatures()](https://developers.arcgis.com/javascript/latest/references/core/layers/AnnotationFeatureLayer/#queryFeatures).
|
|
9
12
|
*
|
|
13
|
+
* Before accessing the layer properties, use [isAnnotationFeatureGraphicOrigin](https://developers.arcgis.com/javascript/latest/references/core/graphic/isAnnotationFeatureGraphicOrigin/) to check
|
|
14
|
+
* whether the graphic's origin is an AnnotationFeatureGraphicOrigin.
|
|
15
|
+
*
|
|
16
|
+
* Use [getGraphicOriginTitle](https://developers.arcgis.com/javascript/latest/references/core/graphic/getGraphicOriginTitle/) to get the sublayer's title, or the layer's title when the sublayer is `null`.
|
|
17
|
+
* To get the popup template applicable to the graphic, call [Graphic.getEffectivePopupTemplate()](https://developers.arcgis.com/javascript/latest/references/core/Graphic/#getEffectivePopupTemplate) on the graphic
|
|
18
|
+
* instead of accessing the AnnotationFeatureLayer's template directly.
|
|
19
|
+
*
|
|
10
20
|
* @since 5.1
|
|
11
21
|
* @see [MapView.hitTest()](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#hitTest)
|
|
12
22
|
* @see [SceneView.hitTest()](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#hitTest)
|
|
13
23
|
* @see [AnnotationFeatureLayer.queryFeatures()](https://developers.arcgis.com/javascript/latest/references/core/layers/AnnotationFeatureLayer/#queryFeatures)
|
|
14
24
|
* @example
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
25
|
+
* Access the layer and sublayer of a graphic that originated from a MapImageLayer.
|
|
26
|
+
* ```js
|
|
27
|
+
* import { isMapImageGraphicOrigin } from "@arcgis/core/graphic/isMapImageGraphicOrigin.js";
|
|
28
|
+
*
|
|
29
|
+
* const origin = graphic.origin;
|
|
30
|
+
*
|
|
31
|
+
* // Check whether the graphic came from a MapImageLayer
|
|
32
|
+
* if (isMapImageGraphicOrigin(origin)) {
|
|
33
|
+
* console.log(origin.layer.title);
|
|
34
|
+
* console.log(origin.sublayer.title);
|
|
35
|
+
* }
|
|
36
|
+
* ```
|
|
37
|
+
* @example
|
|
38
|
+
* Access the vector tile style layer associated with a graphic returned by hitTest().
|
|
39
|
+
* ```js
|
|
40
|
+
* import { isVectorTileGraphicOrigin } from "@arcgis/core/graphic/isVectorTileGraphicOrigin.js";
|
|
41
|
+
*
|
|
42
|
+
* viewElement.addEventListener("arcgisViewClick", async (event) => {
|
|
43
|
+
* // Get hit-test results from the VectorTileLayer at the clicked location
|
|
44
|
+
* const response = await view.hitTest(event.detail, { include: vectorTileLayer });
|
|
45
|
+
*
|
|
46
|
+
* for (const result of response.results) {
|
|
47
|
+
* // Only graphic results contain a graphic with origin information
|
|
48
|
+
* if (result.type !== "graphic") {
|
|
49
|
+
* continue;
|
|
50
|
+
* }
|
|
51
|
+
*
|
|
52
|
+
* const graphic = result.graphic;
|
|
53
|
+
* const origin = graphic.origin;
|
|
54
|
+
*
|
|
55
|
+
* // Check whether the graphic came from a VectorTileLayer
|
|
56
|
+
* if (isVectorTileGraphicOrigin(origin)) {
|
|
57
|
+
* // layerId identifies a style layer within the VectorTileLayer
|
|
58
|
+
* const styleLayer = origin.layer.getStyleLayer(origin.layerId);
|
|
59
|
+
* console.log(styleLayer);
|
|
60
|
+
* }
|
|
61
|
+
* }
|
|
62
|
+
* });
|
|
63
|
+
* ```
|
|
24
64
|
*/
|
|
25
65
|
export default class AnnotationFeatureGraphicOrigin extends GraphicOrigin {
|
|
26
66
|
constructor(layer: AnnotationFeatureLayer, sublayer: AnnotationFeatureSublayer | null);
|
|
@@ -4,12 +4,61 @@ import type BuildingComponentSublayer from "../layers/buildingSublayers/Building
|
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Provides information about the [BuildingSceneLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/BuildingSceneLayer/) from which a graphic originates.
|
|
7
|
+
* The [layer](https://developers.arcgis.com/javascript/latest/references/core/graphic/BuildingGraphicOrigin/#layer) property references the BuildingSceneLayer, and the
|
|
8
|
+
* [sublayer](https://developers.arcgis.com/javascript/latest/references/core/graphic/BuildingGraphicOrigin/#sublayer) property references the [BuildingComponentSublayer](https://developers.arcgis.com/javascript/latest/references/core/layers/buildingSublayers/BuildingComponentSublayer/) that contains the graphic.
|
|
7
9
|
* The [origin](https://developers.arcgis.com/javascript/latest/references/core/Graphic/#origin) information may be available when a graphic is returned from methods such as
|
|
8
10
|
* [hitTest()](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#hitTest).
|
|
9
11
|
*
|
|
12
|
+
* Before accessing the layer properties, use [isBuildingGraphicOrigin](https://developers.arcgis.com/javascript/latest/references/core/graphic/isBuildingGraphicOrigin/) to check
|
|
13
|
+
* whether the graphic's origin is a BuildingGraphicOrigin.
|
|
14
|
+
*
|
|
15
|
+
* If you only need the title of the originating component sublayer, use [getGraphicOriginTitle](https://developers.arcgis.com/javascript/latest/references/core/graphic/getGraphicOriginTitle/).
|
|
16
|
+
* To get the popup template applicable to the graphic, call [Graphic.getEffectivePopupTemplate()](https://developers.arcgis.com/javascript/latest/references/core/Graphic/#getEffectivePopupTemplate) on the graphic
|
|
17
|
+
* instead of accessing the component sublayer's template directly.
|
|
18
|
+
*
|
|
10
19
|
* @since 5.0
|
|
11
20
|
* @see [SceneView.hitTest()](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#hitTest)
|
|
12
21
|
* @see [Scene component hitTest()](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-scene/#hitTest)
|
|
22
|
+
* @example
|
|
23
|
+
* Access the layer and sublayer of a graphic that originated from a MapImageLayer.
|
|
24
|
+
* ```js
|
|
25
|
+
* import { isMapImageGraphicOrigin } from "@arcgis/core/graphic/isMapImageGraphicOrigin.js";
|
|
26
|
+
*
|
|
27
|
+
* const origin = graphic.origin;
|
|
28
|
+
*
|
|
29
|
+
* // Check whether the graphic came from a MapImageLayer
|
|
30
|
+
* if (isMapImageGraphicOrigin(origin)) {
|
|
31
|
+
* console.log(origin.layer.title);
|
|
32
|
+
* console.log(origin.sublayer.title);
|
|
33
|
+
* }
|
|
34
|
+
* ```
|
|
35
|
+
* @example
|
|
36
|
+
* Access the vector tile style layer associated with a graphic returned by hitTest().
|
|
37
|
+
* ```js
|
|
38
|
+
* import { isVectorTileGraphicOrigin } from "@arcgis/core/graphic/isVectorTileGraphicOrigin.js";
|
|
39
|
+
*
|
|
40
|
+
* viewElement.addEventListener("arcgisViewClick", async (event) => {
|
|
41
|
+
* // Get hit-test results from the VectorTileLayer at the clicked location
|
|
42
|
+
* const response = await view.hitTest(event.detail, { include: vectorTileLayer });
|
|
43
|
+
*
|
|
44
|
+
* for (const result of response.results) {
|
|
45
|
+
* // Only graphic results contain a graphic with origin information
|
|
46
|
+
* if (result.type !== "graphic") {
|
|
47
|
+
* continue;
|
|
48
|
+
* }
|
|
49
|
+
*
|
|
50
|
+
* const graphic = result.graphic;
|
|
51
|
+
* const origin = graphic.origin;
|
|
52
|
+
*
|
|
53
|
+
* // Check whether the graphic came from a VectorTileLayer
|
|
54
|
+
* if (isVectorTileGraphicOrigin(origin)) {
|
|
55
|
+
* // layerId identifies a style layer within the VectorTileLayer
|
|
56
|
+
* const styleLayer = origin.layer.getStyleLayer(origin.layerId);
|
|
57
|
+
* console.log(styleLayer);
|
|
58
|
+
* }
|
|
59
|
+
* }
|
|
60
|
+
* });
|
|
61
|
+
* ```
|
|
13
62
|
*/
|
|
14
63
|
export default class BuildingGraphicOrigin extends GraphicOrigin {
|
|
15
64
|
constructor(sublayer: BuildingComponentSublayer);
|