astro-viewer 1.3.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/README.md +373 -0
- package/dist/astroviewer.cjs +13941 -0
- package/dist/astroviewer.cjs.map +1 -0
- package/dist/astroviewer.js +2 -0
- package/dist/astroviewer.js.map +1 -0
- package/dist/astroviewer.min.js +2 -0
- package/dist/astroviewer.min.js.map +1 -0
- package/lib-esm/AstroSphere.d.ts +114 -0
- package/lib-esm/AstroSphere.d.ts.map +1 -0
- package/lib-esm/AstroSphere.js +679 -0
- package/lib-esm/AstroSphere.js.map +1 -0
- package/lib-esm/AstroViewer.d.ts +81 -0
- package/lib-esm/AstroViewer.d.ts.map +1 -0
- package/lib-esm/AstroViewer.js +348 -0
- package/lib-esm/AstroViewer.js.map +1 -0
- package/lib-esm/Camera.d.ts +74 -0
- package/lib-esm/Camera.d.ts.map +1 -0
- package/lib-esm/Camera.js +334 -0
- package/lib-esm/Camera.js.map +1 -0
- package/lib-esm/Config.d.ts +20 -0
- package/lib-esm/Config.d.ts.map +1 -0
- package/lib-esm/Config.js +32 -0
- package/lib-esm/Config.js.map +1 -0
- package/lib-esm/Global.d.ts +27 -0
- package/lib-esm/Global.d.ts.map +1 -0
- package/lib-esm/Global.js +52 -0
- package/lib-esm/Global.js.map +1 -0
- package/lib-esm/index.d.ts +17 -0
- package/lib-esm/index.d.ts.map +1 -0
- package/lib-esm/index.js +16 -0
- package/lib-esm/index.js.map +1 -0
- package/lib-esm/model/AbstractSkyEntity.d.ts +55 -0
- package/lib-esm/model/AbstractSkyEntity.d.ts.map +1 -0
- package/lib-esm/model/AbstractSkyEntity.js +153 -0
- package/lib-esm/model/AbstractSkyEntity.js.map +1 -0
- package/lib-esm/model/AstroGL.d.ts +11 -0
- package/lib-esm/model/AstroGL.d.ts.map +1 -0
- package/lib-esm/model/AstroGL.js +2 -0
- package/lib-esm/model/AstroGL.js.map +1 -0
- package/lib-esm/model/ColorMaps.d.ts +17 -0
- package/lib-esm/model/ColorMaps.d.ts.map +1 -0
- package/lib-esm/model/ColorMaps.js +1288 -0
- package/lib-esm/model/ColorMaps.js.map +1 -0
- package/lib-esm/model/FoV.d.ts +63 -0
- package/lib-esm/model/FoV.d.ts.map +1 -0
- package/lib-esm/model/FoV.js +275 -0
- package/lib-esm/model/FoV.js.map +1 -0
- package/lib-esm/model/MetadataColumn.d.ts +50 -0
- package/lib-esm/model/MetadataColumn.d.ts.map +1 -0
- package/lib-esm/model/MetadataColumn.js +95 -0
- package/lib-esm/model/MetadataColumn.js.map +1 -0
- package/lib-esm/model/MetadataManager.d.ts +43 -0
- package/lib-esm/model/MetadataManager.d.ts.map +1 -0
- package/lib-esm/model/MetadataManager.js +117 -0
- package/lib-esm/model/MetadataManager.js.map +1 -0
- package/lib-esm/model/Point.d.ts +53 -0
- package/lib-esm/model/Point.d.ts.map +1 -0
- package/lib-esm/model/Point.js +133 -0
- package/lib-esm/model/Point.js.map +1 -0
- package/lib-esm/model/Point2D.d.ts +9 -0
- package/lib-esm/model/Point2D.d.ts.map +1 -0
- package/lib-esm/model/Point2D.js +16 -0
- package/lib-esm/model/Point2D.js.map +1 -0
- package/lib-esm/model/Source.d.ts +34 -0
- package/lib-esm/model/Source.d.ts.map +1 -0
- package/lib-esm/model/Source.js +63 -0
- package/lib-esm/model/Source.js.map +1 -0
- package/lib-esm/model/catalogues/CatalogueGL.d.ts +91 -0
- package/lib-esm/model/catalogues/CatalogueGL.d.ts.map +1 -0
- package/lib-esm/model/catalogues/CatalogueGL.js +614 -0
- package/lib-esm/model/catalogues/CatalogueGL.js.map +1 -0
- package/lib-esm/model/catalogues/CatalogueProps.d.ts +2 -0
- package/lib-esm/model/catalogues/CatalogueProps.d.ts.map +1 -0
- package/lib-esm/model/catalogues/CatalogueProps.js +156 -0
- package/lib-esm/model/catalogues/CatalogueProps.js.map +1 -0
- package/lib-esm/model/footprints/Footprint.d.ts +44 -0
- package/lib-esm/model/footprints/Footprint.d.ts.map +1 -0
- package/lib-esm/model/footprints/Footprint.js +104 -0
- package/lib-esm/model/footprints/Footprint.js.map +1 -0
- package/lib-esm/model/footprints/FootprintProps.d.ts +2 -0
- package/lib-esm/model/footprints/FootprintProps.d.ts.map +1 -0
- package/lib-esm/model/footprints/FootprintProps.js +87 -0
- package/lib-esm/model/footprints/FootprintProps.js.map +1 -0
- package/lib-esm/model/footprints/FootprintSetGL.d.ts +106 -0
- package/lib-esm/model/footprints/FootprintSetGL.d.ts.map +1 -0
- package/lib-esm/model/footprints/FootprintSetGL.js +592 -0
- package/lib-esm/model/footprints/FootprintSetGL.js.map +1 -0
- package/lib-esm/model/grid/EquatorialGrid.d.ts +49 -0
- package/lib-esm/model/grid/EquatorialGrid.d.ts.map +1 -0
- package/lib-esm/model/grid/EquatorialGrid.js +302 -0
- package/lib-esm/model/grid/EquatorialGrid.js.map +1 -0
- package/lib-esm/model/grid/GridTextHelper.d.ts +26 -0
- package/lib-esm/model/grid/GridTextHelper.d.ts.map +1 -0
- package/lib-esm/model/grid/GridTextHelper.js +92 -0
- package/lib-esm/model/grid/GridTextHelper.js.map +1 -0
- package/lib-esm/model/grid/HealpixGrid.d.ts +49 -0
- package/lib-esm/model/grid/HealpixGrid.d.ts.map +1 -0
- package/lib-esm/model/grid/HealpixGrid.js +306 -0
- package/lib-esm/model/grid/HealpixGrid.js.map +1 -0
- package/lib-esm/model/hips/AllSky.d.ts +40 -0
- package/lib-esm/model/hips/AllSky.d.ts.map +1 -0
- package/lib-esm/model/hips/AllSky.js +232 -0
- package/lib-esm/model/hips/AllSky.js.map +1 -0
- package/lib-esm/model/hips/AncestorTile.d.ts +38 -0
- package/lib-esm/model/hips/AncestorTile.d.ts.map +1 -0
- package/lib-esm/model/hips/AncestorTile.js +248 -0
- package/lib-esm/model/hips/AncestorTile.js.map +1 -0
- package/lib-esm/model/hips/FoVHelper.d.ts +11 -0
- package/lib-esm/model/hips/FoVHelper.d.ts.map +1 -0
- package/lib-esm/model/hips/FoVHelper.js +107 -0
- package/lib-esm/model/hips/FoVHelper.js.map +1 -0
- package/lib-esm/model/hips/HiPS.d.ts +47 -0
- package/lib-esm/model/hips/HiPS.d.ts.map +1 -0
- package/lib-esm/model/hips/HiPS.js +222 -0
- package/lib-esm/model/hips/HiPS.js.map +1 -0
- package/lib-esm/model/hips/HiPSDescriptor.d.ts +37 -0
- package/lib-esm/model/hips/HiPSDescriptor.d.ts.map +1 -0
- package/lib-esm/model/hips/HiPSDescriptor.js +132 -0
- package/lib-esm/model/hips/HiPSDescriptor.js.map +1 -0
- package/lib-esm/model/hips/Tile.d.ts +51 -0
- package/lib-esm/model/hips/Tile.d.ts.map +1 -0
- package/lib-esm/model/hips/Tile.js +355 -0
- package/lib-esm/model/hips/Tile.js.map +1 -0
- package/lib-esm/model/hips/TileBuffer.d.ts +39 -0
- package/lib-esm/model/hips/TileBuffer.d.ts.map +1 -0
- package/lib-esm/model/hips/TileBuffer.js +148 -0
- package/lib-esm/model/hips/TileBuffer.js.map +1 -0
- package/lib-esm/model/hips/VisibleTilesManager.d.ts +35 -0
- package/lib-esm/model/hips/VisibleTilesManager.d.ts.map +1 -0
- package/lib-esm/model/hips/VisibleTilesManager.js +160 -0
- package/lib-esm/model/hips/VisibleTilesManager.js.map +1 -0
- package/lib-esm/model/tap/TapMetadata.d.ts +31 -0
- package/lib-esm/model/tap/TapMetadata.d.ts.map +1 -0
- package/lib-esm/model/tap/TapMetadata.js +55 -0
- package/lib-esm/model/tap/TapMetadata.js.map +1 -0
- package/lib-esm/model/tap/TapMetadataList.d.ts +23 -0
- package/lib-esm/model/tap/TapMetadataList.d.ts.map +1 -0
- package/lib-esm/model/tap/TapMetadataList.js +58 -0
- package/lib-esm/model/tap/TapMetadataList.js.map +1 -0
- package/lib-esm/model/tap/TapRepo.d.ts +27 -0
- package/lib-esm/model/tap/TapRepo.d.ts.map +1 -0
- package/lib-esm/model/tap/TapRepo.js +51 -0
- package/lib-esm/model/tap/TapRepo.js.map +1 -0
- package/lib-esm/services/SesameService.d.ts +14 -0
- package/lib-esm/services/SesameService.d.ts.map +1 -0
- package/lib-esm/services/SesameService.js +54 -0
- package/lib-esm/services/SesameService.js.map +1 -0
- package/lib-esm/services/helpers.d.ts +5 -0
- package/lib-esm/services/helpers.d.ts.map +1 -0
- package/lib-esm/services/helpers.js +16 -0
- package/lib-esm/services/helpers.js.map +1 -0
- package/lib-esm/services/hipsNodeService.d.ts +7 -0
- package/lib-esm/services/hipsNodeService.d.ts.map +1 -0
- package/lib-esm/services/hipsNodeService.js +65 -0
- package/lib-esm/services/hipsNodeService.js.map +1 -0
- package/lib-esm/services/parse-hipslist.d.ts +3 -0
- package/lib-esm/services/parse-hipslist.d.ts.map +1 -0
- package/lib-esm/services/parse-hipslist.js +25 -0
- package/lib-esm/services/parse-hipslist.js.map +1 -0
- package/lib-esm/services/queryCatalogueByFoV.d.ts +2 -0
- package/lib-esm/services/queryCatalogueByFoV.d.ts.map +1 -0
- package/lib-esm/services/queryCatalogueByFoV.js +56 -0
- package/lib-esm/services/queryCatalogueByFoV.js.map +1 -0
- package/lib-esm/services/queryFootprintSetByFov.d.ts +2 -0
- package/lib-esm/services/queryFootprintSetByFov.d.ts.map +1 -0
- package/lib-esm/services/queryFootprintSetByFov.js +128 -0
- package/lib-esm/services/queryFootprintSetByFov.js.map +1 -0
- package/lib-esm/services/tapRepoService.d.ts +2 -0
- package/lib-esm/services/tapRepoService.d.ts.map +1 -0
- package/lib-esm/services/tapRepoService.js +190 -0
- package/lib-esm/services/tapRepoService.js.map +1 -0
- package/lib-esm/services/types.d.ts +13 -0
- package/lib-esm/services/types.d.ts.map +1 -0
- package/lib-esm/services/types.js +2 -0
- package/lib-esm/services/types.js.map +1 -0
- package/lib-esm/shader/CatalogueShaderProgram.d.ts +35 -0
- package/lib-esm/shader/CatalogueShaderProgram.d.ts.map +1 -0
- package/lib-esm/shader/CatalogueShaderProgram.js +94 -0
- package/lib-esm/shader/CatalogueShaderProgram.js.map +1 -0
- package/lib-esm/shader/FootprintShaderProgram.d.ts +31 -0
- package/lib-esm/shader/FootprintShaderProgram.d.ts.map +1 -0
- package/lib-esm/shader/FootprintShaderProgram.js +86 -0
- package/lib-esm/shader/FootprintShaderProgram.js.map +1 -0
- package/lib-esm/shader/GridShaderManager.d.ts +6 -0
- package/lib-esm/shader/GridShaderManager.d.ts.map +1 -0
- package/lib-esm/shader/GridShaderManager.js +29 -0
- package/lib-esm/shader/GridShaderManager.js.map +1 -0
- package/lib-esm/shader/HiPSShaderProgram.d.ts +54 -0
- package/lib-esm/shader/HiPSShaderProgram.d.ts.map +1 -0
- package/lib-esm/shader/HiPSShaderProgram.js +257 -0
- package/lib-esm/shader/HiPSShaderProgram.js.map +1 -0
- package/lib-esm/shader/ShaderManager.d.ts +12 -0
- package/lib-esm/shader/ShaderManager.d.ts.map +1 -0
- package/lib-esm/shader/ShaderManager.js +344 -0
- package/lib-esm/shader/ShaderManager.js.map +1 -0
- package/lib-esm/shader/ShaderManagerMutliHiPS.d.ts +12 -0
- package/lib-esm/shader/ShaderManagerMutliHiPS.d.ts.map +1 -0
- package/lib-esm/shader/ShaderManagerMutliHiPS.js +750 -0
- package/lib-esm/shader/ShaderManagerMutliHiPS.js.map +1 -0
- package/lib-esm/utils/CoordsType.d.ts +10 -0
- package/lib-esm/utils/CoordsType.d.ts.map +1 -0
- package/lib-esm/utils/CoordsType.js +12 -0
- package/lib-esm/utils/CoordsType.js.map +1 -0
- package/lib-esm/utils/FoVUtils.d.ts +46 -0
- package/lib-esm/utils/FoVUtils.d.ts.map +1 -0
- package/lib-esm/utils/FoVUtils.js +217 -0
- package/lib-esm/utils/FoVUtils.js.map +1 -0
- package/lib-esm/utils/GeomUtils.d.ts +36 -0
- package/lib-esm/utils/GeomUtils.d.ts.map +1 -0
- package/lib-esm/utils/GeomUtils.js +267 -0
- package/lib-esm/utils/GeomUtils.js.map +1 -0
- package/lib-esm/utils/MouseHelper.d.ts +36 -0
- package/lib-esm/utils/MouseHelper.d.ts.map +1 -0
- package/lib-esm/utils/MouseHelper.js +94 -0
- package/lib-esm/utils/MouseHelper.js.map +1 -0
- package/lib-esm/utils/PerspectiveMatrixManager.d.ts +11 -0
- package/lib-esm/utils/PerspectiveMatrixManager.d.ts.map +1 -0
- package/lib-esm/utils/PerspectiveMatrixManager.js +37 -0
- package/lib-esm/utils/PerspectiveMatrixManager.js.map +1 -0
- package/lib-esm/utils/RayPickingUtils.d.ts +30 -0
- package/lib-esm/utils/RayPickingUtils.d.ts.map +1 -0
- package/lib-esm/utils/RayPickingUtils.js +112 -0
- package/lib-esm/utils/RayPickingUtils.js.map +1 -0
- package/lib-esm/utils/STCSParser.d.ts +16 -0
- package/lib-esm/utils/STCSParser.d.ts.map +1 -0
- package/lib-esm/utils/STCSParser.js +96 -0
- package/lib-esm/utils/STCSParser.js.map +1 -0
- package/lib-esm/utils/ShaderUtility.d.ts +2 -0
- package/lib-esm/utils/ShaderUtility.d.ts.map +1 -0
- package/lib-esm/utils/ShaderUtility.js +23 -0
- package/lib-esm/utils/ShaderUtility.js.map +1 -0
- package/lib-esm/utils/Utils.d.ts +32 -0
- package/lib-esm/utils/Utils.d.ts.map +1 -0
- package/lib-esm/utils/Utils.js +77 -0
- package/lib-esm/utils/Utils.js.map +1 -0
- package/package.json +82 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AstroSphere.js","sourceRoot":"","sources":["../src/AstroSphere.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { HiPSDescriptor } from './model/hips/HiPSDescriptor.js';
|
|
2
|
+
import { FoV } from './model/FoV.js';
|
|
3
|
+
import { Point } from './model/Point.js';
|
|
4
|
+
import { CatalogueGL } from './model/catalogues/CatalogueGL.js';
|
|
5
|
+
import type { CameraChangedDetail, PointCoordinates } from './AstroSphere.js';
|
|
6
|
+
import { FootprintSetGL, HoveredFootprintDetail } from './model/footprints/FootprintSetGL.js';
|
|
7
|
+
import { MetadataManager } from './model/MetadataManager.js';
|
|
8
|
+
import Camera from './Camera.js';
|
|
9
|
+
import { ReadonlyMat4 } from 'gl-matrix';
|
|
10
|
+
import { ColorMap, ColorMapName } from './model/ColorMaps.js';
|
|
11
|
+
import { HiPS } from './model/hips/HiPS.js';
|
|
12
|
+
export declare class AstroViewer {
|
|
13
|
+
private astroSphere;
|
|
14
|
+
private canvas;
|
|
15
|
+
private webgl;
|
|
16
|
+
private rafId;
|
|
17
|
+
private webglContextList;
|
|
18
|
+
private viewfinderEl;
|
|
19
|
+
private viewfinderVisible;
|
|
20
|
+
private viewfinderColor;
|
|
21
|
+
run(): number;
|
|
22
|
+
createCatalogue(catalogueName: string, catalogueDescription: string, providerUrl: string, metadataManager: MetadataManager): CatalogueGL;
|
|
23
|
+
showCatalogue(catalogue: CatalogueGL): void;
|
|
24
|
+
hideCatalogue(catalogue: CatalogueGL, isVisible: boolean): void;
|
|
25
|
+
deleteCatalogue(catalogue: CatalogueGL): void;
|
|
26
|
+
changeCatalogueRA(catalogue: CatalogueGL, raColumnName: string): CatalogueGL;
|
|
27
|
+
changeCatalogueDec(catalogue: CatalogueGL, decColumnName: string): CatalogueGL;
|
|
28
|
+
changeCatalogueColor(catalogue: CatalogueGL, hexColor: string): CatalogueGL;
|
|
29
|
+
setCatalogueShapeHue(catalogue: CatalogueGL, metadataColumnName: string): CatalogueGL;
|
|
30
|
+
setCatalogueShapeSize(catalogue: CatalogueGL, metadataColumnName: string): CatalogueGL;
|
|
31
|
+
createFootprintSet(footprintSetName: string, footprintSetDescription: string, providerUrl: string, metadataManager: MetadataManager): FootprintSetGL;
|
|
32
|
+
showFootprintSet(footprintSet: FootprintSetGL): void;
|
|
33
|
+
hideFootprintSet(footprintSet: FootprintSetGL, isVisible: boolean): void;
|
|
34
|
+
deleteFootprintSet(footprintSet: FootprintSetGL): void;
|
|
35
|
+
changeFootprintSetColor(footprintSet: FootprintSetGL, hexColor: string): void;
|
|
36
|
+
getHoveredFootprints(): HoveredFootprintDetail[];
|
|
37
|
+
getDefaultHiPSURL(): string;
|
|
38
|
+
activateHiPS(hipsDescriptor: HiPSDescriptor): void;
|
|
39
|
+
loadHiPS(baseUrl: string): Promise<string>;
|
|
40
|
+
changeColorMap(colorMapName: ColorMapName): void;
|
|
41
|
+
changeCustomColorMap(colorMap: ColorMap): void;
|
|
42
|
+
getActiveHiPS(): HiPS | null;
|
|
43
|
+
setCamera(camera: Camera): void;
|
|
44
|
+
setCameraPosition(pos: [number, number, number]): void;
|
|
45
|
+
setCameraMatrix(viewMatrix: Float32Array): void;
|
|
46
|
+
restoreAstroViewerState(detail: CameraChangedDetail, applyColorMap: boolean): void;
|
|
47
|
+
getCurrentAstroViewerStatus(): CameraChangedDetail | null;
|
|
48
|
+
goTo(raDeg: number, decDeg: number): void;
|
|
49
|
+
getCenterCoordinates(): PointCoordinates | undefined;
|
|
50
|
+
getCoordinatesFromMouse(): PointCoordinates | undefined;
|
|
51
|
+
setModelMatrix(modelMatrix: ReadonlyMat4): void;
|
|
52
|
+
toggleHealpixGrid(): void;
|
|
53
|
+
isHealpixGridVisible(): boolean;
|
|
54
|
+
toggleEquatorialGrid(): void;
|
|
55
|
+
isEquatorialGridVisible(): boolean;
|
|
56
|
+
getFoV(): FoV;
|
|
57
|
+
getFoVPolygon(): Point[];
|
|
58
|
+
changeFoV(deg: number): void;
|
|
59
|
+
changeFoV2(deg: number): void;
|
|
60
|
+
changeFoV3(deg: number): void;
|
|
61
|
+
getInsideSphere(): boolean;
|
|
62
|
+
toggleInsideSphere(): void;
|
|
63
|
+
toggleViewfinder(): boolean;
|
|
64
|
+
setViewfinderVisible(visible: boolean): void;
|
|
65
|
+
isViewfinderVisible(): boolean;
|
|
66
|
+
setViewfinderColor(color: string): void;
|
|
67
|
+
getViewfinderColor(): string;
|
|
68
|
+
setRotationSensitivity(value: number): void;
|
|
69
|
+
getRotationSensitivity(): number;
|
|
70
|
+
setZoomSensitivity(value: number): void;
|
|
71
|
+
getZoomSensitivity(): number;
|
|
72
|
+
constructor(canvasEl: HTMLCanvasElement);
|
|
73
|
+
private init;
|
|
74
|
+
private initViewfinder;
|
|
75
|
+
private syncViewfinderVisibility;
|
|
76
|
+
private syncViewfinderColor;
|
|
77
|
+
private initListeners;
|
|
78
|
+
private tick;
|
|
79
|
+
private drawScene;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=AstroViewer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AstroViewer.d.ts","sourceRoot":"","sources":["../src/AstroViewer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
// import global from './Global.js'
|
|
2
|
+
import AstroSphere from './AstroSphere.js';
|
|
3
|
+
import { HiPSDescriptor } from './model/hips/HiPSDescriptor.js';
|
|
4
|
+
import { CatalogueGL } from './model/catalogues/CatalogueGL.js';
|
|
5
|
+
import { FootprintSetGL } from './model/footprints/FootprintSetGL.js';
|
|
6
|
+
import { bootSetup } from './Config.js';
|
|
7
|
+
import ColorMaps from './model/ColorMaps.js';
|
|
8
|
+
// & {
|
|
9
|
+
// viewportWidth: number
|
|
10
|
+
// viewportHeight: number
|
|
11
|
+
// }
|
|
12
|
+
export class AstroViewer {
|
|
13
|
+
astroSphere;
|
|
14
|
+
canvas;
|
|
15
|
+
webgl;
|
|
16
|
+
rafId = null;
|
|
17
|
+
webglContextList = new Map();
|
|
18
|
+
viewfinderEl = null;
|
|
19
|
+
viewfinderVisible = bootSetup.showViewfinder;
|
|
20
|
+
viewfinderColor = 'rgba(75,148,226,0.68)';
|
|
21
|
+
// API
|
|
22
|
+
run() {
|
|
23
|
+
return this.tick();
|
|
24
|
+
}
|
|
25
|
+
// CATALOGUES
|
|
26
|
+
createCatalogue(catalogueName, catalogueDescription, providerUrl, metadataManager) {
|
|
27
|
+
return new CatalogueGL(catalogueName, catalogueDescription, providerUrl, metadataManager, this.webgl, this.astroSphere.healpixGrid.visibleTilesManager);
|
|
28
|
+
}
|
|
29
|
+
showCatalogue(catalogue) {
|
|
30
|
+
this.astroSphere.showCatalogue(catalogue);
|
|
31
|
+
}
|
|
32
|
+
hideCatalogue(catalogue, isVisible) {
|
|
33
|
+
catalogue.setIsVisible(isVisible);
|
|
34
|
+
}
|
|
35
|
+
deleteCatalogue(catalogue) {
|
|
36
|
+
this.astroSphere.deleteCatalogue(catalogue);
|
|
37
|
+
}
|
|
38
|
+
changeCatalogueRA(catalogue, raColumnName) {
|
|
39
|
+
catalogue.changeMetaRA(raColumnName);
|
|
40
|
+
// catalogue.catalogueProps.changeCatalogueMetaRA(raColumnName)
|
|
41
|
+
return catalogue;
|
|
42
|
+
}
|
|
43
|
+
changeCatalogueDec(catalogue, decColumnName) {
|
|
44
|
+
catalogue.changeMetaDec(decColumnName);
|
|
45
|
+
// catalogue.catalogueProps.changeCatalogueMetaDec(decColumnName)
|
|
46
|
+
return catalogue;
|
|
47
|
+
}
|
|
48
|
+
changeCatalogueColor(catalogue, hexColor) {
|
|
49
|
+
catalogue.changeColor(hexColor);
|
|
50
|
+
// catalogue.catalogueProps.changeColor(hexColor)
|
|
51
|
+
return catalogue;
|
|
52
|
+
}
|
|
53
|
+
setCatalogueShapeHue(catalogue, metadataColumnName) {
|
|
54
|
+
catalogue.changeMetaShapeHue(metadataColumnName);
|
|
55
|
+
return catalogue;
|
|
56
|
+
}
|
|
57
|
+
setCatalogueShapeSize(catalogue, metadataColumnName) {
|
|
58
|
+
catalogue.changeMetaShapeSize(metadataColumnName);
|
|
59
|
+
return catalogue;
|
|
60
|
+
}
|
|
61
|
+
//FOOTPRINT
|
|
62
|
+
createFootprintSet(footprintSetName, footprintSetDescription, providerUrl, metadataManager) {
|
|
63
|
+
return new FootprintSetGL(footprintSetName, footprintSetDescription, providerUrl, metadataManager, this.webgl, this.astroSphere.healpixGrid.visibleTilesManager);
|
|
64
|
+
}
|
|
65
|
+
showFootprintSet(footprintSet) {
|
|
66
|
+
this.astroSphere.showFootprintSet(footprintSet);
|
|
67
|
+
}
|
|
68
|
+
hideFootprintSet(footprintSet, isVisible) {
|
|
69
|
+
footprintSet.setIsVisible(isVisible);
|
|
70
|
+
}
|
|
71
|
+
deleteFootprintSet(footprintSet) {
|
|
72
|
+
this.astroSphere.deleteFootprintSet(footprintSet);
|
|
73
|
+
}
|
|
74
|
+
changeFootprintSetColor(footprintSet, hexColor) {
|
|
75
|
+
// footprintSet.footprintsetProps.changeColor(hexColor)
|
|
76
|
+
footprintSet.changeColor(hexColor);
|
|
77
|
+
}
|
|
78
|
+
getHoveredFootprints() {
|
|
79
|
+
return this.astroSphere.getHoveredFootprints();
|
|
80
|
+
}
|
|
81
|
+
// HIPS
|
|
82
|
+
getDefaultHiPSURL() {
|
|
83
|
+
return bootSetup.defaultHipsUrl;
|
|
84
|
+
}
|
|
85
|
+
activateHiPS(hipsDescriptor) {
|
|
86
|
+
this.astroSphere.activateHiPS(hipsDescriptor);
|
|
87
|
+
}
|
|
88
|
+
async loadHiPS(baseUrl) {
|
|
89
|
+
const hipsUrl = baseUrl.endsWith('/') ? baseUrl : baseUrl + '/';
|
|
90
|
+
const resp = await fetch(hipsUrl + 'properties');
|
|
91
|
+
if (!resp.ok)
|
|
92
|
+
throw new Error(`HTTP ${resp.status} fetching properties`);
|
|
93
|
+
const propsText = await resp.text();
|
|
94
|
+
const desc = new HiPSDescriptor(propsText, hipsUrl);
|
|
95
|
+
this.astroSphere.activateHiPS(desc);
|
|
96
|
+
return desc.surveyName;
|
|
97
|
+
// this.activateHiPS(desc);
|
|
98
|
+
}
|
|
99
|
+
// changeColorMap(hips: HiPS, colorMapName: ColorMapName) {
|
|
100
|
+
changeColorMap(colorMapName) {
|
|
101
|
+
const colorMap = ColorMaps[colorMapName];
|
|
102
|
+
// hips.changeColorMap(colorMap)
|
|
103
|
+
this.astroSphere.changeColorMap(colorMap);
|
|
104
|
+
}
|
|
105
|
+
changeCustomColorMap(colorMap) {
|
|
106
|
+
this.astroSphere.changeColorMap(colorMap);
|
|
107
|
+
}
|
|
108
|
+
getActiveHiPS() {
|
|
109
|
+
return this.astroSphere.activeHiPS;
|
|
110
|
+
}
|
|
111
|
+
// Camera: GOTOs and COORDS
|
|
112
|
+
setCamera(camera) {
|
|
113
|
+
this.astroSphere.setCamera(camera);
|
|
114
|
+
}
|
|
115
|
+
setCameraPosition(pos) {
|
|
116
|
+
this.astroSphere.setCameraPosition(pos);
|
|
117
|
+
}
|
|
118
|
+
setCameraMatrix(viewMatrix) {
|
|
119
|
+
this.astroSphere.setCameraMatrix(viewMatrix);
|
|
120
|
+
}
|
|
121
|
+
restoreAstroViewerState(detail, applyColorMap) {
|
|
122
|
+
this.astroSphere.applyFullCameraState(detail, applyColorMap);
|
|
123
|
+
}
|
|
124
|
+
getCurrentAstroViewerStatus() {
|
|
125
|
+
return this.astroSphere.getCurrentStatus();
|
|
126
|
+
}
|
|
127
|
+
goTo(raDeg, decDeg) {
|
|
128
|
+
// console.log(`AstroViewer.goTo goto(${raDeg}, ${decDeg})`)
|
|
129
|
+
this.astroSphere.goTo(raDeg, decDeg);
|
|
130
|
+
}
|
|
131
|
+
getCenterCoordinates() {
|
|
132
|
+
return this.astroSphere.getCentralPointCoordinates();
|
|
133
|
+
}
|
|
134
|
+
getCoordinatesFromMouse() {
|
|
135
|
+
return this.astroSphere.getLastMousePointCoordinates();
|
|
136
|
+
}
|
|
137
|
+
// GRIDs
|
|
138
|
+
setModelMatrix(modelMatrix) {
|
|
139
|
+
this.astroSphere.healpixGrid.setModelMatrix(modelMatrix);
|
|
140
|
+
}
|
|
141
|
+
toggleHealpixGrid() {
|
|
142
|
+
// healpixGridSingleton.toggleShowGrid()
|
|
143
|
+
this.astroSphere.healpixGrid.toggleShowGrid();
|
|
144
|
+
}
|
|
145
|
+
isHealpixGridVisible() {
|
|
146
|
+
// return healpixGridSingleton.isVisible()
|
|
147
|
+
return this.astroSphere.healpixGrid.isVisible();
|
|
148
|
+
}
|
|
149
|
+
toggleEquatorialGrid() {
|
|
150
|
+
// equatorialGridSingleton.toggleShowGrid()
|
|
151
|
+
return this.astroSphere.equatorialGrid.toggleShowGrid();
|
|
152
|
+
}
|
|
153
|
+
isEquatorialGridVisible() {
|
|
154
|
+
// return equatorialGridSingleton.isVisible()
|
|
155
|
+
return this.astroSphere.equatorialGrid.isVisible();
|
|
156
|
+
}
|
|
157
|
+
// FOV
|
|
158
|
+
getFoV() {
|
|
159
|
+
return this.astroSphere.getFoV();
|
|
160
|
+
}
|
|
161
|
+
getFoVPolygon() {
|
|
162
|
+
return this.astroSphere.getFoVPolygon();
|
|
163
|
+
}
|
|
164
|
+
changeFoV(deg) {
|
|
165
|
+
this, this.astroSphere.changeFoV(deg);
|
|
166
|
+
}
|
|
167
|
+
changeFoV2(deg) {
|
|
168
|
+
this, this.astroSphere.changeFoV2(deg);
|
|
169
|
+
}
|
|
170
|
+
changeFoV3(deg) {
|
|
171
|
+
this, this.astroSphere.changeFoV3(deg);
|
|
172
|
+
}
|
|
173
|
+
getInsideSphere() {
|
|
174
|
+
return this.astroSphere.getInsideSphere();
|
|
175
|
+
}
|
|
176
|
+
toggleInsideSphere() {
|
|
177
|
+
this.astroSphere.toggleInsideSphere();
|
|
178
|
+
}
|
|
179
|
+
toggleViewfinder() {
|
|
180
|
+
this.viewfinderVisible = !this.viewfinderVisible;
|
|
181
|
+
this.syncViewfinderVisibility();
|
|
182
|
+
return this.viewfinderVisible;
|
|
183
|
+
}
|
|
184
|
+
setViewfinderVisible(visible) {
|
|
185
|
+
this.viewfinderVisible = visible;
|
|
186
|
+
this.syncViewfinderVisibility();
|
|
187
|
+
}
|
|
188
|
+
isViewfinderVisible() {
|
|
189
|
+
return this.viewfinderVisible;
|
|
190
|
+
}
|
|
191
|
+
setViewfinderColor(color) {
|
|
192
|
+
this.viewfinderColor = color;
|
|
193
|
+
this.syncViewfinderColor();
|
|
194
|
+
}
|
|
195
|
+
getViewfinderColor() {
|
|
196
|
+
return this.viewfinderColor;
|
|
197
|
+
}
|
|
198
|
+
setRotationSensitivity(value) {
|
|
199
|
+
this.astroSphere.setCameraRotationSensitivity(value);
|
|
200
|
+
}
|
|
201
|
+
getRotationSensitivity() {
|
|
202
|
+
return this.astroSphere.getCameraRotationSensitivity();
|
|
203
|
+
}
|
|
204
|
+
setZoomSensitivity(value) {
|
|
205
|
+
this.astroSphere.setZoomSensitivity(value);
|
|
206
|
+
}
|
|
207
|
+
getZoomSensitivity() {
|
|
208
|
+
return this.astroSphere.getZoomSensitivity();
|
|
209
|
+
}
|
|
210
|
+
// Internal
|
|
211
|
+
constructor(canvasEl) {
|
|
212
|
+
this.init(canvasEl);
|
|
213
|
+
this.webglContextList = new Map();
|
|
214
|
+
}
|
|
215
|
+
init(canvasEl) {
|
|
216
|
+
console.log('init webgl');
|
|
217
|
+
this.canvas = canvasEl;
|
|
218
|
+
this.initViewfinder();
|
|
219
|
+
const gl = this.canvas.getContext('webgl2', { alpha: false });
|
|
220
|
+
if (!gl) {
|
|
221
|
+
alert('Could not initialise WebGL, sorry :-(');
|
|
222
|
+
throw new Error('WebGL2 not available');
|
|
223
|
+
}
|
|
224
|
+
// Extend with custom fields used elsewhere
|
|
225
|
+
this.webgl = gl;
|
|
226
|
+
// this.webgl.viewportWidth = this.canvas.width
|
|
227
|
+
// this.webgl.viewportHeight = this.canvas.height
|
|
228
|
+
try {
|
|
229
|
+
// 1/255 = 0.00392156862
|
|
230
|
+
this.webgl.clearColor(0 * 0.00392156862, 16 * 0.00392156862, 50 * 0.00392156862, 0.7);
|
|
231
|
+
}
|
|
232
|
+
catch (e) {
|
|
233
|
+
console.log('Error instantiating WebGL context');
|
|
234
|
+
}
|
|
235
|
+
this.initListeners();
|
|
236
|
+
// ; (global as any).gl = this.webgl
|
|
237
|
+
this.astroSphere = new AstroSphere(this.canvas, this.webgl);
|
|
238
|
+
}
|
|
239
|
+
initViewfinder() {
|
|
240
|
+
const parent = this.canvas.parentElement;
|
|
241
|
+
if (!parent)
|
|
242
|
+
return;
|
|
243
|
+
if (window.getComputedStyle(parent).position === 'static') {
|
|
244
|
+
parent.style.position = 'relative';
|
|
245
|
+
}
|
|
246
|
+
const viewfinder = document.createElement('div');
|
|
247
|
+
viewfinder.setAttribute('data-astro-viewfinder', 'true');
|
|
248
|
+
viewfinder.setAttribute('aria-hidden', 'true');
|
|
249
|
+
viewfinder.style.position = 'absolute';
|
|
250
|
+
viewfinder.style.left = '50%';
|
|
251
|
+
viewfinder.style.top = '50%';
|
|
252
|
+
viewfinder.style.width = '44px';
|
|
253
|
+
viewfinder.style.height = '44px';
|
|
254
|
+
viewfinder.style.transform = 'translate(-50%, -50%)';
|
|
255
|
+
viewfinder.style.pointerEvents = 'none';
|
|
256
|
+
viewfinder.style.zIndex = '1';
|
|
257
|
+
viewfinder.style.boxSizing = 'border-box';
|
|
258
|
+
const segments = [
|
|
259
|
+
{ left: '50%', top: '7px', width: '1px', height: '11px', transform: 'translateX(-50%)' },
|
|
260
|
+
{ left: '50%', bottom: '7px', width: '1px', height: '11px', transform: 'translateX(-50%)' },
|
|
261
|
+
{ left: '7px', top: '50%', width: '11px', height: '1px', transform: 'translateY(-50%)' },
|
|
262
|
+
{ right: '7px', top: '50%', width: '11px', height: '1px', transform: 'translateY(-50%)' },
|
|
263
|
+
];
|
|
264
|
+
for (const segmentDef of segments) {
|
|
265
|
+
const segment = document.createElement('div');
|
|
266
|
+
segment.style.position = 'absolute';
|
|
267
|
+
segment.style.left = segmentDef.left ?? 'auto';
|
|
268
|
+
segment.style.right = segmentDef.right ?? 'auto';
|
|
269
|
+
segment.style.top = segmentDef.top ?? 'auto';
|
|
270
|
+
segment.style.bottom = segmentDef.bottom ?? 'auto';
|
|
271
|
+
segment.style.width = segmentDef.width;
|
|
272
|
+
segment.style.height = segmentDef.height;
|
|
273
|
+
segment.style.transform = segmentDef.transform;
|
|
274
|
+
segment.style.background = 'currentColor';
|
|
275
|
+
segment.style.borderRadius = '999px';
|
|
276
|
+
segment.style.boxShadow = '0 0 0 1px rgba(0, 0, 0, 0.14)';
|
|
277
|
+
viewfinder.appendChild(segment);
|
|
278
|
+
}
|
|
279
|
+
parent.appendChild(viewfinder);
|
|
280
|
+
this.viewfinderEl = viewfinder;
|
|
281
|
+
this.syncViewfinderVisibility();
|
|
282
|
+
this.syncViewfinderColor();
|
|
283
|
+
}
|
|
284
|
+
syncViewfinderVisibility() {
|
|
285
|
+
if (!this.viewfinderEl)
|
|
286
|
+
return;
|
|
287
|
+
this.viewfinderEl.style.display = this.viewfinderVisible ? 'block' : 'none';
|
|
288
|
+
}
|
|
289
|
+
syncViewfinderColor() {
|
|
290
|
+
if (!this.viewfinderEl)
|
|
291
|
+
return;
|
|
292
|
+
this.viewfinderEl.style.color = this.viewfinderColor;
|
|
293
|
+
}
|
|
294
|
+
initListeners() {
|
|
295
|
+
console.log('inside initListeners');
|
|
296
|
+
const resizeCanvas = () => {
|
|
297
|
+
console.log('[resizeCanvas]');
|
|
298
|
+
const rect = this.canvas.getBoundingClientRect();
|
|
299
|
+
const dpr = window.devicePixelRatio || 1;
|
|
300
|
+
const newWidth = Math.max(1, Math.floor(rect.width * dpr));
|
|
301
|
+
const newHeight = Math.max(1, Math.floor(rect.height * dpr));
|
|
302
|
+
if (this.canvas.width !== newWidth || this.canvas.height !== newHeight) {
|
|
303
|
+
this.canvas.width = newWidth;
|
|
304
|
+
this.canvas.height = newHeight;
|
|
305
|
+
// this.webgl.viewportWidth = this.canvas.width
|
|
306
|
+
// this.webgl.viewportHeight = this.canvas.height
|
|
307
|
+
this.webgl.viewport(0, 0, this.canvas.width, this.canvas.height);
|
|
308
|
+
}
|
|
309
|
+
};
|
|
310
|
+
const handleContextLost = (event) => {
|
|
311
|
+
console.log('[handleContextLost]');
|
|
312
|
+
event.preventDefault();
|
|
313
|
+
if (this.rafId !== null) {
|
|
314
|
+
cancelAnimationFrame(this.rafId);
|
|
315
|
+
this.rafId = null;
|
|
316
|
+
}
|
|
317
|
+
};
|
|
318
|
+
const handleContextRestored = (_event) => {
|
|
319
|
+
console.log('[handleContextRestored]');
|
|
320
|
+
// this.webgl.viewportWidth = this.canvas.width
|
|
321
|
+
// this.webgl.viewportHeight = this.canvas.height
|
|
322
|
+
this.webgl.clearColor(0 * 0.00392156862, 16 * 0.00392156862, 50 * 0.00392156862, 0.7);
|
|
323
|
+
this.webgl.enable(this.webgl.DEPTH_TEST);
|
|
324
|
+
this.rafId = requestAnimationFrame(() => this.tick());
|
|
325
|
+
};
|
|
326
|
+
// 🔥 ResizeObserver per pannelli / split / layout dinamici
|
|
327
|
+
if ('ResizeObserver' in window) {
|
|
328
|
+
const ro = new ResizeObserver(() => {
|
|
329
|
+
resizeCanvas();
|
|
330
|
+
});
|
|
331
|
+
// Osserva il canvas o il suo parent (a tua scelta)
|
|
332
|
+
ro.observe(this.canvas);
|
|
333
|
+
}
|
|
334
|
+
window.addEventListener('resize', resizeCanvas);
|
|
335
|
+
this.canvas.addEventListener('webglcontextlost', handleContextLost, false);
|
|
336
|
+
this.canvas.addEventListener('webglcontextrestored', handleContextRestored, false);
|
|
337
|
+
resizeCanvas();
|
|
338
|
+
}
|
|
339
|
+
tick() {
|
|
340
|
+
this.drawScene();
|
|
341
|
+
this.rafId = requestAnimationFrame(() => this.tick());
|
|
342
|
+
return this.rafId;
|
|
343
|
+
}
|
|
344
|
+
drawScene() {
|
|
345
|
+
this.astroSphere.draw(this.canvas);
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
//# sourceMappingURL=AstroViewer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AstroViewer.js","sourceRoot":"","sources":["../src/AstroViewer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author Fabrizio Giordano (Fab)
|
|
3
|
+
*/
|
|
4
|
+
import { vec3, mat4 } from "gl-matrix";
|
|
5
|
+
import { type SphericalCoords } from "./utils/Utils.js";
|
|
6
|
+
type Vec3Tuple = [number, number, number];
|
|
7
|
+
interface CameraLike {
|
|
8
|
+
getCameraMatrix(): mat4;
|
|
9
|
+
}
|
|
10
|
+
declare class Camera implements CameraLike {
|
|
11
|
+
private insideSphere;
|
|
12
|
+
private cam_pos;
|
|
13
|
+
private cam_speed;
|
|
14
|
+
private vMatrix;
|
|
15
|
+
private T;
|
|
16
|
+
private R;
|
|
17
|
+
private FoV;
|
|
18
|
+
private previousFoV;
|
|
19
|
+
private move;
|
|
20
|
+
private phi;
|
|
21
|
+
private theta;
|
|
22
|
+
private rotationSensitivity;
|
|
23
|
+
private lockRotX;
|
|
24
|
+
private lockRotY;
|
|
25
|
+
private lockRotZ;
|
|
26
|
+
constructor(in_position: vec3, in_sphere: boolean);
|
|
27
|
+
private init;
|
|
28
|
+
goTo(raDeg: number, decDeg: number): void;
|
|
29
|
+
private goToPhiTheta;
|
|
30
|
+
toggleInsideSphere(): void;
|
|
31
|
+
zoom(inertia: number): void;
|
|
32
|
+
/**
|
|
33
|
+
* Move the camera forward/backward along its current viewing direction.
|
|
34
|
+
* Positive distance moves *forward* (toward where the camera is looking),
|
|
35
|
+
* negative distance moves *backward*.
|
|
36
|
+
*
|
|
37
|
+
* This does not enforce inside/outside-sphere bounds; if you want clamping,
|
|
38
|
+
* handle it before calling or we can extend this to mimic `zoom()` bounds.
|
|
39
|
+
*/
|
|
40
|
+
moveAlongView(distance: number): void;
|
|
41
|
+
translate(distance: number): void;
|
|
42
|
+
rotateX(sign: number): void;
|
|
43
|
+
rotateY(sign: number): void;
|
|
44
|
+
rotateZ(sign: number): void;
|
|
45
|
+
rotateXRadian(radian: number): void;
|
|
46
|
+
rotateYRadian(radian: number): void;
|
|
47
|
+
rotateZRadian(radian: number): void;
|
|
48
|
+
rotate(phi: number, theta: number): void;
|
|
49
|
+
setRotationSensitivity(value: number): void;
|
|
50
|
+
getRotationSensitivity(): number;
|
|
51
|
+
private refreshViewMatrix;
|
|
52
|
+
refreshFoV(currentFoV: number): void;
|
|
53
|
+
getCameraMatrix(): mat4;
|
|
54
|
+
getCameraPosition(): Vec3Tuple;
|
|
55
|
+
setCameraMatrix(viewMatrix: Float32Array<ArrayBufferLike>): void;
|
|
56
|
+
setCameraPosition(position: [number, number, number]): void;
|
|
57
|
+
getCameraAngle(): SphericalCoords;
|
|
58
|
+
/**
|
|
59
|
+
* Lock/unlock rotation around world axes X, Y, Z.
|
|
60
|
+
* Passing `undefined` leaves that axis as-is.
|
|
61
|
+
*/
|
|
62
|
+
setRotationLock(options: {
|
|
63
|
+
x?: boolean;
|
|
64
|
+
y?: boolean;
|
|
65
|
+
z?: boolean;
|
|
66
|
+
}): void;
|
|
67
|
+
/** Convenience helpers */
|
|
68
|
+
clearRotationLock(): void;
|
|
69
|
+
isRotationLockedX(): boolean;
|
|
70
|
+
isRotationLockedY(): boolean;
|
|
71
|
+
isRotationLockedZ(): boolean;
|
|
72
|
+
}
|
|
73
|
+
export default Camera;
|
|
74
|
+
//# sourceMappingURL=Camera.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Camera.d.ts","sourceRoot":"","sources":["../src/Camera.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAC;AAI1B,KAAK,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE1C,UAAU,UAAU;IAClB,eAAe,IAAI,IAAI,CAAC;CACzB;AAED,cAAM,MAAO,YAAW,UAAU;IAEhC,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,SAAS,CAAO;IAExB,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,CAAC,CAAuB;IAChC,OAAO,CAAC,CAAC,CAAuB;IAGhC,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,IAAI,CAAuB;IACnC,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,mBAAmB,CAAM;IAGjC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAS;gBAEb,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO;IAIjD,OAAO,CAAC,IAAI;IAmBZ,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAOzC,OAAO,CAAC,YAAY;IAwBpB,kBAAkB,IAAI,IAAI;IAmB1B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAoC3B;;;;;;;OAOG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IA4BrC,SAAS,CAAC,QAAQ,EAAE,MAAM;IAS1B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ3B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ3B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ3B,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAMnC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAOnC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAMnC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IA2CxC,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI3C,sBAAsB,IAAI,MAAM;IAgDhC,OAAO,CAAC,iBAAiB;IAUzB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAKpC,eAAe,IAAI,IAAI;IAIvB,iBAAiB,IAAI,SAAS;IAS9B,eAAe,CAAC,UAAU,EAAE,YAAY,CAAC,eAAe,CAAC;IAKzD,iBAAiB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAc3D,cAAc,IAAI,eAAe;IASjC;;;OAGG;IACH,eAAe,CAAC,OAAO,EAAE;QAAE,CAAC,CAAC,EAAE,OAAO,CAAC;QAAC,CAAC,CAAC,EAAE,OAAO,CAAC;QAAC,CAAC,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAMzE,0BAA0B;IAC1B,iBAAiB,IAAI,IAAI;IAIzB,iBAAiB,IAAI,OAAO;IAC5B,iBAAiB,IAAI,OAAO;IAC5B,iBAAiB,IAAI,OAAO;CAC7B;AAED,eAAe,MAAM,CAAC"}
|