@honua/app-platform 0.0.20-alpha.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/LICENSE +201 -0
- package/README.md +11 -0
- package/app/index.d.ts +164 -0
- package/app/index.d.ts.map +1 -0
- package/app/index.js +424 -0
- package/app-controller/controller.d.ts +425 -0
- package/app-controller/controller.d.ts.map +1 -0
- package/app-controller/controller.js +1173 -0
- package/app-controller/index.d.ts +14 -0
- package/app-controller/index.d.ts.map +1 -0
- package/app-controller/index.js +12 -0
- package/app-workspace/index.d.ts +421 -0
- package/app-workspace/index.d.ts.map +1 -0
- package/app-workspace/index.js +722 -0
- package/collaboration/client.d.ts +40 -0
- package/collaboration/client.d.ts.map +1 -0
- package/collaboration/client.js +299 -0
- package/collaboration/errors.d.ts +15 -0
- package/collaboration/errors.d.ts.map +1 -0
- package/collaboration/errors.js +17 -0
- package/collaboration/fixture.d.ts +41 -0
- package/collaboration/fixture.d.ts.map +1 -0
- package/collaboration/fixture.js +362 -0
- package/collaboration/index.d.ts +18 -0
- package/collaboration/index.d.ts.map +1 -0
- package/collaboration/index.js +14 -0
- package/collaboration/types.d.ts +240 -0
- package/collaboration/types.d.ts.map +1 -0
- package/collaboration/types.js +1 -0
- package/contract/analytics-sources.d.ts +149 -0
- package/contract/analytics-sources.d.ts.map +1 -0
- package/contract/analytics-sources.js +235 -0
- package/contract/edit-session.d.ts +203 -0
- package/contract/edit-session.d.ts.map +1 -0
- package/contract/edit-session.js +760 -0
- package/contract/edit-sketch.d.ts +91 -0
- package/contract/edit-sketch.d.ts.map +1 -0
- package/contract/edit-sketch.js +281 -0
- package/contract/index.d.ts +63 -0
- package/contract/index.d.ts.map +1 -0
- package/contract/index.js +52 -0
- package/contract/jobs.d.ts +149 -0
- package/contract/jobs.d.ts.map +1 -0
- package/contract/jobs.js +40 -0
- package/contract/pmtiles.d.ts +162 -0
- package/contract/pmtiles.d.ts.map +1 -0
- package/contract/pmtiles.js +155 -0
- package/contract/source.d.ts +447 -0
- package/contract/source.d.ts.map +1 -0
- package/contract/source.js +3909 -0
- package/contract/spatial-aggregation.d.ts +336 -0
- package/contract/spatial-aggregation.d.ts.map +1 -0
- package/contract/spatial-aggregation.js +298 -0
- package/contract/temporal.d.ts +455 -0
- package/contract/temporal.d.ts.map +1 -0
- package/contract/temporal.js +146 -0
- package/contract/tiles.d.ts +370 -0
- package/contract/tiles.d.ts.map +1 -0
- package/contract/tiles.js +519 -0
- package/contract/types.d.ts +694 -0
- package/contract/types.d.ts.map +1 -0
- package/contract/types.js +183 -0
- package/contract/widget-source.d.ts +205 -0
- package/contract/widget-source.d.ts.map +1 -0
- package/contract/widget-source.js +1473 -0
- package/control-plane/client.d.ts +95 -0
- package/control-plane/client.d.ts.map +1 -0
- package/control-plane/client.js +374 -0
- package/control-plane/index.d.ts +18 -0
- package/control-plane/index.d.ts.map +1 -0
- package/control-plane/index.js +14 -0
- package/control-plane/types.d.ts +233 -0
- package/control-plane/types.d.ts.map +1 -0
- package/control-plane/types.js +7 -0
- package/controls/basemap-style-binding.d.ts +54 -0
- package/controls/basemap-style-binding.d.ts.map +1 -0
- package/controls/basemap-style-binding.js +199 -0
- package/controls/basemap-switcher.d.ts +95 -0
- package/controls/basemap-switcher.d.ts.map +1 -0
- package/controls/basemap-switcher.js +379 -0
- package/controls/element-utils.d.ts +48 -0
- package/controls/element-utils.d.ts.map +1 -0
- package/controls/element-utils.js +78 -0
- package/controls/index.d.ts +33 -0
- package/controls/index.d.ts.map +1 -0
- package/controls/index.js +30 -0
- package/controls/layer-list.d.ts +98 -0
- package/controls/layer-list.d.ts.map +1 -0
- package/controls/layer-list.js +375 -0
- package/controls/legend-derive.d.ts +53 -0
- package/controls/legend-derive.d.ts.map +1 -0
- package/controls/legend-derive.js +196 -0
- package/controls/legend.d.ts +104 -0
- package/controls/legend.d.ts.map +1 -0
- package/controls/legend.js +381 -0
- package/controls/swipe-control.d.ts +80 -0
- package/controls/swipe-control.d.ts.map +1 -0
- package/controls/swipe-control.js +368 -0
- package/controls/types.d.ts +227 -0
- package/controls/types.d.ts.map +1 -0
- package/controls/types.js +11 -0
- package/core/auth/client-credentials-provider.d.ts +51 -0
- package/core/auth/client-credentials-provider.d.ts.map +1 -0
- package/core/auth/client-credentials-provider.js +115 -0
- package/core/auth/credential-store.d.ts +52 -0
- package/core/auth/credential-store.d.ts.map +1 -0
- package/core/auth/credential-store.js +82 -0
- package/core/auth/index.d.ts +23 -0
- package/core/auth/index.d.ts.map +1 -0
- package/core/auth/index.js +20 -0
- package/core/auth/oauth2-provider.d.ts +114 -0
- package/core/auth/oauth2-provider.d.ts.map +1 -0
- package/core/auth/oauth2-provider.js +408 -0
- package/core/auth/pkce.d.ts +25 -0
- package/core/auth/pkce.d.ts.map +1 -0
- package/core/auth/pkce.js +46 -0
- package/core/auth/static-providers.d.ts +20 -0
- package/core/auth/static-providers.d.ts.map +1 -0
- package/core/auth/static-providers.js +26 -0
- package/core/auth/token-endpoint.d.ts +40 -0
- package/core/auth/token-endpoint.d.ts.map +1 -0
- package/core/auth/token-endpoint.js +133 -0
- package/core/auth/types.d.ts +144 -0
- package/core/auth/types.d.ts.map +1 -0
- package/core/auth/types.js +8 -0
- package/core/batch.d.ts +37 -0
- package/core/batch.d.ts.map +1 -0
- package/core/batch.js +79 -0
- package/core/cache-state.d.ts +79 -0
- package/core/cache-state.d.ts.map +1 -0
- package/core/cache-state.js +87 -0
- package/core/client.d.ts +607 -0
- package/core/client.d.ts.map +1 -0
- package/core/client.js +1716 -0
- package/core/compatibility.d.ts +18 -0
- package/core/compatibility.d.ts.map +1 -0
- package/core/compatibility.js +245 -0
- package/core/errors.d.ts +139 -0
- package/core/errors.d.ts.map +1 -0
- package/core/errors.js +176 -0
- package/core/esri-geojson.d.ts +66 -0
- package/core/esri-geojson.d.ts.map +1 -0
- package/core/esri-geojson.js +363 -0
- package/core/geoparquet-sql.d.ts +162 -0
- package/core/geoparquet-sql.d.ts.map +1 -0
- package/core/geoparquet-sql.js +333 -0
- package/core/geoservices.d.ts +34 -0
- package/core/geoservices.d.ts.map +1 -0
- package/core/geoservices.js +434 -0
- package/core/grpc-adapter.d.ts +23 -0
- package/core/grpc-adapter.d.ts.map +1 -0
- package/core/grpc-adapter.js +688 -0
- package/core/odata.d.ts +347 -0
- package/core/odata.d.ts.map +1 -0
- package/core/odata.js +913 -0
- package/core/ogc-conformance.d.ts +35 -0
- package/core/ogc-conformance.d.ts.map +1 -0
- package/core/ogc-conformance.js +134 -0
- package/core/ogc-endpoint-layout.d.ts +70 -0
- package/core/ogc-endpoint-layout.d.ts.map +1 -0
- package/core/ogc-endpoint-layout.js +173 -0
- package/core/ogc-features.d.ts +23 -0
- package/core/ogc-features.d.ts.map +1 -0
- package/core/ogc-features.js +129 -0
- package/core/ogc-maps.d.ts +49 -0
- package/core/ogc-maps.d.ts.map +1 -0
- package/core/ogc-maps.js +126 -0
- package/core/ogc-processes.d.ts +118 -0
- package/core/ogc-processes.d.ts.map +1 -0
- package/core/ogc-processes.js +423 -0
- package/core/ogc-records.d.ts +75 -0
- package/core/ogc-records.d.ts.map +1 -0
- package/core/ogc-records.js +251 -0
- package/core/ogc-tiles.d.ts +125 -0
- package/core/ogc-tiles.d.ts.map +1 -0
- package/core/ogc-tiles.js +183 -0
- package/core/path-utils.d.ts +69 -0
- package/core/path-utils.d.ts.map +1 -0
- package/core/path-utils.js +123 -0
- package/core/pbf-decoder.d.ts +39 -0
- package/core/pbf-decoder.d.ts.map +1 -0
- package/core/pbf-decoder.js +702 -0
- package/core/process-runner.d.ts +104 -0
- package/core/process-runner.d.ts.map +1 -0
- package/core/process-runner.js +315 -0
- package/core/protocol-transport.d.ts +76 -0
- package/core/protocol-transport.d.ts.map +1 -0
- package/core/protocol-transport.js +15 -0
- package/core/query-builder.d.ts +261 -0
- package/core/query-builder.d.ts.map +1 -0
- package/core/query-builder.js +538 -0
- package/core/request-pipeline.d.ts +88 -0
- package/core/request-pipeline.d.ts.map +1 -0
- package/core/request-pipeline.js +273 -0
- package/core/spatial-filter.d.ts +93 -0
- package/core/spatial-filter.d.ts.map +1 -0
- package/core/spatial-filter.js +153 -0
- package/core/stac-static.d.ts +51 -0
- package/core/stac-static.d.ts.map +1 -0
- package/core/stac-static.js +195 -0
- package/core/stac.d.ts +67 -0
- package/core/stac.d.ts.map +1 -0
- package/core/stac.js +259 -0
- package/core/surfaces.d.ts +540 -0
- package/core/surfaces.d.ts.map +1 -0
- package/core/surfaces.js +1964 -0
- package/core/terrain-elevation.d.ts +114 -0
- package/core/terrain-elevation.d.ts.map +1 -0
- package/core/terrain-elevation.js +150 -0
- package/core/types.d.ts +1404 -0
- package/core/types.d.ts.map +1 -0
- package/core/types.js +13 -0
- package/core/wfs-capabilities.d.ts +153 -0
- package/core/wfs-capabilities.d.ts.map +1 -0
- package/core/wfs-capabilities.js +490 -0
- package/core/wfs-filter.d.ts +118 -0
- package/core/wfs-filter.d.ts.map +1 -0
- package/core/wfs-filter.js +634 -0
- package/core/wfs.d.ts +232 -0
- package/core/wfs.d.ts.map +1 -0
- package/core/wfs.js +426 -0
- package/core/wire-shared.d.ts +32 -0
- package/core/wire-shared.d.ts.map +1 -0
- package/core/wire-shared.js +76 -0
- package/core/wms-axis.d.ts +36 -0
- package/core/wms-axis.d.ts.map +1 -0
- package/core/wms-axis.js +73 -0
- package/core/wms-capabilities.d.ts +110 -0
- package/core/wms-capabilities.d.ts.map +1 -0
- package/core/wms-capabilities.js +559 -0
- package/core/wms-types.d.ts +128 -0
- package/core/wms-types.d.ts.map +1 -0
- package/core/wms-types.js +32 -0
- package/core/wms.d.ts +144 -0
- package/core/wms.d.ts.map +1 -0
- package/core/wms.js +338 -0
- package/core/wmts-capabilities.d.ts +82 -0
- package/core/wmts-capabilities.d.ts.map +1 -0
- package/core/wmts-capabilities.js +402 -0
- package/core/wmts.d.ts +103 -0
- package/core/wmts.d.ts.map +1 -0
- package/core/wmts.js +332 -0
- package/core/xml-text.d.ts +20 -0
- package/core/xml-text.d.ts.map +1 -0
- package/core/xml-text.js +85 -0
- package/esri-compat/basemap-gallery.d.ts +38 -0
- package/esri-compat/basemap-gallery.d.ts.map +1 -0
- package/esri-compat/basemap-gallery.js +159 -0
- package/esri-compat/basemap-layer-list.d.ts +35 -0
- package/esri-compat/basemap-layer-list.d.ts.map +1 -0
- package/esri-compat/basemap-layer-list.js +139 -0
- package/esri-compat/basemap.d.ts +32 -0
- package/esri-compat/basemap.d.ts.map +1 -0
- package/esri-compat/basemap.js +84 -0
- package/esri-compat/bookmarks.d.ts +36 -0
- package/esri-compat/bookmarks.d.ts.map +1 -0
- package/esri-compat/bookmarks.js +108 -0
- package/esri-compat/class-breaks-renderer.d.ts +50 -0
- package/esri-compat/class-breaks-renderer.d.ts.map +1 -0
- package/esri-compat/class-breaks-renderer.js +164 -0
- package/esri-compat/color.d.ts +22 -0
- package/esri-compat/color.d.ts.map +1 -0
- package/esri-compat/color.js +106 -0
- package/esri-compat/controls.d.ts +174 -0
- package/esri-compat/controls.d.ts.map +1 -0
- package/esri-compat/controls.js +479 -0
- package/esri-compat/coordinate-conversion.d.ts +41 -0
- package/esri-compat/coordinate-conversion.d.ts.map +1 -0
- package/esri-compat/coordinate-conversion.js +125 -0
- package/esri-compat/directions.d.ts +45 -0
- package/esri-compat/directions.d.ts.map +1 -0
- package/esri-compat/directions.js +123 -0
- package/esri-compat/editor.d.ts +47 -0
- package/esri-compat/editor.d.ts.map +1 -0
- package/esri-compat/editor.js +170 -0
- package/esri-compat/esri-config.d.ts +16 -0
- package/esri-compat/esri-config.d.ts.map +1 -0
- package/esri-compat/esri-config.js +23 -0
- package/esri-compat/esri-request.d.ts +17 -0
- package/esri-compat/esri-request.d.ts.map +1 -0
- package/esri-compat/esri-request.js +127 -0
- package/esri-compat/event-bus.d.ts +106 -0
- package/esri-compat/event-bus.d.ts.map +1 -0
- package/esri-compat/event-bus.js +90 -0
- package/esri-compat/expand.d.ts +36 -0
- package/esri-compat/expand.d.ts.map +1 -0
- package/esri-compat/expand.js +97 -0
- package/esri-compat/extent.d.ts +43 -0
- package/esri-compat/extent.d.ts.map +1 -0
- package/esri-compat/extent.js +140 -0
- package/esri-compat/feature-filter.d.ts +55 -0
- package/esri-compat/feature-filter.d.ts.map +1 -0
- package/esri-compat/feature-filter.js +109 -0
- package/esri-compat/feature-form.d.ts +64 -0
- package/esri-compat/feature-form.d.ts.map +1 -0
- package/esri-compat/feature-form.js +137 -0
- package/esri-compat/feature-layer.d.ts +173 -0
- package/esri-compat/feature-layer.d.ts.map +1 -0
- package/esri-compat/feature-layer.js +661 -0
- package/esri-compat/feature-set.d.ts +32 -0
- package/esri-compat/feature-set.d.ts.map +1 -0
- package/esri-compat/feature-set.js +80 -0
- package/esri-compat/feature-table.d.ts +141 -0
- package/esri-compat/feature-table.d.ts.map +1 -0
- package/esri-compat/feature-table.js +500 -0
- package/esri-compat/feature-templates.d.ts +41 -0
- package/esri-compat/feature-templates.d.ts.map +1 -0
- package/esri-compat/feature-templates.js +97 -0
- package/esri-compat/feature.d.ts +33 -0
- package/esri-compat/feature.d.ts.map +1 -0
- package/esri-compat/feature.js +83 -0
- package/esri-compat/geojson-layer.d.ts +86 -0
- package/esri-compat/geojson-layer.d.ts.map +1 -0
- package/esri-compat/geojson-layer.js +191 -0
- package/esri-compat/geometry-engine.d.ts +107 -0
- package/esri-compat/geometry-engine.d.ts.map +1 -0
- package/esri-compat/geometry-engine.js +266 -0
- package/esri-compat/graphic.d.ts +46 -0
- package/esri-compat/graphic.d.ts.map +1 -0
- package/esri-compat/graphic.js +103 -0
- package/esri-compat/graphics-layer.d.ts +49 -0
- package/esri-compat/graphics-layer.d.ts.map +1 -0
- package/esri-compat/graphics-layer.js +185 -0
- package/esri-compat/group-layer.d.ts +48 -0
- package/esri-compat/group-layer.d.ts.map +1 -0
- package/esri-compat/group-layer.js +212 -0
- package/esri-compat/identify.d.ts +71 -0
- package/esri-compat/identify.d.ts.map +1 -0
- package/esri-compat/identify.js +299 -0
- package/esri-compat/identity-manager.d.ts +74 -0
- package/esri-compat/identity-manager.d.ts.map +1 -0
- package/esri-compat/identity-manager.js +245 -0
- package/esri-compat/imagery-layer.d.ts +78 -0
- package/esri-compat/imagery-layer.d.ts.map +1 -0
- package/esri-compat/imagery-layer.js +167 -0
- package/esri-compat/label-class.d.ts +31 -0
- package/esri-compat/label-class.d.ts.map +1 -0
- package/esri-compat/label-class.js +102 -0
- package/esri-compat/layer-list.d.ts +77 -0
- package/esri-compat/layer-list.d.ts.map +1 -0
- package/esri-compat/layer-list.js +342 -0
- package/esri-compat/legend.d.ts +53 -0
- package/esri-compat/legend.d.ts.map +1 -0
- package/esri-compat/legend.js +254 -0
- package/esri-compat/map-image-layer.d.ts +162 -0
- package/esri-compat/map-image-layer.d.ts.map +1 -0
- package/esri-compat/map-image-layer.js +709 -0
- package/esri-compat/map-view.d.ts +323 -0
- package/esri-compat/map-view.d.ts.map +1 -0
- package/esri-compat/map-view.js +1175 -0
- package/esri-compat/map.d.ts +47 -0
- package/esri-compat/map.d.ts.map +1 -0
- package/esri-compat/map.js +209 -0
- package/esri-compat/measurement-2d.d.ts +61 -0
- package/esri-compat/measurement-2d.d.ts.map +1 -0
- package/esri-compat/measurement-2d.js +184 -0
- package/esri-compat/measurement.d.ts +45 -0
- package/esri-compat/measurement.d.ts.map +1 -0
- package/esri-compat/measurement.js +193 -0
- package/esri-compat/oauth-info.d.ts +50 -0
- package/esri-compat/oauth-info.d.ts.map +1 -0
- package/esri-compat/oauth-info.js +142 -0
- package/esri-compat/picture-marker-symbol.d.ts +35 -0
- package/esri-compat/picture-marker-symbol.d.ts.map +1 -0
- package/esri-compat/picture-marker-symbol.js +126 -0
- package/esri-compat/point.d.ts +31 -0
- package/esri-compat/point.d.ts.map +1 -0
- package/esri-compat/point.js +102 -0
- package/esri-compat/polygon.d.ts +31 -0
- package/esri-compat/polygon.d.ts.map +1 -0
- package/esri-compat/polygon.js +107 -0
- package/esri-compat/polyline.d.ts +31 -0
- package/esri-compat/polyline.d.ts.map +1 -0
- package/esri-compat/polyline.js +107 -0
- package/esri-compat/popup-template.d.ts +55 -0
- package/esri-compat/popup-template.d.ts.map +1 -0
- package/esri-compat/popup-template.js +128 -0
- package/esri-compat/popup.d.ts +54 -0
- package/esri-compat/popup.d.ts.map +1 -0
- package/esri-compat/popup.js +312 -0
- package/esri-compat/print.d.ts +47 -0
- package/esri-compat/print.d.ts.map +1 -0
- package/esri-compat/print.js +105 -0
- package/esri-compat/query.d.ts +58 -0
- package/esri-compat/query.d.ts.map +1 -0
- package/esri-compat/query.js +128 -0
- package/esri-compat/reactive-utils.d.ts +24 -0
- package/esri-compat/reactive-utils.d.ts.map +1 -0
- package/esri-compat/reactive-utils.js +193 -0
- package/esri-compat/request.d.ts +41 -0
- package/esri-compat/request.d.ts.map +1 -0
- package/esri-compat/request.js +253 -0
- package/esri-compat/route-layer.d.ts +59 -0
- package/esri-compat/route-layer.d.ts.map +1 -0
- package/esri-compat/route-layer.js +223 -0
- package/esri-compat/route-task.d.ts +88 -0
- package/esri-compat/route-task.d.ts.map +1 -0
- package/esri-compat/route-task.js +225 -0
- package/esri-compat/scene-view.d.ts +41 -0
- package/esri-compat/scene-view.d.ts.map +1 -0
- package/esri-compat/scene-view.js +68 -0
- package/esri-compat/search.d.ts +112 -0
- package/esri-compat/search.d.ts.map +1 -0
- package/esri-compat/search.js +820 -0
- package/esri-compat/simple-fill-symbol.d.ts +27 -0
- package/esri-compat/simple-fill-symbol.d.ts.map +1 -0
- package/esri-compat/simple-fill-symbol.js +85 -0
- package/esri-compat/simple-line-symbol.d.ts +27 -0
- package/esri-compat/simple-line-symbol.d.ts.map +1 -0
- package/esri-compat/simple-line-symbol.js +85 -0
- package/esri-compat/simple-marker-symbol.d.ts +29 -0
- package/esri-compat/simple-marker-symbol.d.ts.map +1 -0
- package/esri-compat/simple-marker-symbol.js +92 -0
- package/esri-compat/simple-renderer.d.ts +29 -0
- package/esri-compat/simple-renderer.d.ts.map +1 -0
- package/esri-compat/simple-renderer.js +92 -0
- package/esri-compat/sketch.d.ts +64 -0
- package/esri-compat/sketch.d.ts.map +1 -0
- package/esri-compat/sketch.js +227 -0
- package/esri-compat/spatial-reference.d.ts +31 -0
- package/esri-compat/spatial-reference.d.ts.map +1 -0
- package/esri-compat/spatial-reference.js +102 -0
- package/esri-compat/swipe.d.ts +34 -0
- package/esri-compat/swipe.d.ts.map +1 -0
- package/esri-compat/swipe.js +93 -0
- package/esri-compat/table-list.d.ts +36 -0
- package/esri-compat/table-list.d.ts.map +1 -0
- package/esri-compat/table-list.js +126 -0
- package/esri-compat/text-symbol.d.ts +37 -0
- package/esri-compat/text-symbol.d.ts.map +1 -0
- package/esri-compat/text-symbol.js +123 -0
- package/esri-compat/tile-layer.d.ts +52 -0
- package/esri-compat/tile-layer.d.ts.map +1 -0
- package/esri-compat/tile-layer.js +168 -0
- package/esri-compat/time-slider.d.ts +70 -0
- package/esri-compat/time-slider.d.ts.map +1 -0
- package/esri-compat/time-slider.js +208 -0
- package/esri-compat/track.d.ts +51 -0
- package/esri-compat/track.d.ts.map +1 -0
- package/esri-compat/track.js +174 -0
- package/esri-compat/unique-value-renderer.d.ts +41 -0
- package/esri-compat/unique-value-renderer.d.ts.map +1 -0
- package/esri-compat/unique-value-renderer.js +127 -0
- package/esri-compat/url.d.ts +13 -0
- package/esri-compat/url.d.ts.map +1 -0
- package/esri-compat/url.js +68 -0
- package/esri-compat/vector-tile-layer.d.ts +47 -0
- package/esri-compat/vector-tile-layer.d.ts.map +1 -0
- package/esri-compat/vector-tile-layer.js +130 -0
- package/esri-compat/web-map.d.ts +14 -0
- package/esri-compat/web-map.d.ts.map +1 -0
- package/esri-compat/web-map.js +24 -0
- package/esri-compat/wfs-layer.d.ts +64 -0
- package/esri-compat/wfs-layer.d.ts.map +1 -0
- package/esri-compat/wfs-layer.js +145 -0
- package/esri-compat/wms-layer.d.ts +76 -0
- package/esri-compat/wms-layer.d.ts.map +1 -0
- package/esri-compat/wms-layer.js +157 -0
- package/exploration/context.d.ts +25 -0
- package/exploration/context.d.ts.map +1 -0
- package/exploration/context.js +396 -0
- package/exploration/index.d.ts +27 -0
- package/exploration/index.d.ts.map +1 -0
- package/exploration/index.js +24 -0
- package/exploration/presets.d.ts +27 -0
- package/exploration/presets.d.ts.map +1 -0
- package/exploration/presets.js +114 -0
- package/exploration/reducer.d.ts +23 -0
- package/exploration/reducer.d.ts.map +1 -0
- package/exploration/reducer.js +332 -0
- package/exploration/selection.d.ts +25 -0
- package/exploration/selection.d.ts.map +1 -0
- package/exploration/selection.js +34 -0
- package/exploration/selectors.d.ts +56 -0
- package/exploration/selectors.d.ts.map +1 -0
- package/exploration/selectors.js +110 -0
- package/exploration/types.d.ts +294 -0
- package/exploration/types.d.ts.map +1 -0
- package/exploration/types.js +33 -0
- package/expr/expression.d.ts +457 -0
- package/expr/expression.d.ts.map +1 -0
- package/expr/expression.js +663 -0
- package/expr/index.d.ts +32 -0
- package/expr/index.d.ts.map +1 -0
- package/expr/index.js +30 -0
- package/filter-registry/index.d.ts +145 -0
- package/filter-registry/index.d.ts.map +1 -0
- package/filter-registry/index.js +531 -0
- package/gen/honua/v1/feature_service_pb.d.ts +918 -0
- package/gen/honua/v1/feature_service_pb.d.ts.map +1 -0
- package/gen/honua/v1/feature_service_pb.js +375 -0
- package/generated-app/errors.d.ts +41 -0
- package/generated-app/errors.d.ts.map +1 -0
- package/generated-app/errors.js +41 -0
- package/generated-app/index.d.ts +17 -0
- package/generated-app/index.d.ts.map +1 -0
- package/generated-app/index.js +12 -0
- package/generated-app/manifest.d.ts +183 -0
- package/generated-app/manifest.d.ts.map +1 -0
- package/generated-app/manifest.js +14 -0
- package/generated-app/projection.d.ts +44 -0
- package/generated-app/projection.d.ts.map +1 -0
- package/generated-app/projection.js +234 -0
- package/generated-app/runtime.d.ts +215 -0
- package/generated-app/runtime.d.ts.map +1 -0
- package/generated-app/runtime.js +1196 -0
- package/geocoding/index.d.ts +106 -0
- package/geocoding/index.d.ts.map +1 -0
- package/geocoding/index.js +278 -0
- package/interactions/detail-model.d.ts +54 -0
- package/interactions/detail-model.d.ts.map +1 -0
- package/interactions/detail-model.js +105 -0
- package/interactions/exploration-bindings.d.ts +120 -0
- package/interactions/exploration-bindings.d.ts.map +1 -0
- package/interactions/exploration-bindings.js +218 -0
- package/interactions/feature-state.d.ts +144 -0
- package/interactions/feature-state.d.ts.map +1 -0
- package/interactions/feature-state.js +169 -0
- package/interactions/hit-test.d.ts +112 -0
- package/interactions/hit-test.d.ts.map +1 -0
- package/interactions/hit-test.js +291 -0
- package/interactions/index.d.ts +31 -0
- package/interactions/index.d.ts.map +1 -0
- package/interactions/index.js +24 -0
- package/interactions/share-state.d.ts +36 -0
- package/interactions/share-state.d.ts.map +1 -0
- package/interactions/share-state.js +123 -0
- package/map/feature-service-adapter.d.ts +138 -0
- package/map/feature-service-adapter.d.ts.map +1 -0
- package/map/feature-service-adapter.js +279 -0
- package/map/honua-map.d.ts +203 -0
- package/map/honua-map.d.ts.map +1 -0
- package/map/honua-map.js +347 -0
- package/map/index.d.ts +27 -0
- package/map/index.d.ts.map +1 -0
- package/map/index.js +22 -0
- package/map/maplibre-target.d.ts +103 -0
- package/map/maplibre-target.d.ts.map +1 -0
- package/map/maplibre-target.js +164 -0
- package/map/webmap-maplibre.d.ts +60 -0
- package/map/webmap-maplibre.d.ts.map +1 -0
- package/map/webmap-maplibre.js +212 -0
- package/operate/client.d.ts +94 -0
- package/operate/client.d.ts.map +1 -0
- package/operate/client.js +361 -0
- package/operate/index.d.ts +22 -0
- package/operate/index.d.ts.map +1 -0
- package/operate/index.js +19 -0
- package/operate/types.d.ts +397 -0
- package/operate/types.d.ts.map +1 -0
- package/operate/types.js +17 -0
- package/operator/client.d.ts +60 -0
- package/operator/client.d.ts.map +1 -0
- package/operator/client.js +20 -0
- package/operator/controllers/approval.d.ts +52 -0
- package/operator/controllers/approval.d.ts.map +1 -0
- package/operator/controllers/approval.js +123 -0
- package/operator/controllers/base.d.ts +27 -0
- package/operator/controllers/base.d.ts.map +1 -0
- package/operator/controllers/base.js +53 -0
- package/operator/controllers/builder-workspace.d.ts +55 -0
- package/operator/controllers/builder-workspace.d.ts.map +1 -0
- package/operator/controllers/builder-workspace.js +108 -0
- package/operator/controllers/chat.d.ts +61 -0
- package/operator/controllers/chat.d.ts.map +1 -0
- package/operator/controllers/chat.js +154 -0
- package/operator/controllers/clarification.d.ts +52 -0
- package/operator/controllers/clarification.d.ts.map +1 -0
- package/operator/controllers/clarification.js +121 -0
- package/operator/controllers/execution.d.ts +60 -0
- package/operator/controllers/execution.d.ts.map +1 -0
- package/operator/controllers/execution.js +286 -0
- package/operator/controllers/index.d.ts +23 -0
- package/operator/controllers/index.d.ts.map +1 -0
- package/operator/controllers/index.js +15 -0
- package/operator/controllers/map-workspace.d.ts +85 -0
- package/operator/controllers/map-workspace.d.ts.map +1 -0
- package/operator/controllers/map-workspace.js +296 -0
- package/operator/controllers/plan-review.d.ts +66 -0
- package/operator/controllers/plan-review.d.ts.map +1 -0
- package/operator/controllers/plan-review.js +124 -0
- package/operator/errors.d.ts +62 -0
- package/operator/errors.d.ts.map +1 -0
- package/operator/errors.js +75 -0
- package/operator/i18n/index.d.ts +10 -0
- package/operator/i18n/index.d.ts.map +1 -0
- package/operator/i18n/index.js +8 -0
- package/operator/i18n/messages.d.ts +19 -0
- package/operator/i18n/messages.d.ts.map +1 -0
- package/operator/i18n/messages.js +54 -0
- package/operator/index.d.ts +19 -0
- package/operator/index.d.ts.map +1 -0
- package/operator/index.js +15 -0
- package/operator/telemetry.d.ts +26 -0
- package/operator/telemetry.d.ts.map +1 -0
- package/operator/telemetry.js +9 -0
- package/operator/theming/index.d.ts +12 -0
- package/operator/theming/index.d.ts.map +1 -0
- package/operator/theming/index.js +9 -0
- package/operator/theming/provider.d.ts +27 -0
- package/operator/theming/provider.d.ts.map +1 -0
- package/operator/theming/provider.js +26 -0
- package/operator/theming/tokens.d.ts +28 -0
- package/operator/theming/tokens.d.ts.map +1 -0
- package/operator/theming/tokens.js +65 -0
- package/operator/workspace/events.d.ts +70 -0
- package/operator/workspace/events.d.ts.map +1 -0
- package/operator/workspace/events.js +9 -0
- package/operator/workspace/index.d.ts +12 -0
- package/operator/workspace/index.d.ts.map +1 -0
- package/operator/workspace/index.js +8 -0
- package/operator/workspace/types.d.ts +178 -0
- package/operator/workspace/types.d.ts.map +1 -0
- package/operator/workspace/types.js +47 -0
- package/operator/workspace/workspace.d.ts +58 -0
- package/operator/workspace/workspace.d.ts.map +1 -0
- package/operator/workspace/workspace.js +339 -0
- package/package.json +105 -0
- package/realtime/exploration.d.ts +16 -0
- package/realtime/exploration.d.ts.map +1 -0
- package/realtime/exploration.js +32 -0
- package/realtime/honua-server.d.ts +123 -0
- package/realtime/honua-server.d.ts.map +1 -0
- package/realtime/honua-server.js +188 -0
- package/realtime/index.d.ts +20 -0
- package/realtime/index.d.ts.map +1 -0
- package/realtime/index.js +14 -0
- package/realtime/projections.d.ts +30 -0
- package/realtime/projections.d.ts.map +1 -0
- package/realtime/projections.js +51 -0
- package/realtime/reducer.d.ts +14 -0
- package/realtime/reducer.d.ts.map +1 -0
- package/realtime/reducer.js +351 -0
- package/realtime/sse.d.ts +23 -0
- package/realtime/sse.d.ts.map +1 -0
- package/realtime/sse.js +143 -0
- package/realtime/store.d.ts +18 -0
- package/realtime/store.d.ts.map +1 -0
- package/realtime/store.js +63 -0
- package/realtime/types.d.ts +190 -0
- package/realtime/types.d.ts.map +1 -0
- package/realtime/types.js +10 -0
- package/replica-sync/client.d.ts +32 -0
- package/replica-sync/client.d.ts.map +1 -0
- package/replica-sync/client.js +52 -0
- package/replica-sync/errors.d.ts +22 -0
- package/replica-sync/errors.d.ts.map +1 -0
- package/replica-sync/errors.js +29 -0
- package/replica-sync/fixture.d.ts +40 -0
- package/replica-sync/fixture.d.ts.map +1 -0
- package/replica-sync/fixture.js +364 -0
- package/replica-sync/index.d.ts +22 -0
- package/replica-sync/index.d.ts.map +1 -0
- package/replica-sync/index.js +17 -0
- package/replica-sync/types.d.ts +270 -0
- package/replica-sync/types.d.ts.map +1 -0
- package/replica-sync/types.js +13 -0
- package/runtime/diff.d.ts +31 -0
- package/runtime/diff.d.ts.map +1 -0
- package/runtime/diff.js +143 -0
- package/runtime/errors.d.ts +40 -0
- package/runtime/errors.d.ts.map +1 -0
- package/runtime/errors.js +35 -0
- package/runtime/index.d.ts +59 -0
- package/runtime/index.d.ts.map +1 -0
- package/runtime/index.js +40 -0
- package/runtime/legend.d.ts +23 -0
- package/runtime/legend.d.ts.map +1 -0
- package/runtime/legend.js +38 -0
- package/runtime/load-package.d.ts +125 -0
- package/runtime/load-package.d.ts.map +1 -0
- package/runtime/load-package.js +272 -0
- package/runtime/map-package-fetch.d.ts +107 -0
- package/runtime/map-package-fetch.d.ts.map +1 -0
- package/runtime/map-package-fetch.js +336 -0
- package/runtime/map-package-realtime.d.ts +169 -0
- package/runtime/map-package-realtime.d.ts.map +1 -0
- package/runtime/map-package-realtime.js +350 -0
- package/runtime/map-package-validation.d.ts +30 -0
- package/runtime/map-package-validation.d.ts.map +1 -0
- package/runtime/map-package-validation.js +257 -0
- package/runtime/map-package-watch.d.ts +78 -0
- package/runtime/map-package-watch.d.ts.map +1 -0
- package/runtime/map-package-watch.js +695 -0
- package/runtime/map-package.d.ts +167 -0
- package/runtime/map-package.d.ts.map +1 -0
- package/runtime/map-package.js +15 -0
- package/runtime/ogc-styles.d.ts +110 -0
- package/runtime/ogc-styles.d.ts.map +1 -0
- package/runtime/ogc-styles.js +195 -0
- package/runtime/pmtiles-protocol.d.ts +77 -0
- package/runtime/pmtiles-protocol.d.ts.map +1 -0
- package/runtime/pmtiles-protocol.js +120 -0
- package/runtime/popups.d.ts +62 -0
- package/runtime/popups.d.ts.map +1 -0
- package/runtime/popups.js +95 -0
- package/runtime/query-tiles.d.ts +217 -0
- package/runtime/query-tiles.d.ts.map +1 -0
- package/runtime/query-tiles.js +801 -0
- package/runtime/runtime.d.ts +243 -0
- package/runtime/runtime.d.ts.map +1 -0
- package/runtime/runtime.js +1147 -0
- package/runtime/source-bridge.d.ts +99 -0
- package/runtime/source-bridge.d.ts.map +1 -0
- package/runtime/source-bridge.js +428 -0
- package/runtime/style-compose.d.ts +46 -0
- package/runtime/style-compose.d.ts.map +1 -0
- package/runtime/style-compose.js +144 -0
- package/runtime/style-interactions.d.ts +141 -0
- package/runtime/style-interactions.d.ts.map +1 -0
- package/runtime/style-interactions.js +574 -0
- package/runtime/style-spec-validation.d.ts +23 -0
- package/runtime/style-spec-validation.d.ts.map +1 -0
- package/runtime/style-spec-validation.js +357 -0
- package/scene-workspace/analysis-widgets.d.ts +334 -0
- package/scene-workspace/analysis-widgets.d.ts.map +1 -0
- package/scene-workspace/analysis-widgets.js +424 -0
- package/scene-workspace/cesium-adapter.d.ts +438 -0
- package/scene-workspace/cesium-adapter.d.ts.map +1 -0
- package/scene-workspace/cesium-adapter.js +493 -0
- package/scene-workspace/index.d.ts +21 -0
- package/scene-workspace/index.d.ts.map +1 -0
- package/scene-workspace/index.js +14 -0
- package/scene-workspace/primitives.d.ts +162 -0
- package/scene-workspace/primitives.d.ts.map +1 -0
- package/scene-workspace/primitives.js +255 -0
- package/scene-workspace/scene-discovery.d.ts +196 -0
- package/scene-workspace/scene-discovery.d.ts.map +1 -0
- package/scene-workspace/scene-discovery.js +228 -0
- package/scene-workspace/scene-view.d.ts +209 -0
- package/scene-workspace/scene-view.d.ts.map +1 -0
- package/scene-workspace/scene-view.js +267 -0
- package/scene-workspace/types.d.ts +229 -0
- package/scene-workspace/types.d.ts.map +1 -0
- package/scene-workspace/types.js +23 -0
- package/scene-workspace/workspace.d.ts +13 -0
- package/scene-workspace/workspace.d.ts.map +1 -0
- package/scene-workspace/workspace.js +391 -0
- package/share/denial.d.ts +78 -0
- package/share/denial.d.ts.map +1 -0
- package/share/denial.js +61 -0
- package/share/embed-token.d.ts +71 -0
- package/share/embed-token.d.ts.map +1 -0
- package/share/embed-token.js +99 -0
- package/share/index.d.ts +35 -0
- package/share/index.d.ts.map +1 -0
- package/share/index.js +30 -0
- package/share/open-data.d.ts +114 -0
- package/share/open-data.d.ts.map +1 -0
- package/share/open-data.js +81 -0
- package/share/types.d.ts +163 -0
- package/share/types.d.ts.map +1 -0
- package/share/types.js +17 -0
- package/studio/capability-manifest.d.ts +285 -0
- package/studio/capability-manifest.d.ts.map +1 -0
- package/studio/capability-manifest.js +59 -0
- package/studio/chart-spec.d.ts +85 -0
- package/studio/chart-spec.d.ts.map +1 -0
- package/studio/chart-spec.js +106 -0
- package/studio/index.d.ts +34 -0
- package/studio/index.d.ts.map +1 -0
- package/studio/index.js +27 -0
- package/studio/provenance.d.ts +131 -0
- package/studio/provenance.d.ts.map +1 -0
- package/studio/provenance.js +39 -0
- package/studio/publish.d.ts +64 -0
- package/studio/publish.d.ts.map +1 -0
- package/studio/publish.js +13 -0
- package/studio/types.d.ts +278 -0
- package/studio/types.d.ts.map +1 -0
- package/studio/types.js +71 -0
- package/studio/validate.d.ts +45 -0
- package/studio/validate.d.ts.map +1 -0
- package/studio/validate.js +255 -0
- package/studio/validation.d.ts +112 -0
- package/studio/validation.d.ts.map +1 -0
- package/studio/validation.js +42 -0
- package/style/factory.d.ts +30 -0
- package/style/factory.d.ts.map +1 -0
- package/style/factory.js +61 -0
- package/style/index.d.ts +25 -0
- package/style/index.d.ts.map +1 -0
- package/style/index.js +24 -0
- package/style/specification.d.ts +203 -0
- package/style/specification.d.ts.map +1 -0
- package/style/specification.js +178 -0
- package/style/wms-wmts-resolvers.d.ts +38 -0
- package/style/wms-wmts-resolvers.d.ts.map +1 -0
- package/style/wms-wmts-resolvers.js +92 -0
- package/web-components/controller.d.ts +39 -0
- package/web-components/controller.d.ts.map +1 -0
- package/web-components/controller.js +640 -0
- package/web-components/elements.d.ts +210 -0
- package/web-components/elements.d.ts.map +1 -0
- package/web-components/elements.js +1651 -0
- package/web-components/index.d.ts +24 -0
- package/web-components/index.d.ts.map +1 -0
- package/web-components/index.js +22 -0
- package/web-components/maplibre-renderer.d.ts +22 -0
- package/web-components/maplibre-renderer.d.ts.map +1 -0
- package/web-components/maplibre-renderer.js +474 -0
- package/web-components/types.d.ts +397 -0
- package/web-components/types.d.ts.map +1 -0
- package/web-components/types.js +1 -0
- package/webmap/contract.d.ts +28 -0
- package/webmap/contract.d.ts.map +1 -0
- package/webmap/contract.js +130 -0
- package/webmap/convert-basemap.d.ts +17 -0
- package/webmap/convert-basemap.d.ts.map +1 -0
- package/webmap/convert-basemap.js +78 -0
- package/webmap/convert-extent.d.ts +17 -0
- package/webmap/convert-extent.d.ts.map +1 -0
- package/webmap/convert-extent.js +114 -0
- package/webmap/convert-label.d.ts +13 -0
- package/webmap/convert-label.d.ts.map +1 -0
- package/webmap/convert-label.js +125 -0
- package/webmap/convert-layer.d.ts +22 -0
- package/webmap/convert-layer.d.ts.map +1 -0
- package/webmap/convert-layer.js +181 -0
- package/webmap/convert-popup.d.ts +34 -0
- package/webmap/convert-popup.d.ts.map +1 -0
- package/webmap/convert-popup.js +68 -0
- package/webmap/convert-renderer.d.ts +17 -0
- package/webmap/convert-renderer.d.ts.map +1 -0
- package/webmap/convert-renderer.js +161 -0
- package/webmap/convert-symbol.d.ts +17 -0
- package/webmap/convert-symbol.d.ts.map +1 -0
- package/webmap/convert-symbol.js +122 -0
- package/webmap/index.d.ts +44 -0
- package/webmap/index.d.ts.map +1 -0
- package/webmap/index.js +33 -0
- package/webmap/parse.d.ts +25 -0
- package/webmap/parse.d.ts.map +1 -0
- package/webmap/parse.js +83 -0
- package/webmap/types.d.ts +264 -0
- package/webmap/types.d.ts.map +1 -0
- package/webmap/types.js +13 -0
- package/webmap/warnings.d.ts +30 -0
- package/webmap/warnings.d.ts.map +1 -0
- package/webmap/warnings.js +37 -0
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import type { FeatureId, SourceId } from "../contract/types.js";
|
|
2
|
+
import type { FilterClause } from "../exploration/index.js";
|
|
3
|
+
import type { SceneCameraState, SceneLayerState, SceneWorkspaceState } from "./types.js";
|
|
4
|
+
export type SceneRendererKind = "maplibre" | "cesium" | "three" | "custom";
|
|
5
|
+
export type ScenePrimitiveStatus = "supported" | "degraded" | "unsupported";
|
|
6
|
+
export type ScenePrimitiveDiagnosticSeverity = "info" | "warning" | "error";
|
|
7
|
+
export interface SceneCacheMetadata {
|
|
8
|
+
readonly status: "ready" | "stale" | "bypass" | "unknown";
|
|
9
|
+
readonly scope?: "metadata" | "tiles" | "asset" | "interaction";
|
|
10
|
+
readonly updatedAt?: string;
|
|
11
|
+
readonly ttlMs?: number;
|
|
12
|
+
readonly validator?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface ScenePrimitiveBase {
|
|
15
|
+
readonly id: string;
|
|
16
|
+
readonly title?: string;
|
|
17
|
+
readonly attribution?: string;
|
|
18
|
+
readonly cache?: SceneCacheMetadata;
|
|
19
|
+
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
20
|
+
}
|
|
21
|
+
export interface SceneCameraPrimitive extends ScenePrimitiveBase {
|
|
22
|
+
readonly kind: "camera";
|
|
23
|
+
readonly camera: SceneCameraState;
|
|
24
|
+
readonly mode?: "local" | "global" | "orbit";
|
|
25
|
+
}
|
|
26
|
+
export interface SceneGroundPrimitive extends ScenePrimitiveBase {
|
|
27
|
+
readonly kind: "ground";
|
|
28
|
+
readonly terrainId?: string;
|
|
29
|
+
readonly surfaceColor?: string;
|
|
30
|
+
readonly opacity?: number;
|
|
31
|
+
}
|
|
32
|
+
export type SceneElevationSourceProtocol = "terrain-rgb" | "raster-dem" | "quantized-mesh" | "image-service" | "i3s" | "custom";
|
|
33
|
+
export interface SceneElevationSourcePrimitive extends ScenePrimitiveBase {
|
|
34
|
+
readonly kind: "elevation-source";
|
|
35
|
+
readonly sourceId: SourceId;
|
|
36
|
+
readonly protocol: SceneElevationSourceProtocol;
|
|
37
|
+
readonly tiles?: readonly string[];
|
|
38
|
+
readonly url?: string;
|
|
39
|
+
readonly encoding?: "mapbox" | "terrarium" | "custom";
|
|
40
|
+
readonly tileSize?: number;
|
|
41
|
+
readonly minzoom?: number;
|
|
42
|
+
readonly maxzoom?: number;
|
|
43
|
+
readonly exaggeration?: number;
|
|
44
|
+
}
|
|
45
|
+
export type SceneExtrusionValue = number | readonly unknown[];
|
|
46
|
+
export interface SceneExtrusionPrimitive extends ScenePrimitiveBase {
|
|
47
|
+
readonly kind: "extrusion";
|
|
48
|
+
readonly sourceId: SourceId;
|
|
49
|
+
readonly layerId?: string;
|
|
50
|
+
readonly sourceLayer?: string;
|
|
51
|
+
readonly height: SceneExtrusionValue;
|
|
52
|
+
readonly base?: SceneExtrusionValue;
|
|
53
|
+
readonly color?: string | readonly unknown[];
|
|
54
|
+
readonly opacity?: number | readonly unknown[];
|
|
55
|
+
readonly filters?: Readonly<Record<string, FilterClause>>;
|
|
56
|
+
}
|
|
57
|
+
export type SceneModelFormat = "gltf" | "glb" | "3d-tiles" | "i3s" | "obj" | "custom";
|
|
58
|
+
export interface SceneModelLayerPrimitive extends ScenePrimitiveBase {
|
|
59
|
+
readonly kind: "model-layer";
|
|
60
|
+
readonly sourceId?: SourceId;
|
|
61
|
+
readonly uri: string;
|
|
62
|
+
readonly format: SceneModelFormat;
|
|
63
|
+
readonly position?: readonly [number, number, number?];
|
|
64
|
+
readonly rotation?: readonly [number, number, number];
|
|
65
|
+
readonly scale?: number | readonly [number, number, number];
|
|
66
|
+
readonly featureId?: FeatureId;
|
|
67
|
+
}
|
|
68
|
+
export interface SceneLayerMetadataPrimitive extends ScenePrimitiveBase {
|
|
69
|
+
readonly kind: "scene-layer-metadata";
|
|
70
|
+
readonly layer: SceneLayerState;
|
|
71
|
+
readonly serviceType?: "SceneServer" | "3DTiles" | "Model" | "Custom";
|
|
72
|
+
readonly geometryType?: "mesh" | "point" | "point-cloud" | "building" | "integrated-mesh" | "custom";
|
|
73
|
+
readonly sourceAsset?: string;
|
|
74
|
+
readonly capabilities?: readonly string[];
|
|
75
|
+
}
|
|
76
|
+
export type SceneRuntimePrimitive = SceneCameraPrimitive | SceneGroundPrimitive | SceneElevationSourcePrimitive | SceneExtrusionPrimitive | SceneModelLayerPrimitive | SceneLayerMetadataPrimitive;
|
|
77
|
+
export type SceneRuntimePrimitiveKind = SceneRuntimePrimitive["kind"];
|
|
78
|
+
export interface ScenePrimitiveDiagnostic {
|
|
79
|
+
readonly code: string;
|
|
80
|
+
readonly severity: ScenePrimitiveDiagnosticSeverity;
|
|
81
|
+
readonly status: ScenePrimitiveStatus;
|
|
82
|
+
readonly primitiveId?: string;
|
|
83
|
+
readonly primitiveKind?: SceneRuntimePrimitiveKind;
|
|
84
|
+
readonly renderer?: SceneRendererKind | string;
|
|
85
|
+
readonly message: string;
|
|
86
|
+
readonly fallback?: string;
|
|
87
|
+
readonly context?: Readonly<Record<string, unknown>>;
|
|
88
|
+
}
|
|
89
|
+
export interface SceneRuntimeCapabilities {
|
|
90
|
+
readonly renderer: SceneRendererKind | string;
|
|
91
|
+
readonly camera?: boolean;
|
|
92
|
+
readonly ground?: boolean;
|
|
93
|
+
readonly terrain?: {
|
|
94
|
+
readonly protocols: readonly SceneElevationSourceProtocol[];
|
|
95
|
+
readonly supportsExaggeration?: boolean;
|
|
96
|
+
};
|
|
97
|
+
readonly extrusion?: boolean;
|
|
98
|
+
readonly modelLayer?: {
|
|
99
|
+
readonly formats: readonly SceneModelFormat[];
|
|
100
|
+
};
|
|
101
|
+
readonly sceneLayerMetadata?: boolean;
|
|
102
|
+
}
|
|
103
|
+
export interface ScenePrimitiveApplyResult {
|
|
104
|
+
readonly status: ScenePrimitiveStatus;
|
|
105
|
+
readonly diagnostics: readonly ScenePrimitiveDiagnostic[];
|
|
106
|
+
}
|
|
107
|
+
export interface SceneRuntimeAdapter {
|
|
108
|
+
readonly id: string;
|
|
109
|
+
readonly capabilities: SceneRuntimeCapabilities;
|
|
110
|
+
diagnose(primitives: readonly SceneRuntimePrimitive[], state?: SceneWorkspaceState): readonly ScenePrimitiveDiagnostic[];
|
|
111
|
+
apply?(primitives: readonly SceneRuntimePrimitive[], state?: SceneWorkspaceState): ScenePrimitiveApplyResult | Promise<ScenePrimitiveApplyResult>;
|
|
112
|
+
}
|
|
113
|
+
export interface MapLibreTerrainSourceSpecification {
|
|
114
|
+
readonly type: "raster-dem";
|
|
115
|
+
readonly tiles?: readonly string[];
|
|
116
|
+
readonly url?: string;
|
|
117
|
+
readonly tileSize?: number;
|
|
118
|
+
readonly encoding?: "mapbox" | "terrarium" | "custom";
|
|
119
|
+
readonly minzoom?: number;
|
|
120
|
+
readonly maxzoom?: number;
|
|
121
|
+
readonly attribution?: string;
|
|
122
|
+
}
|
|
123
|
+
export interface MapLibreTerrainOptions {
|
|
124
|
+
readonly source: string;
|
|
125
|
+
readonly exaggeration?: number;
|
|
126
|
+
}
|
|
127
|
+
export interface MapLibreExtrusionLayerSpecification {
|
|
128
|
+
readonly id: string;
|
|
129
|
+
readonly type: "fill-extrusion";
|
|
130
|
+
readonly source: string;
|
|
131
|
+
readonly "source-layer"?: string;
|
|
132
|
+
readonly paint: Readonly<Record<string, unknown>>;
|
|
133
|
+
readonly layout?: Readonly<Record<string, unknown>>;
|
|
134
|
+
readonly filter?: unknown;
|
|
135
|
+
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
136
|
+
}
|
|
137
|
+
export interface MapLibreSceneRuntimeTarget {
|
|
138
|
+
getSource(id: string): unknown;
|
|
139
|
+
addSource(id: string, source: MapLibreTerrainSourceSpecification): void;
|
|
140
|
+
getLayer(id: string): unknown;
|
|
141
|
+
addLayer(layer: MapLibreExtrusionLayerSpecification): void;
|
|
142
|
+
setTerrain(options: MapLibreTerrainOptions): void;
|
|
143
|
+
}
|
|
144
|
+
export interface MapLibreTerrainPatch {
|
|
145
|
+
readonly sourceId: string;
|
|
146
|
+
readonly source: MapLibreTerrainSourceSpecification;
|
|
147
|
+
readonly terrain: MapLibreTerrainOptions;
|
|
148
|
+
}
|
|
149
|
+
export declare const MAPLIBRE_SCENE_CAPABILITIES: SceneRuntimeCapabilities;
|
|
150
|
+
export declare function createSceneRuntimeAdapter(options: {
|
|
151
|
+
readonly id: string;
|
|
152
|
+
readonly capabilities: SceneRuntimeCapabilities;
|
|
153
|
+
readonly apply?: SceneRuntimeAdapter["apply"];
|
|
154
|
+
}): SceneRuntimeAdapter;
|
|
155
|
+
export declare function createMapLibreSceneAdapter(id?: string): SceneRuntimeAdapter;
|
|
156
|
+
export declare function diagnoseScenePrimitives(primitives: readonly SceneRuntimePrimitive[], capabilities: SceneRuntimeCapabilities): ScenePrimitiveDiagnostic[];
|
|
157
|
+
export declare function diagnoseScenePrimitive(primitive: SceneRuntimePrimitive, capabilities: SceneRuntimeCapabilities): ScenePrimitiveDiagnostic[];
|
|
158
|
+
export declare function toMapLibreTerrainPatch(primitive: SceneElevationSourcePrimitive): MapLibreTerrainPatch;
|
|
159
|
+
export declare function toMapLibreExtrusionLayer(primitive: SceneExtrusionPrimitive): MapLibreExtrusionLayerSpecification;
|
|
160
|
+
export declare function applyMapLibreScenePrimitives(target: MapLibreSceneRuntimeTarget, primitives: readonly SceneRuntimePrimitive[]): ScenePrimitiveApplyResult;
|
|
161
|
+
export declare function summarizeDiagnosticStatus(diagnostics: readonly ScenePrimitiveDiagnostic[]): ScenePrimitiveStatus;
|
|
162
|
+
//# sourceMappingURL=primitives.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../src/scene-workspace/primitives.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
export const MAPLIBRE_SCENE_CAPABILITIES = {
|
|
2
|
+
renderer: "maplibre",
|
|
3
|
+
camera: true,
|
|
4
|
+
ground: true,
|
|
5
|
+
terrain: { protocols: ["terrain-rgb", "raster-dem"], supportsExaggeration: true },
|
|
6
|
+
extrusion: true,
|
|
7
|
+
modelLayer: { formats: [] },
|
|
8
|
+
sceneLayerMetadata: true,
|
|
9
|
+
};
|
|
10
|
+
export function createSceneRuntimeAdapter(options) {
|
|
11
|
+
return {
|
|
12
|
+
id: options.id,
|
|
13
|
+
capabilities: options.capabilities,
|
|
14
|
+
diagnose(primitives) {
|
|
15
|
+
return diagnoseScenePrimitives(primitives, options.capabilities);
|
|
16
|
+
},
|
|
17
|
+
...(options.apply ? { apply: options.apply } : {}),
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export function createMapLibreSceneAdapter(id = "maplibre-scene") {
|
|
21
|
+
return createSceneRuntimeAdapter({
|
|
22
|
+
id,
|
|
23
|
+
capabilities: MAPLIBRE_SCENE_CAPABILITIES,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
export function diagnoseScenePrimitives(primitives, capabilities) {
|
|
27
|
+
return primitives.flatMap((primitive) => diagnoseScenePrimitive(primitive, capabilities));
|
|
28
|
+
}
|
|
29
|
+
export function diagnoseScenePrimitive(primitive, capabilities) {
|
|
30
|
+
switch (primitive.kind) {
|
|
31
|
+
case "camera":
|
|
32
|
+
return capabilities.camera
|
|
33
|
+
? [supported(primitive, capabilities, "Camera state can be synchronized.")]
|
|
34
|
+
: [
|
|
35
|
+
unsupported(primitive, capabilities, "Renderer adapter does not expose camera synchronization.", "Keep camera state in the workspace snapshot only."),
|
|
36
|
+
];
|
|
37
|
+
case "ground":
|
|
38
|
+
return capabilities.ground
|
|
39
|
+
? [supported(primitive, capabilities, "Ground styling can be represented.")]
|
|
40
|
+
: [
|
|
41
|
+
degraded(primitive, capabilities, "Renderer adapter does not expose explicit ground styling.", "Use the base map background or renderer default ground."),
|
|
42
|
+
];
|
|
43
|
+
case "elevation-source": {
|
|
44
|
+
const terrain = capabilities.terrain;
|
|
45
|
+
if (!terrain)
|
|
46
|
+
return [
|
|
47
|
+
unsupported(primitive, capabilities, "Renderer adapter does not support terrain sources.", "Render without terrain and keep elevation metadata for a 3D adapter."),
|
|
48
|
+
];
|
|
49
|
+
if (!terrain.protocols.includes(primitive.protocol)) {
|
|
50
|
+
return [
|
|
51
|
+
unsupported(primitive, capabilities, `Terrain protocol '${primitive.protocol}' is not supported by ${capabilities.renderer}.`, "Use terrain-rgb/raster-dem for MapLibre 2.5D or route to a Cesium-style adapter."),
|
|
52
|
+
];
|
|
53
|
+
}
|
|
54
|
+
if (primitive.exaggeration !== undefined && terrain.supportsExaggeration !== true) {
|
|
55
|
+
return [
|
|
56
|
+
degraded(primitive, capabilities, "Elevation source is supported but exaggeration will be ignored.", "Apply source at native scale."),
|
|
57
|
+
];
|
|
58
|
+
}
|
|
59
|
+
if (primitive.protocol === "terrain-rgb") {
|
|
60
|
+
const terrainDiagnostics = diagnoseRenderableTerrainRgb(primitive, capabilities);
|
|
61
|
+
if (terrainDiagnostics.length > 0)
|
|
62
|
+
return terrainDiagnostics;
|
|
63
|
+
}
|
|
64
|
+
return [supported(primitive, capabilities, "Elevation source can be applied as terrain.")];
|
|
65
|
+
}
|
|
66
|
+
case "extrusion":
|
|
67
|
+
return capabilities.extrusion
|
|
68
|
+
? [supported(primitive, capabilities, "Extrusion can be applied as a fill-extrusion layer.")]
|
|
69
|
+
: [
|
|
70
|
+
degraded(primitive, capabilities, "Renderer adapter does not support extrusions.", "Render the source as a 2D fill/line layer."),
|
|
71
|
+
];
|
|
72
|
+
case "model-layer": {
|
|
73
|
+
const formats = capabilities.modelLayer?.formats ?? [];
|
|
74
|
+
if (formats.includes(primitive.format))
|
|
75
|
+
return [supported(primitive, capabilities, "Model layer format is supported.")];
|
|
76
|
+
return [
|
|
77
|
+
unsupported(primitive, capabilities, `Model format '${primitive.format}' is not supported by ${capabilities.renderer}.`, "Preserve model metadata and route to a 3D renderer adapter."),
|
|
78
|
+
];
|
|
79
|
+
}
|
|
80
|
+
case "scene-layer-metadata":
|
|
81
|
+
return capabilities.sceneLayerMetadata
|
|
82
|
+
? [
|
|
83
|
+
degraded(primitive, capabilities, "Scene-layer metadata can be preserved but not rendered directly.", "Bind a compatible terrain/model/tiles primitive when available."),
|
|
84
|
+
]
|
|
85
|
+
: [
|
|
86
|
+
unsupported(primitive, capabilities, "Renderer adapter does not expose scene-layer metadata.", "Keep source metadata in diagnostics for manual migration."),
|
|
87
|
+
];
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
export function toMapLibreTerrainPatch(primitive) {
|
|
91
|
+
if (primitive.protocol !== "terrain-rgb" && primitive.protocol !== "raster-dem") {
|
|
92
|
+
throw new Error(`MapLibre terrain requires terrain-rgb or raster-dem elevation, received '${primitive.protocol}'.`);
|
|
93
|
+
}
|
|
94
|
+
return {
|
|
95
|
+
sourceId: primitive.sourceId,
|
|
96
|
+
source: {
|
|
97
|
+
type: "raster-dem",
|
|
98
|
+
...(primitive.tiles ? { tiles: primitive.tiles } : {}),
|
|
99
|
+
...(primitive.url ? { url: primitive.url } : {}),
|
|
100
|
+
...(primitive.tileSize ? { tileSize: primitive.tileSize } : {}),
|
|
101
|
+
...(primitive.encoding ? { encoding: primitive.encoding } : {}),
|
|
102
|
+
...(primitive.minzoom !== undefined ? { minzoom: primitive.minzoom } : {}),
|
|
103
|
+
...(primitive.maxzoom !== undefined ? { maxzoom: primitive.maxzoom } : {}),
|
|
104
|
+
...(primitive.attribution ? { attribution: primitive.attribution } : {}),
|
|
105
|
+
},
|
|
106
|
+
terrain: {
|
|
107
|
+
source: primitive.sourceId,
|
|
108
|
+
...(primitive.exaggeration !== undefined ? { exaggeration: primitive.exaggeration } : {}),
|
|
109
|
+
},
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
export function toMapLibreExtrusionLayer(primitive) {
|
|
113
|
+
return {
|
|
114
|
+
id: primitive.layerId ?? primitive.id,
|
|
115
|
+
type: "fill-extrusion",
|
|
116
|
+
source: primitive.sourceId,
|
|
117
|
+
...(primitive.sourceLayer ? { "source-layer": primitive.sourceLayer } : {}),
|
|
118
|
+
paint: {
|
|
119
|
+
"fill-extrusion-height": primitive.height,
|
|
120
|
+
"fill-extrusion-base": primitive.base ?? 0,
|
|
121
|
+
"fill-extrusion-color": primitive.color ?? "#4d8a87",
|
|
122
|
+
"fill-extrusion-opacity": primitive.opacity ?? 0.82,
|
|
123
|
+
},
|
|
124
|
+
layout: {},
|
|
125
|
+
...(primitive.filters ? { filter: compileMapLibreFilters(primitive.filters, primitive.sourceId) } : {}),
|
|
126
|
+
...(primitive.metadata ? { metadata: primitive.metadata } : {}),
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
export function applyMapLibreScenePrimitives(target, primitives) {
|
|
130
|
+
const diagnostics = diagnoseScenePrimitives(primitives, MAPLIBRE_SCENE_CAPABILITIES);
|
|
131
|
+
for (const primitive of primitives) {
|
|
132
|
+
if (primitive.kind === "elevation-source") {
|
|
133
|
+
const terrainDiagnostic = diagnostics.find((diagnostic) => diagnostic.primitiveId === primitive.id);
|
|
134
|
+
if (terrainDiagnostic?.status === "unsupported")
|
|
135
|
+
continue;
|
|
136
|
+
const patch = toMapLibreTerrainPatch(primitive);
|
|
137
|
+
if (!target.getSource(patch.sourceId))
|
|
138
|
+
target.addSource(patch.sourceId, patch.source);
|
|
139
|
+
target.setTerrain(patch.terrain);
|
|
140
|
+
}
|
|
141
|
+
if (primitive.kind === "extrusion") {
|
|
142
|
+
const layer = toMapLibreExtrusionLayer(primitive);
|
|
143
|
+
if (!target.getLayer(layer.id))
|
|
144
|
+
target.addLayer(layer);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
return {
|
|
148
|
+
status: summarizeDiagnosticStatus(diagnostics),
|
|
149
|
+
diagnostics,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
export function summarizeDiagnosticStatus(diagnostics) {
|
|
153
|
+
if (diagnostics.some((diagnostic) => diagnostic.status === "unsupported"))
|
|
154
|
+
return "unsupported";
|
|
155
|
+
if (diagnostics.some((diagnostic) => diagnostic.status === "degraded"))
|
|
156
|
+
return "degraded";
|
|
157
|
+
return "supported";
|
|
158
|
+
}
|
|
159
|
+
function supported(primitive, capabilities, message) {
|
|
160
|
+
return diagnostic("scene-primitive-supported", "info", "supported", primitive, capabilities, message);
|
|
161
|
+
}
|
|
162
|
+
function degraded(primitive, capabilities, message, fallback) {
|
|
163
|
+
return diagnostic("scene-primitive-degraded", "warning", "degraded", primitive, capabilities, message, fallback);
|
|
164
|
+
}
|
|
165
|
+
function unsupported(primitive, capabilities, message, fallback) {
|
|
166
|
+
return diagnostic("scene-primitive-unsupported", "warning", "unsupported", primitive, capabilities, message, fallback);
|
|
167
|
+
}
|
|
168
|
+
function diagnostic(code, severity, status, primitive, capabilities, message, fallback) {
|
|
169
|
+
return {
|
|
170
|
+
code,
|
|
171
|
+
severity,
|
|
172
|
+
status,
|
|
173
|
+
primitiveId: primitive.id,
|
|
174
|
+
primitiveKind: primitive.kind,
|
|
175
|
+
renderer: capabilities.renderer,
|
|
176
|
+
message,
|
|
177
|
+
...(fallback ? { fallback } : {}),
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
function diagnoseRenderableTerrainRgb(primitive, capabilities) {
|
|
181
|
+
const diagnostics = [];
|
|
182
|
+
if (!hasRenderableTerrainUrl(primitive)) {
|
|
183
|
+
diagnostics.push(diagnostic("scene-primitive-terrain-source-missing-url", "error", "unsupported", primitive, capabilities, "terrain-rgb elevation source requires a renderable url or tile template.", "Provide a non-empty url or at least one non-empty tiles entry before applying terrain."));
|
|
184
|
+
}
|
|
185
|
+
const invalidRanges = {};
|
|
186
|
+
if (primitive.tileSize !== undefined && !isPositiveFiniteNumber(primitive.tileSize)) {
|
|
187
|
+
invalidRanges.tileSize = primitive.tileSize;
|
|
188
|
+
}
|
|
189
|
+
if (primitive.minzoom !== undefined && !isZoom(primitive.minzoom))
|
|
190
|
+
invalidRanges.minzoom = primitive.minzoom;
|
|
191
|
+
if (primitive.maxzoom !== undefined && !isZoom(primitive.maxzoom))
|
|
192
|
+
invalidRanges.maxzoom = primitive.maxzoom;
|
|
193
|
+
if (primitive.minzoom !== undefined &&
|
|
194
|
+
primitive.maxzoom !== undefined &&
|
|
195
|
+
Number.isFinite(primitive.minzoom) &&
|
|
196
|
+
Number.isFinite(primitive.maxzoom) &&
|
|
197
|
+
primitive.minzoom > primitive.maxzoom) {
|
|
198
|
+
invalidRanges.zoomRange = [primitive.minzoom, primitive.maxzoom];
|
|
199
|
+
}
|
|
200
|
+
if (primitive.exaggeration !== undefined && !isPositiveFiniteNumber(primitive.exaggeration)) {
|
|
201
|
+
invalidRanges.exaggeration = primitive.exaggeration;
|
|
202
|
+
}
|
|
203
|
+
if (Object.keys(invalidRanges).length > 0) {
|
|
204
|
+
diagnostics.push({
|
|
205
|
+
...diagnostic("scene-primitive-terrain-range-invalid", "error", "unsupported", primitive, capabilities, "terrain-rgb elevation source has invalid numeric rendering ranges.", "Use finite positive tileSize/exaggeration values and ordered zoom values between 0 and 24."),
|
|
206
|
+
context: invalidRanges,
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
return diagnostics;
|
|
210
|
+
}
|
|
211
|
+
function hasRenderableTerrainUrl(primitive) {
|
|
212
|
+
if (typeof primitive.url === "string" && primitive.url.trim() !== "")
|
|
213
|
+
return true;
|
|
214
|
+
return primitive.tiles?.some((tile) => typeof tile === "string" && tile.trim() !== "") === true;
|
|
215
|
+
}
|
|
216
|
+
function isPositiveFiniteNumber(value) {
|
|
217
|
+
return Number.isFinite(value) && value > 0;
|
|
218
|
+
}
|
|
219
|
+
function isZoom(value) {
|
|
220
|
+
return Number.isFinite(value) && value >= 0 && value <= 24;
|
|
221
|
+
}
|
|
222
|
+
function compileMapLibreFilters(filters, sourceId) {
|
|
223
|
+
const compiled = Object.values(filters)
|
|
224
|
+
.filter((clause) => !clause.appliesTo || clause.appliesTo.length === 0 || clause.appliesTo.includes(sourceId))
|
|
225
|
+
.map(clauseToMapLibreFilter)
|
|
226
|
+
.filter((entry) => Array.isArray(entry));
|
|
227
|
+
return compiled.length === 0 ? ["all"] : ["all", ...compiled];
|
|
228
|
+
}
|
|
229
|
+
function clauseToMapLibreFilter(clause) {
|
|
230
|
+
switch (clause.operator) {
|
|
231
|
+
case "=":
|
|
232
|
+
return ["==", clause.field, clause.value];
|
|
233
|
+
case "!=":
|
|
234
|
+
return ["!=", clause.field, clause.value];
|
|
235
|
+
case "<":
|
|
236
|
+
case "<=":
|
|
237
|
+
case ">":
|
|
238
|
+
case ">=":
|
|
239
|
+
return typeof clause.value === "number" ? [clause.operator, clause.field, clause.value] : undefined;
|
|
240
|
+
case "in":
|
|
241
|
+
return Array.isArray(clause.value) ? ["in", clause.field, ...clause.value] : undefined;
|
|
242
|
+
case "not-in":
|
|
243
|
+
return Array.isArray(clause.value) ? ["!in", clause.field, ...clause.value] : undefined;
|
|
244
|
+
case "is-null":
|
|
245
|
+
return ["==", clause.field, null];
|
|
246
|
+
case "is-not-null":
|
|
247
|
+
return ["!=", clause.field, null];
|
|
248
|
+
case "between":
|
|
249
|
+
return Array.isArray(clause.value) && typeof clause.value[0] === "number" && typeof clause.value[1] === "number"
|
|
250
|
+
? ["all", [">=", clause.field, clause.value[0]], ["<=", clause.field, clause.value[1]]]
|
|
251
|
+
: undefined;
|
|
252
|
+
case "like":
|
|
253
|
+
return undefined;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTTP scene discovery for the 3D scene workspace.
|
|
3
|
+
*
|
|
4
|
+
* Honua publishes 3D scenes over the `geospatial.v1` `SceneService`
|
|
5
|
+
* (`ListScenes` / `GetScene`) and mirrors that catalog over plain HTTP scene
|
|
6
|
+
* discovery (`GET /api/scenes`, `GET /api/scenes/{id}`) alongside the static
|
|
7
|
+
* 3D-Tiles entry point (`GET /scenes/{id}/tileset.json`). This module gives the
|
|
8
|
+
* SDK a typed read model over that discovery surface and maps a discovered
|
|
9
|
+
* {@link HonuaScene} onto the renderer-neutral {@link SceneRuntimePrimitive}s the
|
|
10
|
+
* Cesium adapter renders.
|
|
11
|
+
*
|
|
12
|
+
* Discovery calls go through a caller-supplied {@link SceneDiscoveryRequestExecutor}
|
|
13
|
+
* — typically `(...args) => client.pipelineRequestJson(...args)` against a
|
|
14
|
+
* `HonuaClient` — so they reuse the SDK's shared auth / retry / timeout /
|
|
15
|
+
* interceptor pipeline rather than issuing ad-hoc `fetch` calls. Modelling the
|
|
16
|
+
* transport as a function keeps this module free of a hard `core/client` import
|
|
17
|
+
* (and equally usable from a Node backend, a worker, or a unit test with a mock).
|
|
18
|
+
*
|
|
19
|
+
* The mapping helpers ({@link sceneToRuntimePrimitives},
|
|
20
|
+
* {@link sceneCameraPrimitive}, {@link sceneViewpointBookmarks}) are pure (no
|
|
21
|
+
* Cesium, no transport) and unit-testable on their own.
|
|
22
|
+
*
|
|
23
|
+
* @experimental Part of the experimental `scene-workspace` surface; not yet
|
|
24
|
+
* covered by the SDK's semver contract prior to `1.0.0`.
|
|
25
|
+
* @module
|
|
26
|
+
*/
|
|
27
|
+
import type { QueryMethod } from "../core/types.js";
|
|
28
|
+
import type { SceneCameraPrimitive, SceneElevationSourcePrimitive, SceneModelLayerPrimitive } from "./primitives.js";
|
|
29
|
+
import type { SceneBookmark, SceneCameraState, SceneLayerState } from "./types.js";
|
|
30
|
+
/**
|
|
31
|
+
* The minimal request executor scene discovery needs. This is exactly the shape
|
|
32
|
+
* of `HonuaClient.pipelineRequestJson`, so a consumer wires the SDK's shared
|
|
33
|
+
* HTTP pipeline (auth, retries, timeouts, interceptors) in with:
|
|
34
|
+
*
|
|
35
|
+
* ```ts
|
|
36
|
+
* const executor: SceneDiscoveryRequestExecutor =
|
|
37
|
+
* (method, path, init, signal) => client.pipelineRequestJson(method, path, init, signal);
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export type SceneDiscoveryRequestExecutor = <T = unknown>(method: QueryMethod, path: string, init?: {
|
|
41
|
+
headers?: Record<string, string>;
|
|
42
|
+
body?: string | null;
|
|
43
|
+
}, signal?: AbortSignal) => Promise<T>;
|
|
44
|
+
/** A 3D bounding volume mirroring the server's `Extent3D` (horizontal envelope + height range). */
|
|
45
|
+
export interface SceneExtent3D {
|
|
46
|
+
readonly xmin: number;
|
|
47
|
+
readonly ymin: number;
|
|
48
|
+
readonly xmax: number;
|
|
49
|
+
readonly ymax: number;
|
|
50
|
+
readonly minHeight?: number;
|
|
51
|
+
readonly maxHeight?: number;
|
|
52
|
+
readonly spatialReference?: number;
|
|
53
|
+
}
|
|
54
|
+
/** A named camera position (bookmark / initial view) mirroring the server's `Viewpoint`. */
|
|
55
|
+
export interface SceneViewpoint {
|
|
56
|
+
readonly id: string;
|
|
57
|
+
readonly title: string;
|
|
58
|
+
readonly camera: SceneCameraState;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* A discovered Honua 3D scene, normalized from the server's `SceneMetadata`
|
|
62
|
+
* (`geospatial.v1.SceneService`). Field names follow the SDK's camelCase
|
|
63
|
+
* convention; both `tilesetUrl` (camelCase) and `tileset_url` (proto JSON) are
|
|
64
|
+
* accepted on the wire and normalized here.
|
|
65
|
+
*/
|
|
66
|
+
export interface HonuaScene {
|
|
67
|
+
readonly sceneId: string;
|
|
68
|
+
readonly title?: string;
|
|
69
|
+
readonly description?: string;
|
|
70
|
+
/** URL of the root 3D-Tiles tileset (`tileset.json`). */
|
|
71
|
+
readonly tilesetUrl?: string;
|
|
72
|
+
/** URL of the terrain provider backing the scene, when present. */
|
|
73
|
+
readonly terrainUrl?: string;
|
|
74
|
+
/** Full 3D extent of the scene (horizontal envelope + min/max height). */
|
|
75
|
+
readonly extent?: SceneExtent3D;
|
|
76
|
+
/** Suggested initial camera for the first view. */
|
|
77
|
+
readonly initialCamera?: SceneCameraState;
|
|
78
|
+
/** Named viewpoints / bookmarks. */
|
|
79
|
+
readonly viewpoints: readonly SceneViewpoint[];
|
|
80
|
+
/** Scene-wide 3D-Tiles styling expression, when published with the scene. */
|
|
81
|
+
readonly styleExpression?: string;
|
|
82
|
+
/** Edition required to access the scene (e.g. `community`, `pro`); empty when unrestricted. */
|
|
83
|
+
readonly edition?: string;
|
|
84
|
+
/** Capability flags advertised for the scene (e.g. `terrain`, `point-cloud`, `styling`). */
|
|
85
|
+
readonly capabilities: readonly string[];
|
|
86
|
+
}
|
|
87
|
+
/** Raw camera shape accepted from the server (proto3 JSON). */
|
|
88
|
+
interface RawCamera {
|
|
89
|
+
longitude?: number;
|
|
90
|
+
latitude?: number;
|
|
91
|
+
height?: number;
|
|
92
|
+
heading?: number;
|
|
93
|
+
pitch?: number;
|
|
94
|
+
roll?: number;
|
|
95
|
+
}
|
|
96
|
+
/** Raw scene shape accepted from the server. Tolerates both camelCase and proto snake_case. */
|
|
97
|
+
interface RawScene {
|
|
98
|
+
sceneId?: string;
|
|
99
|
+
scene_id?: string;
|
|
100
|
+
title?: string;
|
|
101
|
+
description?: string;
|
|
102
|
+
tilesetUrl?: string;
|
|
103
|
+
tileset_url?: string;
|
|
104
|
+
terrainUrl?: string;
|
|
105
|
+
terrain_url?: string;
|
|
106
|
+
extent?: {
|
|
107
|
+
extent?: {
|
|
108
|
+
xmin?: number;
|
|
109
|
+
ymin?: number;
|
|
110
|
+
xmax?: number;
|
|
111
|
+
ymax?: number;
|
|
112
|
+
spatialReference?: number;
|
|
113
|
+
};
|
|
114
|
+
xmin?: number;
|
|
115
|
+
ymin?: number;
|
|
116
|
+
xmax?: number;
|
|
117
|
+
ymax?: number;
|
|
118
|
+
minHeight?: number;
|
|
119
|
+
min_height?: number;
|
|
120
|
+
maxHeight?: number;
|
|
121
|
+
max_height?: number;
|
|
122
|
+
spatialReference?: number;
|
|
123
|
+
};
|
|
124
|
+
initialCamera?: RawCamera;
|
|
125
|
+
initial_camera?: RawCamera;
|
|
126
|
+
viewpoints?: Array<{
|
|
127
|
+
id?: string;
|
|
128
|
+
title?: string;
|
|
129
|
+
camera?: RawCamera;
|
|
130
|
+
}>;
|
|
131
|
+
style?: {
|
|
132
|
+
expression?: string;
|
|
133
|
+
};
|
|
134
|
+
styleExpression?: string;
|
|
135
|
+
edition?: string;
|
|
136
|
+
capabilities?: string[];
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Normalize a raw scene payload (camelCase or proto3-JSON snake_case) into a
|
|
140
|
+
* {@link HonuaScene}. Exported so the normalization is unit-testable against
|
|
141
|
+
* either wire shape without a transport.
|
|
142
|
+
*/
|
|
143
|
+
export declare function normalizeScene(raw: RawScene): HonuaScene;
|
|
144
|
+
/**
|
|
145
|
+
* List the catalog of available 3D scenes from `GET /api/scenes`
|
|
146
|
+
* (`SceneService.ListScenes`). Returns the normalized {@link HonuaScene}s.
|
|
147
|
+
*/
|
|
148
|
+
export declare function listScenes(execute: SceneDiscoveryRequestExecutor, signal?: AbortSignal): Promise<HonuaScene[]>;
|
|
149
|
+
/**
|
|
150
|
+
* Fetch a single scene's metadata from `GET /api/scenes/{sceneId}`
|
|
151
|
+
* (`SceneService.GetScene`). The response is tolerated as either the bare scene
|
|
152
|
+
* object or a `{ scene }` envelope.
|
|
153
|
+
*/
|
|
154
|
+
export declare function getScene(execute: SceneDiscoveryRequestExecutor, sceneId: string, signal?: AbortSignal): Promise<HonuaScene>;
|
|
155
|
+
/**
|
|
156
|
+
* Resolve the static 3D-Tiles entry-point URL for a scene
|
|
157
|
+
* (`/scenes/{sceneId}/tileset.json`). Prefers the scene's advertised
|
|
158
|
+
* `tilesetUrl`; falls back to the conventional discovery path under `baseUrl`
|
|
159
|
+
* when the scene omits one. Returns `undefined` when neither is available.
|
|
160
|
+
*/
|
|
161
|
+
export declare function resolveSceneTilesetUrl(scene: HonuaScene, baseUrl?: string): string | undefined;
|
|
162
|
+
/**
|
|
163
|
+
* Build the camera primitive for a scene's suggested initial view, or
|
|
164
|
+
* `undefined` when the scene advertises no initial camera. Pure.
|
|
165
|
+
*/
|
|
166
|
+
export declare function sceneCameraPrimitive(scene: HonuaScene): SceneCameraPrimitive | undefined;
|
|
167
|
+
/**
|
|
168
|
+
* Build the 3D-Tiles model-layer primitive for a scene's root tileset, or
|
|
169
|
+
* `undefined` when the scene has no resolvable tileset URL. Pure.
|
|
170
|
+
*/
|
|
171
|
+
export declare function sceneTilesetPrimitive(scene: HonuaScene, baseUrl?: string): SceneModelLayerPrimitive | undefined;
|
|
172
|
+
/**
|
|
173
|
+
* Build the terrain elevation-source primitive for a scene's terrain provider,
|
|
174
|
+
* or `undefined` when the scene advertises no terrain. Pure. The provider is
|
|
175
|
+
* treated as a quantized-mesh endpoint (Cesium's `CesiumTerrainProvider`).
|
|
176
|
+
*/
|
|
177
|
+
export declare function sceneTerrainPrimitive(scene: HonuaScene): SceneElevationSourcePrimitive | undefined;
|
|
178
|
+
/**
|
|
179
|
+
* Map a discovered scene onto the renderer-neutral primitives the Cesium
|
|
180
|
+
* adapter renders: an initial-camera primitive, the terrain elevation source
|
|
181
|
+
* (when present), and the 3D-Tiles tileset (when resolvable). Pure; the result
|
|
182
|
+
* feeds straight into `applyCesiumScenePrimitives` / a `SceneView`.
|
|
183
|
+
*/
|
|
184
|
+
export declare function sceneToRuntimePrimitives(scene: HonuaScene, baseUrl?: string): Array<SceneCameraPrimitive | SceneElevationSourcePrimitive | SceneModelLayerPrimitive>;
|
|
185
|
+
/**
|
|
186
|
+
* Build the workspace layer states for a discovered scene (one per rendered
|
|
187
|
+
* primitive), so a {@link module:scene-workspace/workspace.SceneWorkspace} can
|
|
188
|
+
* seed its layer list from the scene. Pure.
|
|
189
|
+
*/
|
|
190
|
+
export declare function sceneLayerStates(scene: HonuaScene, baseUrl?: string): SceneLayerState[];
|
|
191
|
+
/**
|
|
192
|
+
* Convert a scene's named viewpoints into workspace {@link SceneBookmark}s. Pure.
|
|
193
|
+
*/
|
|
194
|
+
export declare function sceneViewpointBookmarks(scene: HonuaScene): SceneBookmark[];
|
|
195
|
+
export {};
|
|
196
|
+
//# sourceMappingURL=scene-discovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scene-discovery.d.ts","sourceRoot":"","sources":["../../../src/scene-workspace/scene-discovery.ts"],"names":[],"mappings":"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"}
|