astro-viewer 3.6.0 → 3.8.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 (67) hide show
  1. package/dist/64.astroviewer.cjs +37 -0
  2. package/dist/64.astroviewer.cjs.map +1 -0
  3. package/dist/64.astroviewer.js +41 -0
  4. package/dist/64.astroviewer.js.map +1 -0
  5. package/dist/64.astroviewer.min.js +2 -0
  6. package/dist/64.astroviewer.min.js.map +1 -0
  7. package/dist/911.astroviewer.cjs +4047 -0
  8. package/dist/911.astroviewer.cjs.map +1 -0
  9. package/dist/911.astroviewer.js +735 -0
  10. package/dist/911.astroviewer.js.map +1 -0
  11. package/dist/911.astroviewer.min.js +2 -0
  12. package/dist/911.astroviewer.min.js.map +1 -0
  13. package/dist/astroviewer.cjs +3019 -479
  14. package/dist/astroviewer.cjs.map +1 -1
  15. package/dist/astroviewer.js +3172 -476
  16. package/dist/astroviewer.js.map +1 -1
  17. package/dist/astroviewer.min.js +1 -1
  18. package/dist/astroviewer.min.js.map +1 -1
  19. package/lib-esm/AstroSphere.d.ts +10 -2
  20. package/lib-esm/AstroSphere.d.ts.map +1 -1
  21. package/lib-esm/AstroSphere.js +92 -28
  22. package/lib-esm/AstroSphere.js.map +1 -1
  23. package/lib-esm/AstroViewer.d.ts +32 -23
  24. package/lib-esm/AstroViewer.d.ts.map +1 -1
  25. package/lib-esm/AstroViewer.js +125 -69
  26. package/lib-esm/AstroViewer.js.map +1 -1
  27. package/lib-esm/model/hips/AllSky.d.ts +7 -4
  28. package/lib-esm/model/hips/AllSky.d.ts.map +1 -1
  29. package/lib-esm/model/hips/AllSky.js +99 -33
  30. package/lib-esm/model/hips/AllSky.js.map +1 -1
  31. package/lib-esm/model/hips/AncestorTile.d.ts +7 -4
  32. package/lib-esm/model/hips/AncestorTile.d.ts.map +1 -1
  33. package/lib-esm/model/hips/AncestorTile.js +97 -53
  34. package/lib-esm/model/hips/AncestorTile.js.map +1 -1
  35. package/lib-esm/model/hips/FitsTileLoader.d.ts +9 -0
  36. package/lib-esm/model/hips/FitsTileLoader.d.ts.map +1 -0
  37. package/lib-esm/model/hips/FitsTileLoader.js +65 -0
  38. package/lib-esm/model/hips/FitsTileLoader.js.map +1 -0
  39. package/lib-esm/model/hips/HiPS.d.ts +16 -5
  40. package/lib-esm/model/hips/HiPS.d.ts.map +1 -1
  41. package/lib-esm/model/hips/HiPS.js +160 -72
  42. package/lib-esm/model/hips/HiPS.js.map +1 -1
  43. package/lib-esm/model/hips/HiPSCoverage.d.ts +20 -0
  44. package/lib-esm/model/hips/HiPSCoverage.d.ts.map +1 -0
  45. package/lib-esm/model/hips/HiPSCoverage.js +166 -0
  46. package/lib-esm/model/hips/HiPSCoverage.js.map +1 -0
  47. package/lib-esm/model/hips/Tile.d.ts +8 -5
  48. package/lib-esm/model/hips/Tile.d.ts.map +1 -1
  49. package/lib-esm/model/hips/Tile.js +116 -56
  50. package/lib-esm/model/hips/Tile.js.map +1 -1
  51. package/lib-esm/model/hips/TileBuffer.d.ts +13 -4
  52. package/lib-esm/model/hips/TileBuffer.d.ts.map +1 -1
  53. package/lib-esm/model/hips/TileBuffer.js +52 -11
  54. package/lib-esm/model/hips/TileBuffer.js.map +1 -1
  55. package/lib-esm/model/hips/VisibleTilesManager.d.ts +5 -5
  56. package/lib-esm/model/hips/VisibleTilesManager.d.ts.map +1 -1
  57. package/lib-esm/model/hips/VisibleTilesManager.js +6 -20
  58. package/lib-esm/model/hips/VisibleTilesManager.js.map +1 -1
  59. package/lib-esm/shader/HiPSShaderProgram.d.ts +11 -2
  60. package/lib-esm/shader/HiPSShaderProgram.d.ts.map +1 -1
  61. package/lib-esm/shader/HiPSShaderProgram.js +99 -53
  62. package/lib-esm/shader/HiPSShaderProgram.js.map +1 -1
  63. package/lib-esm/shader/ShaderManager.d.ts +2 -0
  64. package/lib-esm/shader/ShaderManager.d.ts.map +1 -1
  65. package/lib-esm/shader/ShaderManager.js +199 -96
  66. package/lib-esm/shader/ShaderManager.js.map +1 -1
  67. package/package.json +3 -3
