@geolibre/core 3.7.0 → 3.8.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.
@@ -1139,7 +1139,34 @@ interface LayerJoin {
1139
1139
  stats?: LayerJoinStats;
1140
1140
  }
1141
1141
  /** Edit-widget kinds the Attribute Form designer can assign to a field. */
1142
- type AttributeFormWidget = "text" | "number" | "range" | "checkbox" | "date" | "valueMap";
1142
+ type AttributeFormWidget = "text" | "number" | "range" | "checkbox" | "date" | "valueMap" | "attachment";
1143
+ /**
1144
+ * Where a dropdown reads its entries from when they are another layer's rows
1145
+ * (a QGIS Value Relation or Relation Reference). Resolved against that
1146
+ * layer's current features each time a form is shown, so a record added to
1147
+ * the referenced layer is selectable at once.
1148
+ */
1149
+ interface AttributeFormValueRelation {
1150
+ /** Id of the referenced layer in the same project. */
1151
+ layerId: string;
1152
+ /** Property of the referenced features that is stored on this field. */
1153
+ keyField: string;
1154
+ /** Property shown as the entry's label. */
1155
+ labelField?: string;
1156
+ /**
1157
+ * QGIS expression evaluated per referenced feature for the label, used when
1158
+ * there is no {@link labelField} (a Relation Reference shows the referenced
1159
+ * layer's display expression).
1160
+ */
1161
+ labelExpression?: string;
1162
+ }
1163
+ /** A run of fields in a form: a tab or group box in QGIS, or the fields between two. */
1164
+ interface AttributeFormSection {
1165
+ /** Heading shown above the run; empty for none. */
1166
+ title: string;
1167
+ /** Field names, in the order they are shown. */
1168
+ fields: string[];
1169
+ }
1143
1170
  /** One selectable entry of a `valueMap` widget (stored value + display label). */
