astro-viewer 3.0.0 → 3.2.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 (127) hide show
  1. package/dist/astroviewer.cjs +3082 -1410
  2. package/dist/astroviewer.js +1 -1
  3. package/dist/astroviewer.min.js +1 -1
  4. package/lib-esm/AstroSphere.d.ts +40 -16
  5. package/lib-esm/AstroSphere.js +359 -93
  6. package/lib-esm/AstroViewer.d.ts +20 -5
  7. package/lib-esm/AstroViewer.js +50 -0
  8. package/lib-esm/Camera.js +28 -14
  9. package/lib-esm/Config.d.ts +2 -0
  10. package/lib-esm/Config.js +15 -1
  11. package/lib-esm/Global.js +12 -0
  12. package/lib-esm/index.d.ts +8 -4
  13. package/lib-esm/index.js +17 -3
  14. package/lib-esm/model/AbstractSkyEntity.d.ts +1 -0
  15. package/lib-esm/model/AbstractSkyEntity.js +12 -0
  16. package/lib-esm/model/AstroGL.js +12 -0
  17. package/lib-esm/model/ColorMaps.js +12 -0
  18. package/lib-esm/model/MetadataColumn.js +12 -0
  19. package/lib-esm/model/MetadataManager.d.ts +1 -0
  20. package/lib-esm/model/MetadataManager.js +16 -1
  21. package/lib-esm/model/Point.d.ts +9 -1
  22. package/lib-esm/model/Point.js +30 -0
  23. package/lib-esm/model/Point2D.js +12 -0
  24. package/lib-esm/model/Source.js +12 -0
  25. package/lib-esm/model/SphereFoV.d.ts +30 -0
  26. package/lib-esm/model/SphereFoV.js +196 -0
  27. package/lib-esm/model/catalogues/CatalogueGL.js +12 -0
  28. package/lib-esm/model/catalogues/CatalogueProps.js +13 -1
  29. package/lib-esm/model/earth/{wmts/WMTSAdapter.d.ts → WMTSAdapter.d.ts} +2 -1
  30. package/lib-esm/model/earth/{wmts/WMTSAdapter.js → WMTSAdapter.js} +12 -0
  31. package/lib-esm/model/earth/XYZAnchestorTile.d.ts +17 -0
  32. package/lib-esm/model/earth/XYZAnchestorTile.js +87 -0
  33. package/lib-esm/model/earth/{types.d.ts → XYZConfig.d.ts} +6 -17
  34. package/lib-esm/model/earth/XYZConfig.js +13 -0
  35. package/lib-esm/model/earth/XYZFoVHelper.d.ts +12 -0
  36. package/lib-esm/model/earth/XYZFoVHelper.js +138 -0
  37. package/lib-esm/model/earth/XYZMap.d.ts +31 -0
  38. package/lib-esm/model/earth/XYZMap.js +208 -0
  39. package/lib-esm/model/earth/XYZMapDescriptor.d.ts +29 -0
  40. package/lib-esm/model/earth/XYZMapDescriptor.js +77 -0
  41. package/lib-esm/model/earth/XYZMeshBuilder.d.ts +1 -1
  42. package/lib-esm/model/earth/XYZMeshBuilder.js +13 -2
  43. package/lib-esm/model/earth/XYZTile.d.ts +20 -21
  44. package/lib-esm/model/earth/XYZTile.js +82 -102
  45. package/lib-esm/model/earth/XYZTileBuffer.d.ts +24 -26
  46. package/lib-esm/model/earth/XYZTileBuffer.js +60 -70
  47. package/lib-esm/model/earth/XYZTileRequestScheduler.d.ts +1 -1
  48. package/lib-esm/model/earth/XYZTileRequestScheduler.js +13 -2
  49. package/lib-esm/model/earth/XYZTypes.d.ts +24 -0
  50. package/lib-esm/model/earth/XYZTypes.js +13 -0
  51. package/lib-esm/model/earth/XYZVisibleTilesManager.d.ts +16 -27
  52. package/lib-esm/model/earth/XYZVisibleTilesManager.js +61 -192
  53. package/lib-esm/model/footprints/Footprint.d.ts +4 -1
  54. package/lib-esm/model/footprints/Footprint.js +30 -2
  55. package/lib-esm/model/footprints/FootprintProps.js +13 -1
  56. package/lib-esm/model/footprints/FootprintSetGL.d.ts +4 -2
  57. package/lib-esm/model/footprints/FootprintSetGL.js +21 -6
  58. package/lib-esm/model/grid/EquatorialGrid.d.ts +2 -1
  59. package/lib-esm/model/grid/EquatorialGrid.js +30 -12
  60. package/lib-esm/model/grid/GridTextHelper.d.ts +10 -19
  61. package/lib-esm/model/grid/GridTextHelper.js +70 -67
  62. package/lib-esm/model/grid/HealpixGrid.d.ts +4 -4
  63. package/lib-esm/model/grid/HealpixGrid.js +24 -8
  64. package/lib-esm/model/grid/LonLatGrid.d.ts +43 -0
  65. package/lib-esm/model/grid/LonLatGrid.js +309 -0
  66. package/lib-esm/model/hips/AllSky.js +12 -0
  67. package/lib-esm/model/hips/AncestorTile.js +12 -0
  68. package/lib-esm/model/hips/FoVHelper.d.ts +5 -2
  69. package/lib-esm/model/hips/FoVHelper.js +52 -3
  70. package/lib-esm/model/hips/HiPS.d.ts +2 -0
  71. package/lib-esm/model/hips/HiPS.js +38 -14
  72. package/lib-esm/model/hips/HiPSConfig.d.ts +13 -0
  73. package/lib-esm/model/hips/HiPSDescriptor.js +12 -0
  74. package/lib-esm/model/hips/Tile.d.ts +1 -0
  75. package/lib-esm/model/hips/Tile.js +15 -0
  76. package/lib-esm/model/hips/TileBuffer.d.ts +5 -0
  77. package/lib-esm/model/hips/TileBuffer.js +61 -0
  78. package/lib-esm/model/hips/VisibleTilesManager.js +12 -0
  79. package/lib-esm/model/tap/TapMetadata.js +12 -0
  80. package/lib-esm/model/tap/TapMetadataList.js +12 -0
  81. package/lib-esm/model/tap/TapRepo.js +12 -0
  82. package/lib-esm/model/terra/TerraFootprintSetGL.d.ts +6 -0
  83. package/lib-esm/model/terra/TerraFootprintSetGL.js +54 -0
  84. package/lib-esm/model/terra/TerraPointSetGL.js +12 -0
  85. package/lib-esm/services/SesameService.js +11 -3
  86. package/lib-esm/services/helpers.js +12 -0
  87. package/lib-esm/services/hipsNodeService.js +12 -0
  88. package/lib-esm/services/parse-hipslist.js +12 -0
  89. package/lib-esm/services/queryCatalogueByFoV.js +13 -1
  90. package/lib-esm/services/queryFootprintSetByFov.js +13 -1
  91. package/lib-esm/services/tapRepoService.js +13 -1
  92. package/lib-esm/services/types.js +12 -0
  93. package/lib-esm/shader/CatalogueShaderProgram.js +12 -0
  94. package/lib-esm/shader/FootprintShaderProgram.js +12 -0
  95. package/lib-esm/shader/GridShaderManager.js +12 -0
  96. package/lib-esm/shader/HiPSShaderProgram.js +12 -0
  97. package/lib-esm/shader/ShaderManager.js +12 -1
  98. package/lib-esm/shader/ShaderManagerMutliHiPS.js +12 -1
  99. package/lib-esm/shader/XYZShaderProgram.d.ts +14 -1
  100. package/lib-esm/shader/XYZShaderProgram.js +127 -2
  101. package/lib-esm/utils/CoordsType.d.ts +2 -1
  102. package/lib-esm/utils/CoordsType.js +13 -0
  103. package/lib-esm/utils/FoVUtils.js +12 -0
  104. package/lib-esm/utils/GeoJSONParser.d.ts +19 -0
  105. package/lib-esm/utils/GeoJSONParser.js +112 -0
  106. package/lib-esm/utils/GeomUtils.js +12 -0
  107. package/lib-esm/utils/MouseHelper.js +12 -0
  108. package/lib-esm/utils/PerspectiveMatrixManager.js +16 -1
  109. package/lib-esm/utils/RayPickingUtils.js +12 -0
  110. package/lib-esm/utils/STCSParser.d.ts +7 -3
  111. package/lib-esm/utils/STCSParser.js +27 -9
  112. package/lib-esm/utils/ShaderUtility.js +13 -1
  113. package/lib-esm/utils/Utils.js +12 -0
  114. package/lib-esm/utils/XYZRayPickingUtils.d.ts +27 -0
  115. package/lib-esm/utils/XYZRayPickingUtils.js +226 -0
  116. package/package.json +2 -2
  117. package/lib-esm/model/FoV.d.ts +0 -62
  118. package/lib-esm/model/FoV.js +0 -274
  119. package/lib-esm/model/earth/XYZAncestorMeshCache.d.ts +0 -10
  120. package/lib-esm/model/earth/XYZAncestorMeshCache.js +0 -31
  121. package/lib-esm/model/earth/XYZLayer.d.ts +0 -31
  122. package/lib-esm/model/earth/XYZLayer.js +0 -231
  123. package/lib-esm/model/earth/XYZTileProvider.d.ts +0 -29
  124. package/lib-esm/model/earth/XYZTileProvider.js +0 -187
  125. package/lib-esm/model/earth/wmts/types.d.ts +0 -1
  126. package/lib-esm/model/earth/wmts/types.js +0 -1
  127. /package/lib-esm/model/{earth/types.js → hips/HiPSConfig.js} +0 -0