@@ -0,0 +1,65 @@
1
+ /*
2
+ * AstroViewer
3
+ * Copyright (C) Fabrizio Giordano
4
+ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-AstroViewer-Commercial
5
+ *
6
+ * AstroViewer is dual-licensed under the GNU Affero General Public License
7
+ * version 3 and a separate commercial license.
8
+ *
9
+ * See LICENSE.md, LICENSE-AGPL.md, and LICENSE-COMMERCIAL.md for details.
10
+ */
11
+ import { FITSHeaderManager, FITSParser } from "jsfitsio";
12
+ export async function loadFitsTile(url) {
13
+ const fitsFile = await FITSParser.loadFITSFile(url);
14
+ if (!fitsFile?.primaryHDU) {
15
+ throw new Error(`Unable to load FITS tile: ${url}`);
16
+ }
17
+ const image = fitsFile.primaryHDU;
18
+ if (image.naxis !== 2) {
19
+ throw new Error(`Expected a 2D FITS tile, got NAXIS=${image.naxis}: ${url}`);
20
+ }
21
+ const [width, height] = image.shape;
22
+ if (!Number.isInteger(width) ||
23
+ !Number.isInteger(height) ||
24
+ width <= 0 ||
25
+ height <= 0) {
26
+ throw new Error(`Invalid FITS tile dimensions: ${url}`);
27
+ }
28
+ const data = image.typedData;
29
+ if (!data || data.length !== width * height) {
30
+ throw new Error(`Invalid FITS tile payload: ${url}`);
31
+ }
32
+ if (data instanceof BigInt64Array) {
33
+ throw new Error(`BITPIX=64 FITS tiles are not supported for HiPS rendering: ${url}`);
34
+ }
35
+ const bscale = getNumericHeaderValue(image.header, FITSHeaderManager.BSCALE) ?? 1;
36
+ const bzero = getNumericHeaderValue(image.header, FITSHeaderManager.BZERO) ?? 0;
37
+ const blank = getNumericHeaderValue(image.header, FITSHeaderManager.BLANK);
38
+ const dataMin = getNumericHeaderValue(image.header, FITSHeaderManager.DATAMIN);
39
+ const dataMax = getNumericHeaderValue(image.header, FITSHeaderManager.DATAMAX);
40
+ const pixels = new Float32Array(data.length);
41
+ for (let i = 0; i < data.length; i++) {
42
+ const rawValue = data[i];
43
+ if (!Number.isFinite(rawValue) || (blank !== null && rawValue === blank)) {
44
+ pixels[i] = Number.NaN;
45
+ continue;
46
+ }
47
+ pixels[i] = rawValue * bscale + bzero;
48
+ }
49
+ return {
50
+ width,
51
+ height,
52
+ pixels,
53
+ dataMin,
54
+ dataMax,
55
+ };
56
+ }
57
+ function getNumericHeaderValue(header, key) {
58
+ const item = header.findById(key);
59
+ if (!item) {
60
+ return null;
61
+ }
62
+ const value = Number(item.value);
63
+ return Number.isFinite(value) ? value : null;
64
+ }
65
+ //# sourceMappingURL=FitsTileLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FitsTileLoader.js","sourceRoot":"","sources":["../../../src/model/hips/FitsTileLoader.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,18 @@
1
1
  /**
2
2
  * @author Fabrizio Giordano (Fab77)
3
3
  */
