@arcgis/core 4.22.0-next.20211204 → 4.22.0
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/PopupTemplate.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{44ccee36f8c74f4f134e.js → 025df54bafc05c183182.js} +1 -1
- package/assets/esri/core/workers/chunks/{23af0b02208e20d5c07e.js → 22c0032451a4e1d43167.js} +1 -1
- package/assets/esri/core/workers/chunks/28f9b48b59bf1347facd.js +1 -0
- package/assets/esri/core/workers/chunks/{ff9a9e705237c55f78ff.js → 49bf6ce6b31a0028cee1.js} +1 -1
- package/assets/esri/core/workers/chunks/{02ce52ca0084536bc066.js → 4f4cc4ebd68dbd5ee9c3.js} +1 -1
- package/assets/esri/core/workers/chunks/{058955b87ce2aa1b1809.js → 5915752b754997630665.js} +1 -1
- package/assets/esri/core/workers/chunks/60bfe5450b85b0d4605f.js +1 -0
- package/assets/esri/core/workers/chunks/{f3da8b797c8e1fcb1c21.js → 63161320a58a0b1702a2.js} +1 -1
- package/assets/esri/core/workers/chunks/{96a62dc1e07f3ef20a30.js → 67482a0c298e41ea47f5.js} +1 -1
- package/assets/esri/core/workers/chunks/{52aa3b44bddb10caa343.js → 753846665158c1c321ee.js} +1 -1
- package/assets/esri/core/workers/chunks/{8bc4ea821be16a752226.js → 764126387018aa548f58.js} +1 -1
- package/assets/esri/core/workers/chunks/{bc0b85bc1e5116836ba4.js → 79ddc2e92f0f057f6be3.js} +1 -1
- package/assets/esri/core/workers/chunks/{07bfb7bb4447aeacd87a.js → 7db1818ed9e834402e98.js} +1 -1
- package/assets/esri/core/workers/chunks/8150ec4b80adcf5fca86.js +1 -0
- package/assets/esri/core/workers/chunks/{6210b23872c362f51b12.js → 89d1c5f6ed167515ad24.js} +1 -1
- package/assets/esri/core/workers/chunks/{4417dfcb2ba50ac9f199.js → 8ac288ac3ff8e61b98c4.js} +1 -1
- package/assets/esri/core/workers/chunks/95b085ff097005995ced.js +1 -0
- package/assets/esri/core/workers/chunks/{e02a3d456525e76ddb60.js → a680a6acb45fa65436e6.js} +1 -1
- package/assets/esri/core/workers/chunks/{489147cf21d55f47d0e6.js → ab635e54fda321961683.js} +1 -1
- package/assets/esri/core/workers/chunks/{44145763617ea985cce4.js → c32a849111ae061ae194.js} +1 -1
- package/assets/esri/core/workers/chunks/{6a1ce00bcb689ea95bcb.js → dab0bfa26073cf325e08.js} +1 -1
- package/assets/esri/core/workers/chunks/{b6b46f8e6a7d8d3cef50.js → db00e63a7c4fdf635a8c.js} +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ar.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_bg.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_bs.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ca.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_cs.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_da.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_de.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_el.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_es.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_et.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_fi.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_fr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_he.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_hr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_hu.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_id.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_it.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ja.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ko.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_lt.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_lv.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_nb.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_nl.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_pl.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_pt-BR.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_pt-PT.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ro.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ru.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sk.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sl.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sv.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_th.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_tr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_uk.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_vi.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_zh-CN.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_zh-HK.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_zh-TW.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_nb.json +1 -1
- package/chunks/Clouds.glsl.js +4 -4
- package/chunks/RibbonLine.glsl.js +55 -61
- package/config.js +1 -1
- package/copyright.txt +47 -19
- package/interfaces.d.ts +183 -46
- package/layers/CSVLayer.js +1 -1
- package/layers/GeoJSONLayer.js +1 -1
- package/layers/mixins/ArcGISImageService.js +1 -1
- package/layers/mixins/operationalLayers.js +1 -1
- package/layers/support/layersCreator.js +1 -1
- package/package.json +1 -1
- package/renderers/VectorFieldRenderer.js +1 -1
- package/renderers/support/RasterSymbolizer.js +1 -1
- package/renderers/support/rasterRendererHelper.js +1 -1
- package/support/revision.js +1 -1
- package/views/2d/MapViewConstraints.js +1 -1
- package/views/2d/constraints/ZoomConstraint.js +1 -1
- package/views/2d/engine/Stage.js +1 -1
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/2d/layers/FeatureLayerView2D.js +1 -1
- package/views/2d/layers/imagery/ImageryGraphicsView2D.js +1 -1
- package/views/3d/environment/Clouds.glsl.js +1 -1
- package/views/3d/environment/CloudsGenerator.js +1 -1
- package/views/3d/environment/NoiseTextureAtlas.js +1 -1
- package/views/MapView.js +1 -1
- package/views/MapViewBase.js +1 -1
- package/views/webgl/Program.js +1 -1
- package/widgets/Histogram.js +1 -1
- package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
- package/widgets/Sketch/SketchViewModel.js +1 -1
- package/widgets/UtilityNetworkTrace.js +1 -1
- package/assets/esri/core/t9n/Units_no.json +0 -1
- package/assets/esri/core/workers/chunks/01c79caf64e297e1b221.js +0 -1
- package/assets/esri/core/workers/chunks/aa57f2c380132c746730.js +0 -1
- package/assets/esri/core/workers/chunks/b17afdfe4450f69298ad.js +0 -1
- package/assets/esri/core/workers/chunks/deba37055be7c2d7da26.js +0 -1
- package/assets/esri/identity/t9n/identity_no.json +0 -1
- package/assets/esri/smartMapping/t9n/smartMapping_no.json +0 -1
- package/assets/esri/t9n/basemaps_no.json +0 -1
- package/assets/esri/t9n/common_no.json +0 -1
- package/assets/esri/widgets/AreaMeasurement2D/t9n/AreaMeasurement2D_no.json +0 -1
- package/assets/esri/widgets/AreaMeasurement3D/t9n/AreaMeasurement3D_no.json +0 -1
- package/assets/esri/widgets/Attachments/t9n/Attachments_no.json +0 -1
- package/assets/esri/widgets/Attribution/t9n/Attribution_no.json +0 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_no.json +0 -1
- package/assets/esri/widgets/BasemapLayerList/t9n/BasemapLayerList_no.json +0 -1
- package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_no.json +0 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_no.json +0 -1
- package/assets/esri/widgets/BuildingExplorer/t9n/BuildingExplorer_no.json +0 -1
- package/assets/esri/widgets/Compass/t9n/Compass_no.json +0 -1
- package/assets/esri/widgets/CoordinateConversion/t9n/CoordinateConversion_no.json +0 -1
- package/assets/esri/widgets/Daylight/t9n/Daylight_no.json +0 -1
- package/assets/esri/widgets/DirectLineMeasurement3D/t9n/DirectLineMeasurement3D_no.json +0 -1
- package/assets/esri/widgets/Directions/t9n/Directions_no.json +0 -1
- package/assets/esri/widgets/Directions/t9n/Printout_no.json +0 -1
- package/assets/esri/widgets/DistanceMeasurement2D/t9n/DistanceMeasurement2D_no.json +0 -1
- package/assets/esri/widgets/Editor/t9n/Editor_no.json +0 -1
- package/assets/esri/widgets/ElevationProfile/t9n/ElevationProfile_no.json +0 -1
- package/assets/esri/widgets/Expand/t9n/Expand_no.json +0 -1
- package/assets/esri/widgets/Feature/t9n/Feature_no.json +0 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_no.json +0 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_no.json +0 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_no.json +0 -1
- package/assets/esri/widgets/FloorFilter/t9n/FloorFilter_no.json +0 -1
- package/assets/esri/widgets/Fullscreen/t9n/Fullscreen_no.json +0 -1
- package/assets/esri/widgets/Histogram/t9n/Histogram_no.json +0 -1
- package/assets/esri/widgets/HistogramRangeSlider/t9n/HistogramRangeSlider_no.json +0 -1
- package/assets/esri/widgets/Home/t9n/Home_no.json +0 -1
- package/assets/esri/widgets/LayerList/t9n/LayerList_no.json +0 -1
- package/assets/esri/widgets/Legend/t9n/Legend_no.json +0 -1
- package/assets/esri/widgets/LineOfSight/t9n/LineOfSight_no.json +0 -1
- package/assets/esri/widgets/Locate/t9n/Locate_no.json +0 -1
- package/assets/esri/widgets/Measurement/t9n/Measurement_no.json +0 -1
- package/assets/esri/widgets/NavigationToggle/t9n/NavigationToggle_no.json +0 -1
- package/assets/esri/widgets/Popup/t9n/Popup_no.json +0 -1
- package/assets/esri/widgets/Print/t9n/Print_no.json +0 -1
- package/assets/esri/widgets/ScaleBar/t9n/ScaleBar_no.json +0 -1
- package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_no.json +0 -1
- package/assets/esri/widgets/Search/t9n/Search_no.json +0 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_no.json +0 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_no.json +0 -1
- package/assets/esri/widgets/Slice/t9n/Slice_no.json +0 -1
- package/assets/esri/widgets/Slider/t9n/Slider_no.json +0 -1
- package/assets/esri/widgets/Swipe/t9n/Swipe_no.json +0 -1
- package/assets/esri/widgets/TableList/t9n/TableList_no.json +0 -1
- package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_no.json +0 -1
- package/assets/esri/widgets/Track/t9n/Track_no.json +0 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_no.json +0 -1
- package/assets/esri/widgets/Zoom/t9n/Zoom_no.json +0 -1
- package/assets/esri/widgets/smartMapping/ClassedColorSlider/t9n/ClassedColorSlider_no.json +0 -1
- package/assets/esri/widgets/smartMapping/ClassedSizeSlider/t9n/ClassedSizeSlider_no.json +0 -1
- package/assets/esri/widgets/smartMapping/ColorSizeSlider/t9n/ColorSizeSlider_no.json +0 -1
- package/assets/esri/widgets/smartMapping/ColorSlider/t9n/ColorSlider_no.json +0 -1
- package/assets/esri/widgets/smartMapping/HeatmapSlider/t9n/HeatmapSlider_no.json +0 -1
- package/assets/esri/widgets/smartMapping/OpacitySlider/t9n/OpacitySlider_no.json +0 -1
- package/assets/esri/widgets/smartMapping/SizeSlider/t9n/SizeSlider_no.json +0 -1
- package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_no.json +0 -1
- package/assets/esri/widgets/support/SnappingControls/t9n/SnappingControls_no.json +0 -1
- package/assets/esri/widgets/support/t9n/ColorPicker_no.json +0 -1
- package/assets/esri/widgets/support/t9n/DatePicker_no.json +0 -1
- package/assets/esri/widgets/support/t9n/TimePicker_no.json +0 -1
- package/assets/esri/widgets/support/t9n/timezone_no.json +0 -1
- package/assets/esri/widgets/support/t9n/uriUtils_no.json +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"widgetLabel":"Uređivač","multipleFeaturesTemplate":"Više geoobjekata ({total})","untitledFeatureTemplate":"Geoobjekat bez naslova {id}","editFeatures":"Izmene geoobjekata","editFeature":"Izmeni geoobjekat","addFeature":"Dodaj geoobjekat","featureAttachments":"Prilozi geoobjekata","attachmentsButtonLabel":"Prilozi","attachments":"Prilozi","addAttachment":"Dodaj prilog","editAttachment":"Upravljanje prilozima","selectTemplate":"Izaberite tip geoobjekta","selectFeatureToEdit":"Izaberite geoobjekat da biste ga izmenili.","selectFeature":"Izaberite geoobjekat","placeFeature":"Postavi geoobjekat","placeFeatureOnMap":"Postavite geoobjekat na mapu.","add":"Dodaj","discardEdits":"Odbaci izmene","discardFeature":"Odbaci geoobjekat","edit":"Izmeni","keepAttachment":"Zadrži prilog","keepFeature":"Zadrži geoobjekat","continueAdding":"Nastavi dodavanje","continueEditing":"Nastavi uređivanje","editing":"Izmene","warning":"Obaveštenje","retry":"Pokušajte ponovo","ignore":"Zanemari","deleteWarningTitle":"
|
|
1
|
+
{"widgetLabel":"Uređivač","multipleFeaturesTemplate":"Više geoobjekata ({total})","untitledFeatureTemplate":"Geoobjekat bez naslova {id}","editFeatures":"Izmene geoobjekata","editFeature":"Izmeni geoobjekat","addFeature":"Dodaj geoobjekat","featureAttachments":"Prilozi geoobjekata","attachmentsButtonLabel":"Prilozi","attachments":"Prilozi","addAttachment":"Dodaj prilog","editAttachment":"Upravljanje prilozima","selectTemplate":"Izaberite tip geoobjekta","selectFeatureToEdit":"Izaberite geoobjekat da biste ga izmenili.","selectFeature":"Izaberite geoobjekat","placeFeature":"Postavi geoobjekat","placeFeatureOnMap":"Postavite geoobjekat na mapu.","add":"Dodaj","discardEdits":"Odbaci izmene","discardFeature":"Odbaci geoobjekat","edit":"Izmeni","keepAttachment":"Zadrži prilog","keepFeature":"Zadrži geoobjekat","continueAdding":"Nastavi dodavanje","continueEditing":"Nastavi uređivanje","editing":"Izmene","warning":"Obaveštenje","retry":"Pokušajte ponovo","ignore":"Zanemari","deleteWarningTitle":"Želite li da izbrišete ovaj geoobjekat?","deleteAttachmentWarningTitle":"Obriši ovaj prilog?","deleteWarningMessage":"Ovaj geoobjekat će biti trajno uklonjen.","deleteAttachmentWarningMessage":"Ovaj prilog će biti trajno uklonjen.","cancelEditTitle":"Odbaci izmene?","cancelAddTitle":"Odbaci geoobjekat?","cancelAddWarningMessage":"Ovaj geoobjekat će biti izgubljen.","cancelEditWarningMessage":"Ažuriranja za ovaj geoobjekat će biti izgubljena.","cancelRequestTitle":"Želite li da otkažete radni tok?","cancelRequestWarningMessage":"Napravljen je zahtev za otkazivanje ovog radnog toka.","errorWarningTitle":"Nažalost, nešto nije u redu","errorWarningMessageTemplate":"Čuvanje izmena nije moguće: {errorMessage}","clickToFinishTemplate":"Kliknite na {button} da biste završili.","tips":{"clickToStart":"Kliknite na mapu da biste počeli da crtate.","clickToContinue":"Kliknite na mapu da biste nastavili da crtate.","clickToAddPoint":"Kliknite na mapu da biste dodali tačku.","clickToContinueThenDoubleClickToEnd":"Kliknite na mapu da biste nastavili da crtate, a zatim kliknite dvaput da završite.","clickToAddFeature":"Kliknite na mapu da biste dodali komponentu."}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"widgetLabel":"Redigerare","multipleFeaturesTemplate":"Flera geoobjekt ({total})","untitledFeatureTemplate":"Titellöst geoobjekt {id}","editFeatures":"Redigera geoobjekt","editFeature":"Redigera geoobjekt","addFeature":"Lägg till geoobjekt","featureAttachments":"Geoobjektbilagor","attachmentsButtonLabel":"Bilagor","attachments":"Bilagor","addAttachment":"Lägg till bilaga","editAttachment":"Hantera bilaga","selectTemplate":"Välj en geoobjekttyp","selectFeatureToEdit":"Välj ett geoobjekt för att redigera det.","selectFeature":"Välj geoobjekt","placeFeature":"Placera geoobjekt","placeFeatureOnMap":"Placera geoobjekt på kartan.","add":"Lägg till","discardEdits":"Ignorera redigeringar","discardFeature":"Ignorera geoobjekt","edit":"Redigera","keepAttachment":"Behåll bilaga","keepFeature":"Behåll geoobjekt","continueAdding":"Fortsätt lägga till","continueEditing":"Fortsätt redigera","editing":"Redigering","warning":"Meddelande","retry":"Försök igen","ignore":"Ignorera","deleteWarningTitle":"
|
|
1
|
+
{"widgetLabel":"Redigerare","multipleFeaturesTemplate":"Flera geoobjekt ({total})","untitledFeatureTemplate":"Titellöst geoobjekt {id}","editFeatures":"Redigera geoobjekt","editFeature":"Redigera geoobjekt","addFeature":"Lägg till geoobjekt","featureAttachments":"Geoobjektbilagor","attachmentsButtonLabel":"Bilagor","attachments":"Bilagor","addAttachment":"Lägg till bilaga","editAttachment":"Hantera bilaga","selectTemplate":"Välj en geoobjekttyp","selectFeatureToEdit":"Välj ett geoobjekt för att redigera det.","selectFeature":"Välj geoobjekt","placeFeature":"Placera geoobjekt","placeFeatureOnMap":"Placera geoobjekt på kartan.","add":"Lägg till","discardEdits":"Ignorera redigeringar","discardFeature":"Ignorera geoobjekt","edit":"Redigera","keepAttachment":"Behåll bilaga","keepFeature":"Behåll geoobjekt","continueAdding":"Fortsätt lägga till","continueEditing":"Fortsätt redigera","editing":"Redigering","warning":"Meddelande","retry":"Försök igen","ignore":"Ignorera","deleteWarningTitle":"Ta bort geoobjektet?","deleteAttachmentWarningTitle":"Ta bort den här bilagan?","deleteWarningMessage":"Geoobjektet tas bort helt.","deleteAttachmentWarningMessage":"Bilagan tas bort helt.","cancelEditTitle":"Ta bort redigeringar?","cancelAddTitle":"Ignorera geoobjekt?","cancelAddWarningMessage":"Detta geoobjekt går förlorat.","cancelEditWarningMessage":"Uppdateringar av geoobjektet går förlorade.","cancelRequestTitle":"Avbryt arbetsflöde?","cancelRequestWarningMessage":"En förfrågan har skickats om att avbryta arbetsflödet.","errorWarningTitle":"Det uppstod ett fel","errorWarningMessageTemplate":"Ändringarna kunde inte sparas: {errorMessage}","clickToFinishTemplate":"Klicka på {button} för att avsluta.","tips":{"clickToStart":"Klicka på kartan för att börja rita.","clickToContinue":"Klicka på kartan för att fortsätta rita.","clickToAddPoint":"Klicka på kartan för att lägga till en punkt.","clickToContinueThenDoubleClickToEnd":"Klicka på kartan för att fortsätta rita och dubbelklicka för att slutföra.","clickToAddFeature":"Klicka på kartan för att lägga till ett geoobjekt."}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"widgetLabel":"เครื่องมือแก้ไข","multipleFeaturesTemplate":"หลายฟีเจอร์ ({total})","untitledFeatureTemplate":"ฟีเจอร์ที่ไม่มีชื่อ {id}","editFeatures":"แก้ไขฟีเจอร์","editFeature":"แก้ไขฟีเจอร์","addFeature":"เพิ่มฟีเจอร์","featureAttachments":"ไฟล์แนบฟีเจอร์","attachmentsButtonLabel":"เอกสารแนบ","attachments":"เอกสารแนบ","addAttachment":"เพิ่มไฟล์แนบ","editAttachment":"จัดการไฟล์แนบ","selectTemplate":"เลือกประเภทฟีเจอร์","selectFeatureToEdit":"เลือกฟีเจอร์เพื่อแก้ไข","selectFeature":"เลือกฟีเจอร์","placeFeature":"วางฟีเจอร์","placeFeatureOnMap":"วางฟีเจอร์บนแผนที่","add":"เพิ่ม","discardEdits":"ยกเลิกการแก้ไข","discardFeature":"ยกเลิกฟีเจอร์","edit":"แก้ไข","keepAttachment":"เก็บไฟล์แนบไว้","keepFeature":"คงฟีเจอร์ไว้","continueAdding":"เพิ่มต่อ","continueEditing":"แก้ไขต่อ","editing":"แก้ไข","warning":"ประกาศ","retry":"ลองใหม่","ignore":"เพิกเฉย","deleteWarningTitle":"
|
|
1
|
+
{"widgetLabel":"เครื่องมือแก้ไข","multipleFeaturesTemplate":"หลายฟีเจอร์ ({total})","untitledFeatureTemplate":"ฟีเจอร์ที่ไม่มีชื่อ {id}","editFeatures":"แก้ไขฟีเจอร์","editFeature":"แก้ไขฟีเจอร์","addFeature":"เพิ่มฟีเจอร์","featureAttachments":"ไฟล์แนบฟีเจอร์","attachmentsButtonLabel":"เอกสารแนบ","attachments":"เอกสารแนบ","addAttachment":"เพิ่มไฟล์แนบ","editAttachment":"จัดการไฟล์แนบ","selectTemplate":"เลือกประเภทฟีเจอร์","selectFeatureToEdit":"เลือกฟีเจอร์เพื่อแก้ไข","selectFeature":"เลือกฟีเจอร์","placeFeature":"วางฟีเจอร์","placeFeatureOnMap":"วางฟีเจอร์บนแผนที่","add":"เพิ่ม","discardEdits":"ยกเลิกการแก้ไข","discardFeature":"ยกเลิกฟีเจอร์","edit":"แก้ไข","keepAttachment":"เก็บไฟล์แนบไว้","keepFeature":"คงฟีเจอร์ไว้","continueAdding":"เพิ่มต่อ","continueEditing":"แก้ไขต่อ","editing":"แก้ไข","warning":"ประกาศ","retry":"ลองใหม่","ignore":"เพิกเฉย","deleteWarningTitle":"ลบฟีเจอร์นี้หรือไม่","deleteAttachmentWarningTitle":"ลบไฟล์แนบนี้หรือไม่","deleteWarningMessage":"ฟีเจอร์นี้จะถูกลบออกอย่างถาวร","deleteAttachmentWarningMessage":"ไฟล์แนบนี้จะถูกลบออกอย่างถาวร","cancelEditTitle":"ล้างการลบข้อมูล?","cancelAddTitle":"ละทิ้งฟีเจอร์หรือไม่","cancelAddWarningMessage":"ฟีเจอร์นี้จะสูญหายไป","cancelEditWarningMessage":"การอัพเดตของฟีเจอร์นี้จะสูญหายไป","cancelRequestTitle":"ยกเลิกขั้นตอนการดำเนินงานหรือไม่","cancelRequestWarningMessage":"มีการส่งคำขอเพื่อยกเลิกขั้นตอนการดำเนินงานนี้","errorWarningTitle":"ขออภัย เกิดข้อผิดพลาดขึ้น","errorWarningMessageTemplate":"ไม่สามารถบันทึกการแก้ไขได้: {errorMessage}","clickToFinishTemplate":"คลิก {button} เพื่อสิ้นสุด","tips":{"clickToStart":"คลิกที่แผนที่เพื่อเริ่มการวาด","clickToContinue":"คลิกที่แผนที่เพื่อวาดต่อ","clickToAddPoint":"คลิกที่แผนที่เพื่อเพิ่มจุด","clickToContinueThenDoubleClickToEnd":"คลิกที่แผนที่เพื่อวาดต่อ จากนั้นดับเบิลคลิกเพื่อสรุปการดำเนินการ","clickToAddFeature":"คลิกที่แผนที่เพื่อเพิ่มคุณสมบัติ"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"widgetLabel":"Editor","multipleFeaturesTemplate":"Çoklu detaylar ({total})","untitledFeatureTemplate":"Başlıksız Detay {id}","editFeatures":"Detayları düzenle","editFeature":"Detayı düzenle","addFeature":"Detay ekle","featureAttachments":"Detay eklentileri","attachmentsButtonLabel":"Eklentiler","attachments":"Eklentiler","addAttachment":"Eklenti ekle","editAttachment":"Eklentiyi yönet","selectTemplate":"Detay türü seç","selectFeatureToEdit":"İçinde düzenleme yapılacak detayı seçin.","selectFeature":"Detay seç","placeFeature":"Detay ekleyin","placeFeatureOnMap":"Haritaya detay ekle.","add":"Ekle","discardEdits":"Düzenlemeleri at","discardFeature":"Detayı at","edit":"Düzenle","keepAttachment":"Eklentiyi tut","keepFeature":"Detayı koru","continueAdding":"Eklemeye devam et","continueEditing":"Düzenlemeye devam et","editing":"Düzenleme","warning":"Dikkat","retry":"Yeniden Dene","ignore":"Yoksay","deleteWarningTitle":"
|
|
1
|
+
{"widgetLabel":"Editor","multipleFeaturesTemplate":"Çoklu detaylar ({total})","untitledFeatureTemplate":"Başlıksız Detay {id}","editFeatures":"Detayları düzenle","editFeature":"Detayı düzenle","addFeature":"Detay ekle","featureAttachments":"Detay eklentileri","attachmentsButtonLabel":"Eklentiler","attachments":"Eklentiler","addAttachment":"Eklenti ekle","editAttachment":"Eklentiyi yönet","selectTemplate":"Detay türü seç","selectFeatureToEdit":"İçinde düzenleme yapılacak detayı seçin.","selectFeature":"Detay seç","placeFeature":"Detay ekleyin","placeFeatureOnMap":"Haritaya detay ekle.","add":"Ekle","discardEdits":"Düzenlemeleri at","discardFeature":"Detayı at","edit":"Düzenle","keepAttachment":"Eklentiyi tut","keepFeature":"Detayı koru","continueAdding":"Eklemeye devam et","continueEditing":"Düzenlemeye devam et","editing":"Düzenleme","warning":"Dikkat","retry":"Yeniden Dene","ignore":"Yoksay","deleteWarningTitle":"Bu detay silinsin mi?","deleteAttachmentWarningTitle":"Bu eklenti silinsin mi?","deleteWarningMessage":"Bu detay kalıcı olarak kaldırılacak.","deleteAttachmentWarningMessage":"Bu eklenti kalıcı olarak kaldırılacak.","cancelEditTitle":"Düzenlemeler atılsın mı?","cancelAddTitle":"Detay çıkarılsın mı?","cancelAddWarningMessage":"Bu detay kaybedilecek.","cancelEditWarningMessage":"Bu detayda yapılan güncelleme kaybedilecek.","cancelRequestTitle":"İş akışı iptal edilsin mi?","cancelRequestWarningMessage":"Bu iş akışının iptal edilmesi için talepte bulunuldu.","errorWarningTitle":"Üzgünüz, hata oluştu","errorWarningMessageTemplate":"Düzenlemeler kaydedilemedi: {errorMessage}","clickToFinishTemplate":"Bitirmek için {button} düğmesini tıklayın.","tips":{"clickToStart":"Çizmeye başlamak için haritaya tıklayın.","clickToContinue":"Çizmeye devam etmek için haritaya tıklayın.","clickToAddPoint":"Bir nokta eklemek için haritaya tıklayın.","clickToContinueThenDoubleClickToEnd":"Çizmeye devam etmek için haritaya tıklayın ve bitirmek için çift tıklayın.","clickToAddFeature":"Detay eklemek için haritaya tıklayın."}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"widgetLabel":"Editor","multipleFeaturesTemplate":"Декілька об'єктів ({total})","untitledFeatureTemplate":"Об'єкт без заголовку {id}","editFeatures":"Редагувати об'єкти","editFeature":"Редагувати об'єкт","addFeature":"Додати об'єкт","featureAttachments":"Прикріплення об'єктів","attachmentsButtonLabel":"Прикріплення","attachments":"Прикріплення","addAttachment":"Додати прикріплення","editAttachment":"Керування прикріпленням","selectTemplate":"Вибрати тип об'єкту","selectFeatureToEdit":"Вибрати об'єкт, щоб його редагувати","selectFeature":"Вибрати об’єкт","placeFeature":"Розмістити об'єкт","placeFeatureOnMap":"Розмітити об'єкт на карті.","add":"Додавання","discardEdits":"Скасувати редагування","discardFeature":"Відхилити об'єкт","edit":"Редагування","keepAttachment":"Зберегти прикріплення","keepFeature":"Залишити об'єкт","continueAdding":"Продовжити додання","continueEditing":"Продовжити редагування","editing":"Редагування","warning":"Примітка","retry":"Повторити","ignore":"Ігнорувати","deleteWarningTitle":"
|
|
1
|
+
{"widgetLabel":"Editor","multipleFeaturesTemplate":"Декілька об'єктів ({total})","untitledFeatureTemplate":"Об'єкт без заголовку {id}","editFeatures":"Редагувати об'єкти","editFeature":"Редагувати об'єкт","addFeature":"Додати об'єкт","featureAttachments":"Прикріплення об'єктів","attachmentsButtonLabel":"Прикріплення","attachments":"Прикріплення","addAttachment":"Додати прикріплення","editAttachment":"Керування прикріпленням","selectTemplate":"Вибрати тип об'єкту","selectFeatureToEdit":"Вибрати об'єкт, щоб його редагувати","selectFeature":"Вибрати об’єкт","placeFeature":"Розмістити об'єкт","placeFeatureOnMap":"Розмітити об'єкт на карті.","add":"Додавання","discardEdits":"Скасувати редагування","discardFeature":"Відхилити об'єкт","edit":"Редагування","keepAttachment":"Зберегти прикріплення","keepFeature":"Залишити об'єкт","continueAdding":"Продовжити додання","continueEditing":"Продовжити редагування","editing":"Редагування","warning":"Примітка","retry":"Повторити","ignore":"Ігнорувати","deleteWarningTitle":"Видалити цей об'єкт?","deleteAttachmentWarningTitle":"Видалити це прикріплення","deleteWarningMessage":"Цей об'єкт буде назавжди видалено.","deleteAttachmentWarningMessage":"Це прикріплення буде назавжди видалено.","cancelEditTitle":"Скасувати редагування?","cancelAddTitle":"Відхилити об'єкт?","cancelAddWarningMessage":"Цей об'єкт буде втрачений","cancelEditWarningMessage":"Оновлення для цього об'єкту будуть втрачені.","cancelRequestTitle":"Скасувати робочий процес?","cancelRequestWarningMessage":"Було виконано запит на скасування цього робочого процесу.","errorWarningTitle":"Ой, щось пішло не так","errorWarningMessageTemplate":"Зміни не вдалося зберегти: {errorMessage}","clickToFinishTemplate":"Натисніть {button} для завершення.","tips":{"clickToStart":"Клацніть на карті, щоб почати малювання.","clickToContinue":"Клацніть на карті, щоб продовжити малювання.","clickToAddPoint":"Клацніть на карті, щоб додати точку.","clickToContinueThenDoubleClickToEnd":"Клацніть на карті, щоб продовжити малювання, потім двічі клацніть, щоб завершити.","clickToAddFeature":"Клацніть на карті, щоб додати об'єкт."}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"widgetLabel":"Editor","multipleFeaturesTemplate":"Nhiều đối tượng ({total})","untitledFeatureTemplate":"Đối tượng chưa có Tiêu đề {id}","editFeatures":"Biên tập đối tượng","editFeature":"Chỉnh sửa đối tượng","addFeature":"Thêm đối tượng","featureAttachments":"Tệp đính kèm đối tượng","attachmentsButtonLabel":"Tệp đính kèm","attachments":"Tệp đính kèm","addAttachment":"Thêm tệp đính kèm","editAttachment":"Quản lý tệp đính kèm","selectTemplate":"Chọn loại đối tượng","selectFeatureToEdit":"Chọn một đối tượng để chỉnh sửa.","selectFeature":"Chọn đối tượng","placeFeature":"Đặt đối tượng","placeFeatureOnMap":"Đặt đối tượng lên bản đồ.","add":"Thêm","discardEdits":"Hủy các chỉnh sửa","discardFeature":"Hủy bỏ đối tượng","edit":"Chỉnh sửa","keepAttachment":"Giữ lại tệp đính kèm","keepFeature":"Giữ đối tượng","continueAdding":"Tiếp tục thêm","continueEditing":"Tiếp tục chỉnh sửa","editing":"Biên tập","warning":"Lưu ý","retry":"Thử lại","ignore":"Bỏ qua","deleteWarningTitle":"
|
|
1
|
+
{"widgetLabel":"Editor","multipleFeaturesTemplate":"Nhiều đối tượng ({total})","untitledFeatureTemplate":"Đối tượng chưa có Tiêu đề {id}","editFeatures":"Biên tập đối tượng","editFeature":"Chỉnh sửa đối tượng","addFeature":"Thêm đối tượng","featureAttachments":"Tệp đính kèm đối tượng","attachmentsButtonLabel":"Tệp đính kèm","attachments":"Tệp đính kèm","addAttachment":"Thêm tệp đính kèm","editAttachment":"Quản lý tệp đính kèm","selectTemplate":"Chọn loại đối tượng","selectFeatureToEdit":"Chọn một đối tượng để chỉnh sửa.","selectFeature":"Chọn đối tượng","placeFeature":"Đặt đối tượng","placeFeatureOnMap":"Đặt đối tượng lên bản đồ.","add":"Thêm","discardEdits":"Hủy các chỉnh sửa","discardFeature":"Hủy bỏ đối tượng","edit":"Chỉnh sửa","keepAttachment":"Giữ lại tệp đính kèm","keepFeature":"Giữ đối tượng","continueAdding":"Tiếp tục thêm","continueEditing":"Tiếp tục chỉnh sửa","editing":"Biên tập","warning":"Lưu ý","retry":"Thử lại","ignore":"Bỏ qua","deleteWarningTitle":"Xóa đối tượng này?","deleteAttachmentWarningTitle":"Xóa tệp đính kèm này?","deleteWarningMessage":"Đối tượng này sẽ bị xóa vĩnh viễn.","deleteAttachmentWarningMessage":"Tệp đính kèm này sẽ bị xóa vĩnh viễn.","cancelEditTitle":"Hủy các chỉnh sửa?","cancelAddTitle":"Hủy bỏ đối tượng?","cancelAddWarningMessage":"Đối tượng này sẽ bị mất.","cancelEditWarningMessage":"Các cập nhật với đối tượng này sẽ bị mất.","cancelRequestTitle":"Hủy bỏ quy trình?","cancelRequestWarningMessage":"Một yêu cầu đã được đưa ra để hủy bỏ quy trình này.","errorWarningTitle":"Rất tiếc, đã xảy ra sự cố.","errorWarningMessageTemplate":"Không thể lưu các chỉnh sửa: {errorMessage}","clickToFinishTemplate":"Nhấn {button} để hoàn tất.","tips":{"clickToStart":"Bấm vào bản đồ để bắt đầu vẽ.","clickToContinue":"Bấm vào bản đồ để tiếp tục vẽ.","clickToAddPoint":"Bấm vào bản đồ để thêm điểm.","clickToContinueThenDoubleClickToEnd":"Bấm vào bản đồ để tiếp tục vẽ sau đó nhấp đúp chuột để hoàn tất.","clickToAddFeature":"Bấm vào bản đồ để thêm đối tượng."}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"widgetLabel":"编辑器","multipleFeaturesTemplate":"多个要素 ({total})","untitledFeatureTemplate":"无标题要素 {id}","editFeatures":"编辑要素","editFeature":"编辑要素","addFeature":"添加要素","featureAttachments":"要素附件","attachmentsButtonLabel":"附件","attachments":"附件","addAttachment":"添加附件","editAttachment":"管理附件","selectTemplate":"选择要素类型","selectFeatureToEdit":"选择要编辑的要素。","selectFeature":"选择要素","placeFeature":"放置要素","placeFeatureOnMap":"在地图上放置要素。","add":"添加","discardEdits":"放弃编辑内容","discardFeature":"放弃要素","edit":"编辑","keepAttachment":"保存附件","keepFeature":"保留要素","continueAdding":"继续添加","continueEditing":"继续编辑","editing":"编辑","warning":"通知","retry":"重试","ignore":"忽略","deleteWarningTitle":"
|
|
1
|
+
{"widgetLabel":"编辑器","multipleFeaturesTemplate":"多个要素 ({total})","untitledFeatureTemplate":"无标题要素 {id}","editFeatures":"编辑要素","editFeature":"编辑要素","addFeature":"添加要素","featureAttachments":"要素附件","attachmentsButtonLabel":"附件","attachments":"附件","addAttachment":"添加附件","editAttachment":"管理附件","selectTemplate":"选择要素类型","selectFeatureToEdit":"选择要编辑的要素。","selectFeature":"选择要素","placeFeature":"放置要素","placeFeatureOnMap":"在地图上放置要素。","add":"添加","discardEdits":"放弃编辑内容","discardFeature":"放弃要素","edit":"编辑","keepAttachment":"保存附件","keepFeature":"保留要素","continueAdding":"继续添加","continueEditing":"继续编辑","editing":"编辑","warning":"通知","retry":"重试","ignore":"忽略","deleteWarningTitle":"删除此要素?","deleteAttachmentWarningTitle":"删除此附件?","deleteWarningMessage":"此要素将永久移除。","deleteAttachmentWarningMessage":"此附件将永久移除。","cancelEditTitle":"是否放弃编辑内容?","cancelAddTitle":"是否放弃要素?","cancelAddWarningMessage":"此要素将丢失。","cancelEditWarningMessage":"此要素的更新内容将丢失。","cancelRequestTitle":"取消工作流?","cancelRequestWarningMessage":"已发出取消此工作流的请求。","errorWarningTitle":"抱歉,发生错误","errorWarningMessageTemplate":"无法保存编辑内容:{errorMessage}","clickToFinishTemplate":"单击 {button} 完成设置。","tips":{"clickToStart":"单击地图以开始绘制。","clickToContinue":"单击地图以继续绘制。","clickToAddPoint":"单击地图以添加点。","clickToContinueThenDoubleClickToEnd":"单击地图以继续绘制,然后双击以完成。","clickToAddFeature":"单击地图以添加要素。"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"widgetLabel":"編輯器","multipleFeaturesTemplate":"多個圖徵 ({total})","untitledFeatureTemplate":"無標題的圖徵 {id}","editFeatures":"編輯圖徵","editFeature":"編輯圖徵","addFeature":"新增圖徵","featureAttachments":"圖徵附件","attachmentsButtonLabel":"附件","attachments":"附件","addAttachment":"新增附件","editAttachment":"管理附件","selectTemplate":"選擇圖徵類型","selectFeatureToEdit":"選擇圖徵進行編輯。","selectFeature":"選擇圖徵","placeFeature":"放置圖徵","placeFeatureOnMap":"在地圖上放置圖徵。","add":"新增","discardEdits":"放棄編輯","discardFeature":"放棄圖徵","edit":"編輯","keepAttachment":"保留附件","keepFeature":"保留圖徵","continueAdding":"正在繼續新增","continueEditing":"正在繼續編輯","editing":"編輯","warning":"通知","retry":"重試","ignore":"忽略","deleteWarningTitle":"
|
|
1
|
+
{"widgetLabel":"編輯器","multipleFeaturesTemplate":"多個圖徵 ({total})","untitledFeatureTemplate":"無標題的圖徵 {id}","editFeatures":"編輯圖徵","editFeature":"編輯圖徵","addFeature":"新增圖徵","featureAttachments":"圖徵附件","attachmentsButtonLabel":"附件","attachments":"附件","addAttachment":"新增附件","editAttachment":"管理附件","selectTemplate":"選擇圖徵類型","selectFeatureToEdit":"選擇圖徵進行編輯。","selectFeature":"選擇圖徵","placeFeature":"放置圖徵","placeFeatureOnMap":"在地圖上放置圖徵。","add":"新增","discardEdits":"放棄編輯","discardFeature":"放棄圖徵","edit":"編輯","keepAttachment":"保留附件","keepFeature":"保留圖徵","continueAdding":"正在繼續新增","continueEditing":"正在繼續編輯","editing":"編輯","warning":"通知","retry":"重試","ignore":"忽略","deleteWarningTitle":"刪除此圖徵?","deleteAttachmentWarningTitle":"刪除此附件?","deleteWarningMessage":"將永久移除此圖徵。","deleteAttachmentWarningMessage":"將永久移除此附件。","cancelEditTitle":"放棄編輯?","cancelAddTitle":"放棄圖徵?","cancelAddWarningMessage":"此圖徵將遺失。","cancelEditWarningMessage":"將遺失對此圖徵的更新。","cancelRequestTitle":"取消工作流程?","cancelRequestWarningMessage":"已提出取消此工作流程的請求。","errorWarningTitle":"很抱歉,發生錯誤","errorWarningMessageTemplate":"無法儲存編輯: {errorMessage}","clickToFinishTemplate":"按一下 {button} 以完成。","tips":{"clickToStart":"按一下地圖以開始繪製。","clickToContinue":"按一下地圖以繼續繪製。","clickToAddPoint":"按一下地圖以新增點。","clickToContinueThenDoubleClickToEnd":"按一下以地圖繼續繪製,然後按兩下以完成。","clickToAddFeature":"按一下地圖以新增圖徵。"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"widgetLabel":"編輯器","multipleFeaturesTemplate":"多個圖徵 ({total})","untitledFeatureTemplate":"無標題的圖徵 {id}","editFeatures":"編輯圖徵","editFeature":"編輯圖徵","addFeature":"新增圖徵","featureAttachments":"圖徵附件","attachmentsButtonLabel":"附件","attachments":"附件","addAttachment":"新增附件","editAttachment":"管理附件","selectTemplate":"選擇圖徵類型","selectFeatureToEdit":"選擇圖徵進行編輯。","selectFeature":"選擇圖徵","placeFeature":"放置圖徵","placeFeatureOnMap":"在地圖上放置圖徵。","add":"新增","discardEdits":"放棄編輯","discardFeature":"放棄圖徵","edit":"編輯","keepAttachment":"保留附件","keepFeature":"保留圖徵","continueAdding":"正在繼續新增","continueEditing":"正在繼續編輯","editing":"編輯","warning":"通知","retry":"重試","ignore":"忽略","deleteWarningTitle":"
|
|
1
|
+
{"widgetLabel":"編輯器","multipleFeaturesTemplate":"多個圖徵 ({total})","untitledFeatureTemplate":"無標題的圖徵 {id}","editFeatures":"編輯圖徵","editFeature":"編輯圖徵","addFeature":"新增圖徵","featureAttachments":"圖徵附件","attachmentsButtonLabel":"附件","attachments":"附件","addAttachment":"新增附件","editAttachment":"管理附件","selectTemplate":"選擇圖徵類型","selectFeatureToEdit":"選擇圖徵進行編輯。","selectFeature":"選擇圖徵","placeFeature":"放置圖徵","placeFeatureOnMap":"在地圖上放置圖徵。","add":"新增","discardEdits":"放棄編輯","discardFeature":"放棄圖徵","edit":"編輯","keepAttachment":"保留附件","keepFeature":"保留圖徵","continueAdding":"正在繼續新增","continueEditing":"正在繼續編輯","editing":"編輯","warning":"通知","retry":"重試","ignore":"忽略","deleteWarningTitle":"刪除此圖徵?","deleteAttachmentWarningTitle":"刪除此附件?","deleteWarningMessage":"將永久移除此圖徵。","deleteAttachmentWarningMessage":"將永久移除此附件。","cancelEditTitle":"放棄編輯?","cancelAddTitle":"放棄圖徵?","cancelAddWarningMessage":"此圖徵將遺失。","cancelEditWarningMessage":"將遺失對此圖徵的更新。","cancelRequestTitle":"取消工作流程?","cancelRequestWarningMessage":"已提出取消此工作流程的請求。","errorWarningTitle":"很抱歉,發生錯誤","errorWarningMessageTemplate":"無法儲存編輯: {errorMessage}","clickToFinishTemplate":"按一下 {button} 以完成。","tips":{"clickToStart":"按一下地圖以開始繪製。","clickToContinue":"按一下地圖以繼續繪製。","clickToAddPoint":"按一下地圖以新增點。","clickToContinueThenDoubleClickToEnd":"按一下以地圖繼續繪製,然後按兩下以完成。","clickToAddFeature":"按一下地圖以新增圖徵。"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"widgetLabel":"
|
|
1
|
+
{"widgetLabel":"Utility Network Trace","widgetDescription":"A widget to perform traces in a Utility Network.","globalStrings":{"selectTerminalPlaceholder":"Select Terminals","remove":"Remove","locateFeature":"Locate","zoomToFeature":"Zoom to","clearResults":"Discard","select":"Select","cancel":"Cancel","ok":"OK"},"inputsStrings":{"headerTabInputs":"Inputs","headerStartingPoint":"Starting points","startingPointHint":"Add starting points for the trace.","headerBarrier":"Barriers","barrierButton":"Barrier","barrierPointHint":"Add barrier points for the trace.","barrierFilter":"Filter barrier","addPointOption":"Add a point","addPointHint":"Click the map to add a point","removeAllPoints":"Remove all","selectTraces":"Select traces"},"tracingStrings":{"traceOperation":"Trace types","runTrace":"Run"},"resultsStrings":{"headerTabResults":"Results","resultsListOptions":"Options","ellipsesOptions":"Options","displayAttribute":"Display attribute","sortBy":"Sort by","startOverButton":"Clear All","startOverValidation":"Are you sure? All the trace Inputs and Results will be lost.","highlightTrace":"Show graphics","noSelectionResults":"Features cannot be selected. Enable to show graphics instead.","viewFeatures":"Features","selectFeatures":"Select features","graphicColor":"Select color","functionHeader":"Functions","noValue":"No value"},"alertsStrings":{"startingPointAlertHeader":"Starting point missing","startingPointAlert":"Add a starting point to run this trace.","selectTraceAlertHeader":"Trace type not selected","selectTraceAlert":"Select a trace type to run.","NoRunAlertHeader":"No results available","noResultsInfo":"Go to the Inputs tab to select a trace type, add a starting point, and click Run to view the results.","traceExecuting":"Trace in progress...","genericResultHeader":"Trace result","noAssetsFoundHeader":"Cannot add point","noAssetFound":"The point must intersect with a feature on the map.","clearResultsAlert":"Are you sure? All the results for this trace will be discarded.","noTraceSupported":"This map does not support tracing the Utility Network. Publish a web map with a Utility Network and shared Trace Configurations."}}
|
package/chunks/Clouds.glsl.js
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.22/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{
|
|
5
|
+
import{ATLAS_SIZE as t,TILE_ROWS as e,TILE_SIZE as n}from"../views/3d/environment/NoiseTextureAtlas.js";import{glsl as a}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as o}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";function i(i){const r=new o;return r.attributes.add("position","vec3"),r.fragment.uniforms.add("cloudRadius","float").add("halfCubeMapSize","float").add("power","float").add("sigmaE","float").add("density","float").add("cloudSize","float").add("detailSize","float").add("smoothness","float").add("cloudHeight","float").add("coverage","float").add("viewMatrix","mat3").add("cloudShapeTexture","sampler2D"),r.vertex.code.add(a`void main(void) {
|
|
6
6
|
gl_Position = vec4(position, 1.0);
|
|
7
|
-
}`),
|
|
8
|
-
const int STEPS = ${0===
|
|
7
|
+
}`),r.fragment.code.add(a`
|
|
8
|
+
const int STEPS = ${0===i.steps?a`16`:1===i.steps?a`100`:a`200`};
|
|
9
9
|
const int STEPS_LIGHT = 6;
|
|
10
10
|
const float stepL = 300.0 / float(STEPS_LIGHT);
|
|
11
11
|
|
|
@@ -22,4 +22,4 @@ gl_Position = vec4(position, 1.0);
|
|
|
22
22
|
|
|
23
23
|
float saturate(float x) {
|
|
24
24
|
return clamp(x, 0.0, 1.0);
|
|
25
|
-
}`),
|
|
25
|
+
}`),r.fragment.code.add(`\n float getCloudShape(vec3 pos, float pOffset) {\n const float textureWidth = float(${t});\n const float dataWidth = float(${t});\n const float tileRows = float(${e});\n const vec3 atlasDimensions = vec3(float(${n}), float(${n}), tileRows * tileRows);\n\n //Change from Y being height to Z being height\n vec3 p = pos.xzy;\n\n //Pixel coordinates of point in the 3D data\n vec3 coord = vec3(mod(p - pOffset * atlasDimensions, atlasDimensions));\n float f = fract(coord.z);\n float level = floor(coord.z);\n float tileY = floor(level / tileRows);\n float tileX = level - tileY * tileRows;\n\n //The data coordinates are offset by the x and y tile, the two boundary cells between each tile pair and the initial boundary cell on the first row/column\n vec2 offset = atlasDimensions.x * vec2(tileX, tileY) + 2.0 * vec2(tileX, tileY) + 1.0;\n vec2 pixel = coord.xy + offset;\n vec2 data = texture2D(cloudShapeTexture, mod(pixel, dataWidth) / textureWidth).xy;\n\n return 1.0 - mix(data.x, data.y, f);\n }`),r.fragment.code.add("\n float clouds(vec3 p) {\n float cloudVariations = getCloudShape(0.002 * p, 0.5);\n\n float cloud = saturate(0.5 * mix(0.0, 1.0, min(2.0 * coverage, 1.0)));\n cloud += (cloudVariations * 0.6 - 0.3) * ( -4.0 * (coverage * coverage - coverage));\n float heightFraction = saturate((length(p) - cloudRadius - cloudStart) / cloudHeight);\n\n //Round the bottom and top of the clouds\n cloud *= saturate(remap(heightFraction, 0.0, 0.25, 0.0, 1.0)) * saturate(remap(heightFraction, 0.75, 1.0, 1.0, 0.0));\n\n float shape = getCloudShape(cloudSize * p, 0.0);\n shape *= mix(0.0, 1.0, min(2.0 * (1.0 - coverage), 1.0));\n cloud = saturate(remap(cloud, shape, 1.0, 0.0, 1.0));\n\n if (cloud <= 0.0) {\n return 0.0;\n }\n\n return density * saturate(remap(cloud, smoothness * getCloudShape(detailSize * p, 0.0), 1.0, 0.0, 1.0));\n }"),r.fragment.code.add("\n vec2 sphereIntersections(vec3 start, vec3 dir, float radius) {\n float a = dot(dir, dir);\n float b = 2.0 * dot(dir, start);\n float c = dot(start, start) - (radius * radius);\n float d = (b * b) - 4.0 * a * c;\n\n if (d < 0.0) {\n return vec2(1e5, -1e5);\n }\n\n return vec2((-b - sqrt(d)) / (2.0 * a), (-b + sqrt(d)) / (2.0 * a));\n }\n\n float HenyeyGreenstein(float g, float costh) {\n return (1.0 / (4.0 * 3.1415)) * ((1.0 - g * g) / pow(1.0 + g * g - 2.0 * g * costh, 1.5));\n }\n "),r.fragment.code.add("\n vec3 multipleOctaves(float extinction, float mu, float stepL) {\n float attenuation = 1.0;\n float contribution = 1.0;\n float phaseAttenuation = 1.0;\n vec3 luminance = vec3(0);\n\n for (int i = 0; i < 4; i++) {\n float phase = mix(HenyeyGreenstein(0.0, mu), HenyeyGreenstein(0.3 * phaseAttenuation, mu), 0.7);\n luminance += contribution * phase * exp(-stepL * extinction * sigmaE * attenuation);\n attenuation *= 0.2;\n contribution *= 0.6;\n phaseAttenuation *= 0.5;\n }\n\n return luminance;\n }"),r.fragment.code.add("\n vec3 lightRay(vec3 org, vec3 p, float phaseFunction, float mu, vec3 sunDirection) {\n float lightRayDensity = clouds(p);\n lightRayDensity += clouds(p + sunDirection * 1.0 * stepL);\n lightRayDensity += clouds(p + sunDirection * 2.0 * stepL);\n lightRayDensity += clouds(p + sunDirection * 3.0 * stepL);\n lightRayDensity += clouds(p + sunDirection * 4.0 * stepL);\n lightRayDensity += clouds(p + sunDirection * 5.0 * stepL);\n\n vec3 beersLaw = multipleOctaves(lightRayDensity, mu, stepL);\n\n return mix(beersLaw * 2.0 * (1.0 - (exp(-stepL * lightRayDensity * 2.0 * sigmaE ))), beersLaw, 0.5 + 0.5 * mu);\n }"),r.fragment.code.add('\n vec3 mainRay(vec3 org, vec3 dir, vec3 sunDirection, float distToStart, float totalDistance, out float totalTransmittance) {\n\n // This is never true but having the if statement stops later loop unrolling, texture prefetching and WebGL context crashes\n if (dir.z < 0.0) {\n return vec3(0);\n }\n\n //Variable to track transmittance along view ray. Assume clear sky and attenuate light when encountering clouds.\n totalTransmittance = 1.0;\n\n float stepS = totalDistance / float(STEPS);\n float cameraHeight = length(org);\n\n //Alignment of view and light directions.\n float mu = 0.5 + 0.5 * dot(sunDirection, dir);\n float phaseFunction = mix(HenyeyGreenstein(-0.3, mu), HenyeyGreenstein(0.3, mu), 0.7);\n\n vec3 p = org + distToStart * dir;\n float dist = distToStart;\n vec3 color = vec3(0.0);\n\n for (int i = 0; i < STEPS; i++) {\n\n float sampleDensity = clouds(p);\n float sampleSigmaE = sampleDensity * sigmaE;\n\n if (sampleDensity > 0.0 ) {\n float ambient = mix((1.2), (1.6), saturate((length(p) - cloudRadius - cloudStart) / cloudHeight));\n\n vec3 luminance = sampleDensity * (ambient + power * phaseFunction * lightRay(org, p, phaseFunction, mu, sunDirection));\n float transmittance = exp(-sampleSigmaE * stepS);\n\n //Better energy conserving integration\n //"From Physically based sky, atmosphere and cloud rendering in Frostbite" 5.6\n color += totalTransmittance * (luminance - luminance * transmittance) / sampleSigmaE;\n\n totalTransmittance *= transmittance;\n\n //If ray combined transmittance is close to 0, nothing beyond this sample point is visible, so break early.\n if (totalTransmittance <= 0.001) {\n totalTransmittance = 0.0;\n break;\n }\n\n }\n\n dist += stepS;\n p = org + dir * dist;\n }\n\n return color;\n }'),r.fragment.code.add("\n void main() {\n vec3 rayDir = rayDirection(gl_FragCoord.xy);\n rayDir = normalize(viewMatrix * rayDir);\n\n vec3 viewPos = vec3(0, 0, cloudRadius + 1.0);\n\n bool hitsPlanet = rayDir.z < 0.0;\n\n if (hitsPlanet) {\n gl_FragColor = vec4(vec3(0), 1);\n return;\n }\n\n vec2 rayStartIntersect = sphereIntersections(viewPos, rayDir, cloudRadius + cloudStart);\n vec2 rayEndIntersect = sphereIntersections(viewPos, rayDir, cloudRadius + cloudStart + cloudHeight);\n float distToStart = rayStartIntersect.y;\n float totalDistance = rayEndIntersect.y - distToStart;\n\n float totalTransmittance = 1.0;\n vec3 sunDirection = normalize(vec3(0, 0, 1));\n vec3 col = 0.5 * mainRay(viewPos, rayDir, sunDirection, distToStart, totalDistance, totalTransmittance).rgb;\n\n gl_FragColor = vec4(col, totalTransmittance);\n }\n "),r}const r=Object.freeze({__proto__:null,build:i});export{r as C,i as b};
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.22/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{Slice 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{OutputDepth as i}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{ReadLinearDepth as n}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js";import{LineStipple as
|
|
5
|
+
import{Slice 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{OutputDepth as i}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{ReadLinearDepth as n}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js";import{LineStipple as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js";import{multipassTerrainTest as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{PiUtils as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{symbolAlphaCutoff as s}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaDiscard.glsl.js";import{ColorConversion as l}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{glsl as p}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as d}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";const c=1;function v(v){const g=new d,m=v.stippleEnabled&&v.roundCaps,f=v.falloffEnabled||m,h=v.innerColorEnabled,u=v.stippleEnabled&&v.stippleScaleWithLineWidth||v.roundCaps,D=v.stippleEnabled&&v.stippleScaleWithLineWidth;return g.extensions.add("GL_OES_standard_derivatives"),g.include(a),g.include(t,v),g.include(r,{...v,stippleRequiresStretchMeasure:m}),1===v.output&&g.include(i,v),g.vertex.uniforms.add("proj","mat4").add("view","mat4").add("cameraNearFar","vec2").add("pixelRatio","float").add("miterLimit","float").add("screenSize","vec2"),g.attributes.add("position","vec3"),g.attributes.add("subdivisionFactor","float"),g.attributes.add("uv0","vec2"),g.attributes.add("auxpos1","vec3"),g.attributes.add("auxpos2","vec3"),g.varyings.add("vColor","vec4"),g.varyings.add("vpos","vec3"),g.varyings.add("linearDepth","float"),v.multipassTerrainEnabled&&g.varyings.add("depth","float"),u&&g.varyings.add("vLineWidth","float"),D&&g.varyings.add("vLineSizeInv","float"),h&&g.varyings.add("vLineDistance","float"),f&&g.varyings.add("vLineDistanceNorm","float"),v.falloffEnabled&&g.fragment.uniforms.add("falloff","float"),v.innerColorEnabled&&(g.fragment.uniforms.add("innerColor","vec4"),g.fragment.uniforms.add("innerWidth","float")),v.roundCaps&&g.varyings.add("vCapPosition","vec2"),m&&g.varyings.add("vStipplePatternStretch","float"),g.vertex.code.add(p`#define PERPENDICULAR(v) vec2(v.y, -v.x);
|
|
6
6
|
float interp(float ncp, vec4 a, vec4 b) {
|
|
7
7
|
return (-ncp - a.z) / (b.z - a.z);
|
|
8
8
|
}
|
|
@@ -11,11 +11,11 @@ float s = sin(a);
|
|
|
11
11
|
float c = cos(a);
|
|
12
12
|
mat2 m = mat2(c, -s, s, c);
|
|
13
13
|
return m * v;
|
|
14
|
-
}`),
|
|
14
|
+
}`),g.vertex.code.add(p`vec4 projectAndScale(vec4 pos) {
|
|
15
15
|
vec4 posNdc = proj * pos;
|
|
16
16
|
posNdc.xy *= screenSize / posNdc.w;
|
|
17
17
|
return posNdc;
|
|
18
|
-
}`),
|
|
18
|
+
}`),g.vertex.code.add(p`
|
|
19
19
|
void clipAndTransform(inout vec4 pos, inout vec4 prev, inout vec4 next, in bool isStartVertex) {
|
|
20
20
|
float vnp = cameraNearFar[0] * 0.99;
|
|
21
21
|
|
|
@@ -51,18 +51,19 @@ return posNdc;
|
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
${
|
|
54
|
+
${v.multipassTerrainEnabled?"depth = pos.z;":""}
|
|
55
55
|
linearDepth = (-pos.z - cameraNearFar[0]) / (cameraNearFar[1] - cameraNearFar[0]);
|
|
56
56
|
|
|
57
57
|
pos = projectAndScale(pos);
|
|
58
58
|
next = projectAndScale(next);
|
|
59
59
|
prev = projectAndScale(prev);
|
|
60
60
|
}
|
|
61
|
-
`),
|
|
61
|
+
`),g.vertex.code.add(p`
|
|
62
62
|
void main(void) {
|
|
63
63
|
// unpack values from uv0.y
|
|
64
64
|
bool isStartVertex = abs(abs(uv0.y)-3.0) == 1.0;
|
|
65
65
|
|
|
66
|
+
float coverage = 1.0;
|
|
66
67
|
vpos = position;
|
|
67
68
|
|
|
68
69
|
// Check for special value of uv0.y which is used by the Renderer when graphics
|
|
@@ -78,13 +79,19 @@ return posNdc;
|
|
|
78
79
|
float lineSize = getSize();
|
|
79
80
|
float lineWidth = lineSize * pixelRatio;
|
|
80
81
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
lineWidth += ${v}*pixelRatio;
|
|
84
|
-
}
|
|
82
|
+
${u?p`vLineWidth = lineWidth;`:""}
|
|
83
|
+
${D?p`vLineSizeInv = 1.0 / lineSize;`:""}
|
|
85
84
|
|
|
86
|
-
|
|
87
|
-
|
|
85
|
+
// convert sub-pixel coverage to alpha
|
|
86
|
+
if (lineWidth < 1.0) {
|
|
87
|
+
coverage = lineWidth;
|
|
88
|
+
lineWidth = 1.0;
|
|
89
|
+
}else{
|
|
90
|
+
// Ribbon lines cannot properly render non-integer sizes. Round width to integer size if
|
|
91
|
+
// larger than one for better quality. Note that we do render < 1 pixels more or less correctly
|
|
92
|
+
// so we only really care to round anything larger than 1.
|
|
93
|
+
lineWidth = floor(lineWidth + 0.5);
|
|
94
|
+
}
|
|
88
95
|
|
|
89
96
|
vec4 pos = view * vec4(position.xyz, 1.0);
|
|
90
97
|
vec4 prev = view * vec4(auxpos1.xyz, 1.0);
|
|
@@ -97,10 +104,10 @@ return posNdc;
|
|
|
97
104
|
|
|
98
105
|
float leftLen = length(left);
|
|
99
106
|
float rightLen = length(right);
|
|
100
|
-
`),
|
|
107
|
+
`),v.stippleEnabled&&g.vertex.code.add(p`float isEndVertex = float(!isStartVertex);
|
|
101
108
|
vec4 segmentInfo = mix(vec4(pos.xy, right), vec4(prev.xy, left), isEndVertex);
|
|
102
109
|
vec2 segmentOrigin = segmentInfo.xy;
|
|
103
|
-
vec2 segment = segmentInfo.zw;`),
|
|
110
|
+
vec2 segment = segmentInfo.zw;`),g.vertex.code.add(p`left = (leftLen > 0.001) ? left/leftLen : vec2(0.0, 0.0);
|
|
104
111
|
right = (rightLen > 0.001) ? right/rightLen : vec2(0.0, 0.0);
|
|
105
112
|
vec2 capDisplacementDir = vec2(0, 0);
|
|
106
113
|
vec2 joinDisplacementDir = vec2(0, 0);
|
|
@@ -116,7 +123,7 @@ if (!isOutside) {
|
|
|
116
123
|
displacementLen = min(displacementLen, min(leftLen, rightLen)/abs(nDotSeg));
|
|
117
124
|
}
|
|
118
125
|
}
|
|
119
|
-
if (isOutside && (displacementLen > miterLimit * lineWidth)) {`),
|
|
126
|
+
if (isOutside && (displacementLen > miterLimit * lineWidth)) {`),v.roundJoins?g.vertex.code.add(p`
|
|
120
127
|
vec2 startDir;
|
|
121
128
|
vec2 endDir;
|
|
122
129
|
|
|
@@ -138,11 +145,11 @@ if (isOutside && (displacementLen > miterLimit * lineWidth)) {`),f.roundJoins?m.
|
|
|
138
145
|
endDir = normalize(endDir);
|
|
139
146
|
endDir = PERPENDICULAR(endDir);
|
|
140
147
|
|
|
141
|
-
float factor = ${
|
|
148
|
+
float factor = ${v.stippleEnabled?p`min(1.0, subdivisionFactor * ${p.float((c+2)/(c+1))})`:p`subdivisionFactor`};
|
|
142
149
|
|
|
143
150
|
float rotationAngle = acos(clamp(dot(startDir, endDir), -1.0, 1.0));
|
|
144
151
|
joinDisplacementDir = rotate(startDir, -sign(uv0.y) * factor * rotationAngle);
|
|
145
|
-
`):
|
|
152
|
+
`):g.vertex.code.add(p`if (leftLen < 0.001) {
|
|
146
153
|
joinDisplacementDir = right;
|
|
147
154
|
}
|
|
148
155
|
else if (rightLen < 0.001) {
|
|
@@ -152,7 +159,7 @@ else {
|
|
|
152
159
|
joinDisplacementDir = (isStartVertex || subdivisionFactor > 0.0) ? right : left;
|
|
153
160
|
}
|
|
154
161
|
joinDisplacementDir = normalize(joinDisplacementDir);
|
|
155
|
-
joinDisplacementDir = PERPENDICULAR(joinDisplacementDir);`),
|
|
162
|
+
joinDisplacementDir = PERPENDICULAR(joinDisplacementDir);`),g.vertex.code.add(p`displacementLen = lineWidth;
|
|
156
163
|
}
|
|
157
164
|
} else {
|
|
158
165
|
if (leftLen < 0.001) {
|
|
@@ -169,33 +176,33 @@ joinDisplacementDir = PERPENDICULAR(joinDisplacementDir);
|
|
|
169
176
|
displacementLen = lineWidth;
|
|
170
177
|
capDisplacementDir = isStartVertex ? -right : left;
|
|
171
178
|
capDisplacementDir *= subdivisionFactor;
|
|
172
|
-
}`),
|
|
179
|
+
}`),g.vertex.code.add(p`
|
|
173
180
|
// Displacement (in pixels) caused by join/or cap
|
|
174
181
|
vec2 dpos = joinDisplacementDir * sign(uv0.y) * displacementLen + capDisplacementDir * displacementLen;
|
|
175
182
|
|
|
176
|
-
${
|
|
183
|
+
${f||h?p`float lineDistNorm = sign(uv0.y) * pos.w;`:""}
|
|
177
184
|
|
|
178
|
-
${
|
|
179
|
-
${
|
|
185
|
+
${h?p`vLineDistance = lineWidth * lineDistNorm;`:""}
|
|
186
|
+
${f?p`vLineDistanceNorm = lineDistNorm;`:""}
|
|
180
187
|
|
|
181
|
-
${
|
|
188
|
+
${v.roundCaps?p`vCapPosition = isJoin ? vec2(0.0) : dpos;`:""}
|
|
182
189
|
|
|
183
190
|
pos.xy += dpos;
|
|
184
|
-
`),
|
|
185
|
-
float worldToScreenRatio = computeWorldToScreenRatio(segmentCenter);`),
|
|
191
|
+
`),v.stippleEnabled&&(v.draped||g.vertex.code.add(p`vec3 segmentCenter = mix((auxpos2 + position) * 0.5, (position + auxpos1) * 0.5, isEndVertex);
|
|
192
|
+
float worldToScreenRatio = computeWorldToScreenRatio(segmentCenter);`),g.vertex.code.add(p`float segmentLengthScreenDouble = length(segment);
|
|
186
193
|
float segmentLengthScreen = segmentLengthScreenDouble * 0.5;
|
|
187
194
|
float discreteWorldToScreenRatio = discretizeWorldToScreenRatio(worldToScreenRatio);
|
|
188
|
-
float segmentLengthRender = length(mix(auxpos2 - position, position - auxpos1, isEndVertex));`),
|
|
189
|
-
float startPseudoScreen = uv0.x * discreteWorldToScreenRatio - mix(0.0, segmentLengthPseudoScreen, isEndVertex);`):
|
|
190
|
-
float segmentLengthPseudoScreen = segmentLengthRender * discreteWorldToScreenRatio;`),
|
|
191
|
-
float patternLength = ${
|
|
195
|
+
float segmentLengthRender = length(mix(auxpos2 - position, position - auxpos1, isEndVertex));`),v.draped?g.vertex.code.add(p`float segmentLengthPseudoScreen = segmentLengthScreen / pixelRatio * discreteWorldToScreenRatio / worldToScreenRatio;
|
|
196
|
+
float startPseudoScreen = uv0.x * discreteWorldToScreenRatio - mix(0.0, segmentLengthPseudoScreen, isEndVertex);`):g.vertex.code.add(p`float startPseudoScreen = mix(uv0.x, uv0.x - segmentLengthRender, isEndVertex) * discreteWorldToScreenRatio;
|
|
197
|
+
float segmentLengthPseudoScreen = segmentLengthRender * discreteWorldToScreenRatio;`),g.vertex.code.add(p`
|
|
198
|
+
float patternLength = ${v.stippleScaleWithLineWidth?"lineSize * ":""} stipplePatternPixelSize;
|
|
192
199
|
|
|
193
200
|
// Compute the coordinates at both start and end of the line segment, because we need both to clamp to in the fragment shader
|
|
194
201
|
// The 0.5 factor on the screen length is to correct for pixel ratio (it is calculated at double resolution)
|
|
195
|
-
${
|
|
202
|
+
${m?p`
|
|
196
203
|
vec3 stippleSegmentInfo = computeStippleDistanceLimits(startPseudoScreen, segmentLengthPseudoScreen, segmentLengthScreen, patternLength);
|
|
197
204
|
vStippleDistanceLimits = stippleSegmentInfo.xy;
|
|
198
|
-
vStipplePatternStretch = stippleSegmentInfo.z;`:
|
|
205
|
+
vStipplePatternStretch = stippleSegmentInfo.z;`:p`
|
|
199
206
|
vStippleDistanceLimits = computeStippleDistanceLimits(startPseudoScreen, segmentLengthPseudoScreen, segmentLengthScreen, patternLength);`}
|
|
200
207
|
|
|
201
208
|
vStippleDistance = mix(vStippleDistanceLimits.x, vStippleDistanceLimits.y, isEndVertex);
|
|
@@ -214,22 +221,23 @@ float segmentLengthPseudoScreen = segmentLengthRender * discreteWorldToScreenRat
|
|
|
214
221
|
// Cancel out perspective correct interpolation because we want this length the really represent the screen distance
|
|
215
222
|
vStippleDistanceLimits *= pos.w;
|
|
216
223
|
vStippleDistance *= pos.w;
|
|
217
|
-
`)),
|
|
224
|
+
`)),g.vertex.code.add(p`pos.xy = pos.xy / screenSize * pos.w;
|
|
218
225
|
vColor = getColor();
|
|
226
|
+
vColor.a *= coverage;
|
|
219
227
|
gl_Position = pos;
|
|
220
228
|
}
|
|
221
|
-
}`),
|
|
229
|
+
}`),v.multipassTerrainEnabled&&(g.fragment.include(n),g.include(o,v)),g.include(e,v),g.fragment.uniforms.add("intrinsicColor","vec4"),g.fragment.include(l),g.fragment.code.add(p`
|
|
222
230
|
void main() {
|
|
223
231
|
discardBySlice(vpos);
|
|
224
|
-
${
|
|
225
|
-
`),
|
|
232
|
+
${v.multipassTerrainEnabled?"terrainDepthTest(gl_FragCoord, depth);":""}
|
|
233
|
+
`),v.roundCaps&&g.fragment.code.add(p`
|
|
226
234
|
float fragmentRadius = length(vCapPosition);
|
|
227
235
|
float fragmentSDF = (fragmentRadius - vLineWidth) * 0.5; // Divide by 2 to transform from double pixel scale
|
|
228
236
|
float capCoverage = clamp(0.5 - fragmentSDF, 0.0, 1.0);
|
|
229
|
-
if (capCoverage < ${
|
|
237
|
+
if (capCoverage < ${p.float(s)}) {
|
|
230
238
|
discard;
|
|
231
239
|
}
|
|
232
|
-
`),
|
|
240
|
+
`),m?g.fragment.code.add(p`
|
|
233
241
|
vec2 stipplePosition = vec2(
|
|
234
242
|
max(1.0 - getStippleSDF() * 2.0 * vStipplePatternStretch, 0.0),
|
|
235
243
|
vLineDistanceNorm * gl_FragCoord.w
|
|
@@ -237,34 +245,20 @@ gl_Position = pos;
|
|
|
237
245
|
float stippleRadius = length(stipplePosition * vLineWidth);
|
|
238
246
|
float stippleCapSDF = (stippleRadius - vLineWidth) * 0.5; // Divide by 2 to transform from double pixel scale
|
|
239
247
|
float stippleCoverage = clamp(0.5 - stippleCapSDF, 0.0, 1.0);
|
|
240
|
-
float stippleAlpha = step(${
|
|
241
|
-
`):
|
|
242
|
-
vec4 color = intrinsicColor * vColor;`),
|
|
248
|
+
float stippleAlpha = step(${p.float(s)}, stippleCoverage);
|
|
249
|
+
`):g.fragment.code.add(p`float stippleAlpha = getStippleAlpha();`),g.fragment.code.add(p`discardByStippleAlpha(stippleAlpha, stippleAlphaColorDiscard);
|
|
250
|
+
vec4 color = intrinsicColor * vColor;`),g.fragment.uniforms.add("pixelRatio","float"),v.innerColorEnabled&&g.fragment.code.add(p`float distToInner = abs(vLineDistance * gl_FragCoord.w) - innerWidth;
|
|
243
251
|
float innerAA = clamp(0.5 - distToInner, 0.0, 1.0);
|
|
244
252
|
float innerAlpha = innerColor.a + color.a * (1.0 - innerColor.a);
|
|
245
|
-
color = mix(color, vec4(innerColor.rgb, innerAlpha), innerAA);`),
|
|
246
|
-
|
|
247
|
-
float value = abs(vLineDistance)*gl_FragCoord.w;
|
|
248
|
-
float feather = 1.0;
|
|
249
|
-
if( featherStartDistance > 1.5 ){
|
|
250
|
-
// if line is larger than a bit more than one pixel (hand tuned threshold),
|
|
251
|
-
// we apply a falloff between feather start and line width
|
|
252
|
-
feather = (value-featherStartDistance)/(vLineWidth-featherStartDistance);
|
|
253
|
-
}else{
|
|
254
|
-
// otherwise we do a falloff starting from the line center (this way lines smaller than one pixel
|
|
255
|
-
// will be alpha blended according to pixel coverage)
|
|
256
|
-
feather = value/vLineWidth;
|
|
257
|
-
}
|
|
258
|
-
finalColor.a *= 1.0 - clamp(feather, 0.0, 1.0);
|
|
259
|
-
`),f.falloffEnabled&&m.fragment.code.add(d`finalColor.a *= pow(max(0.0, 1.0 - abs(vLineDistanceNorm * gl_FragCoord.w)), falloff);`),m.fragment.code.add(d`
|
|
260
|
-
if (finalColor.a < ${d.float(s)}) {
|
|
253
|
+
color = mix(color, vec4(innerColor.rgb, innerAlpha), innerAA);`),g.fragment.code.add(p`vec4 finalColor = blendStipple(color, stippleAlpha);`),v.falloffEnabled&&g.fragment.code.add(p`finalColor.a *= pow(max(0.0, 1.0 - abs(vLineDistanceNorm * gl_FragCoord.w)), falloff);`),g.fragment.code.add(p`
|
|
254
|
+
if (finalColor.a < ${p.float(s)}) {
|
|
261
255
|
discard;
|
|
262
256
|
}
|
|
263
257
|
|
|
264
|
-
${7===
|
|
265
|
-
${0===
|
|
266
|
-
${0===
|
|
267
|
-
${4===
|
|
268
|
-
${1===
|
|
258
|
+
${7===v.output?p`gl_FragColor = vec4(finalColor.a);`:""}
|
|
259
|
+
${0===v.output?p`gl_FragColor = highlightSlice(finalColor, vpos);`:""}
|
|
260
|
+
${0===v.output&&v.OITEnabled?"gl_FragColor = premultiplyAlpha(gl_FragColor);":""}
|
|
261
|
+
${4===v.output?p`gl_FragColor = vec4(1.0);`:""}
|
|
262
|
+
${1===v.output?p`outputDepth(linearDepth);`:""}
|
|
269
263
|
}
|
|
270
|
-
`),
|
|
264
|
+
`),g}const g=Object.freeze({__proto__:null,NUM_ROUND_JOIN_SUBDIVISIONS:c,build:v});export{c as N,g as R,v as b};
|
package/config.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.22/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import"./core/has.js";import{deepMerge as e}from"./core/object.js";
|
|
5
|
+
import"./core/has.js";import{deepMerge as e}from"./core/object.js";var s;const r={apiKey:void 0,applicationUrl:null==(s=globalThis.location)?void 0:s.href,assetsPath:"",fontsUrl:"https://static.arcgis.com/fonts",geometryService:null,geometryServiceUrl:"https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer",geoRSSServiceUrl:"https://utility.arcgis.com/sharing/rss",kmlServiceUrl:"https://utility.arcgis.com/sharing/kml",portalUrl:"https://www.arcgis.com",workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{httpsDomains:["arcgis.com","arcgisonline.com","esrikr.com","premiumservices.blackbridge.com","esripremium.accuweather.com","gbm.digitalglobe.com","firstlook.digitalglobe.com","msi.digitalglobe.com"],interceptors:[],maxUrlLength:2e3,proxyRules:[],proxyUrl:null,timeout:6e4,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};if(globalThis.esriConfig&&(e(r,globalThis.esriConfig,!0),delete r.has),!r.assetsPath){const e="4.22.0";r.assetsPath=`https://js.arcgis.com/${e.slice(0,-2)}/@arcgis/core/assets`}r.baseUrl&&console.warn("[esri.config]","baseUrl has been replaced by assetsPath"),Object.defineProperty(r,"baseUrl",{set(){console.warn("[esri.config]","baseUrl has been replaced by assetsPath")}}),r.request.corsEnabledServers=[],r.request.corsEnabledServers.push=function(){return console.warn("[esri.config]","request.corsEnabledServers is not supported and will be removed in a future release. See http://esriurl.com/cors8664"),0};export{r as default};
|
package/copyright.txt
CHANGED
|
@@ -1116,31 +1116,59 @@ OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
1116
1116
|
|
|
1117
1117
|
esri/libs/i3s
|
|
1118
1118
|
|
|
1119
|
-
|
|
1119
|
+
RapidJSON
|
|
1120
|
+
https://github.com/Tencent/rapidjson/
|
|
1120
1121
|
|
|
1121
|
-
Copyright (
|
|
1122
|
+
Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved.
|
|
1122
1123
|
|
|
1123
1124
|
MIT License
|
|
1124
1125
|
|
|
1125
|
-
Permission is hereby granted, free of charge, to any person
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
furnished to do so, subject to the following conditions:
|
|
1126
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this
|
|
1127
|
+
software and associated documentation files (the "Software"), to deal in the Software
|
|
1128
|
+
without restriction, including without limitation the rights to use, copy, modify,
|
|
1129
|
+
merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
|
|
1130
|
+
permit persons to whom the Software is furnished to do so, subject to the following
|
|
1131
|
+
conditions:
|
|
1132
1132
|
|
|
1133
|
-
The above copyright notice and this permission notice shall be
|
|
1134
|
-
|
|
1133
|
+
The above copyright notice and this permission notice shall be included in all copies
|
|
1134
|
+
or substantial portions of the Software.
|
|
1135
1135
|
|
|
1136
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1136
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
|
1137
|
+
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
|
1138
|
+
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|
1139
|
+
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
|
|
1140
|
+
CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
|
|
1141
|
+
OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
1142
|
+
|
|
1143
|
+
-------------------------------------------------------------------------------
|
|
1144
|
+
|
|
1145
|
+
esri/libs/i3s
|
|
1146
|
+
|
|
1147
|
+
The msinttypes r29
|
|
1148
|
+
Copyright (c) 2006-2013 Alexander Chemeris
|
|
1149
|
+
All rights reserved.
|
|
1150
|
+
|
|
1151
|
+
Redistribution and use in source and binary forms, with or without modification, are
|
|
1152
|
+
permitted provided that the following conditions are met:
|
|
1153
|
+
|
|
1154
|
+
* Redistributions of source code must retain the above copyright notice, this list of
|
|
1155
|
+
conditions and the following disclaimer.
|
|
1156
|
+
* Redistributions in binary form must reproduce the above copyright notice, this list
|
|
1157
|
+
of conditions and the following disclaimer in the documentation and/or other materials
|
|
1158
|
+
provided with the distribution.
|
|
1159
|
+
* Neither the name of copyright holder nor the names of its contributors may be used
|
|
1160
|
+
to endorse or promote products derived from this software without specific prior
|
|
1161
|
+
written permission.
|
|
1162
|
+
|
|
1163
|
+
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
|
|
1164
|
+
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
1165
|
+
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
|
1166
|
+
THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
1167
|
+
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
1168
|
+
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
1169
|
+
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
|
1170
|
+
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
1171
|
+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
1144
1172
|
|
|
1145
1173
|
-------------------------------------------------------------------------------
|
|
1146
1174
|
|