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.
Files changed (236) hide show
  1. package/README.md +373 -0
  2. package/dist/astroviewer.cjs +13941 -0
  3. package/dist/astroviewer.cjs.map +1 -0
  4. package/dist/astroviewer.js +2 -0
  5. package/dist/astroviewer.js.map +1 -0
  6. package/dist/astroviewer.min.js +2 -0
  7. package/dist/astroviewer.min.js.map +1 -0
  8. package/lib-esm/AstroSphere.d.ts +114 -0
  9. package/lib-esm/AstroSphere.d.ts.map +1 -0
  10. package/lib-esm/AstroSphere.js +679 -0
  11. package/lib-esm/AstroSphere.js.map +1 -0
  12. package/lib-esm/AstroViewer.d.ts +81 -0
  13. package/lib-esm/AstroViewer.d.ts.map +1 -0
  14. package/lib-esm/AstroViewer.js +348 -0
  15. package/lib-esm/AstroViewer.js.map +1 -0
  16. package/lib-esm/Camera.d.ts +74 -0
  17. package/lib-esm/Camera.d.ts.map +1 -0
  18. package/lib-esm/Camera.js +334 -0
  19. package/lib-esm/Camera.js.map +1 -0
  20. package/lib-esm/Config.d.ts +20 -0
  21. package/lib-esm/Config.d.ts.map +1 -0
  22. package/lib-esm/Config.js +32 -0
  23. package/lib-esm/Config.js.map +1 -0
  24. package/lib-esm/Global.d.ts +27 -0
  25. package/lib-esm/Global.d.ts.map +1 -0
  26. package/lib-esm/Global.js +52 -0
  27. package/lib-esm/Global.js.map +1 -0
  28. package/lib-esm/index.d.ts +17 -0
  29. package/lib-esm/index.d.ts.map +1 -0
  30. package/lib-esm/index.js +16 -0
  31. package/lib-esm/index.js.map +1 -0
  32. package/lib-esm/model/AbstractSkyEntity.d.ts +55 -0
  33. package/lib-esm/model/AbstractSkyEntity.d.ts.map +1 -0
  34. package/lib-esm/model/AbstractSkyEntity.js +153 -0
  35. package/lib-esm/model/AbstractSkyEntity.js.map +1 -0
  36. package/lib-esm/model/AstroGL.d.ts +11 -0
  37. package/lib-esm/model/AstroGL.d.ts.map +1 -0
  38. package/lib-esm/model/AstroGL.js +2 -0
  39. package/lib-esm/model/AstroGL.js.map +1 -0
  40. package/lib-esm/model/ColorMaps.d.ts +17 -0
  41. package/lib-esm/model/ColorMaps.d.ts.map +1 -0
  42. package/lib-esm/model/ColorMaps.js +1288 -0
  43. package/lib-esm/model/ColorMaps.js.map +1 -0
  44. package/lib-esm/model/FoV.d.ts +63 -0
  45. package/lib-esm/model/FoV.d.ts.map +1 -0
  46. package/lib-esm/model/FoV.js +275 -0
  47. package/lib-esm/model/FoV.js.map +1 -0
  48. package/lib-esm/model/MetadataColumn.d.ts +50 -0
  49. package/lib-esm/model/MetadataColumn.d.ts.map +1 -0
  50. package/lib-esm/model/MetadataColumn.js +95 -0
  51. package/lib-esm/model/MetadataColumn.js.map +1 -0
  52. package/lib-esm/model/MetadataManager.d.ts +43 -0
  53. package/lib-esm/model/MetadataManager.d.ts.map +1 -0
  54. package/lib-esm/model/MetadataManager.js +117 -0
  55. package/lib-esm/model/MetadataManager.js.map +1 -0
  56. package/lib-esm/model/Point.d.ts +53 -0
  57. package/lib-esm/model/Point.d.ts.map +1 -0
  58. package/lib-esm/model/Point.js +133 -0
  59. package/lib-esm/model/Point.js.map +1 -0
  60. package/lib-esm/model/Point2D.d.ts +9 -0
  61. package/lib-esm/model/Point2D.d.ts.map +1 -0
  62. package/lib-esm/model/Point2D.js +16 -0
  63. package/lib-esm/model/Point2D.js.map +1 -0
  64. package/lib-esm/model/Source.d.ts +34 -0
  65. package/lib-esm/model/Source.d.ts.map +1 -0
  66. package/lib-esm/model/Source.js +63 -0
  67. package/lib-esm/model/Source.js.map +1 -0
  68. package/lib-esm/model/catalogues/CatalogueGL.d.ts +91 -0
  69. package/lib-esm/model/catalogues/CatalogueGL.d.ts.map +1 -0
  70. package/lib-esm/model/catalogues/CatalogueGL.js +614 -0
  71. package/lib-esm/model/catalogues/CatalogueGL.js.map +1 -0
  72. package/lib-esm/model/catalogues/CatalogueProps.d.ts +2 -0
  73. package/lib-esm/model/catalogues/CatalogueProps.d.ts.map +1 -0
  74. package/lib-esm/model/catalogues/CatalogueProps.js +156 -0
  75. package/lib-esm/model/catalogues/CatalogueProps.js.map +1 -0
  76. package/lib-esm/model/footprints/Footprint.d.ts +44 -0
  77. package/lib-esm/model/footprints/Footprint.d.ts.map +1 -0
  78. package/lib-esm/model/footprints/Footprint.js +104 -0
  79. package/lib-esm/model/footprints/Footprint.js.map +1 -0
  80. package/lib-esm/model/footprints/FootprintProps.d.ts +2 -0
  81. package/lib-esm/model/footprints/FootprintProps.d.ts.map +1 -0
  82. package/lib-esm/model/footprints/FootprintProps.js +87 -0
  83. package/lib-esm/model/footprints/FootprintProps.js.map +1 -0
  84. package/lib-esm/model/footprints/FootprintSetGL.d.ts +106 -0
  85. package/lib-esm/model/footprints/FootprintSetGL.d.ts.map +1 -0
  86. package/lib-esm/model/footprints/FootprintSetGL.js +592 -0
  87. package/lib-esm/model/footprints/FootprintSetGL.js.map +1 -0
  88. package/lib-esm/model/grid/EquatorialGrid.d.ts +49 -0
  89. package/lib-esm/model/grid/EquatorialGrid.d.ts.map +1 -0
  90. package/lib-esm/model/grid/EquatorialGrid.js +302 -0
  91. package/lib-esm/model/grid/EquatorialGrid.js.map +1 -0
  92. package/lib-esm/model/grid/GridTextHelper.d.ts +26 -0
  93. package/lib-esm/model/grid/GridTextHelper.d.ts.map +1 -0
  94. package/lib-esm/model/grid/GridTextHelper.js +92 -0
  95. package/lib-esm/model/grid/GridTextHelper.js.map +1 -0
  96. package/lib-esm/model/grid/HealpixGrid.d.ts +49 -0
  97. package/lib-esm/model/grid/HealpixGrid.d.ts.map +1 -0
  98. package/lib-esm/model/grid/HealpixGrid.js +306 -0
  99. package/lib-esm/model/grid/HealpixGrid.js.map +1 -0
  100. package/lib-esm/model/hips/AllSky.d.ts +40 -0
  101. package/lib-esm/model/hips/AllSky.d.ts.map +1 -0
  102. package/lib-esm/model/hips/AllSky.js +232 -0
  103. package/lib-esm/model/hips/AllSky.js.map +1 -0
  104. package/lib-esm/model/hips/AncestorTile.d.ts +38 -0
  105. package/lib-esm/model/hips/AncestorTile.d.ts.map +1 -0
  106. package/lib-esm/model/hips/AncestorTile.js +248 -0
  107. package/lib-esm/model/hips/AncestorTile.js.map +1 -0
  108. package/lib-esm/model/hips/FoVHelper.d.ts +11 -0
  109. package/lib-esm/model/hips/FoVHelper.d.ts.map +1 -0
  110. package/lib-esm/model/hips/FoVHelper.js +107 -0
  111. package/lib-esm/model/hips/FoVHelper.js.map +1 -0
  112. package/lib-esm/model/hips/HiPS.d.ts +47 -0
  113. package/lib-esm/model/hips/HiPS.d.ts.map +1 -0
  114. package/lib-esm/model/hips/HiPS.js +222 -0
  115. package/lib-esm/model/hips/HiPS.js.map +1 -0
  116. package/lib-esm/model/hips/HiPSDescriptor.d.ts +37 -0
  117. package/lib-esm/model/hips/HiPSDescriptor.d.ts.map +1 -0
  118. package/lib-esm/model/hips/HiPSDescriptor.js +132 -0
  119. package/lib-esm/model/hips/HiPSDescriptor.js.map +1 -0
  120. package/lib-esm/model/hips/Tile.d.ts +51 -0
  121. package/lib-esm/model/hips/Tile.d.ts.map +1 -0
  122. package/lib-esm/model/hips/Tile.js +355 -0
  123. package/lib-esm/model/hips/Tile.js.map +1 -0
  124. package/lib-esm/model/hips/TileBuffer.d.ts +39 -0
  125. package/lib-esm/model/hips/TileBuffer.d.ts.map +1 -0
  126. package/lib-esm/model/hips/TileBuffer.js +148 -0
  127. package/lib-esm/model/hips/TileBuffer.js.map +1 -0
  128. package/lib-esm/model/hips/VisibleTilesManager.d.ts +35 -0
  129. package/lib-esm/model/hips/VisibleTilesManager.d.ts.map +1 -0
  130. package/lib-esm/model/hips/VisibleTilesManager.js +160 -0
  131. package/lib-esm/model/hips/VisibleTilesManager.js.map +1 -0
  132. package/lib-esm/model/tap/TapMetadata.d.ts +31 -0
  133. package/lib-esm/model/tap/TapMetadata.d.ts.map +1 -0
  134. package/lib-esm/model/tap/TapMetadata.js +55 -0
  135. package/lib-esm/model/tap/TapMetadata.js.map +1 -0
  136. package/lib-esm/model/tap/TapMetadataList.d.ts +23 -0
  137. package/lib-esm/model/tap/TapMetadataList.d.ts.map +1 -0
  138. package/lib-esm/model/tap/TapMetadataList.js +58 -0
  139. package/lib-esm/model/tap/TapMetadataList.js.map +1 -0
  140. package/lib-esm/model/tap/TapRepo.d.ts +27 -0
  141. package/lib-esm/model/tap/TapRepo.d.ts.map +1 -0
  142. package/lib-esm/model/tap/TapRepo.js +51 -0
  143. package/lib-esm/model/tap/TapRepo.js.map +1 -0
  144. package/lib-esm/services/SesameService.d.ts +14 -0
  145. package/lib-esm/services/SesameService.d.ts.map +1 -0
  146. package/lib-esm/services/SesameService.js +54 -0
  147. package/lib-esm/services/SesameService.js.map +1 -0
  148. package/lib-esm/services/helpers.d.ts +5 -0
  149. package/lib-esm/services/helpers.d.ts.map +1 -0
  150. package/lib-esm/services/helpers.js +16 -0
  151. package/lib-esm/services/helpers.js.map +1 -0
  152. package/lib-esm/services/hipsNodeService.d.ts +7 -0
  153. package/lib-esm/services/hipsNodeService.d.ts.map +1 -0
  154. package/lib-esm/services/hipsNodeService.js +65 -0
  155. package/lib-esm/services/hipsNodeService.js.map +1 -0
  156. package/lib-esm/services/parse-hipslist.d.ts +3 -0
  157. package/lib-esm/services/parse-hipslist.d.ts.map +1 -0
  158. package/lib-esm/services/parse-hipslist.js +25 -0
  159. package/lib-esm/services/parse-hipslist.js.map +1 -0
  160. package/lib-esm/services/queryCatalogueByFoV.d.ts +2 -0
  161. package/lib-esm/services/queryCatalogueByFoV.d.ts.map +1 -0
  162. package/lib-esm/services/queryCatalogueByFoV.js +56 -0
  163. package/lib-esm/services/queryCatalogueByFoV.js.map +1 -0
  164. package/lib-esm/services/queryFootprintSetByFov.d.ts +2 -0
  165. package/lib-esm/services/queryFootprintSetByFov.d.ts.map +1 -0
  166. package/lib-esm/services/queryFootprintSetByFov.js +128 -0
  167. package/lib-esm/services/queryFootprintSetByFov.js.map +1 -0
  168. package/lib-esm/services/tapRepoService.d.ts +2 -0
  169. package/lib-esm/services/tapRepoService.d.ts.map +1 -0
  170. package/lib-esm/services/tapRepoService.js +190 -0
  171. package/lib-esm/services/tapRepoService.js.map +1 -0
  172. package/lib-esm/services/types.d.ts +13 -0
  173. package/lib-esm/services/types.d.ts.map +1 -0
  174. package/lib-esm/services/types.js +2 -0
  175. package/lib-esm/services/types.js.map +1 -0
  176. package/lib-esm/shader/CatalogueShaderProgram.d.ts +35 -0
  177. package/lib-esm/shader/CatalogueShaderProgram.d.ts.map +1 -0
  178. package/lib-esm/shader/CatalogueShaderProgram.js +94 -0
  179. package/lib-esm/shader/CatalogueShaderProgram.js.map +1 -0
  180. package/lib-esm/shader/FootprintShaderProgram.d.ts +31 -0
  181. package/lib-esm/shader/FootprintShaderProgram.d.ts.map +1 -0
  182. package/lib-esm/shader/FootprintShaderProgram.js +86 -0
  183. package/lib-esm/shader/FootprintShaderProgram.js.map +1 -0
  184. package/lib-esm/shader/GridShaderManager.d.ts +6 -0
  185. package/lib-esm/shader/GridShaderManager.d.ts.map +1 -0
  186. package/lib-esm/shader/GridShaderManager.js +29 -0
  187. package/lib-esm/shader/GridShaderManager.js.map +1 -0
  188. package/lib-esm/shader/HiPSShaderProgram.d.ts +54 -0
  189. package/lib-esm/shader/HiPSShaderProgram.d.ts.map +1 -0
  190. package/lib-esm/shader/HiPSShaderProgram.js +257 -0
  191. package/lib-esm/shader/HiPSShaderProgram.js.map +1 -0
  192. package/lib-esm/shader/ShaderManager.d.ts +12 -0
  193. package/lib-esm/shader/ShaderManager.d.ts.map +1 -0
  194. package/lib-esm/shader/ShaderManager.js +344 -0
  195. package/lib-esm/shader/ShaderManager.js.map +1 -0
  196. package/lib-esm/shader/ShaderManagerMutliHiPS.d.ts +12 -0
  197. package/lib-esm/shader/ShaderManagerMutliHiPS.d.ts.map +1 -0
  198. package/lib-esm/shader/ShaderManagerMutliHiPS.js +750 -0
  199. package/lib-esm/shader/ShaderManagerMutliHiPS.js.map +1 -0
  200. package/lib-esm/utils/CoordsType.d.ts +10 -0
  201. package/lib-esm/utils/CoordsType.d.ts.map +1 -0
  202. package/lib-esm/utils/CoordsType.js +12 -0
  203. package/lib-esm/utils/CoordsType.js.map +1 -0
  204. package/lib-esm/utils/FoVUtils.d.ts +46 -0
  205. package/lib-esm/utils/FoVUtils.d.ts.map +1 -0
  206. package/lib-esm/utils/FoVUtils.js +217 -0
  207. package/lib-esm/utils/FoVUtils.js.map +1 -0
  208. package/lib-esm/utils/GeomUtils.d.ts +36 -0
  209. package/lib-esm/utils/GeomUtils.d.ts.map +1 -0
  210. package/lib-esm/utils/GeomUtils.js +267 -0
  211. package/lib-esm/utils/GeomUtils.js.map +1 -0
  212. package/lib-esm/utils/MouseHelper.d.ts +36 -0
  213. package/lib-esm/utils/MouseHelper.d.ts.map +1 -0
  214. package/lib-esm/utils/MouseHelper.js +94 -0
  215. package/lib-esm/utils/MouseHelper.js.map +1 -0
  216. package/lib-esm/utils/PerspectiveMatrixManager.d.ts +11 -0
  217. package/lib-esm/utils/PerspectiveMatrixManager.d.ts.map +1 -0
  218. package/lib-esm/utils/PerspectiveMatrixManager.js +37 -0
  219. package/lib-esm/utils/PerspectiveMatrixManager.js.map +1 -0
  220. package/lib-esm/utils/RayPickingUtils.d.ts +30 -0
  221. package/lib-esm/utils/RayPickingUtils.d.ts.map +1 -0
  222. package/lib-esm/utils/RayPickingUtils.js +112 -0
  223. package/lib-esm/utils/RayPickingUtils.js.map +1 -0
  224. package/lib-esm/utils/STCSParser.d.ts +16 -0
  225. package/lib-esm/utils/STCSParser.d.ts.map +1 -0
  226. package/lib-esm/utils/STCSParser.js +96 -0
  227. package/lib-esm/utils/STCSParser.js.map +1 -0
  228. package/lib-esm/utils/ShaderUtility.d.ts +2 -0
  229. package/lib-esm/utils/ShaderUtility.d.ts.map +1 -0
  230. package/lib-esm/utils/ShaderUtility.js +23 -0
  231. package/lib-esm/utils/ShaderUtility.js.map +1 -0
  232. package/lib-esm/utils/Utils.d.ts +32 -0
  233. package/lib-esm/utils/Utils.d.ts.map +1 -0
  234. package/lib-esm/utils/Utils.js +77 -0
  235. package/lib-esm/utils/Utils.js.map +1 -0
  236. 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"}