1144
1171
  interface AttributeFormValueMapEntry {
1145
1172
  /** The value written to the feature property (compared as a string). */
@@ -1166,8 +1193,14 @@ interface AttributeFormFieldConfig {
1166
1193
  * exempt: unchecked is a valid state, not a missing value.
1167
1194
  */
1168
1195
  required?: boolean;
1169
- /** Dropdown entries for the `valueMap` widget. */
1196
+ /**
1197
+ * Dropdown entries for the `valueMap` widget. With a {@link valueRelation}
1198
+ * these are only the fallback used while the referenced layer is missing or
1199
+ * has not loaded.
1200
+ */
1170
1201
  valueMap?: AttributeFormValueMapEntry[];
1202
+ /** Read the dropdown's entries from another layer's features. */
1203
+ valueRelation?: AttributeFormValueRelation;
1171
1204
  /**
1172
1205
  * Declared storage type of the field. When set, coercion follows it instead
1173
1206
  * of guessing from the value map (a text field whose codes are "1" and "2"
@@ -1198,10 +1231,25 @@ interface AttributeFormFieldConfig {
1198
1231
  * Empty/invalid expressions fail open so a typo cannot hide data entry.
1199
1232
  */
1200
1233
  visibilityExpression?: string;
1234
+ /**
1235
+ * Expression that pre-fills the field when a new feature is captured, in
1236
+ * the QGIS expression subset `qgis-expression.ts` evaluates: `now()`,
1237
+ * `uuid()`, `"site" || '-' || format_date(now(), 'yyyyMMdd')`, or a GPS
1238
+ * variable such as `@position_horizontal_accuracy`. An expression that
1239
+ * cannot be evaluated leaves the field empty.
1240
+ */
1241
+ defaultValue?: string;
1201
1242
  }
1202
1243
  /** The Attribute Form designer's whole per-layer configuration. */
1203
1244
  interface AttributeFormConfig {
1204
1245
  fields: AttributeFormFieldConfig[];
1246
+ /**
1247
+ * Runs of fields the capture form shows in order, each under its title. A
1248
+ * run with an empty title has no heading (fields that sit between two
1249
+ * groups). A field no section lists is shown after them. Absent means one
1250
+ * flat list.
1251
+ */
1252
+ sections?: AttributeFormSection[];
1205
1253
  }
1206
1254
  /** Point of contact recorded in a layer's {@link LayerDescriptiveMetadata}. */
1207
1255
  interface LayerMetadataContact {
@@ -1756,6 +1804,30 @@ declare const SQL_QUERY_SOURCE_KIND = "sql-query";
1756
1804
  * readout, and the spectral profile) share one value.
1757
1805
  */
1758
1806
  declare const NETCDF_IMAGE_SOURCE_KIND = "netcdf-image";
1807
+ /**
1808
+ * Metadata `sourceKind` marking an ArcGIS ImageServer drawn as a `raster` layer.
1809
+ *
1810
+ * Defined here so the plugin that adds these layers and `@geolibre/map` (whose
1811
+ * Identify reads their pixel values through the service's `/identify`) share
1812
+ * one value.
1813
+ */
1814
+ declare const ARCGIS_IMAGE_SERVICE_SOURCE_KIND = "arcgis-image-service";
1815
+ /**
1816
+ * Metadata `sourceKind` marking a Microsoft Planetary Computer raster layer
1817
+ * (one STAC item, or a mosaic of many) drawn by the Planetary Computer panel.
1818
+ *
1819
+ * Defined here so the plugin that adds these layers, the Layer Library's
1820
+ * restore dispatch, and `@geolibre/map` (whose Identify reads their pixel
1821
+ * values through the application's raster bridge) share one value.
1822
+ */
1823
+ declare const PLANETARY_COMPUTER_SOURCE_KIND = "planetary-computer-raster";
1824
+ /**
1825
+ * Whether a layer is a Planetary Computer raster the panel's control draws.
1826
+ *
1827
+ * @param layer - The layer to test.
1828
+ * @returns True for a control-drawn Planetary Computer item or mosaic layer.
1829
+ */
1830
+ declare function isPlanetaryComputerLayer(layer: GeoLibreLayer): boolean;
1759
1831
  /**
1760
1832
  * Detect a DuckDB query layer rendered through the plugin's external deck.gl
1761
1833
  * overlay. Shared by `@geolibre/map`, `@geolibre/plugins`, and the desktop
@@ -1974,6 +2046,17 @@ interface MapPreferences {
1974
2046
  * Ignored by 2D renderers; absent means the renderer's normal global source.
1975
2047
  */
1976
2048
  terrainIonAssetId?: number;
2049
+ /**
2050
+ * Vertical exaggeration of the 3D terrain, as set in Terrain settings.
2051
+ * Absent means the renderer default (1).
2052
+ */
2053
+ terrainExaggeration?: number;
2054
+ /**
2055
+ * HTTP(S) URL of the Cloud Optimized GeoTIFF DEM the 3D terrain is drawn
2056
+ * from. Absent means the renderer's built-in global terrain. A DEM opened
2057
+ * from a local file has no URL to save, so it is not kept.
2058
+ */
2059
+ terrainSource?: string;
1977
2060
  /** Mapbox-only style. New projects use Streets; absent follows the shared basemap. */
1978
2061
  mapboxStyleUrl?: string;
1979
2062
  /**
@@ -3297,6 +3380,20 @@ declare function normalizeDashboardColumns(value: unknown): number;
3297
3380
  */
3298
3381
  declare function normalizeProjectInteraction(value: unknown): ProjectInteraction | null;
3299
3382
  declare function isAllowedPluginManifestUrl(url: string): boolean;
3383
+ /**
3384
+ * Re-file a 3D Tiles record whose URL is an ArcGIS scene service as an I3S
3385
+ * scene layer (issue #3377).
3386
+ *
3387
+ * The app draws a scene layer only when its source kind is `arcgis-i3s`. The
3388
+ * Python `add_3d_tiles()` used to write a SceneServer URL as a plain tileset
3389
+ * (`3d-tiles-url`), which the 3D Tiles control then loads as a `tileset.json`,
3390
+ * so nothing drew. This gives such a record the shape the app's 3D Tiles panel
3391
+ * writes (`createArcgisI3sStoreLayer`), keeping its id, name and settings.
3392
+ *
3393
+ * @param layer - A layer from a project file.
3394
+ * @returns The layer, re-filed as an I3S scene layer when it is a misfiled one.
3395
+ */
3396
+ declare function withI3sSceneLayerKind(layer: GeoLibreLayer): GeoLibreLayer;
3300
3397
  declare function normalizeProjectComments(rawComments: unknown): ProjectComment[];
3301
3398
  declare function projectFromStore(state: {
3302
3399
  projectName: string;
@@ -3564,5 +3661,5 @@ declare function diffFeatureCollections(before: FeatureCollection | null | undef
3564
3661
  * @returns The grouped change summary.
3565
3662
  */
3566
3663
  declare function diffProjects(before: GeoLibreProject, after: GeoLibreProject, options?: ProjectDiffOptions): ProjectDiff;
3567
- export { collectTransitiveJoinSourceIds as $, ModelPortKind as $n, isDuckDBQueryLayer as $r, EditorTrackingConfig as $t, normalizeMapViewState as A, LegendConfig as An, QuickFilterTextOperator as Ar, CollaborationPresence as At, normalizeWidgets as B, MAX_PROCESSING_HISTORY as Bn, StoryChapterLocation as Br, DEFAULT_LEGEND_CONFIG as Bt, isSessionOnlyLayer as C, basemapToCesiumImagery as Ci, LayerMetadataLink as Cn, ProjectInteraction as Cr, BLANK_BASEMAP as Ct, normalizeDashboardColumns as D, LayerStyle as Dn, ProjectTemplateEntry as Dr, CollaborationChatMessage as Dt, normalizeBookmarks as E, LayerQuickFilter as En, ProjectPreferences as Er, CollabInvite as Et, normalizeProcessingHistory as F, LegendPanelPosition as Fn, SecondaryMapView as Fr, CommentReply as Ft, serializeProject as G, MapRendererKind as Gn, StrokeDashPreset as Gr, DUCKDB_VECTOR_FEATURE_WARN_COUNT as Gt, portableWmsTileUrl as H, MapGridLayout as Hn, StoryLayerOpacityChange as Hr, DEFAULT_PRIMARY_RENDERER as Ht, normalizeProjectComments as I, LevelFilterMode as In, StoryActiveSlideMode as Ir, DEFAULT_BASEMAP as It, storyMapHasContent as J, MarkerShape as Jn, StyleLibraryEntryKind as Jr, DashboardWidgetAggregation as Jt, serializeProjectWithLayerCache as K, MapScaleUnit as Kn, StrokeWidthUnit as Kr, DUCKDB_VECTOR_ROUTE_BYTES as Kt, normalizeProjectInteraction as L, LineDecoration as Ln, StoryChapter as Lr, DEFAULT_BLEND_MODE as Lt, normalizeModels as M, LegendCustomItem as Mn, RuntimeEnvironmentVariable as Mr, CollaborationState as Mt, normalizeObiaWorkbench as N, LegendCustomShape as Nn, SQL_QUERY_SOURCE_KIND as Nr, CommentAnchor as Nt, normalizeLegendConfig as O, LayerType as On, QuickFilterDateKind as Or, CollaborationMode as Ot, normalizePrimaryRenderer as P, LegendItemOverride as Pn, STROKE_DASH_PRESETS as Pr, CommentAuthor as Pt, cascadeLayerJoinRefresh as Q, ModelGraphPort as Qn, detectNonGeographicCoordinates as Qr, DiagramType as Qt, normalizeSecondaryMapViews as R, MAX_DASHBOARD_COLUMNS as Rn, StoryChapterAlignment as Rr, DEFAULT_DASHBOARD_COLUMNS as Rt, isAllowedPluginManifestUrl as S, availableCesiumBasemap as Si, LayerMetadataContact as Sn, ProjectControlSetting as Sr, AttributeFormWidget as St, normalizeBookmarkGroups as T, sameCesiumImagery as Ti, LayerPopupConfig as Tn, ProjectPluginState as Tr, BlendMode as Tt, projectFromStore as U, MapPreferences as Un, StoryMap as Ur, DEFAULT_PROJECT_PREFERENCES as Ut, parseProject as V, MIN_DASHBOARD_COLUMNS as Vn, StoryInsetPosition as Vr, DEFAULT_MAP_GRID_LAYOUT as Vt, resolveMapGrid as W, MapProjection as Wn, StorySlideMode as Wr, DEFAULT_STORY_MAP as Wt, applyJoinsToLayer as X, ModelGraphNode as Xn, VectorStyleMode as Xr, DiagramField as Xt, ApplyLayerJoinsResult as Y, ModelGraphEdge as Yn, VectorRule as Yr, DashboardWidgetType as Yt, applyLayerJoins as Z, ModelGraphNodeKind as Zn, VectorStyleStop as Zr, DiagramSizeMode as Zt, createEmptyProject as _, geoArrowToFeatureCollection as _i, LayerGroup as _n, ProcessingRunKind as _r, AppPrivilege as _t, ProjectDiffOptions as a, PrintLayoutLegendEntry as ai, GeocodingPreferences as an, PROTOMAPS_BASEMAPS as ar, batchDecodePolylines as at, detachProjectCopy as b, CesiumBasemapId as bi, LayerLevelFilter as bn, ProjectBookmarkGroup as br, AttributeFormFieldConfig as bt, diffProjects as c, isDefaultPrintLayout as ci, LARGE_VECTOR_FEATURE_THRESHOLD as cn, PopupDateFormat as cr, encodePolyline as ct, CreateProjectOptions as d, scrubPrintLayoutForLayers as di, LabelDedupe as dn, PopupFieldKind as dr, unescapePolyline as dt, shouldUseTiledRendering as ei, FieldVisibility as en, ModelToolProvider as er, layerJoinKey as et, DEFAULT_PROJECT_NAME as f, scrubPrintLayoutForRemovedLayers as fi, LabelStyle as fn, ProcessingModel as fr, geojsonHasZCoordinates as ft, createDefaultMapView as g, featureCollectionToGeoArrow as gi, LayerDescriptiveMetadata as gn, ProcessingRun as gr, AppCapabilities as gt, applyProjectToStore as h, computeGeoArrowBBox as hi, LayerConnection as hn, ProcessingRerunRequest as hr, AddTileLayerOptions as ht, ProjectDiff as i, PrintLayoutCorner as ii, GeocodingLocator as in, PROJECT_VERSION as ir, PolylineDecodeResult as it, normalizeModelGraph as j, LegendCustomEntry as jn, RecentProjectEntry as jr, CollaborationRole as jt, normalizeMapLayout as k, LayerVirtualField as kn, QuickFilterKind as kr, CollaborationParticipant as kt, jsonValuesEqual as l, normalizePrintLayoutConfig as li, LAYER_TYPES as ln, PopupFieldConfig as lr, geoJSONToPolylineStr as lt, ProjectLayerSerializationCache as m, GeoArrowGeometryType as mi, LayerCapabilities as mn, ProcessingModelStep as mr, transformGeojsonElevation as mt, LayerDiff as n, DEFAULT_PRINT_LAYOUT as ni, GeoLibreLayer as nn, NonGeographicCoordinates as nr, stripJoinFields as nt, ProjectValueChange as o, PrintLayoutPageFilter as oi, GeometryGeneratorType as on, ParticipantIdentity as or, decodePolyline as ot, MAX_PROJECT_BOOKMARKS as p, GeoArrowBatch as pi, LabelTransform as pn, ProcessingModelGraph as pr, horizontalBbox as pt, serializeProjectWithLayerCacheAsync as q, MapViewState as qn, StyleLibraryEntry as qr, DashboardWidget as qt, PluginDiff as r, PrintLayoutConfig as ri, GeoLibreProject as rn, OPENFREEMAP_BASEMAPS as rr, PolylineBatchOptions as rt, diffFeatureCollections as s, createDefaultPrintLayout as si, IndicatorAggregation as sn, PointRenderer as sr, decodePolylineDetailed as st, FeatureChangeSummary as t, styleValue as ti, FillPattern as tn, NETCDF_IMAGE_SOURCE_KIND as tr, reapplyLayerJoins as tt, previewValue as u, printLayoutConfigsEqual as ui, LabelAnchor as un, PopupFieldFormat as ur, polylineStrToGeoJSON as ut, createProjectLayerSerializationCache as v, isGeoArrowBatch as vi, LayerJoin as vn, ProcessingRunStatus as vr, AppRole as vt, normalizeBlankBackgroundColor as w, normalizeCesiumBasemap as wi, LayerMetadataTemporalExtent as wn, ProjectPluginControlPosition as wr, BLEND_MODES as wt, hydrateProjectLayer as x, CesiumBasemapImagery as xi, LayerLibraryEntry as xn, ProjectComment as xr, AttributeFormValueMapEntry as xt, createProjectTemplate as y, CESIUM_BASEMAPS as yi, LayerJoinStats as yn, ProjectBookmark as yr, AttributeFormConfig as yt, normalizeStoryMap as z, MAX_MAP_GRID_DIM as zn, StoryChapterAnimation as zr, DEFAULT_LAYER_STYLE as zt };
3568
- //# sourceMappingURL=project-diff-B6AfZk8o.d.mts.map
3664
+ export { cascadeLayerJoinRefresh as $, ModelGraphEdge as $n, StyleLibraryEntryKind as $r, DashboardWidgetType as $t, normalizeMapViewState as A, normalizeCesiumBasemap as Ai, LayerQuickFilter as An, ProjectPluginState as Ar, CollabInvite as At, normalizeWidgets as B, LevelFilterMode as Bn, SecondaryMapView as Br, DEFAULT_BASEMAP as Bt, isSessionOnlyLayer as C, geoArrowToFeatureCollection as Ci, LayerJoinStats as Cn, ProcessingRunStatus as Cr, AttributeFormSection as Ct, normalizeDashboardColumns as D, CesiumBasemapImagery as Di, LayerMetadataLink as Dn, ProjectControlSetting as Dr, BLANK_BASEMAP as Dt, normalizeBookmarks as E, CesiumBasemapId as Ei, LayerMetadataContact as En, ProjectComment as Er, AttributeFormWidget as Et, normalizeProcessingHistory as F, LegendCustomEntry as Fn, QuickFilterTextOperator as Fr, CollaborationRole as Ft, serializeProject as G, MIN_DASHBOARD_COLUMNS as Gn, StoryChapterLocation as Gr, DEFAULT_MAP_GRID_LAYOUT as Gt, portableWmsTileUrl as H, MAX_DASHBOARD_COLUMNS as Hn, StoryChapter as Hr, DEFAULT_DASHBOARD_COLUMNS as Ht, normalizeProjectComments as I, LegendCustomItem as In, RecentProjectEntry as Ir, CollaborationState as It, storyMapHasContent as J, MapProjection as Jn, StoryMap as Jr, DEFAULT_STORY_MAP as Jt, serializeProjectWithLayerCache as K, MapGridLayout as Kn, StoryInsetPosition as Kr, DEFAULT_PRIMARY_RENDERER as Kt, normalizeProjectInteraction as L, LegendCustomShape as Ln, RuntimeEnvironmentVariable as Lr, CommentAnchor as Lt, normalizeModels as M, LayerType as Mn, ProjectTemplateEntry as Mr, CollaborationMode as Mt, normalizeObiaWorkbench as N, LayerVirtualField as Nn, QuickFilterDateKind as Nr, CollaborationParticipant as Nt, normalizeLegendConfig as O, availableCesiumBasemap as Oi, LayerMetadataTemporalExtent as On, ProjectInteraction as Or, BLEND_MODES as Ot, normalizePrimaryRenderer as P, LegendConfig as Pn, QuickFilterKind as Pr, CollaborationPresence as Pt, applyLayerJoins as Q, MarkerShape as Qn, StyleLibraryEntry as Qr, DashboardWidgetAggregation as Qt, normalizeSecondaryMapViews as R, LegendItemOverride as Rn, SQL_QUERY_SOURCE_KIND as Rr, CommentAuthor as Rt, isAllowedPluginManifestUrl as S, featureCollectionToGeoArrow as Si, LayerJoin as Sn, ProcessingRunKind as Sr, AttributeFormFieldConfig as St, normalizeBookmarkGroups as T, CESIUM_BASEMAPS as Ti, LayerLibraryEntry as Tn, ProjectBookmarkGroup as Tr, AttributeFormValueRelation as Tt, projectFromStore as U, MAX_MAP_GRID_DIM as Un, StoryChapterAlignment as Ur, DEFAULT_LAYER_STYLE as Ut, parseProject as V, LineDecoration as Vn, StoryActiveSlideMode as Vr, DEFAULT_BLEND_MODE as Vt, resolveMapGrid as W, MAX_PROCESSING_HISTORY as Wn, StoryChapterAnimation as Wr, DEFAULT_LEGEND_CONFIG as Wt, ApplyLayerJoinsResult as X, MapScaleUnit as Xn, StrokeDashPreset as Xr, DUCKDB_VECTOR_ROUTE_BYTES as Xt, withI3sSceneLayerKind as Y, MapRendererKind as Yn, StorySlideMode as Yr, DUCKDB_VECTOR_FEATURE_WARN_COUNT as Yt, applyJoinsToLayer as Z, MapViewState as Zn, StrokeWidthUnit as Zr, DashboardWidget as Zt, createEmptyProject as _, scrubPrintLayoutForLayers as _i, LabelTransform as _n, ProcessingModel as _r, AddTileLayerOptions as _t, ProjectDiffOptions as a, isPlanetaryComputerLayer as ai, FillPattern as an, NETCDF_IMAGE_SOURCE_KIND as ar, PolylineDecodeResult as at, detachProjectCopy as b, GeoArrowGeometryType as bi, LayerDescriptiveMetadata as bn, ProcessingRerunRequest as br, AppRole as bt, diffProjects as c, DEFAULT_PRINT_LAYOUT as ci, GeocodingLocator as cn, PLANETARY_COMPUTER_SOURCE_KIND as cr, decodePolylineDetailed as ct, CreateProjectOptions as d, PrintLayoutLegendEntry as di, IndicatorAggregation as dn, ParticipantIdentity as dr, polylineStrToGeoJSON as dt, VectorRule as ei, DiagramField as en, ModelGraphNode as er, collectTransitiveJoinSourceIds as et, DEFAULT_PROJECT_NAME as f, PrintLayoutPageFilter as fi, LARGE_VECTOR_FEATURE_THRESHOLD as fn, PointRenderer as fr, unescapePolyline as ft, createDefaultMapView as g, printLayoutConfigsEqual as gi, LabelStyle as gn, PopupFieldKind as gr, ARCGIS_IMAGE_SERVICE_SOURCE_KIND as gt, applyProjectToStore as h, normalizePrintLayoutConfig as hi, LabelDedupe as hn, PopupFieldFormat as hr, transformGeojsonElevation as ht, ProjectDiff as i, isDuckDBQueryLayer as ii, FieldVisibility as in, ModelToolProvider as ir, PolylineBatchOptions as it, normalizeModelGraph as j, sameCesiumImagery as ji, LayerStyle as jn, ProjectPreferences as jr, CollaborationChatMessage as jt, normalizeMapLayout as k, basemapToCesiumImagery as ki, LayerPopupConfig as kn, ProjectPluginControlPosition as kr, BlendMode as kt, jsonValuesEqual as l, PrintLayoutConfig as li, GeocodingPreferences as ln, PROJECT_VERSION as lr, encodePolyline as lt, ProjectLayerSerializationCache as m, isDefaultPrintLayout as mi, LabelAnchor as mn, PopupFieldConfig as mr, horizontalBbox as mt, LayerDiff as n, VectorStyleStop as ni, DiagramType as nn, ModelGraphPort as nr, reapplyLayerJoins as nt, ProjectValueChange as o, shouldUseTiledRendering as oi, GeoLibreLayer as on, NonGeographicCoordinates as or, batchDecodePolylines as ot, MAX_PROJECT_BOOKMARKS as p, createDefaultPrintLayout as pi, LAYER_TYPES as pn, PopupDateFormat as pr, geojsonHasZCoordinates as pt, serializeProjectWithLayerCacheAsync as q, MapPreferences as qn, StoryLayerOpacityChange as qr, DEFAULT_PROJECT_PREFERENCES as qt, PluginDiff as r, detectNonGeographicCoordinates as ri, EditorTrackingConfig as rn, ModelPortKind as rr, stripJoinFields as rt, diffFeatureCollections as s, styleValue as si, GeoLibreProject as sn, OPENFREEMAP_BASEMAPS as sr, decodePolyline as st, FeatureChangeSummary as t, VectorStyleMode as ti, DiagramSizeMode as tn, ModelGraphNodeKind as tr, layerJoinKey as tt, previewValue as u, PrintLayoutCorner as ui, GeometryGeneratorType as un, PROTOMAPS_BASEMAPS as ur, geoJSONToPolylineStr as ut, createProjectLayerSerializationCache as v, scrubPrintLayoutForRemovedLayers as vi, LayerCapabilities as vn, ProcessingModelGraph as vr, AppCapabilities as vt, normalizeBlankBackgroundColor as w, isGeoArrowBatch as wi, LayerLevelFilter as wn, ProjectBookmark as wr, AttributeFormValueMapEntry as wt, hydrateProjectLayer as x, computeGeoArrowBBox as xi, LayerGroup as xn, ProcessingRun as xr, AttributeFormConfig as xt, createProjectTemplate as y, GeoArrowBatch as yi, LayerConnection as yn, ProcessingModelStep as yr, AppPrivilege as yt, normalizeStoryMap as z, LegendPanelPosition as zn, STROKE_DASH_PRESETS as zr, CommentReply as zt };
3665
+ //# sourceMappingURL=project-diff-BksHN-qY.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-diff-BksHN-qY.d.mts","names":["_$__cesium_imagery0.CesiumBasemapId","GeoJSON"],"sources":["../src/cesium-imagery.ts","../src/geoarrow.ts","../src/print-layout-config.ts","../src/types.ts","../src/geojson-z.ts","../src/polyline.ts","../src/joins.ts","../src/project.ts","../src/project-diff.ts"],"mappings":"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"}
@@ -329,6 +329,32 @@ const SQL_QUERY_SOURCE_KIND = "sql-query";
329
329
  */
330
330
  const NETCDF_IMAGE_SOURCE_KIND = "netcdf-image";
331
331
  /**
332
+ * Metadata `sourceKind` marking an ArcGIS ImageServer drawn as a `raster` layer.
333
+ *
334
+ * Defined here so the plugin that adds these layers and `@geolibre/map` (whose
335
+ * Identify reads their pixel values through the service's `/identify`) share
336
+ * one value.
337
+ */
338
+ const ARCGIS_IMAGE_SERVICE_SOURCE_KIND = "arcgis-image-service";
339
+ /**
340
+ * Metadata `sourceKind` marking a Microsoft Planetary Computer raster layer
341
+ * (one STAC item, or a mosaic of many) drawn by the Planetary Computer panel.
342
+ *
343
+ * Defined here so the plugin that adds these layers, the Layer Library's
344
+ * restore dispatch, and `@geolibre/map` (whose Identify reads their pixel
345
+ * values through the application's raster bridge) share one value.
346
+ */
347
+ const PLANETARY_COMPUTER_SOURCE_KIND = "planetary-computer-raster";
348
+ /**
349
+ * Whether a layer is a Planetary Computer raster the panel's control draws.
350
+ *
351
+ * @param layer - The layer to test.
352
+ * @returns True for a control-drawn Planetary Computer item or mosaic layer.
353
+ */
354
+ function isPlanetaryComputerLayer(layer) {
355
+ return layer.type === "raster" && layer.metadata.sourceKind === "planetary-computer-raster" && layer.metadata.externalNativeLayer === true;
356
+ }
357
+ /**
332
358
  * Detect a DuckDB query layer rendered through the plugin's external deck.gl
333
359
  * overlay. Shared by `@geolibre/map`, `@geolibre/plugins`, and the desktop
334
360
  * app so the detection criteria cannot drift.
@@ -7598,6 +7624,7 @@ function redactUrlCredentials(value) {
7598
7624
  }
7599
7625
  const keptQuery = query === void 0 ? void 0 : redactParameterString(query);
7600
7626
  const keptFragment = fragment === void 0 || !fragment.includes("=") ? fragment : redactParameterString(fragment);
7627
+ if (base === (queryIndex === -1 ? beforeHash : beforeHash.slice(0, queryIndex)) && keptQuery === query && keptFragment === fragment) return value;
7601
7628
  return base + (keptQuery ? `?${keptQuery}` : "") + (keptFragment ? `#${keptFragment}` : "");
7602
7629
  }
7603
7630
  function isPlainObject$2(value) {
@@ -7722,13 +7749,17 @@ function redactProjectCredentials(project) {
7722
7749
  const mapboxStyleUrl = project.preferences?.map?.mapboxStyleUrl;
7723
7750
  const redactedMapboxStyleUrl = typeof mapboxStyleUrl === "string" ? redactUrlCredentials(mapboxStyleUrl) : mapboxStyleUrl;
7724
7751
  if (redactedMapboxStyleUrl !== mapboxStyleUrl) recordRedaction(accumulator, "preferences.map.mapboxStyleUrl", mapboxStyleUrl);
7752
+ const terrainSource = project.preferences?.map?.terrainSource;
7753
+ const redactedTerrainSource = typeof terrainSource === "string" ? redactUrlCredentials(terrainSource) : terrainSource;
7754
+ if (redactedTerrainSource !== terrainSource) recordRedaction(accumulator, "preferences.map.terrainSource", terrainSource);
7725
7755
  const preferences = project.preferences ? {
7726
7756
  ...project.preferences,
7727
7757
  environmentVariables: (project.preferences.environmentVariables ?? []).filter((variable) => variable.secret === false),
7728
7758
  geocoding,
7729
- ...redactedMapboxStyleUrl !== mapboxStyleUrl ? { map: {
7759
+ ...redactedMapboxStyleUrl !== mapboxStyleUrl || redactedTerrainSource !== terrainSource ? { map: {
7730
7760
  ...project.preferences.map,
7731
- mapboxStyleUrl: redactedMapboxStyleUrl
7761
+ mapboxStyleUrl: redactedMapboxStyleUrl,
7762
+ terrainSource: redactedTerrainSource
7732
7763
  } } : {}
7733
7764
  } : project.preferences;
7734
7765
  const populatedEnvironmentVariables = project.preferences?.environmentVariables?.filter((variable) => variable.secret !== false && variable.value !== "") ?? [];
@@ -7920,6 +7951,50 @@ var GeocoderUnsupportedError = class extends Error {
7920
7951
  this.name = "GeocoderUnsupportedError";
7921
7952
  }
7922
7953
  };
7954
+ /**
7955
+ * Whether a raw coordinate is a number or a numeric-looking string
7956
+ * (Nominatim's form). `Number()` would also turn `null`, `true`, a blank string
7957
+ * or a one-element array into a coordinate, so those are rejected first.
7958
+ */
7959
+ function isCoordinateValue(value) {
7960
+ return typeof value === "number" || typeof value === "string" && value.trim() !== "";
7961
+ }
7962
+ /**
7963
+ * Validate a west/south/east/north extent: every edge finite and on Earth,
7964
+ * south not above north. Returns null otherwise, so a malformed box falls back
7965
+ * to the match's point instead of sending the camera somewhere odd.
7966
+ *
7967
+ * @param west - Western longitude.
7968
+ * @param south - Southern latitude.
7969
+ * @param east - Eastern longitude.
7970
+ * @param north - Northern latitude.
7971
+ * @returns The extent, or null when it is not a usable one.
7972
+ */
7973
+ function normalizeGeocodeBbox(west, south, east, north) {
7974
+ if (![
7975
+ west,
7976
+ south,
7977
+ east,
7978
+ north
7979
+ ].every(isCoordinateValue)) return null;
7980
+ const box = [
7981
+ Number(west),
7982
+ Number(south),
7983
+ Number(east),
7984
+ Number(north)
7985
+ ];
7986
+ if (!box.every(Number.isFinite)) return null;
7987
+ const [w, s, e, n] = box;
7988
+ if (w < -180 || w > 180 || e < -180 || e > 180) return null;
7989
+ if (s < -90 || n > 90 || s > n) return null;
7990
+ return box;
7991
+ }
7992
+ /** A GeoJSON feature's own `bbox` member (`[west, south, east, north]`), or null. */
7993
+ function geojsonFeatureBbox(feature) {
7994
+ const bbox = feature.bbox;
7995
+ if (!Array.isArray(bbox) || bbox.length !== 4) return null;
7996
+ return normalizeGeocodeBbox(bbox[0], bbox[1], bbox[2], bbox[3]);
7997
+ }
7923
7998
  function coerceScore(value) {
7924
7999
  if (value === void 0 || value === null || value === "") return null;
7925
8000
  const num = Number(value);
@@ -7979,11 +8054,14 @@ function nominatimForwardResultToMatch(result) {
7979
8054
  const lat = Number(result.lat);
7980
8055
  const lon = Number(result.lon);
7981
8056
  if (!Number.isFinite(lat) || !Number.isFinite(lon)) return null;
8057
+ const box = Array.isArray(result.boundingbox) ? result.boundingbox : null;
8058
+ const bbox = box?.length === 4 ? normalizeGeocodeBbox(box[2], box[0], box[3], box[1]) : null;
7982
8059
  return {
7983
8060
  lat,
7984
8061
  lon,
7985
8062
  displayName: result.display_name ?? "",
7986
- score: coerceScore(result.importance)
8063
+ score: coerceScore(result.importance),
8064
+ ...bbox ? { bbox } : {}
7987
8065
  };
7988
8066
  }
7989
8067
  /**
@@ -8123,11 +8201,13 @@ const peliasProvider = {
8123
8201
  const coords = pointCoords(feature);
8124
8202
  if (!coords) return null;
8125
8203
  const props = feature.properties ?? {};
8204
+ const bbox = geojsonFeatureBbox(feature);
8126
8205
  return {
8127
8206
  lon: coords[0],
8128
8207
  lat: coords[1],
8129
8208
  displayName: readString(props, "label") ?? "",
8130
- score: coerceScore(props.confidence)
8209
+ score: coerceScore(props.confidence),
8210
+ ...bbox ? { bbox } : {}
8131
8211
  };
8132
8212
  }).filter((m) => m !== null),
8133
8213
  buildReverseUrl: (config, lon, lat) => {
@@ -8229,6 +8309,33 @@ function arcgisCandidatePosition(x, y, wkid) {
8229
8309
  };
8230
8310
  }
8231
8311
  /**
8312
+ * A candidate's `extent` (`xmin`/`ymin`/`xmax`/`ymax`, in the response's
8313
+ * spatial reference) as a west/south/east/north box in degrees, or null when it
8314
+ * is missing, malformed, or in a spatial reference that cannot be unprojected.
8315
+ *
8316
+ * @param extent - The candidate's `extent` member.
8317
+ * @param wkid - The response's spatial reference, or null when it reports none.
8318
+ * @returns The extent in degrees, or null.
8319
+ */
8320
+ function arcgisCandidateExtent(extent, wkid) {
8321
+ if (!extent || typeof extent !== "object") return null;
8322
+ const e = extent;
8323
+ if (![
8324
+ e.xmin,
8325
+ e.ymin,
8326
+ e.xmax,
8327
+ e.ymax
8328
+ ].every(isCoordinateValue)) return null;
8329
+ try {
8330
+ const sw = arcgisCandidatePosition(Number(e.xmin), Number(e.ymin), wkid);
8331
+ const ne = arcgisCandidatePosition(Number(e.xmax), Number(e.ymax), wkid);
8332
+ if (!sw || !ne) return null;
8333
+ return normalizeGeocodeBbox(sw.lon, sw.lat, ne.lon, ne.lat);
8334
+ } catch {
8335
+ return null;
8336
+ }
8337
+ }
8338
+ /**
8232
8339
  * A candidate's attributes worth keeping: plain values that are not empty.
8233
8340
  * The shape and the location fields the match already carries are dropped.
8234
8341
  */
@@ -8262,11 +8369,13 @@ function parseArcGISCandidates(data) {
8262
8369
  const position = arcgisCandidatePosition(Number(location?.x), Number(location?.y), wkid);
8263
8370
  if (!position) return null;
8264
8371
  const attributes = candidateAttributes(candidate.attributes);
8372
+ const bbox = arcgisCandidateExtent(candidate.extent, wkid);
8265
8373
  return {
8266
8374
  ...position,
8267
8375
  displayName: readString(candidate, "address") ?? "",
8268
8376
  score: coerceScore(candidate.score),
8269
- ...attributes ? { attributes } : {}
8377
+ ...attributes ? { attributes } : {},
8378
+ ...bbox ? { bbox } : {}
8270
8379
  };
8271
8380
  }).filter((m) => m !== null);
8272
8381
  }
@@ -8471,11 +8580,13 @@ const mapboxProvider = {
8471
8580
  }
8472
8581
  coords ??= pointCoords(feature);
8473
8582
  if (!coords) return null;
8583
+ const bbox = geojsonFeatureBbox(feature);
8474
8584
  return {
8475
8585
  lon: coords[0],
8476
8586
  lat: coords[1],
8477
8587
  displayName: readString(feature, "place_name") ?? "",
8478
- score: coerceScore(feature.relevance)
8588
+ score: coerceScore(feature.relevance),
8589
+ ...bbox ? { bbox } : {}
8479
8590
  };
8480
8591
  }).filter((m) => m !== null),
8481
8592
  buildReverseUrl: (config, lon, lat) => {
@@ -8547,15 +8658,19 @@ const googleProvider = {
8547
8658
  /** Map a Google Geocoding API `results` array onto normalized matches. */
8548
8659
  function parseGoogleResults(data) {
8549
8660
  return (data && typeof data === "object" && Array.isArray(data.results) ? data.results : []).map((result) => {
8550
- const location = result.geometry?.location;
8661
+ const geometry = result.geometry;
8662
+ const location = geometry?.location;
8551
8663
  const lat = Number(location?.lat);
8552
8664
  const lon = Number(location?.lng);
8553
8665
  if (!Number.isFinite(lat) || !Number.isFinite(lon)) return null;
8666
+ const viewport = geometry?.viewport;
8667
+ const bbox = viewport ? normalizeGeocodeBbox(viewport.southwest?.lng, viewport.southwest?.lat, viewport.northeast?.lng, viewport.northeast?.lat) : null;
8554
8668
  return {
8555
8669
  lat,
8556
8670
  lon,
8557
8671
  displayName: readString(result, "formatted_address") ?? "",
8558
- score: null
8672
+ score: null,
8673
+ ...bbox ? { bbox } : {}
8559
8674
  };
8560
8675
  }).filter((m) => m !== null);
8561
8676
  }
@@ -10235,6 +10350,8 @@ function normalizeProjectPreferences(preferences) {
10235
10350
  cesiumBasemap: normalizeCesiumBasemap(map.cesiumBasemap),
10236
10351
  terrainEnabled: normalizeBoolean(map.terrainEnabled, DEFAULT_PROJECT_PREFERENCES.map.terrainEnabled),
10237
10352
  terrainIonAssetId: parseCesiumIonAssetId(map.terrainIonAssetId) ?? void 0,
10353
+ terrainExaggeration: normalizeTerrainExaggeration(map.terrainExaggeration),
10354
+ terrainSource: normalizeTerrainSource(map.terrainSource),
10238
10355
  coordinateFormat: typeof map.coordinateFormat === "string" ? map.coordinateFormat : DEFAULT_PROJECT_PREFERENCES.map.coordinateFormat,
10239
10356
  coordinateEpsgCode: normalizeEpsgCode(map.coordinateEpsgCode),
10240
10357
  zoomToNewLayers: normalizeBoolean(map.zoomToNewLayers, DEFAULT_PROJECT_PREFERENCES.map.zoomToNewLayers)
@@ -10313,6 +10430,34 @@ function normalizeBounds(bounds) {
10313
10430
  }
10314
10431
  return DEFAULT_PROJECT_PREFERENCES.map.bounds;
10315
10432
  }
10433
+ /**
10434
+ * Keep a saved terrain exaggeration only when it is a finite, non-negative
10435
+ * number; anything else falls back to the renderer default.
10436
+ *
10437
+ * Args:
10438
+ * value: The raw `terrainExaggeration` from a project file.
10439
+ *
10440
+ * Returns:
10441
+ * The exaggeration, or `undefined` for the default.
10442
+ */
10443
+ function normalizeTerrainExaggeration(value) {
10444
+ return typeof value === "number" && Number.isFinite(value) && value >= 0 ? value : void 0;
10445
+ }
10446
+ /**
10447
+ * Keep a saved terrain DEM only when it is an HTTP(S) URL, the one kind of
10448
+ * source a project can reopen on another device.
10449
+ *
10450
+ * Args:
10451
+ * value: The raw `terrainSource` from a project file.
10452
+ *
10453
+ * Returns:
10454
+ * The trimmed URL, or `undefined` for the built-in global terrain.
10455
+ */
10456
+ function normalizeTerrainSource(value) {
10457
+ if (typeof value !== "string") return void 0;
10458
+ const trimmed = value.trim();
10459
+ return /^https?:\/\//i.test(trimmed) ? trimmed : void 0;
10460
+ }
10316
10461
  function normalizeNumber(value, fallback) {
10317
10462
  return Number.isFinite(value) ? Number(value) : fallback;
10318
10463
  }
@@ -10449,8 +10594,63 @@ function withoutRuntimeGeoArrow(layer) {
10449
10594
  function portableLayer(layer) {
10450
10595
  return withoutRuntimeGeoArrow(withoutZarrHeaders(withoutLocalRasterBytes(layer)));
10451
10596
  }
10597
+ /**
10598
+ * The path of a URL, or `""` when it does not parse (not a loadable URL). A
10599
+ * protocol-relative URL (`//host/...`) is read against https.
10600
+ */
10601
+ function urlPath(url) {
10602
+ try {
10603
+ return new URL(url.trim(), "https://geolibre.invalid").pathname;
10604
+ } catch {
10605
+ return "";
10606
+ }
10607
+ }
10608
+ /** Source kind of an ArcGIS I3S scene layer (`arcgis-i3s-tiles.ts` in the plugins). */
10609
+ const ARCGIS_I3S_SOURCE_KIND = "arcgis-i3s";
10610
+ /**
10611
+ * The path of an ArcGIS scene service or one of its layers:
10612
+ * `.../SceneServer`, `.../SceneServer/layers/<n>`, or a Building Scene Layer's
10613
+ * `.../layers/<n>/sublayers/<m>`. Narrower than the 3D Tiles
10614
+ * panel's `isArcgisI3sSceneLayerUrl` on purpose: a `tileset.json` stored under
10615
+ * a `SceneServer` folder, or a query that mentions one, stays a tileset.
10616
+ */
10617
+ const I3S_SCENE_SERVER_PATH_RE = /\/SceneServer(\/layers\/\d+(\/sublayers\/\d+)?)?\/?$/i;
10618
+ /**
10619
+ * Re-file a 3D Tiles record whose URL is an ArcGIS scene service as an I3S
10620
+ * scene layer (issue #3377).
10621
+ *
10622
+ * The app draws a scene layer only when its source kind is `arcgis-i3s`. The
10623
+ * Python `add_3d_tiles()` used to write a SceneServer URL as a plain tileset
10624
+ * (`3d-tiles-url`), which the 3D Tiles control then loads as a `tileset.json`,
10625
+ * so nothing drew. This gives such a record the shape the app's 3D Tiles panel
10626
+ * writes (`createArcgisI3sStoreLayer`), keeping its id, name and settings.
10627
+ *
10628
+ * @param layer - A layer from a project file.
10629
+ * @returns The layer, re-filed as an I3S scene layer when it is a misfiled one.
10630
+ */
10631
+ function withI3sSceneLayerKind(layer) {
10632
+ const url = layer.source?.url;
10633
+ if (layer.type !== "3d-tiles" || layer.metadata?.sourceKind !== "3d-tiles-url" || typeof url !== "string" || !I3S_SCENE_SERVER_PATH_RE.test(urlPath(url))) return layer;
10634
+ const { status: _status, panelCollapsed: _panelCollapsed, ...metadata } = layer.metadata;
10635
+ return {
10636
+ ...layer,
10637
+ source: {
10638
+ ...layer.source,
10639
+ type: ARCGIS_I3S_SOURCE_KIND
10640
+ },
10641
+ metadata: {
10642
+ ...metadata,
10643
+ customLayerType: ARCGIS_I3S_SOURCE_KIND,
10644
+ externalDeckLayer: true,
10645
+ externalNativeLayer: true,
10646
+ identifiable: false,
10647
+ nativeLayerIds: [`${layer.id}-deck`],
10648
+ sourceKind: ARCGIS_I3S_SOURCE_KIND
10649
+ }
10650
+ };
10651
+ }
10452
10652
  function normalizeLayer(layer) {
10453
- layer = withRasterSourceDefaults(withoutLocalRasterBytes(layer));
10653
+ layer = withI3sSceneLayerKind(withRasterSourceDefaults(withoutLocalRasterBytes(layer)));
10454
10654
  const { capabilities: rawCapabilities, filterExpression: rawFilterExpression, descriptiveMetadata: rawDescriptiveMetadata, geoarrow: _rawGeoarrow, ...rest } = layer;
10455
10655
  const capabilities = normalizeLayerCapabilities(rawCapabilities);
10456
10656
  const descriptiveMetadata = normalizeLayerDescriptiveMetadata(rawDescriptiveMetadata);
@@ -11503,6 +11703,6 @@ function metadataRank(path) {
11503
11703
  if (path === "description") return 1;
11504
11704
  return 2;
11505
11705
  }
11506
- export { GEOCODING_PROVIDERS as $, MAX_PROCESSING_HISTORY as $a, createEqualIntervalBreaks as $i, groupMemberIndices as $n, mapZoomStepOutputs as $r, CESIUM_BING_AERIAL_ASSET_ID as $t, normalizeSecondaryMapViews as A, REGIONAL_BASEMAP_GROUPS as Aa, substituteExpressionVariables as Ai, createStyleLibraryEntryId as An, isValidMetadataDate as Ar, selectedGeocodingLocator as At, storyMapHasContent as B, DEFAULT_DASHBOARD_COLUMNS as Ba, getMapboxAccessToken as Bi, normalizePrintLayoutConfig as Bn, effectiveVectorRules as Br, PROJECT_CREDENTIAL_FIELDS as Bt, normalizeModelGraph as C, CESIUM_BASEMAPS as Ca, compileFeatureExpression as Ci, isGeoArrowBatch as Cn, reapplyLayerJoins as Cr, normalizeArcGISLocatorUrl as Ct, normalizeProcessingHistory as D, sameCesiumImagery as Da, isStyleSpecColor as Di, STYLE_LIBRARY_BUNDLE_TYPE as Dn, STAC_PROCESSING_EXTENSION as Dr, parseArcGISSuggestions as Dt, normalizePrimaryRenderer as E, normalizeCesiumBasemap as Ea, inferFieldTypes as Ei, RAMP_STYLE_KEYS as En, stripVirtualFieldColumns as Er, parseArcGISLocatorInfo as Et, projectFromStore as F, isRegionalBasemapSentinel as Fa, invertSelection as Fi, sanitizeLayerStylePatch as Fn, parseMetadataKeywords as Fr, DEFAULT_STORY_CHAPTER_DURATION_SECONDS as Ft, DEFAULT_REVERSE_GEOCODE_ENDPOINT as G, DEFAULT_PROJECT_PREFERENCES as Ga, batchDecodePolylines as Gi, scrubCommentsForRemovedLayers as Gn, generatorCircleRadiusValue as Gr, redactCredentials as Gt, CARTOCIUDAD_PUBLIC_HOST as H, DEFAULT_LEGEND_CONFIG as Ha, getProtomapsStyleUrl as Hi, scrubPrintLayoutForLayers as Hn, extrusionColorValue as Hr, isCredentialFieldName as Ht, resolveMapGrid as I, BLANK_BASEMAP as Ia, getArcgisApiKey as Ii, serializeStyleLibrary as In, stacAssetMediaType as Ir, MAX_STORY_CHAPTER_DURATION_SECONDS as It, GEOCODE_LAT_KEY as J, DUCKDB_VECTOR_ROUTE_BYTES as Ja, encodePolyline as Ji, DEFAULT_LAYER_GROUP_OPACITY as Jn, heatmapRampColors as Jr, setRegistryPublishableSettings as Jt, GEOCODE_ATTRIBUTE_PREFIX as K, DEFAULT_STORY_MAP as Ka, decodePolyline as Ki, scrubLegendForRemovedLayers as Kn, generatorSizeRange as Kr, redactProjectCredentials as Kt, serializeProject as L, BLEND_MODES as La, getBuildEnvironment as Li, DEFAULT_PRINT_LAYOUT as Ln, validateLayerDescriptiveMetadata as Lr, MIN_STORY_CHAPTER_DURATION_SECONDS as Lt, normalizeWidgets as M, gateRegionalBasemap as Ma, SELECTION_MODES as Mi, isStyleLibraryTargetLayer as Mn, isValidMetadataUrl as Mr, setGeocodingTokenProvider as Mt, parseProject as N, getRegionalBasemapById as Na, applySelectionMode as Ni, normalizeStyleLibraryEntries as Nn, metadataDateToRfc3339 as Nr, shouldThrottle as Nt, normalizeProjectComments as O, CHINA_BASEMAPS as Oa, matchFeaturesByExpression as Oi, STYLE_LIBRARY_BUNDLE_VERSION as On, STAC_VERSION as Or, resolveGeocoderConfig as Ot, portableWmsTileUrl as P, getRegionalBasemapByStyleUrl as Pa, featureSelectionId as Pi, parseStyleLibrary as Pn, normalizeLayerDescriptiveMetadata as Pr, unmatchedGeocodeFeature as Pt, GEOCODE_STATUS_KEY as Q, MAX_MAP_GRID_DIM as Qa, VECTOR_COLOR_RAMPS as Qi, effectiveLayerRenderState as Qn, lineWidthValue as Qr, resolveHeaderReferences as Qt, serializeProjectWithLayerCache as R, DEFAULT_BASEMAP as Ra, getCesiumIonToken as Ri, createDefaultPrintLayout as Rn, MERCATOR_METERS_PER_PIXEL_AT_ZOOM_0 as Rr, normalizeStoryChapterDurationSeconds as Rt, normalizeMapViewState as S, normalizeArcgisWkid as Sa, EXPRESSION_FUNCTION_CATEGORIES as Si, geoArrowToFeatureCollection as Sn, layerJoinKey as Sr, nominatimReverseResultToDisplay as St, normalizeObiaWorkbench as T, basemapToCesiumImagery as Ta, formatExpressionPreviewValue as Ti, BUILT_IN_STYLE_PRESETS as Tn, applyLayerVirtualFields as Tr, normalizeGeocodingProviderId as Tt, DEFAULT_FORWARD_GEOCODE_ENDPOINT as U, DEFAULT_MAP_GRID_LAYOUT as Ua, getRuntimeEnvironment as Ui, scrubPrintLayoutForRemovedLayers as Un, extrusionFloorHeightValue as Ur, isCredentialUrlParam as Ut, CARTOCIUDAD_MIN_INTERVAL_MS as V, DEFAULT_LAYER_STYLE as Va, getProtomapsApiKey as Vi, printLayoutConfigsEqual as Vn, extrusionBaseValue as Vr, PUBLISHABLE_PLUGIN_SETTINGS as Vt, DEFAULT_GEOCODING_PROVIDER_ID as W, DEFAULT_PRIMARY_RENDERER as Wa, getSpatialExtensionPath as Wi, removedLayerIdSet as Wn, extrusionHeightValue as Wr, redactConfigurationCredentials as Wt, GEOCODE_PROVIDER_KEY as X, LAYER_TYPES as Xa, polylineStrToGeoJSON as Xi, buildLayerPanelUnits as Xn, isStrokeDashPattern as Xr, hasHeaderReferences as Xt, GEOCODE_LON_KEY as Y, LARGE_VECTOR_FEATURE_THRESHOLD as Ya, geoJSONToPolylineStr as Yi, applyGroupEffects as Yn, isHexColor as Yr, allowsCredentialHeaders as Yt, GEOCODE_SCORE_KEY as Z, MAX_DASHBOARD_COLUMNS as Za, unescapePolyline as Zi, buildLayerTree as Zn, isVectorColorExpression as Zr, isHeaderReferenceOnly as Zt, normalizeBookmarkGroups as _, getMapCrsPreset as _a, vectorFillColorValue as _i, czmlSource as _n, resolveRolePrivileges as _r, geocoderSupportsSuggest as _t, DEFAULT_PROJECT_NAME as a, interpolateRampColors as aa, readSimpleStyleNumberLookup as ai, cesiumIonAssetKind as an, SQL_QUERY_SOURCE_KIND as ao, reorderLayerGroupInPanel as ar, arcgisLocatorInputField as at, normalizeLegendConfig as b, parseMapCrsEpsgCode as ba, vectorOutlineColorValue as bi, computeGeoArrowBBox as bn, cascadeLayerJoinRefresh as br, nextDelayMs as bt, createDefaultMapView as c, parseHexColorList as ca, ruleBasedVisibilityFilter as ci, isCesiumOnlyLayer as cn, isDuckDBQueryLayer as co, ROLE_PRIVILEGES as cr, csvRowsToGeocodeRequests as ct, createProjectTemplate as d, horizontalBbox as da, strokeDashPresetName as di, cesiumKmlSource as dn, hasAppPrivilege as dr, geocodeMatchToFeature as dt, createGraduatedClassBreaks as ea, mercatorMetersPerPixelAtZoom0 as ei, CESIUM_GOOGLE_PHOTOREALISTIC_ASSET_ID as en, MIN_DASHBOARD_COLUMNS as eo, layerGroupDepth as er, GeocoderServiceError as et, detachProjectCopy as f, transformGeojsonElevation as fa, strokeDashValue as fi, createCesiumKmlLayer as fn, inferLayerCapabilities as fr, geocodeReverse as ft, normalizeBlankBackgroundColor as g, deriveTileMatrixSet as ga, vectorColorExpression as gi, createCzmlLayer as gn, resolveLayerCapabilities as gr, geocoderSupportsReverse as gt, isSessionOnlyLayer as h, adaptBboxTemplateToCrs as ha, vectorCircleColorValue as hi, CZML_SOURCE_KIND as hn, normalizeLayerCapabilities as hr, geocoderNeedsApiKey as ht, previewValue as i, interpolateHexColor as ia, proportionalSizeRange as ii, cesiumIonAssetId as in, PROTOMAPS_BASEMAPS as io, normalizeGroupContiguity as ir, PUBLIC_GEOCODE_ROW_CAP as it, normalizeStoryMap as j, REGIONAL_BASEMAP_SENTINEL_PREFIX as ja, validateMapExpression as ji, extractStyleLibraryStyle as jn, isValidMetadataEmail as jr, setGeocodingFetch as jt, normalizeProjectInteraction as k, REGIONAL_BASEMAPS as ka, removeTrailingJsonCommas as ki, SYMBOL_STYLE_KEYS as kn, buildLayerStacItem as kr, rowCap as kt, createEmptyProject as l, rgbToHex as la, simpleStyleNumberValue as li, parseCesiumIonAssetId as ln, shouldUseTiledRendering as lo, appPrivilegeReason as lr, fetchArcGISLocatorInfo as lt, isAllowedPluginManifestUrl as m, MAP_CRS_PRESETS as ma, strokeOpacityValue as mi, CZML_QUICK_PICKS as mn, normalizeAppPrivileges as mr, geocoderMinIntervalMs as mt, diffProjects as n, getVectorColorRamp as na, parseJsonExpression as ni, CESIUM_ION_SOURCE_KIND as nn, OPENFREEMAP_BASEMAPS as no, layerGroupSortability as nr, NOMINATIM_MIN_INTERVAL_MS as nt, MAX_PROJECT_BOOKMARKS as o, normalizeHexColor as oa, readsSimpleStyleProperties as oi, createCesiumIonLayer as on, STROKE_DASH_PRESETS as oo, sortLayerGroupInPanel as or, buildForwardGeocodeUrl as ot, hydrateProjectLayer as p, MAP_CRS_CHANGE_EVENT as pa, strokeOpacityPaintValue as pi, isCesiumKmlLayer as pn, intersectPrivileges as pr, geocodeSuggest as pt, GEOCODE_DISPLAY_NAME_KEY as q, DUCKDB_VECTOR_FEATURE_WARN_COUNT as qa, decodePolylineDetailed as qi, scrubWidgetsForRemovedLayers as qn, hasSimpleStyleProperties as qr, redactUrlCredentials as qt, jsonValuesEqual as r, interpolateColors as ra, proportionalRadiusExpression as ri, CESIUM_OSM_BUILDINGS_ASSET_ID as rn, PROJECT_VERSION as ro, layerPanelGroupHeaders as rr, NOMINATIM_PUBLIC_HOST as rt, applyProjectToStore as s, parseHexColor as sa, ruleBasedColorExpression as si, isCesiumIonLayer as sn, detectNonGeographicCoordinates as so, ALL_APP_PRIVILEGES as sr, buildReverseGeocodeUrl as st, diffFeatureCollections as t, createQuantileBreaks as ta, metersWidthExpression as ti, CESIUM_ION_QUICK_PICKS as tn, NETCDF_IMAGE_SOURCE_KIND as to, layerGroupMoveability as tr, GeocoderUnsupportedError as tt, createProjectLayerSerializationCache as u, geojsonHasZCoordinates as ua, strokeBlurValue as ui, CESIUM_KML_SOURCE_KIND as un, styleValue as uo, createDefaultAppCapabilities as ur, geocodeForward as ut, normalizeBookmarks as v, mapCrsPreferencePatch as va, vectorFillOpacityValue as vi, isCzmlLayer as vn, applyJoinsToLayer as vr, getGeocoderConfig as vt, normalizeModels as w, availableCesiumBasemap as wa, evaluateMapExpression as wi, withRasterSourceDefaults as wn, stripJoinFields as wr, normalizeGeocodingLocator as wt, normalizeMapLayout as x, ARCGIS_PROJECTION_PRESETS as xa, vectorStrokeWidthValue as xi, featureCollectionToGeoArrow as xn, collectTransitiveJoinSourceIds as xr, nominatimResultToFeature as xt, normalizeDashboardColumns as y, normalizeMapCrs as ya, vectorLineColorValue as yi, parseCzml as yn, applyLayerJoins as yr, getGeocodingProvider as yt, serializeProjectWithLayerCacheAsync as z, DEFAULT_BLEND_MODE as za, getGoogleMapsApiKey as zi, isDefaultPrintLayout as zn, circleRadiusValue as zr, MAX_REDACT_DEPTH as zt };
11706
+ export { GEOCODE_STATUS_KEY as $, LAYER_TYPES as $a, unescapePolyline as $i, buildLayerTree as $n, isVectorColorExpression as $r, isHeaderReferenceOnly as $t, normalizeSecondaryMapViews as A, CHINA_BASEMAPS as Aa, matchFeaturesByExpression as Ai, STYLE_LIBRARY_BUNDLE_VERSION as An, STAC_VERSION as Ar, resolveGeocoderConfig as At, storyMapHasContent as B, BLEND_MODES as Ba, getCesiumIonToken as Bi, createDefaultPrintLayout as Bn, MERCATOR_METERS_PER_PIXEL_AT_ZOOM_0 as Br, normalizeStoryChapterDurationSeconds as Bt, normalizeModelGraph as C, ARCGIS_PROJECTION_PRESETS as Ca, vectorStrokeWidthValue as Ci, featureCollectionToGeoArrow as Cn, collectTransitiveJoinSourceIds as Cr, nominatimReverseResultToDisplay as Ct, normalizeProcessingHistory as D, basemapToCesiumImagery as Da, formatExpressionPreviewValue as Di, BUILT_IN_STYLE_PRESETS as Dn, applyLayerVirtualFields as Dr, normalizeGeocodingProviderId as Dt, normalizePrimaryRenderer as E, availableCesiumBasemap as Ea, evaluateMapExpression as Ei, withRasterSourceDefaults as En, stripJoinFields as Er, normalizeGeocodingLocator as Et, projectFromStore as F, getRegionalBasemapById as Fa, applySelectionMode as Fi, normalizeStyleLibraryEntries as Fn, metadataDateToRfc3339 as Fr, shouldThrottle as Ft, DEFAULT_GEOCODING_PROVIDER_ID as G, DEFAULT_LEGEND_CONFIG as Ga, getRuntimeEnvironment as Gi, scrubPrintLayoutForRemovedLayers as Gn, extrusionFloorHeightValue as Gr, isCredentialUrlParam as Gt, CARTOCIUDAD_MIN_INTERVAL_MS as H, DEFAULT_BLEND_MODE as Ha, getMapboxAccessToken as Hi, normalizePrintLayoutConfig as Hn, effectiveVectorRules as Hr, PROJECT_CREDENTIAL_FIELDS as Ht, resolveMapGrid as I, getRegionalBasemapByStyleUrl as Ia, featureSelectionId as Ii, parseStyleLibrary as In, normalizeLayerDescriptiveMetadata as Ir, unmatchedGeocodeFeature as It, GEOCODE_DISPLAY_NAME_KEY as J, DEFAULT_PROJECT_PREFERENCES as Ja, decodePolyline as Ji, scrubLegendForRemovedLayers as Jn, generatorSizeRange as Jr, redactProjectCredentials as Jt, DEFAULT_REVERSE_GEOCODE_ENDPOINT as K, DEFAULT_MAP_GRID_LAYOUT as Ka, getSpatialExtensionPath as Ki, removedLayerIdSet as Kn, extrusionHeightValue as Kr, redactConfigurationCredentials as Kt, serializeProject as L, isRegionalBasemapSentinel as La, invertSelection as Li, sanitizeLayerStylePatch as Ln, parseMetadataKeywords as Lr, DEFAULT_STORY_CHAPTER_DURATION_SECONDS as Lt, normalizeWidgets as M, REGIONAL_BASEMAP_GROUPS as Ma, substituteExpressionVariables as Mi, createStyleLibraryEntryId as Mn, isValidMetadataDate as Mr, selectedGeocodingLocator as Mt, parseProject as N, REGIONAL_BASEMAP_SENTINEL_PREFIX as Na, validateMapExpression as Ni, extractStyleLibraryStyle as Nn, isValidMetadataEmail as Nr, setGeocodingFetch as Nt, normalizeProjectComments as O, normalizeCesiumBasemap as Oa, inferFieldTypes as Oi, RAMP_STYLE_KEYS as On, stripVirtualFieldColumns as Or, parseArcGISLocatorInfo as Ot, portableWmsTileUrl as P, gateRegionalBasemap as Pa, SELECTION_MODES as Pi, isStyleLibraryTargetLayer as Pn, isValidMetadataUrl as Pr, setGeocodingTokenProvider as Pt, GEOCODE_SCORE_KEY as Q, LARGE_VECTOR_FEATURE_THRESHOLD as Qa, polylineStrToGeoJSON as Qi, buildLayerPanelUnits as Qn, isStrokeDashPattern as Qr, hasHeaderReferences as Qt, serializeProjectWithLayerCache as R, ARCGIS_IMAGE_SERVICE_SOURCE_KIND as Ra, getArcgisApiKey as Ri, serializeStyleLibrary as Rn, stacAssetMediaType as Rr, MAX_STORY_CHAPTER_DURATION_SECONDS as Rt, normalizeMapViewState as S, parseMapCrsEpsgCode as Sa, vectorOutlineColorValue as Si, computeGeoArrowBBox as Sn, cascadeLayerJoinRefresh as Sr, nominatimResultToFeature as St, normalizeObiaWorkbench as T, CESIUM_BASEMAPS as Ta, compileFeatureExpression as Ti, isGeoArrowBatch as Tn, reapplyLayerJoins as Tr, normalizeGeocodeBbox as Tt, CARTOCIUDAD_PUBLIC_HOST as U, DEFAULT_DASHBOARD_COLUMNS as Ua, getProtomapsApiKey as Ui, printLayoutConfigsEqual as Un, extrusionBaseValue as Ur, PUBLISHABLE_PLUGIN_SETTINGS as Ut, withI3sSceneLayerKind as V, DEFAULT_BASEMAP as Va, getGoogleMapsApiKey as Vi, isDefaultPrintLayout as Vn, circleRadiusValue as Vr, MAX_REDACT_DEPTH as Vt, DEFAULT_FORWARD_GEOCODE_ENDPOINT as W, DEFAULT_LAYER_STYLE as Wa, getProtomapsStyleUrl as Wi, scrubPrintLayoutForLayers as Wn, extrusionColorValue as Wr, isCredentialFieldName as Wt, GEOCODE_LON_KEY as X, DUCKDB_VECTOR_FEATURE_WARN_COUNT as Xa, encodePolyline as Xi, DEFAULT_LAYER_GROUP_OPACITY as Xn, heatmapRampColors as Xr, setRegistryPublishableSettings as Xt, GEOCODE_LAT_KEY as Y, DEFAULT_STORY_MAP as Ya, decodePolylineDetailed as Yi, scrubWidgetsForRemovedLayers as Yn, hasSimpleStyleProperties as Yr, redactUrlCredentials as Yt, GEOCODE_PROVIDER_KEY as Z, DUCKDB_VECTOR_ROUTE_BYTES as Za, geoJSONToPolylineStr as Zi, applyGroupEffects as Zn, isHexColor as Zr, allowsCredentialHeaders as Zt, normalizeBookmarkGroups as _, adaptBboxTemplateToCrs as _a, vectorCircleColorValue as _i, CZML_SOURCE_KIND as _n, normalizeLayerCapabilities as _r, geocoderSupportsReverse as _t, DEFAULT_PROJECT_NAME as a, interpolateColors as aa, proportionalRadiusExpression as ai, CESIUM_OSM_BUILDINGS_ASSET_ID as an, OPENFREEMAP_BASEMAPS as ao, layerPanelGroupHeaders as ar, PUBLIC_GEOCODE_ROW_CAP as at, normalizeLegendConfig as b, mapCrsPreferencePatch as ba, vectorFillOpacityValue as bi, isCzmlLayer as bn, applyJoinsToLayer as br, getGeocodingProvider as bt, createDefaultMapView as c, normalizeHexColor as ca, readsSimpleStyleProperties as ci, createCesiumIonLayer as cn, PROTOMAPS_BASEMAPS as co, sortLayerGroupInPanel as cr, buildReverseGeocodeUrl as ct, createProjectTemplate as d, rgbToHex as da, simpleStyleNumberValue as di, parseCesiumIonAssetId as dn, detectNonGeographicCoordinates as do, appPrivilegeReason as dr, geocodeForward as dt, VECTOR_COLOR_RAMPS as ea, lineWidthValue as ei, resolveHeaderReferences as en, MAX_DASHBOARD_COLUMNS as eo, effectiveLayerRenderState as er, GEOCODING_PROVIDERS as et, detachProjectCopy as f, geojsonHasZCoordinates as fa, strokeBlurValue as fi, CESIUM_KML_SOURCE_KIND as fn, isDuckDBQueryLayer as fo, createDefaultAppCapabilities as fr, geocodeMatchToFeature as ft, normalizeBlankBackgroundColor as g, MAP_CRS_PRESETS as ga, strokeOpacityValue as gi, CZML_QUICK_PICKS as gn, normalizeAppPrivileges as gr, geocoderNeedsApiKey as gt, isSessionOnlyLayer as h, MAP_CRS_CHANGE_EVENT as ha, strokeOpacityPaintValue as hi, isCesiumKmlLayer as hn, styleValue as ho, intersectPrivileges as hr, geocoderMinIntervalMs as ht, previewValue as i, getVectorColorRamp as ia, parseJsonExpression as ii, CESIUM_ION_SOURCE_KIND as in, NETCDF_IMAGE_SOURCE_KIND as io, layerGroupSortability as ir, NOMINATIM_PUBLIC_HOST as it, normalizeStoryMap as j, REGIONAL_BASEMAPS as ja, removeTrailingJsonCommas as ji, SYMBOL_STYLE_KEYS as jn, buildLayerStacItem as jr, rowCap as jt, normalizeProjectInteraction as k, sameCesiumImagery as ka, isStyleSpecColor as ki, STYLE_LIBRARY_BUNDLE_TYPE as kn, STAC_PROCESSING_EXTENSION as kr, parseArcGISSuggestions as kt, createEmptyProject as l, parseHexColor as la, ruleBasedColorExpression as li, isCesiumIonLayer as ln, SQL_QUERY_SOURCE_KIND as lo, ALL_APP_PRIVILEGES as lr, csvRowsToGeocodeRequests as lt, isAllowedPluginManifestUrl as m, transformGeojsonElevation as ma, strokeDashValue as mi, createCesiumKmlLayer as mn, shouldUseTiledRendering as mo, inferLayerCapabilities as mr, geocodeSuggest as mt, diffProjects as n, createGraduatedClassBreaks as na, mercatorMetersPerPixelAtZoom0 as ni, CESIUM_GOOGLE_PHOTOREALISTIC_ASSET_ID as nn, MAX_PROCESSING_HISTORY as no, layerGroupDepth as nr, GeocoderUnsupportedError as nt, MAX_PROJECT_BOOKMARKS as o, interpolateHexColor as oa, proportionalSizeRange as oi, cesiumIonAssetId as on, PLANETARY_COMPUTER_SOURCE_KIND as oo, normalizeGroupContiguity as or, arcgisLocatorInputField as ot, hydrateProjectLayer as p, horizontalBbox as pa, strokeDashPresetName as pi, cesiumKmlSource as pn, isPlanetaryComputerLayer as po, hasAppPrivilege as pr, geocodeReverse as pt, GEOCODE_ATTRIBUTE_PREFIX as q, DEFAULT_PRIMARY_RENDERER as qa, batchDecodePolylines as qi, scrubCommentsForRemovedLayers as qn, generatorCircleRadiusValue as qr, redactCredentials as qt, jsonValuesEqual as r, createQuantileBreaks as ra, metersWidthExpression as ri, CESIUM_ION_QUICK_PICKS as rn, MIN_DASHBOARD_COLUMNS as ro, layerGroupMoveability as rr, NOMINATIM_MIN_INTERVAL_MS as rt, applyProjectToStore as s, interpolateRampColors as sa, readSimpleStyleNumberLookup as si, cesiumIonAssetKind as sn, PROJECT_VERSION as so, reorderLayerGroupInPanel as sr, buildForwardGeocodeUrl as st, diffFeatureCollections as t, createEqualIntervalBreaks as ta, mapZoomStepOutputs as ti, CESIUM_BING_AERIAL_ASSET_ID as tn, MAX_MAP_GRID_DIM as to, groupMemberIndices as tr, GeocoderServiceError as tt, createProjectLayerSerializationCache as u, parseHexColorList as ua, ruleBasedVisibilityFilter as ui, isCesiumOnlyLayer as un, STROKE_DASH_PRESETS as uo, ROLE_PRIVILEGES as ur, fetchArcGISLocatorInfo as ut, normalizeBookmarks as v, deriveTileMatrixSet as va, vectorColorExpression as vi, createCzmlLayer as vn, resolveLayerCapabilities as vr, geocoderSupportsSuggest as vt, normalizeModels as w, normalizeArcgisWkid as wa, EXPRESSION_FUNCTION_CATEGORIES as wi, geoArrowToFeatureCollection as wn, layerJoinKey as wr, normalizeArcGISLocatorUrl as wt, normalizeMapLayout as x, normalizeMapCrs as xa, vectorLineColorValue as xi, parseCzml as xn, applyLayerJoins as xr, nextDelayMs as xt, normalizeDashboardColumns as y, getMapCrsPreset as ya, vectorFillColorValue as yi, czmlSource as yn, resolveRolePrivileges as yr, getGeocoderConfig as yt, serializeProjectWithLayerCacheAsync as z, BLANK_BASEMAP as za, getBuildEnvironment as zi, DEFAULT_PRINT_LAYOUT as zn, validateLayerDescriptiveMetadata as zr, MIN_STORY_CHAPTER_DURATION_SECONDS as zt };
11507
11707
 
11508
- //# sourceMappingURL=project-diff-DPGO-zCS.mjs.map
11708
+ //# sourceMappingURL=project-diff-DJkOd8ff.mjs.map