@@ -1,16 +1,18 @@
1
- import Camera from './Camera.js';
2
- import { AstroCoords, HMS, SphericalCoords, DMS } from './utils/Utils.js';
3
- import { HiPS } from './model/hips/HiPS.js';
4
- import { HiPSDescriptor } from './model/hips/HiPSDescriptor.js';
5
- import { FoV } from './model/FoV.js';
6
- import { Point } from './model/Point.js';
7
- import { CatalogueGL } from './model/catalogues/CatalogueGL.js';
8
- import { FootprintSetGL, HoveredFootprintDetail } from './model/footprints/FootprintSetGL.js';
9
- import { EquatorialGrid } from './model/grid/EquatorialGrid.js';
10
- import { HealpixGrid } from './model/grid/HealpixGrid.js';
11
- import { ColorMap } from './model/ColorMaps.js';
12
- import { XYZLayer } from './model/earth/XYZLayer.js';
13
- import type { WMTSLayerConfig, XYZDebugStats, XYZLayerConfig } from './model/earth/types.js';
1
+ import Camera from "./Camera.js";
2
+ import { AstroCoords, HMS, SphericalCoords, DMS } from "./utils/Utils.js";
3
+ import { HiPS } from "./model/hips/HiPS.js";
4
+ import { HiPSDescriptor } from "./model/hips/HiPSDescriptor.js";
5
+ import { SphereFoV } from "./model/SphereFoV.js";
6
+ import { Point } from "./model/Point.js";
7
+ import { CatalogueGL } from "./model/catalogues/CatalogueGL.js";
8
+ import { FootprintSetGL, HoveredFootprintDetail } from "./model/footprints/FootprintSetGL.js";
9
+ import { EquatorialGrid } from "./model/grid/EquatorialGrid.js";
10
+ import { HealpixGrid } from "./model/grid/HealpixGrid.js";
11
+ import { ColorMap } from "./model/ColorMaps.js";
12
+ import type { WMTSLayerConfig, XYZDebugStats, XYZLayerConfig } from "./model/earth/XYZConfig.js";
13
+ import type { HiPSDebugStats } from "./model/hips/HiPSConfig.js";
14
+ import { XYZMapDescriptor } from "./model/earth/XYZMapDescriptor.js";
15
+ import { XYZMap } from "./model/earth/XYZMap.js";
14
16
  export type PointCoordinates = {
15
17
  astroDeg: AstroCoords;
16
18
  raHMS: HMS;
@@ -56,7 +58,7 @@ declare class AstroSphere {
56
58
  private pointerDownY;
57
59
  private pointerDownAt;
58
60
  private _activeHiPS;
59
- private _activeXYZ;
61
+ private _activeXYZ2;
60
62
  private _activeBaseLayer;
61
63
  private startup;
62
64
  private fov;
@@ -65,9 +67,14 @@ declare class AstroSphere {
65
67
  private _webgl;
66
68
  private _selectedColorMap;
67
69
  private _cameraStatusChanged;
70
+ private lastCameraChangedAt;
71
+ private lastCameraMotionAt;
68
72
  private lastHoveredSource;
69
73
  private lastHoveredCatalogue;
70
74
  private zoomSensitivity;
75
+ private lockedEastWestRaDeg;
76
+ private lockedNorthSouthDecDeg;
77
+ private keepCameraNorthUp;
71
78
  constructor(canvas: HTMLCanvasElement, webgl: WebGL2RenderingContext);
72
79
  private initCamera;
73
80
  setCamera(camera: Camera): void;
@@ -84,12 +91,18 @@ declare class AstroSphere {
84
91
  private computeZoomStep;
85
92
  setZoomSensitivity(value: number): void;
86
93
  getZoomSensitivity(): number;
94
+ private filterRotationDeltaByAstroLocks;
95
+ private projectModelDirectionToScreen;
96
+ private projectModelPointToScreen;
97
+ private enforceAstronomicalRotationLocks;
98
+ private enforceCameraNorthUp;
87
99
  private emitCameraChanged;
88
100
  private addEventListeners;
89
101
  getPhiThetaDeg(canvas: HTMLCanvasElement): SphericalCoords;
90
102
  private collectViewportSphericalSamples;
91
103
  activateHiPS(hipsDescriptor: HiPSDescriptor): void;
92
104
  activateXYZ(config: XYZLayerConfig): void;
105
+ activateXYZ2(config: XYZMapDescriptor): void;
93
106
  activateWMTS(config: WMTSLayerConfig): void;
94
107
  showCatalogue(cat: CatalogueGL): Promise<CatalogueGL>;
95
108
  deleteCatalogue(catalogue: CatalogueGL): void;
@@ -97,7 +110,11 @@ declare class AstroSphere {
97
110
  deleteFootprintSet(footprintSet: FootprintSetGL): void;
98
111
  getHoveredFootprints(): HoveredFootprintDetail[];
99
112
  goTo(raDeg: number, decDeg: number): void;
100
- getFoV(): FoV;
113
+ getActiveCoordinateMode(): "equatorial" | "galactic" | "lonlat";
114
+ resetAxesOrientation(): void;
115
+ setKeepCameraNorthUp(enabled: boolean): void;
116
+ isKeepCameraNorthUp(): boolean;
117
+ getFoV(): SphereFoV;
101
118
  getFoVPolygon(): Point[];
102
119
  changeFoV(deg: number): void;
103
120
  changeFoV2(deg: number): void;
@@ -114,8 +131,15 @@ declare class AstroSphere {
114
131
  private prevCentralRaDeg;
115
132
  private prevCentralDecDeg;
116
133
  get activeHiPS(): HiPS | null;
117
- get activeXYZ(): XYZLayer | null;
134
+ get activeXYZ(): XYZMap | null;
135
+ isLonLatGridVisible(): boolean;
136
+ toggleLonLatGrid(): boolean;
137
+ setEastWestRotationLocked(locked: boolean): void;
138
+ isEastWestRotationLocked(): boolean;
139
+ setNorthSouthRotationLocked(locked: boolean): void;
140
+ isNorthSouthRotationLocked(): boolean;
118
141
  getXYZDebugStats(): XYZDebugStats;
142
+ getHiPSDebugStats(): HiPSDebugStats | null;
119
143
  draw(canvas: HTMLCanvasElement): void;
120
144
  private emitHoveredSourceIfChanged;
121
145
  }