4
- import { AbstractSkyEntity, SkyEntityDrawInput } from '../AbstractSkyEntity.js';
5
- import { ColorMap } from '../ColorMaps.js';
6
- import { HiPSDescriptor } from './HiPSDescriptor.js';
7
- import type { HiPSDebugStats } from './HiPSConfig.js';
8
- import { HealpixGrid } from '../grid/HealpixGrid.js';
4
+ import { AbstractSkyEntity, SkyEntityDrawInput } from "../AbstractSkyEntity.js";
5
+ import { ColorMap } from "../ColorMaps.js";
6
+ import { HiPSDescriptor } from "./HiPSDescriptor.js";
7
+ import type { HiPSDebugStats } from "./HiPSConfig.js";
8
+ import { HealpixGrid } from "../grid/HealpixGrid.js";
9
9
  export declare class HiPS extends AbstractSkyEntity {
10
10
  private _ancestorTiles;
11
11
  private _allSkyTile;
12
12
  private _descriptor;
13
+ private _coverage;
14
+ private _coverageResolved;
15
+ private _opacity;
13
16
  private _format;
14
17
  private _baseurl;
15
18
  private _maxorder;
@@ -27,8 +30,14 @@ export declare class HiPS extends AbstractSkyEntity {
27
30
  get propertiesRawText(): string;
28
31
  get properties(): ReadonlyMap<string, string>;
29
32
  constructor(radius: number, position: [number, number, number], xrad: number, yrad: number, descriptor: HiPSDescriptor, webgl: WebGL2RenderingContext, healpixGrid: HealpixGrid);
33
+ setOpacity(opacity: number): void;
34
+ get opacity(): number;
35
+ intersectsCoverage(order: number, pixel: number): boolean;
36
+ get coverageLoaded(): boolean;
37
+ private initBaseTiles;
30
38
  getProperty(key: string): string | undefined;
31
39
  changeFormat(format: string): void;
40
+ get availableFormats(): readonly string[];
32
41
  /**
33
42
  * Shader colormap switcher
34
43
  * 0 -> native
@@ -41,6 +50,8 @@ export declare class HiPS extends AbstractSkyEntity {
41
50
  */
42
51
  changeColorMap(colorMap: ColorMap): void;
43
52
  private initShaders;
53
+ private selectDefaultFormat;
54
+ get dataRange(): import("./HiPSDescriptor.js").HiPSDataRange;
44
55
  getCurrentHealpixOrder(): number;
45
56
  getDebugStats(): HiPSDebugStats;
46
57
  private refresh;
@@ -1 +1 @@
1
- {"version":3,"file":"HiPS.d.ts","sourceRoot":"","sources":["../../../src/model/hips/HiPS.ts"],"names":[],"mappings":"AAYA;;GAEG;AAEH,OAAO,EAAC,iBAAiB,EAAE,kBAAkB,EAAC,MAAM,yBAAyB,CAAA;AAE7E,OAAkB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAGrD,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAGpD,qBAAa,IAAK,SAAQ,iBAAiB;IAEzC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,WAAW,CAAgB;IAEnC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,SAAS,CAAQ;IAEzB,OAAO,CAAC,aAAa,CAAI;IACzB,OAAO,CAAC,OAAO,CAAO;IAEf,UAAU,SAAI;IACd,WAAW,SAAI;IACf,QAAQ,WAAsB;IACrC,OAAO,CAAC,YAAY,CAAa;IAGjC,IAAI,QAAQ,IAAI,MAAM,CAA0B;IAChD,IAAI,QAAQ,IAAI,MAAM,CAA0B;IAChD,IAAI,OAAO,IAAI,MAAM,CAAyB;IAC9C,IAAI,MAAM,IAAI,MAAM,CAAwB;IAC5C,IAAI,iBAAiB,IAAI,MAAM,CAA8C;IAC7E,IAAI,UAAU,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAuC;gBAGlF,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,cAAc,EAC1B,KAAK,EAAE,sBAAsB,EAC7B,WAAW,EAAE,WAAW;IAyC1B,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI5C,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAqBlC;;;;;;;;;OASG;IACH,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAiExC,OAAO,CAAC,WAAW;IAOnB,sBAAsB,IAAI,MAAM;IAIhC,aAAa,IAAI,cAAc;IAqB/B,OAAO,CAAC,OAAO;IAQf,IAAI,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;CAqDtC"}
1
+ {"version":3,"file":"HiPS.d.ts","sourceRoot":"","sources":["../../../src/model/hips/HiPS.ts"],"names":[],"mappings":"AAYA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAEhF,OAAkB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGtD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGrD,qBAAa,IAAK,SAAQ,iBAAiB;IACzC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,WAAW,CAAiB;IAEpC,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAO;IAEvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,OAAO,CAAQ;IAEhB,UAAU,SAAK;IACf,WAAW,SAAK;IAChB,QAAQ,WAAuB;IACtC,OAAO,CAAC,YAAY,CAAc;IAGlC,IAAI,QAAQ,IAAI,MAAM,CAErB;IACD,IAAI,QAAQ,IAAI,MAAM,CAErB;IACD,IAAI,OAAO,IAAI,MAAM,CAEpB;IACD,IAAI,MAAM,IAAI,MAAM,CAEnB;IACD,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IACD,IAAI,UAAU,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAE5C;gBAGC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,cAAc,EAC1B,KAAK,EAAE,sBAAsB,EAC7B,WAAW,EAAE,WAAW;IAgE1B,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQjC,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAezD,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED,OAAO,CAAC,aAAa;IA6BrB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI5C,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAgClC,IAAI,gBAAgB,IAAI,SAAS,MAAM,EAAE,CAExC;IAED;;;;;;;;;OASG;IACH,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAoExC,OAAO,CAAC,WAAW;IAmBnB,OAAO,CAAC,mBAAmB;IAW3B,IAAI,SAAS,gDAEZ;IAED,sBAAsB,IAAI,MAAM;IAIhC,aAAa,IAAI,cAAc;IAqB/B,OAAO,CAAC,OAAO;IAWf,IAAI,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;CAuDtC"}
@@ -8,19 +8,23 @@
8
8
  *
9
9
  * See LICENSE.md, LICENSE-AGPL.md, and LICENSE-COMMERCIAL.md for details.
10
10
  */
11
- 'use strict';
11
+ "use strict";
12
12
  /**
13
13
  * @author Fabrizio Giordano (Fab77)
14
14
  */
15
- import { AbstractSkyEntity } from '../AbstractSkyEntity.js';
16
- import { fovHelper } from './FoVHelper.js';
17
- import ColorMaps from '../ColorMaps.js';
18
- import AncestorTile from './AncestorTile.js';
19
- import AllSky from './AllSky.js';
15
+ import { AbstractSkyEntity } from "../AbstractSkyEntity.js";
16
+ import { fovHelper } from "./FoVHelper.js";
17
+ import ColorMaps from "../ColorMaps.js";
18
+ import AncestorTile from "./AncestorTile.js";
19
+ import AllSky from "./AllSky.js";
20
+ import { HiPSCoverage } from "./HiPSCoverage.js";
20
21
  export class HiPS extends AbstractSkyEntity {
21
22
  _ancestorTiles;
22
23
  _allSkyTile;
23
24
  _descriptor;
25
+ _coverage;
26
+ _coverageResolved = false;
27
+ _opacity = 1.0;
24
28
  _format;
25
29
  _baseurl;
26
30
  _maxorder;
@@ -29,30 +33,58 @@ export class HiPS extends AbstractSkyEntity {
29
33
  _allSky = true;
30
34
  samplerIdx = 0;
31
35
  colorMapIdx = 0;
32
- colorMap = ColorMaps['native'];
36
+ colorMap = ColorMaps["native"];
33
37
  _healpixGrid;
34
38
  // exposed read-only helpers
35
- get maxOrder() { return this._maxorder; }
36
- get minOrder() { return this._minorder; }
37
- get baseURL() { return this._baseurl; }
38
- get format() { return this._format; }
39
- get propertiesRawText() { return this._descriptor.propertiesRawText; }
40
- get properties() { return this._descriptor.properties; }
39
+ get maxOrder() {
40
+ return this._maxorder;
41
+ }
42
+ get minOrder() {
43
+ return this._minorder;
44
+ }
45
+ get baseURL() {
46
+ return this._baseurl;
47
+ }
48
+ get format() {
49
+ return this._format;
50
+ }
51
+ get propertiesRawText() {
52
+ return this._descriptor.propertiesRawText;
53
+ }
54
+ get properties() {
55
+ return this._descriptor.properties;
56
+ }
41
57
  constructor(radius, position, xrad, yrad, descriptor, webgl, healpixGrid) {
42
58
  super(radius, position, xrad, yrad, descriptor.surveyName, webgl, descriptor.isGalactic);
43
59
  this._descriptor = descriptor;
44
60
  this.initGL(webgl);
45
61
  this._healpixGrid = healpixGrid;
46
- this._healpixGrid.visibleTilesManager.tileBuffer.addHiPS(this);
47
- // DEBUG logs kept from JS (optional)
48
- // eslint-disable-next-line no-console
49
- console.log('HiPS frame ' + descriptor.hipsFrame);
50
- // eslint-disable-next-line no-console
51
- console.log('HiPS minOrder ' + descriptor.minOrder);
52
- this._format = descriptor.imgFormats[0];
62
+ this._format = this.selectDefaultFormat(descriptor.imgFormats);
53
63
  this._baseurl = descriptor.url;
54
64
  this._maxorder = descriptor.maxOrder;
55
65
  this._minorder = descriptor.minOrder;
66
+ this._coverage = new HiPSCoverage();
67
+ void this._coverage
68
+ .load(this._baseurl)
69
+ .then(() => {
70
+ this._coverageResolved = true;
71
+ })
72
+ .catch((error) => {
73
+ console.warn(`[HiPS] Coverage unavailable for ${this._baseurl}; continuing without MOC filtering.`, error);
74
+ this._coverage.clear();
75
+ this._coverageResolved = true;
76
+ });
77
+ if (this.isGalacticHips) {
78
+ this._healpixGrid.visibleTilesManager.tileBuffer.addGalHiPS(this);
79
+ }
80
+ else {
81
+ this._healpixGrid.visibleTilesManager.tileBuffer.addHiPS(this);
82
+ }
83
+ // DEBUG logs kept from JS (optional)
84
+ // eslint-disable-next-line no-console
85
+ console.log("HiPS frame " + descriptor.hipsFrame);
86
+ // eslint-disable-next-line no-console
87
+ console.log("HiPS minOrder " + descriptor.minOrder);
56
88
  this.initShaders();
57
89
  // pick initial order from a starting FoV
58
90
  const fov = 180;
@@ -62,39 +94,77 @@ export class HiPS extends AbstractSkyEntity {
62
94
  this._allSkyTile = null;
63
95
  // auto-detect all-sky: original code forces true
64
96
  this._allSky = true;
97
+ this.initBaseTiles();
98
+ }
99
+ setOpacity(opacity) {
100
+ if (!Number.isFinite(opacity)) {
101
+ throw new Error(`Invalid HiPS opacity: ${opacity}`);
102
+ }
103
+ this._opacity = Math.min(1, Math.max(0, opacity));
104
+ }
105
+ get opacity() {
106
+ return this._opacity;
107
+ }
108
+ intersectsCoverage(order, pixel) {
109
+ /*
110
+ * While Moc.fits is being resolved, do not start tile requests.
111
+ *
112
+ * Once loading has completed:
113
+ * - valid MOC -> filter using coverage
114
+ * - unavailable MOC -> HiPSCoverage is cleared and normal loading resumes
115
+ */
116
+ if (!this._coverageResolved) {
117
+ return false;
118
+ }
119
+ return this._coverage.intersectsTile(order, pixel);
120
+ }
121
+ get coverageLoaded() {
122
+ return this._coverage.loaded;
123
+ }
124
+ initBaseTiles() {
125
+ this._ancestorTiles = [];
126
+ this._allSkyTile = null;
65
127
  if (this._allSky) {
66
128
  this._allSkyTile = new AllSky(this, this._webgl, this._healpixGrid.visibleTilesManager.tileBuffer, super.hipsShaderProgram);
129
+ return;
67
130
  }
68
- else {
69
- for (let t = 0; t < 12; t++) {
70
- this._ancestorTiles.push(new AncestorTile(t, 0, this, this._healpixGrid.visibleTilesManager.tileBuffer, super.hipsShaderProgram, this._webgl));
71
- }
131
+ for (let t = 0; t < 12; t++) {
132
+ this._ancestorTiles.push(new AncestorTile(t, 0, this, this._healpixGrid.visibleTilesManager.tileBuffer, super.hipsShaderProgram, this._webgl));
72
133
  }
73
134
  }
74
135
  getProperty(key) {
75
136
  return this._descriptor.getProperty(key);
76
137
  }
77
138
  changeFormat(format) {
78
- this._format = format;
79
- // original code referenced _tileBuffer; if you have one, wire it back.
80
- // Keeping calls no-op to avoid breaking at runtime if _tileBuffer is undefined.
81
- // (newVisibleTilesManager + TileBuffer drive the actual tile lifecycle)
82
- // @ts-ignore
83
- if (this._tileBuffer?.clearAll)
84
- this._tileBuffer.clearAll();
85
- // @ts-ignore
86
- if (this._tileBuffer)
87
- this._tileBuffer._format = this._format;
88
- const pixelByOrder = this.isGalacticHips
89
- ? this._healpixGrid.visibleTilesManager.galVisibleTilesByOrder
90
- : this._healpixGrid.visibleTilesManager.visibleTilesByOrder;
91
- // const pixelByOrder =
92
- // this.isGalacticHips
93
- // ? visibleTilesManager.galVisibleTilesByOrder
94
- // : visibleTilesManager.visibleTilesByOrder
95
- // @ts-ignore
96
- if (this._tileBuffer?.updateTiles)
97
- this._tileBuffer.updateTiles(pixelByOrder.pixels, pixelByOrder.order);
139
+ const normalizedFormat = format.toLowerCase();
140
+ if (!this._descriptor.imgFormats.includes(normalizedFormat)) {
141
+ throw new Error(`HiPS format "${format}" is not supported. ` +
142
+ `Available formats: ${this._descriptor.imgFormats.join(", ")}`);
143
+ }
144
+ if (normalizedFormat === this._format.toLowerCase()) {
145
+ return;
146
+ }
147
+ const tileBuffer = this._healpixGrid.visibleTilesManager.tileBuffer;
148
+ /*
149
+ * Remove Tile instances created using the previous format.
150
+ *
151
+ * TileBuffer invalidates by HiPS identity/base URL rather than by the
152
+ * current format, so both active and cached resources are discarded.
153
+ */
154
+ tileBuffer.invalidateHiPS(this);
155
+ /*
156
+ * Change format before recreating AllSky/AncestorTile because their
157
+ * constructors read hips.format.
158
+ */
159
+ this._format = normalizedFormat;
160
+ /*
161
+ * AllSky and AncestorTile also keep the format they were constructed
162
+ * with, so they must be recreated.
163
+ */
164
+ this.initBaseTiles();
165
+ }
166
+ get availableFormats() {
167
+ return this._descriptor.imgFormats;
98
168
  }
99
169
  /**
100
170
  * Shader colormap switcher
@@ -107,60 +177,60 @@ export class HiPS extends AbstractSkyEntity {
107
177
  * 6 -> cubehelix
108
178
  */
109
179
  changeColorMap(colorMap) {
110
- console.log('HiPS.changeColorMap -> shaderProgram', super.hipsShaderProgram.shaderProgram);
180
+ console.log("HiPS.changeColorMap -> shaderProgram", super.hipsShaderProgram.shaderProgram);
111
181
  this.colorMap = colorMap;
112
182
  switch (colorMap.name) {
113
- case 'grayscale':
183
+ case "grayscale":
114
184
  this.colorMapIdx = 1;
115
185
  // hipsShaderProgram.setGrayscaleShader()
116
- this.colorMap = ColorMaps['grayscale'];
186
+ this.colorMap = ColorMaps["grayscale"];
117
187
  super.hipsShaderProgram.setGrayscaleShader();
118
188
  break;
119
- case 'planck':
189
+ case "planck":
120
190
  this.colorMapIdx = 2;
121
- this.colorMap = ColorMaps['planck'];
191
+ this.colorMap = ColorMaps["planck"];
122
192
  // hipsShaderProgram.setColorMapShader()
123
193
  super.hipsShaderProgram.setColorMapShader();
124
194
  break;
125
- case 'cmb':
195
+ case "cmb":
126
196
  this.colorMapIdx = 3;
127
- this.colorMap = ColorMaps['cmb'];
197
+ this.colorMap = ColorMaps["cmb"];
128
198
  // hipsShaderProgram.setColorMapShader()
129
199
  super.hipsShaderProgram.setColorMapShader();
130
200
  break;
131
- case 'rainbow':
201
+ case "rainbow":
132
202
  this.colorMapIdx = 4;
133
- this.colorMap = ColorMaps['rainbow'];
203
+ this.colorMap = ColorMaps["rainbow"];
134
204
  // hipsShaderProgram.setColorMapShader()
135
205
  super.hipsShaderProgram.setColorMapShader();
136
206
  break;
137
- case 'eosb':
207
+ case "eosb":
138
208
  this.colorMapIdx = 5;
139
- this.colorMap = ColorMaps['eosb'];
209
+ this.colorMap = ColorMaps["eosb"];
140
210
  super.hipsShaderProgram.setColorMapShader();
141
211
  // hipsShaderProgram.setColorMapShader()
142
212
  break;
143
- case 'cubehelix':
213
+ case "cubehelix":
144
214
  this.colorMapIdx = 6;
145
- this.colorMap = ColorMaps['cubehelix'];
215
+ this.colorMap = ColorMaps["cubehelix"];
146
216
  super.hipsShaderProgram.setColorMapShader();
147
217
  // hipsShaderProgram.setColorMapShader()
148
218
  break;
149
- case 'hot':
219
+ case "hot":
150
220
  this.colorMapIdx = 7;
151
- this.colorMap = ColorMaps['hot'];
221
+ this.colorMap = ColorMaps["hot"];
152
222
  super.hipsShaderProgram.setColorMapShader();
153
223
  // hipsShaderProgram.setColorMapShader()
154
224
  break;
155
- case 'gray':
225
+ case "gray":
156
226
  this.colorMapIdx = 8;
157
- this.colorMap = ColorMaps['gray'];
227
+ this.colorMap = ColorMaps["gray"];
158
228
  super.hipsShaderProgram.setColorMapShader();
159
229
  // hipsShaderProgram.setColorMapShader()
160
230
  break;
161
- case 'native':
231
+ case "native":
162
232
  this.colorMapIdx = 0;
163
- this.colorMap = ColorMaps['native'];
233
+ this.colorMap = ColorMaps["native"];
164
234
  super.hipsShaderProgram.setNativeShader();
165
235
  break;
166
236
  default:
@@ -175,6 +245,30 @@ export class HiPS extends AbstractSkyEntity {
175
245
  // this.shaderProgram = super.hipsShaderProgram.shaderProgram
176
246
  // this.shaderProgram = hipsShaderProgram.shaderProgram
177
247
  }
248
+ // private selectDefaultFormat(formats: string[]): string {
249
+ // if (formats.includes("fits")) return "fits";
250
+ // if (formats.includes("png")) return "png";
251
+ // if (formats.includes("jpg")) return "jpg";
252
+ // if (formats.length > 0) {
253
+ // return formats[0];
254
+ // }
255
+ // throw new Error("HiPS descriptor does not define a tile format");
256
+ // }
257
+ selectDefaultFormat(formats) {
258
+ if (formats.includes("png"))
259
+ return "png";
260
+ if (formats.includes("jpg"))
261
+ return "jpg";
262
+ if (formats.includes("fits"))
263
+ return "fits";
264
+ if (formats.length > 0) {
265
+ return formats[0];
266
+ }
267
+ throw new Error("HiPS descriptor does not define a tile format");
268
+ }
269
+ get dataRange() {
270
+ return this._descriptor.dataRange;
271
+ }
178
272
  getCurrentHealpixOrder() {
179
273
  return this._visibleorder;
180
274
  }
@@ -184,7 +278,7 @@ export class HiPS extends AbstractSkyEntity {
184
278
  ? this._healpixGrid.visibleTilesManager.galVisibleTilesByOrder
185
279
  : this._healpixGrid.visibleTilesManager.visibleTilesByOrder;
186
280
  return {
187
- activeBaseLayer: 'hips',
281
+ activeBaseLayer: "hips",
188
282
  hipsName: this._descriptor.surveyName,
189
283
  hipsUrl: this._baseurl,
190
284
  isGalactic: this.isGalacticHips,
@@ -216,16 +310,10 @@ export class HiPS extends AbstractSkyEntity {
216
310
  super.hipsShaderProgram.setRuntimeColorMap(this.colorMap);
217
311
  if (this._allSky && this._allSkyTile) {
218
312
  if (this.isGalacticHips) {
219
- this._allSkyTile.draw(this._healpixGrid.visibleTilesManager.galVisibleTilesByOrder.order, this._healpixGrid.visibleTilesManager.galAncestorsMap,
220
- // visibleTilesManager.galVisibleTilesByOrder.order,
221
- // visibleTilesManager.galAncestorsMap,
222
- pMatrix, vMatrix, mMatrix, this.colorMapIdx);
313
+ this._allSkyTile.draw(this._healpixGrid.visibleTilesManager.galVisibleTilesByOrder.order, this._healpixGrid.visibleTilesManager.galAncestorsMap, pMatrix, vMatrix, mMatrix, this.colorMapIdx);
223
314
  }
224
315
  else {
225
- this._allSkyTile.draw(this._healpixGrid.visibleTilesManager.visibleTilesByOrder.order, this._healpixGrid.visibleTilesManager.ancestorsMap,
226
- // visibleTilesManager.visibleTilesByOrder.order,
227
- // visibleTilesManager.ancestorsMap,
228
- pMatrix, vMatrix, mMatrix, this.colorMapIdx);
316
+ this._allSkyTile.draw(this._healpixGrid.visibleTilesManager.visibleTilesByOrder.order, this._healpixGrid.visibleTilesManager.ancestorsMap, pMatrix, vMatrix, mMatrix, this.colorMapIdx);
229
317
  }
230
318
  return;
231
319
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HiPS.js","sourceRoot":"","sources":["../../../src/model/hips/HiPS.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HiPS.js","sourceRoot":"","sources":["../../../src/model/hips/HiPS.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export declare class HiPSCoverage {
2
+ intersec(intersec: any, arg1: any): void;
3
+ ises(ises: any, expents: any, of: any, arg3: any): any;
4
+ intersexpect(co: any, t: any, expe: any, arg3: any): any;
5
+ intersectsT19(intersectsT19: any, arg1: any): any;
6
+ private _maxOrder;
7
+ private _intervals;
8
+ private _loaded;
9
+ get loaded(): boolean;
10
+ get maxOrder(): number;
11
+ get intervalCount(): number;
12
+ clear(): void;
13
+ load(baseUrl: string | URL): Promise<void>;
14
+ loadMoc(mocUrl: string): Promise<void>;
15
+ intersectsTile(order: number, pixel: number): boolean;
16
+ private intersectsInterval;
17
+ private static decodeUniq;
18
+ private static mergeIntervals;
19
+ }
20
+ //# sourceMappingURL=HiPSCoverage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HiPSCoverage.d.ts","sourceRoot":"","sources":["../../../src/model/hips/HiPSCoverage.ts"],"names":[],"mappings":"AAkBA,qBAAa,YAAY;IACvB,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG;IAGjC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG;IAGtD,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG;IAGxD,aAAa,CAAC,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG;IAGjD,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,OAAO,CAAS;IAExB,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,KAAK,IAAI,IAAI;IAMP,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAW1C,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgE5C,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAqCrD,OAAO,CAAC,kBAAkB;IAwB1B,OAAO,CAAC,MAAM,CAAC,UAAU;IAkBzB,OAAO,CAAC,MAAM,CAAC,cAAc;CAwB9B"}