@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,267 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `SceneView` — first-class 3D scene container backed by a Cesium runtime.
|
|
3
|
+
*
|
|
4
|
+
* `SceneView` is the 3D counterpart of {@link module:map.HonuaMap}: a cohesive,
|
|
5
|
+
* typed handle that loads a Honua scene and drives a live Cesium globe through
|
|
6
|
+
* the renderer-neutral {@link module:scene-workspace/cesium-adapter} (#1196). It
|
|
7
|
+
* renders the scene's 3D Tiles + terrain + glTF models (#1197) and exposes the
|
|
8
|
+
* 3D analysis + measurement widgets — line-of-sight, viewshed, measure, and
|
|
9
|
+
* elevation profile (#1205) — wired to the SDK's request pipeline.
|
|
10
|
+
*
|
|
11
|
+
* Like the rest of the scene workspace, this module never imports CesiumJS
|
|
12
|
+
* statically — the live `Viewer`/`Scene` is supplied by the caller as a
|
|
13
|
+
* {@link CesiumSceneRuntimeTarget}, and the adapter pulls the runtime in lazily
|
|
14
|
+
* only when it drives the globe. A `SceneView` constructed without a `target`
|
|
15
|
+
* still loads + diagnoses scenes (useful headless / in tests) but renders
|
|
16
|
+
* nothing.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```ts
|
|
20
|
+
* import { SceneView } from "@honua/sdk-js/scene-workspace";
|
|
21
|
+
*
|
|
22
|
+
* const view = new SceneView({ client, target: { camera: viewer.camera, scene: viewer.scene } });
|
|
23
|
+
* await view.loadScene("downtown");
|
|
24
|
+
* view.on((event) => { if (event.type === "scene-loaded") console.log(event.scene.title); });
|
|
25
|
+
*
|
|
26
|
+
* const los = await view.lineOfSight({
|
|
27
|
+
* datasetId: "dem",
|
|
28
|
+
* observer: { longitude: -157.8, latitude: 21.3, height: 30 },
|
|
29
|
+
* target: { longitude: -157.81, latitude: 21.31 },
|
|
30
|
+
* entities: viewer.entities,
|
|
31
|
+
* });
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* @experimental Part of the experimental `scene-workspace` surface; not yet
|
|
35
|
+
* covered by the SDK's semver contract prior to `1.0.0`.
|
|
36
|
+
* @module
|
|
37
|
+
*/
|
|
38
|
+
import { measureScenePositions, renderElevationProfilePolyline, renderLineOfSight, renderMeasurement, renderViewshed, requestElevationProfile, requestLineOfSight, requestViewshed, } from "./analysis-widgets.js";
|
|
39
|
+
import { applyCesiumScenePrimitives, cesiumCameraToSceneState, } from "./cesium-adapter.js";
|
|
40
|
+
import { getScene, listScenes, sceneLayerStates, sceneToRuntimePrimitives, sceneViewpointBookmarks, } from "./scene-discovery.js";
|
|
41
|
+
/**
|
|
42
|
+
* First-class 3D scene container. Loads a Honua scene, renders it through the
|
|
43
|
+
* Cesium adapter, and exposes the analysis/measurement widgets.
|
|
44
|
+
*/
|
|
45
|
+
export class SceneView {
|
|
46
|
+
#execute;
|
|
47
|
+
#target;
|
|
48
|
+
#baseUrl;
|
|
49
|
+
#listeners = new Set();
|
|
50
|
+
#layerHandles = new Map();
|
|
51
|
+
#scene;
|
|
52
|
+
#layers = [];
|
|
53
|
+
#bookmarks = [];
|
|
54
|
+
#diagnostics = [];
|
|
55
|
+
constructor(options) {
|
|
56
|
+
const execute = options.execute ?? bindClientExecutor(options.client);
|
|
57
|
+
if (!execute) {
|
|
58
|
+
throw new Error("SceneView requires either a `client` or an explicit `execute` transport.");
|
|
59
|
+
}
|
|
60
|
+
this.#execute = execute;
|
|
61
|
+
this.#target = options.target;
|
|
62
|
+
this.#baseUrl = options.baseUrl ?? options.client?.serverBaseUrl;
|
|
63
|
+
}
|
|
64
|
+
// ── Discovery ───────────────────────────────────────────────
|
|
65
|
+
/** List the catalog of available 3D scenes (`GET /api/scenes`). */
|
|
66
|
+
listScenes(signal) {
|
|
67
|
+
return listScenes(this.#discoveryExecutor(), signal);
|
|
68
|
+
}
|
|
69
|
+
/** Fetch a single scene's metadata without loading it (`GET /api/scenes/{id}`). */
|
|
70
|
+
getScene(sceneId, signal) {
|
|
71
|
+
return getScene(this.#discoveryExecutor(), sceneId, signal);
|
|
72
|
+
}
|
|
73
|
+
// ── Loading / rendering ─────────────────────────────────────
|
|
74
|
+
/**
|
|
75
|
+
* Load a scene by id (or a pre-fetched {@link HonuaScene}) and render it onto
|
|
76
|
+
* the live target: the initial camera, terrain provider, and 3D-Tiles
|
|
77
|
+
* tileset. Replaces any previously loaded scene's layers. Returns the loaded
|
|
78
|
+
* scene. When no target is attached the scene is loaded + diagnosed but not
|
|
79
|
+
* rendered.
|
|
80
|
+
*/
|
|
81
|
+
async loadScene(scene, signal) {
|
|
82
|
+
const resolved = typeof scene === "string" ? await this.getScene(scene, signal) : scene;
|
|
83
|
+
this.#teardownLayers();
|
|
84
|
+
this.#scene = resolved;
|
|
85
|
+
this.#bookmarks = sceneViewpointBookmarks(resolved);
|
|
86
|
+
this.#layers = sceneLayerStates(resolved, this.#baseUrl);
|
|
87
|
+
if (this.#target) {
|
|
88
|
+
const primitives = sceneToRuntimePrimitives(resolved, this.#baseUrl);
|
|
89
|
+
const result = await applyCesiumScenePrimitives(this.#target, primitives);
|
|
90
|
+
this.#diagnostics = result.diagnostics;
|
|
91
|
+
for (const [id, handle] of result.layers)
|
|
92
|
+
this.#layerHandles.set(id, handle);
|
|
93
|
+
this.#emit({ type: "diagnostics", diagnostics: this.#diagnostics });
|
|
94
|
+
}
|
|
95
|
+
this.#emit({ type: "scene-loaded", scene: resolved });
|
|
96
|
+
this.#emit({ type: "layers-changed", layers: this.#layers });
|
|
97
|
+
return resolved;
|
|
98
|
+
}
|
|
99
|
+
/** The currently loaded scene, or `undefined` before the first `loadScene`. */
|
|
100
|
+
get scene() {
|
|
101
|
+
return this.#scene;
|
|
102
|
+
}
|
|
103
|
+
/** Snapshot of the loaded scene's layers (one per rendered primitive). */
|
|
104
|
+
get layers() {
|
|
105
|
+
return this.#layers;
|
|
106
|
+
}
|
|
107
|
+
/** The loaded scene's named viewpoints as workspace bookmarks. */
|
|
108
|
+
get bookmarks() {
|
|
109
|
+
return this.#bookmarks;
|
|
110
|
+
}
|
|
111
|
+
/** Diagnostics from the most recent render (capability gaps, fallbacks). */
|
|
112
|
+
get diagnostics() {
|
|
113
|
+
return this.#diagnostics;
|
|
114
|
+
}
|
|
115
|
+
/** Whether a live Cesium target is attached (and therefore rendering). */
|
|
116
|
+
get hasTarget() {
|
|
117
|
+
return this.#target !== undefined;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Toggle a rendered layer's visibility on the live globe and in the layer
|
|
121
|
+
* snapshot. No-ops (still updates the snapshot) when the layer is not rendered
|
|
122
|
+
* (e.g. no target attached). Returns `true` when the layer is known.
|
|
123
|
+
*/
|
|
124
|
+
setLayerVisible(layerId, visible) {
|
|
125
|
+
const layer = this.#layers.find((entry) => entry.id === layerId);
|
|
126
|
+
if (!layer)
|
|
127
|
+
return false;
|
|
128
|
+
this.#layerHandles.get(layerId)?.setVisible(visible);
|
|
129
|
+
this.#layers = this.#layers.map((entry) => (entry.id === layerId ? { ...entry, visible } : entry));
|
|
130
|
+
this.#emit({ type: "layer-visibility", layerId, visible });
|
|
131
|
+
this.#emit({ type: "layers-changed", layers: this.#layers });
|
|
132
|
+
return true;
|
|
133
|
+
}
|
|
134
|
+
// ── Camera ──────────────────────────────────────────────────
|
|
135
|
+
/**
|
|
136
|
+
* Read the live camera back as a renderer-neutral {@link SceneCameraState},
|
|
137
|
+
* or `undefined` when no target is attached. Also emits a `camera-change`
|
|
138
|
+
* event so subscribers can persist the current view.
|
|
139
|
+
*/
|
|
140
|
+
readCamera() {
|
|
141
|
+
if (!this.#target)
|
|
142
|
+
return undefined;
|
|
143
|
+
const camera = cesiumCameraToSceneState(this.#target.camera);
|
|
144
|
+
this.#emit({ type: "camera-change", camera });
|
|
145
|
+
return camera;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Fly/jump to a named viewpoint (bookmark) on the loaded scene. Returns the
|
|
149
|
+
* applied camera state, or `undefined` when the viewpoint is unknown. The
|
|
150
|
+
* actual `Camera.setView` is performed through the adapter so no static Cesium
|
|
151
|
+
* import is needed here.
|
|
152
|
+
*/
|
|
153
|
+
async applyBookmark(bookmarkId) {
|
|
154
|
+
const bookmark = this.#bookmarks.find((entry) => entry.id === bookmarkId);
|
|
155
|
+
if (!bookmark)
|
|
156
|
+
return undefined;
|
|
157
|
+
return this.setCamera(bookmark.camera);
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Set the live camera to an explicit {@link SceneCameraState}. Returns the
|
|
161
|
+
* applied state (or `undefined` when no target is attached). Routed through
|
|
162
|
+
* the adapter's camera primitive so the lazy Cesium import stays centralized.
|
|
163
|
+
*/
|
|
164
|
+
async setCamera(camera) {
|
|
165
|
+
if (!this.#target)
|
|
166
|
+
return undefined;
|
|
167
|
+
await applyCesiumScenePrimitives(this.#target, [
|
|
168
|
+
{ kind: "camera", id: "scene-view:set-camera", camera, mode: "global" },
|
|
169
|
+
]);
|
|
170
|
+
this.#emit({ type: "camera-change", camera });
|
|
171
|
+
return camera;
|
|
172
|
+
}
|
|
173
|
+
// ── Analysis + measurement widgets (#1205) ──────────────────
|
|
174
|
+
/**
|
|
175
|
+
* Run a line-of-sight analysis between an observer and a target. When an
|
|
176
|
+
* `entities` collection is supplied the sightline + obstruction marker are
|
|
177
|
+
* drawn into the scene and the overlay handle is returned alongside the
|
|
178
|
+
* result.
|
|
179
|
+
*/
|
|
180
|
+
async lineOfSight(request) {
|
|
181
|
+
const result = await requestLineOfSight(this.#analysisExecutor(), request);
|
|
182
|
+
if (!request.entities)
|
|
183
|
+
return { result };
|
|
184
|
+
const overlay = await renderLineOfSight(request.entities, request, result, request.cesium);
|
|
185
|
+
return { result, overlay };
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Run a viewshed analysis from an observer position. When an `entities`
|
|
189
|
+
* collection is supplied the radial visibility samples are drawn into the
|
|
190
|
+
* scene and the overlay handle is returned alongside the result.
|
|
191
|
+
*/
|
|
192
|
+
async viewshed(request) {
|
|
193
|
+
const result = await requestViewshed(this.#analysisExecutor(), request);
|
|
194
|
+
if (!request.entities)
|
|
195
|
+
return { result };
|
|
196
|
+
const overlay = await renderViewshed(request.entities, result, request.cesium);
|
|
197
|
+
return { result, overlay };
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Request an elevation profile along a polyline. When an `entities`
|
|
201
|
+
* collection is supplied the draped profile line is drawn into the scene and
|
|
202
|
+
* the overlay handle is returned alongside the result.
|
|
203
|
+
*/
|
|
204
|
+
async elevationProfile(request) {
|
|
205
|
+
const result = await requestElevationProfile(this.#analysisExecutor(), request);
|
|
206
|
+
if (!request.entities)
|
|
207
|
+
return { result };
|
|
208
|
+
const overlay = await renderElevationProfilePolyline(request.entities, request.polyline, request.cesium);
|
|
209
|
+
return { result, overlay };
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Compute a fully client-side 3D distance or area measurement from an ordered
|
|
213
|
+
* list of positions (typically picked off the scene). When an `entities`
|
|
214
|
+
* collection is supplied the measured polyline/polygon + label are drawn into
|
|
215
|
+
* the scene and the overlay handle is returned alongside the measurement.
|
|
216
|
+
*/
|
|
217
|
+
async measure(positions, options = {}) {
|
|
218
|
+
const measurement = measureScenePositions(positions, options.mode ?? "distance");
|
|
219
|
+
if (!options.entities)
|
|
220
|
+
return { measurement };
|
|
221
|
+
const overlay = await renderMeasurement(options.entities, measurement, options.cesium);
|
|
222
|
+
return { measurement, overlay };
|
|
223
|
+
}
|
|
224
|
+
// ── Events / lifecycle ──────────────────────────────────────
|
|
225
|
+
/** Subscribe to view events. Returns a handle with `remove()` to unsubscribe. */
|
|
226
|
+
on(listener) {
|
|
227
|
+
this.#listeners.add(listener);
|
|
228
|
+
return {
|
|
229
|
+
remove: () => {
|
|
230
|
+
this.#listeners.delete(listener);
|
|
231
|
+
},
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Tear down all rendered layers and clear listeners. The supplied Cesium
|
|
236
|
+
* target is owned by the caller and is NOT destroyed.
|
|
237
|
+
*/
|
|
238
|
+
dispose() {
|
|
239
|
+
this.#teardownLayers();
|
|
240
|
+
this.#listeners.clear();
|
|
241
|
+
this.#scene = undefined;
|
|
242
|
+
this.#layers = [];
|
|
243
|
+
this.#bookmarks = [];
|
|
244
|
+
this.#diagnostics = [];
|
|
245
|
+
}
|
|
246
|
+
// ── Internals ───────────────────────────────────────────────
|
|
247
|
+
#discoveryExecutor() {
|
|
248
|
+
return this.#execute;
|
|
249
|
+
}
|
|
250
|
+
#analysisExecutor() {
|
|
251
|
+
return this.#execute;
|
|
252
|
+
}
|
|
253
|
+
#teardownLayers() {
|
|
254
|
+
for (const handle of this.#layerHandles.values())
|
|
255
|
+
handle.remove();
|
|
256
|
+
this.#layerHandles.clear();
|
|
257
|
+
}
|
|
258
|
+
#emit(event) {
|
|
259
|
+
for (const listener of this.#listeners)
|
|
260
|
+
listener(event);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
function bindClientExecutor(client) {
|
|
264
|
+
if (!client)
|
|
265
|
+
return undefined;
|
|
266
|
+
return (method, path, init, signal) => client.pipelineRequestJson(method, path, init, signal);
|
|
267
|
+
}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Renderer-neutral 3D scene workspace contracts.
|
|
3
|
+
*
|
|
4
|
+
* These types intentionally describe state and adapter events without
|
|
5
|
+
* importing Cesium, MapLibre, or any rendering package.
|
|
6
|
+
*
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
import type { FeatureId, SourceId } from "../contract/types.js";
|
|
10
|
+
import type { FeatureSelectionTarget, FilterClause } from "../exploration/index.js";
|
|
11
|
+
import type { RealtimeConnectionStatus } from "../realtime/index.js";
|
|
12
|
+
import type { ScenePrimitiveDiagnostic, SceneRuntimePrimitive } from "./primitives.js";
|
|
13
|
+
export type SceneWorkspaceSlice = "all" | "scene" | "camera" | "layers" | "primitives" | "diagnostics" | "filters" | "detail" | "selection" | "timeline" | "evidence" | "realtime" | "history";
|
|
14
|
+
export declare const SCENE_WORKSPACE_SLICES: readonly SceneWorkspaceSlice[];
|
|
15
|
+
export interface SceneLayerState {
|
|
16
|
+
readonly id: string;
|
|
17
|
+
readonly sourceId?: SourceId;
|
|
18
|
+
readonly title?: string;
|
|
19
|
+
readonly visible: boolean;
|
|
20
|
+
readonly opacity?: number;
|
|
21
|
+
readonly kind?: "scene" | "feature" | "imagery" | "tiles" | "evidence" | "custom";
|
|
22
|
+
}
|
|
23
|
+
export interface SceneCameraState {
|
|
24
|
+
readonly longitude: number;
|
|
25
|
+
readonly latitude: number;
|
|
26
|
+
readonly height: number;
|
|
27
|
+
readonly heading?: number;
|
|
28
|
+
readonly pitch?: number;
|
|
29
|
+
readonly roll?: number;
|
|
30
|
+
}
|
|
31
|
+
export interface SceneBookmark {
|
|
32
|
+
readonly id: string;
|
|
33
|
+
readonly label: string;
|
|
34
|
+
readonly camera: SceneCameraState;
|
|
35
|
+
}
|
|
36
|
+
export interface SceneTimelineState {
|
|
37
|
+
readonly currentTime?: string;
|
|
38
|
+
readonly startTime?: string;
|
|
39
|
+
readonly endTime?: string;
|
|
40
|
+
readonly playing?: boolean;
|
|
41
|
+
readonly progress?: number;
|
|
42
|
+
}
|
|
43
|
+
export interface SceneEvidenceReference {
|
|
44
|
+
readonly id: string;
|
|
45
|
+
readonly label: string;
|
|
46
|
+
readonly kind: "image" | "video" | "document" | "point-cloud" | "model" | "sensor" | "custom";
|
|
47
|
+
readonly sourceId?: SourceId;
|
|
48
|
+
readonly featureId?: FeatureId;
|
|
49
|
+
readonly url?: string;
|
|
50
|
+
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
51
|
+
}
|
|
52
|
+
export interface SceneRealtimeState {
|
|
53
|
+
readonly status: RealtimeConnectionStatus;
|
|
54
|
+
readonly cursor?: string;
|
|
55
|
+
readonly staleSince?: number;
|
|
56
|
+
}
|
|
57
|
+
export interface SceneDetailState {
|
|
58
|
+
readonly target?: FeatureSelectionTarget;
|
|
59
|
+
readonly sourceId?: SourceId;
|
|
60
|
+
readonly featureId?: FeatureId;
|
|
61
|
+
readonly title?: string;
|
|
62
|
+
readonly status?: "empty" | "loading" | "ready" | "stale" | "error";
|
|
63
|
+
readonly attributes?: Readonly<Record<string, unknown>>;
|
|
64
|
+
}
|
|
65
|
+
export interface SceneWorkspaceState {
|
|
66
|
+
readonly sceneId?: string;
|
|
67
|
+
readonly title?: string;
|
|
68
|
+
readonly layers: Readonly<Record<string, SceneLayerState>>;
|
|
69
|
+
readonly primitives: Readonly<Record<string, SceneRuntimePrimitive>>;
|
|
70
|
+
readonly diagnostics: ReadonlyArray<ScenePrimitiveDiagnostic>;
|
|
71
|
+
readonly filters: Readonly<Record<string, FilterClause>>;
|
|
72
|
+
readonly detail: SceneDetailState;
|
|
73
|
+
readonly camera?: SceneCameraState;
|
|
74
|
+
readonly bookmarks: Readonly<Record<string, SceneBookmark>>;
|
|
75
|
+
readonly selection: ReadonlyArray<FeatureSelectionTarget>;
|
|
76
|
+
readonly activeAssetId?: FeatureId;
|
|
77
|
+
readonly timeline: SceneTimelineState;
|
|
78
|
+
readonly evidence: Readonly<Record<string, SceneEvidenceReference>>;
|
|
79
|
+
readonly realtime: SceneRealtimeState;
|
|
80
|
+
readonly history: ReadonlyArray<SceneWorkspaceHistoryEntry>;
|
|
81
|
+
}
|
|
82
|
+
export interface SceneWorkspaceHistoryEntry {
|
|
83
|
+
readonly id: string;
|
|
84
|
+
readonly label: string;
|
|
85
|
+
readonly at: string;
|
|
86
|
+
readonly intentKind: SceneWorkspaceIntent["kind"];
|
|
87
|
+
}
|
|
88
|
+
export interface SceneWorkspaceSnapshot {
|
|
89
|
+
readonly version: 1;
|
|
90
|
+
readonly state: SceneWorkspaceState;
|
|
91
|
+
}
|
|
92
|
+
export type SceneWorkspaceIntent = SetSceneIntent | SetSceneLayersIntent | SetScenePrimitivesIntent | SetSceneDiagnosticsIntent | SetLayerVisibilityIntent | SetCameraIntent | ApplyBookmarkIntent | SetSceneFilterIntent | ClearSceneFilterIntent | SetSelectionIntent | ClearSelectionIntent | SetSceneDetailIntent | SetActiveAssetIntent | SetTimelineIntent | AddEvidenceIntent | RemoveEvidenceIntent | SetRealtimeIntent | RestoreSceneWorkspaceIntent;
|
|
93
|
+
interface IntentBase {
|
|
94
|
+
readonly source?: "scene" | "map" | "table" | "detail" | "timeline" | "realtime" | "workspace" | "custom";
|
|
95
|
+
readonly historyLabel?: string;
|
|
96
|
+
readonly at?: string;
|
|
97
|
+
}
|
|
98
|
+
export interface SetSceneIntent extends IntentBase {
|
|
99
|
+
readonly kind: "set-scene";
|
|
100
|
+
readonly sceneId: string | undefined;
|
|
101
|
+
readonly title?: string;
|
|
102
|
+
}
|
|
103
|
+
export interface SetSceneLayersIntent extends IntentBase {
|
|
104
|
+
readonly kind: "set-layers";
|
|
105
|
+
readonly layers: ReadonlyArray<SceneLayerState>;
|
|
106
|
+
}
|
|
107
|
+
export interface SetScenePrimitivesIntent extends IntentBase {
|
|
108
|
+
readonly kind: "set-primitives";
|
|
109
|
+
readonly primitives: ReadonlyArray<SceneRuntimePrimitive>;
|
|
110
|
+
}
|
|
111
|
+
export interface SetSceneDiagnosticsIntent extends IntentBase {
|
|
112
|
+
readonly kind: "set-diagnostics";
|
|
113
|
+
readonly diagnostics: ReadonlyArray<ScenePrimitiveDiagnostic>;
|
|
114
|
+
}
|
|
115
|
+
export interface SetLayerVisibilityIntent extends IntentBase {
|
|
116
|
+
readonly kind: "set-layer-visibility";
|
|
117
|
+
readonly layerId: string;
|
|
118
|
+
readonly visible: boolean;
|
|
119
|
+
}
|
|
120
|
+
export interface SetCameraIntent extends IntentBase {
|
|
121
|
+
readonly kind: "set-camera";
|
|
122
|
+
readonly camera: SceneCameraState | undefined;
|
|
123
|
+
}
|
|
124
|
+
export interface ApplyBookmarkIntent extends IntentBase {
|
|
125
|
+
readonly kind: "apply-bookmark";
|
|
126
|
+
readonly bookmark: SceneBookmark;
|
|
127
|
+
}
|
|
128
|
+
export interface SetSceneFilterIntent extends IntentBase {
|
|
129
|
+
readonly kind: "set-filter";
|
|
130
|
+
readonly id: string;
|
|
131
|
+
readonly clause: FilterClause;
|
|
132
|
+
}
|
|
133
|
+
export interface ClearSceneFilterIntent extends IntentBase {
|
|
134
|
+
readonly kind: "clear-filter";
|
|
135
|
+
readonly id: string;
|
|
136
|
+
}
|
|
137
|
+
export interface SetSelectionIntent extends IntentBase {
|
|
138
|
+
readonly kind: "set-selection";
|
|
139
|
+
readonly selection: ReadonlyArray<FeatureSelectionTarget>;
|
|
140
|
+
}
|
|
141
|
+
export interface ClearSelectionIntent extends IntentBase {
|
|
142
|
+
readonly kind: "clear-selection";
|
|
143
|
+
}
|
|
144
|
+
export interface SetSceneDetailIntent extends IntentBase {
|
|
145
|
+
readonly kind: "set-detail";
|
|
146
|
+
readonly detail: SceneDetailState;
|
|
147
|
+
}
|
|
148
|
+
export interface SetActiveAssetIntent extends IntentBase {
|
|
149
|
+
readonly kind: "set-active-asset";
|
|
150
|
+
readonly id: FeatureId | undefined;
|
|
151
|
+
}
|
|
152
|
+
export interface SetTimelineIntent extends IntentBase {
|
|
153
|
+
readonly kind: "set-timeline";
|
|
154
|
+
readonly timeline: SceneTimelineState;
|
|
155
|
+
}
|
|
156
|
+
export interface AddEvidenceIntent extends IntentBase {
|
|
157
|
+
readonly kind: "add-evidence";
|
|
158
|
+
readonly evidence: SceneEvidenceReference;
|
|
159
|
+
}
|
|
160
|
+
export interface RemoveEvidenceIntent extends IntentBase {
|
|
161
|
+
readonly kind: "remove-evidence";
|
|
162
|
+
readonly id: string;
|
|
163
|
+
}
|
|
164
|
+
export interface SetRealtimeIntent extends IntentBase {
|
|
165
|
+
readonly kind: "set-realtime";
|
|
166
|
+
readonly realtime: SceneRealtimeState;
|
|
167
|
+
}
|
|
168
|
+
export interface RestoreSceneWorkspaceIntent extends IntentBase {
|
|
169
|
+
readonly kind: "restore";
|
|
170
|
+
readonly snapshot: SceneWorkspaceSnapshot;
|
|
171
|
+
}
|
|
172
|
+
export type SceneWorkspaceAdapterEvent = SceneWorkspaceCameraEvent | SceneWorkspaceLayerVisibilityEvent | SceneWorkspacePrimitiveDiagnosticsEvent | SceneWorkspaceFilterEvent | SceneWorkspaceSelectionEvent | SceneWorkspaceDetailEvent | SceneWorkspaceTimelineEvent | SceneWorkspaceEvidenceEvent | SceneWorkspaceRealtimeEvent;
|
|
173
|
+
export interface SceneWorkspaceCameraEvent {
|
|
174
|
+
readonly type: "camera-change";
|
|
175
|
+
readonly camera: SceneCameraState | undefined;
|
|
176
|
+
}
|
|
177
|
+
export interface SceneWorkspaceLayerVisibilityEvent {
|
|
178
|
+
readonly type: "layer-visibility-change";
|
|
179
|
+
readonly layerId: string;
|
|
180
|
+
readonly visible: boolean;
|
|
181
|
+
}
|
|
182
|
+
export interface SceneWorkspacePrimitiveDiagnosticsEvent {
|
|
183
|
+
readonly type: "primitive-diagnostics";
|
|
184
|
+
readonly diagnostics: ReadonlyArray<ScenePrimitiveDiagnostic>;
|
|
185
|
+
}
|
|
186
|
+
export interface SceneWorkspaceFilterEvent {
|
|
187
|
+
readonly type: "filter-change";
|
|
188
|
+
readonly id: string;
|
|
189
|
+
readonly clause: FilterClause | undefined;
|
|
190
|
+
}
|
|
191
|
+
export interface SceneWorkspaceSelectionEvent {
|
|
192
|
+
readonly type: "selection-change";
|
|
193
|
+
readonly selection: ReadonlyArray<FeatureSelectionTarget>;
|
|
194
|
+
}
|
|
195
|
+
export interface SceneWorkspaceDetailEvent {
|
|
196
|
+
readonly type: "detail-change";
|
|
197
|
+
readonly detail: SceneDetailState;
|
|
198
|
+
}
|
|
199
|
+
export interface SceneWorkspaceTimelineEvent {
|
|
200
|
+
readonly type: "timeline-change";
|
|
201
|
+
readonly timeline: SceneTimelineState;
|
|
202
|
+
}
|
|
203
|
+
export interface SceneWorkspaceEvidenceEvent {
|
|
204
|
+
readonly type: "evidence-add" | "evidence-remove";
|
|
205
|
+
readonly evidence?: SceneEvidenceReference;
|
|
206
|
+
readonly id?: string;
|
|
207
|
+
}
|
|
208
|
+
export interface SceneWorkspaceRealtimeEvent {
|
|
209
|
+
readonly type: "realtime-status";
|
|
210
|
+
readonly realtime: SceneRealtimeState;
|
|
211
|
+
}
|
|
212
|
+
export interface SceneWorkspaceChangeEvent {
|
|
213
|
+
readonly state: SceneWorkspaceState;
|
|
214
|
+
readonly previous: SceneWorkspaceState;
|
|
215
|
+
readonly changedSlices: ReadonlySet<SceneWorkspaceSlice>;
|
|
216
|
+
readonly intent: SceneWorkspaceIntent;
|
|
217
|
+
}
|
|
218
|
+
export type SceneWorkspaceListener = (event: SceneWorkspaceChangeEvent) => void;
|
|
219
|
+
export type SceneWorkspaceUnsubscribe = () => void;
|
|
220
|
+
export interface SceneWorkspace {
|
|
221
|
+
readonly state: SceneWorkspaceState;
|
|
222
|
+
dispatch(intent: SceneWorkspaceIntent): SceneWorkspaceState;
|
|
223
|
+
subscribe(slice: SceneWorkspaceSlice, listener: SceneWorkspaceListener): SceneWorkspaceUnsubscribe;
|
|
224
|
+
snapshot(): SceneWorkspaceSnapshot;
|
|
225
|
+
restore(snapshot: SceneWorkspaceSnapshot): SceneWorkspaceState;
|
|
226
|
+
dispose(): void;
|
|
227
|
+
}
|
|
228
|
+
export {};
|
|
229
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/scene-workspace/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,KAAK,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAEvF,MAAM,MAAM,mBAAmB,GAC3B,KAAK,GACL,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,YAAY,GACZ,aAAa,GACb,SAAS,GACT,QAAQ,GACR,WAAW,GACX,UAAU,GACV,UAAU,GACV,UAAU,GACV,SAAS,CAAC;AAEd,eAAO,MAAM,sBAAsB,EAAE,SAAS,mBAAmB,EAcvD,CAAC;AAEX,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;CACnF;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC9F,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,sBAAsB,CAAC;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;IACpE,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IAC3D,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC;IACrE,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,wBAAwB,CAAC,CAAC;IAC9D,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IACzD,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;IAC5D,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;IAC1D,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC;IACpE,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,0BAA0B,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;CACrC;AAED,MAAM,MAAM,oBAAoB,GAC5B,cAAc,GACd,oBAAoB,GACpB,wBAAwB,GACxB,yBAAyB,GACzB,wBAAwB,GACxB,eAAe,GACf,mBAAmB,GACnB,oBAAoB,GACpB,sBAAsB,GACtB,kBAAkB,GAClB,oBAAoB,GACpB,oBAAoB,GACpB,oBAAoB,GACpB,iBAAiB,GACjB,iBAAiB,GACjB,oBAAoB,GACpB,iBAAiB,GACjB,2BAA2B,CAAC;AAEhC,UAAU,UAAU;IAClB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC1G,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oBAAqB,SAAQ,UAAU;IACtD,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,wBAAyB,SAAQ,UAAU;IAC1D,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;CAC3D;AAED,MAAM,WAAW,yBAA0B,SAAQ,UAAU;IAC3D,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,wBAAwB,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,wBAAyB,SAAQ,UAAU;IAC1D,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC;CAC/C;AAED,MAAM,WAAW,mBAAoB,SAAQ,UAAU;IACrD,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;CAClC;AAED,MAAM,WAAW,oBAAqB,SAAQ,UAAU;IACtD,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;CAC/B;AAED,MAAM,WAAW,sBAAuB,SAAQ,UAAU;IACxD,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IACpD,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;CAC3D;AAED,MAAM,WAAW,oBAAqB,SAAQ,UAAU;IACtD,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;CAClC;AAED,MAAM,WAAW,oBAAqB,SAAQ,UAAU;IACtD,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;CACnC;AAED,MAAM,WAAW,oBAAqB,SAAQ,UAAU;IACtD,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,EAAE,EAAE,SAAS,GAAG,SAAS,CAAC;CACpC;AAED,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACnD,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;CACvC;AAED,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACnD,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;CAC3C;AAED,MAAM,WAAW,oBAAqB,SAAQ,UAAU;IACtD,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACnD,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;CACvC;AAED,MAAM,WAAW,2BAA4B,SAAQ,UAAU;IAC7D,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;CAC3C;AAED,MAAM,MAAM,0BAA0B,GAClC,yBAAyB,GACzB,kCAAkC,GAClC,uCAAuC,GACvC,yBAAyB,GACzB,4BAA4B,GAC5B,yBAAyB,GACzB,2BAA2B,GAC3B,2BAA2B,GAC3B,2BAA2B,CAAC;AAEhC,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC;CAC/C;AAED,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,uCAAuC;IACtD,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,wBAAwB,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC;CAC3C;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;CAC3D;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;CACnC;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;CACvC;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,iBAAiB,CAAC;IAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAC3C,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;CACvC;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,mBAAmB,CAAC,CAAC;IACzD,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;CACvC;AAED,MAAM,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;AAChF,MAAM,MAAM,yBAAyB,GAAG,MAAM,IAAI,CAAC;AAEnD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,GAAG,mBAAmB,CAAC;IAC5D,SAAS,CAAC,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,sBAAsB,GAAG,yBAAyB,CAAC;IACnG,QAAQ,IAAI,sBAAsB,CAAC;IACnC,OAAO,CAAC,QAAQ,EAAE,sBAAsB,GAAG,mBAAmB,CAAC;IAC/D,OAAO,IAAI,IAAI,CAAC;CACjB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Renderer-neutral 3D scene workspace contracts.
|
|
3
|
+
*
|
|
4
|
+
* These types intentionally describe state and adapter events without
|
|
5
|
+
* importing Cesium, MapLibre, or any rendering package.
|
|
6
|
+
*
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
export const SCENE_WORKSPACE_SLICES = [
|
|
10
|
+
"all",
|
|
11
|
+
"scene",
|
|
12
|
+
"camera",
|
|
13
|
+
"layers",
|
|
14
|
+
"primitives",
|
|
15
|
+
"diagnostics",
|
|
16
|
+
"filters",
|
|
17
|
+
"detail",
|
|
18
|
+
"selection",
|
|
19
|
+
"timeline",
|
|
20
|
+
"evidence",
|
|
21
|
+
"realtime",
|
|
22
|
+
"history",
|
|
23
|
+
];
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ScenePrimitiveDiagnostic, SceneRuntimePrimitive } from "./primitives.js";
|
|
2
|
+
import type { SceneEvidenceReference, SceneLayerState, SceneWorkspace, SceneWorkspaceAdapterEvent, SceneWorkspaceIntent, SceneWorkspaceState } from "./types.js";
|
|
3
|
+
export declare function emptySceneWorkspaceState(): SceneWorkspaceState;
|
|
4
|
+
export declare function createSceneWorkspace(initialState?: Partial<SceneWorkspaceState>): SceneWorkspace;
|
|
5
|
+
export declare function reduceSceneWorkspaceState(state: SceneWorkspaceState, intent: SceneWorkspaceIntent): SceneWorkspaceState;
|
|
6
|
+
export declare function sceneWorkspaceIntentFromAdapterEvent(event: SceneWorkspaceAdapterEvent, source?: SceneWorkspaceIntent["source"]): SceneWorkspaceIntent;
|
|
7
|
+
export declare function selectSceneVisibleLayers(state: SceneWorkspaceState): SceneLayerState[];
|
|
8
|
+
export declare function selectScenePrimitivesByKind<K extends SceneRuntimePrimitive["kind"]>(state: SceneWorkspaceState, kind: K): Array<Extract<SceneRuntimePrimitive, {
|
|
9
|
+
readonly kind: K;
|
|
10
|
+
}>>;
|
|
11
|
+
export declare function selectSceneDiagnosticsByStatus(state: SceneWorkspaceState, status: ScenePrimitiveDiagnostic["status"]): ScenePrimitiveDiagnostic[];
|
|
12
|
+
export declare function selectSceneEvidenceForFeature(state: SceneWorkspaceState, featureId: string | number | undefined): SceneEvidenceReference[];
|
|
13
|
+
//# sourceMappingURL=workspace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../../src/scene-workspace/workspace.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACvF,OAAO,KAAK,EACV,sBAAsB,EACtB,eAAe,EACf,cAAc,EACd,0BAA0B,EAE1B,oBAAoB,EAIpB,mBAAmB,EAEpB,MAAM,YAAY,CAAC;AAEpB,wBAAgB,wBAAwB,IAAI,mBAAmB,CAc9D;AAED,wBAAgB,oBAAoB,CAAC,YAAY,GAAE,OAAO,CAAC,mBAAmB,CAAM,GAAG,cAAc,CAoDpG;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,mBAAmB,EAC1B,MAAM,EAAE,oBAAoB,GAC3B,mBAAmB,CAGrB;AAED,wBAAgB,oCAAoC,CAClD,KAAK,EAAE,0BAA0B,EACjC,MAAM,GAAE,oBAAoB,CAAC,QAAQ,CAAW,GAC/C,oBAAoB,CA4CtB;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,mBAAmB,GAAG,eAAe,EAAE,CAEtF;AAED,wBAAgB,2BAA2B,CAAC,CAAC,SAAS,qBAAqB,CAAC,MAAM,CAAC,EACjF,KAAK,EAAE,mBAAmB,EAC1B,IAAI,EAAE,CAAC,GACN,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,CAAC,CAI7D;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,mBAAmB,EAC1B,MAAM,EAAE,wBAAwB,CAAC,QAAQ,CAAC,GACzC,wBAAwB,EAAE,CAE5B;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,mBAAmB,EAC1B,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GACrC,sBAAsB,EAAE,CAG1B"}
|