astro-viewer 3.11.0 → 3.13.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 (88) hide show
  1. package/dist/astroviewer.cjs +837 -173
  2. package/dist/astroviewer.cjs.map +1 -1
  3. package/dist/astroviewer.js +837 -173
  4. package/dist/astroviewer.js.map +1 -1
  5. package/dist/astroviewer.min.js +1 -1
  6. package/dist/astroviewer.min.js.map +1 -1
  7. package/lib-esm/AstroSphere.d.ts +57 -2
  8. package/lib-esm/AstroSphere.d.ts.map +1 -1
  9. package/lib-esm/AstroSphere.js +370 -83
  10. package/lib-esm/AstroSphere.js.map +1 -1
  11. package/lib-esm/AstroViewer.d.ts +21 -1
  12. package/lib-esm/AstroViewer.d.ts.map +1 -1
  13. package/lib-esm/AstroViewer.js +56 -7
  14. package/lib-esm/AstroViewer.js.map +1 -1
  15. package/lib-esm/Camera.d.ts +22 -0
  16. package/lib-esm/Camera.d.ts.map +1 -1
  17. package/lib-esm/Camera.js +71 -0
  18. package/lib-esm/Camera.js.map +1 -1
  19. package/lib-esm/index.d.ts +1 -0
  20. package/lib-esm/index.d.ts.map +1 -1
  21. package/lib-esm/index.js +1 -0
  22. package/lib-esm/index.js.map +1 -1
  23. package/lib-esm/model/Source.js +1 -1
  24. package/lib-esm/model/Source.js.map +1 -1
  25. package/lib-esm/model/catalogues/CatalogueGL.d.ts +13 -4
  26. package/lib-esm/model/catalogues/CatalogueGL.d.ts.map +1 -1
  27. package/lib-esm/model/catalogues/CatalogueGL.js +109 -59
  28. package/lib-esm/model/catalogues/CatalogueGL.js.map +1 -1
  29. package/lib-esm/model/earth/XYZMap.d.ts +4 -1
  30. package/lib-esm/model/earth/XYZMap.d.ts.map +1 -1
  31. package/lib-esm/model/earth/XYZMap.js +35 -2
  32. package/lib-esm/model/earth/XYZMap.js.map +1 -1
  33. package/lib-esm/model/footprints/FootprintSetGL.d.ts +1 -0
  34. package/lib-esm/model/footprints/FootprintSetGL.d.ts.map +1 -1
  35. package/lib-esm/model/footprints/FootprintSetGL.js +13 -3
  36. package/lib-esm/model/footprints/FootprintSetGL.js.map +1 -1
  37. package/lib-esm/model/grid/EquatorialGrid.d.ts +1 -0
  38. package/lib-esm/model/grid/EquatorialGrid.d.ts.map +1 -1
  39. package/lib-esm/model/grid/EquatorialGrid.js +3 -0
  40. package/lib-esm/model/grid/EquatorialGrid.js.map +1 -1
  41. package/lib-esm/model/grid/HealpixGrid.d.ts +1 -0
  42. package/lib-esm/model/grid/HealpixGrid.d.ts.map +1 -1
  43. package/lib-esm/model/grid/HealpixGrid.js +3 -0
  44. package/lib-esm/model/grid/HealpixGrid.js.map +1 -1
  45. package/lib-esm/model/grid/LonLatGrid.d.ts +1 -0
  46. package/lib-esm/model/grid/LonLatGrid.d.ts.map +1 -1
  47. package/lib-esm/model/grid/LonLatGrid.js +3 -0
  48. package/lib-esm/model/grid/LonLatGrid.js.map +1 -1
  49. package/lib-esm/model/hips/AllSky.d.ts.map +1 -1
  50. package/lib-esm/model/hips/AllSky.js +4 -2
  51. package/lib-esm/model/hips/AllSky.js.map +1 -1
  52. package/lib-esm/model/hips/AncestorTile.d.ts.map +1 -1
  53. package/lib-esm/model/hips/AncestorTile.js +4 -2
  54. package/lib-esm/model/hips/AncestorTile.js.map +1 -1
  55. package/lib-esm/model/hips/Tile.d.ts.map +1 -1
  56. package/lib-esm/model/hips/Tile.js +4 -2
  57. package/lib-esm/model/hips/Tile.js.map +1 -1
  58. package/lib-esm/model/hips/TileBuffer.d.ts +11 -0
  59. package/lib-esm/model/hips/TileBuffer.d.ts.map +1 -1
  60. package/lib-esm/model/hips/TileBuffer.js +47 -0
  61. package/lib-esm/model/hips/TileBuffer.js.map +1 -1
  62. package/lib-esm/model/hips/VisibleTilesManager.d.ts.map +1 -1
  63. package/lib-esm/model/hips/VisibleTilesManager.js +8 -2
  64. package/lib-esm/model/hips/VisibleTilesManager.js.map +1 -1
  65. package/lib-esm/model/meships/MeshHiPS.d.ts +4 -0
  66. package/lib-esm/model/meships/MeshHiPS.d.ts.map +1 -1
  67. package/lib-esm/model/meships/MeshHiPS.js +11 -1
  68. package/lib-esm/model/meships/MeshHiPS.js.map +1 -1
  69. package/lib-esm/model/terra/TerraPointSetGL.d.ts +1 -0
  70. package/lib-esm/model/terra/TerraPointSetGL.d.ts.map +1 -1
  71. package/lib-esm/model/terra/TerraPointSetGL.js +39 -1
  72. package/lib-esm/model/terra/TerraPointSetGL.js.map +1 -1
  73. package/lib-esm/shader/CatalogueShaderProgram.d.ts +4 -0
  74. package/lib-esm/shader/CatalogueShaderProgram.d.ts.map +1 -1
  75. package/lib-esm/shader/CatalogueShaderProgram.js +6 -0
  76. package/lib-esm/shader/CatalogueShaderProgram.js.map +1 -1
  77. package/lib-esm/shader/ShaderManager.d.ts.map +1 -1
  78. package/lib-esm/shader/ShaderManager.js +7 -4
  79. package/lib-esm/shader/ShaderManager.js.map +1 -1
  80. package/lib-esm/shader/XYZShaderProgram.d.ts +3 -0
  81. package/lib-esm/shader/XYZShaderProgram.d.ts.map +1 -1
  82. package/lib-esm/shader/XYZShaderProgram.js +11 -3
  83. package/lib-esm/shader/XYZShaderProgram.js.map +1 -1
  84. package/lib-esm/utils/Utils.d.ts +12 -0
  85. package/lib-esm/utils/Utils.d.ts.map +1 -1
  86. package/lib-esm/utils/Utils.js +26 -0
  87. package/lib-esm/utils/Utils.js.map +1 -1
  88. package/package.json +2 -2
package/lib-esm/Camera.js CHANGED
@@ -33,6 +33,7 @@ class Camera {
33
33
  lockRotY = false;
34
34
  lockRotZ = false;
35
35
  flyToAnimation = null;
36
+ radialAnimation = null;
36
37
  constructor(in_position, in_sphere) {
37
38
  this.init(in_position, in_sphere);
38
39
  }
@@ -167,6 +168,42 @@ class Camera {
167
168
  cancelFlyTo() {
168
169
  this.flyToAnimation = null;
169
170
  }
171
+ flyToRadialDistance(distance, durationMs = 1200) {
172
+ if (!Number.isFinite(distance) || distance <= 1) {
173
+ throw new RangeError(`Camera radial distance must be > 1. Received ${distance}.`);
174
+ }
175
+ this.radialAnimation = {
176
+ startDistance: this.cam_pos[2],
177
+ targetDistance: distance,
178
+ startTime: performance.now(),
179
+ durationMs: Math.max(1, durationMs),
180
+ };
181
+ }
182
+ updateRadialAnimation(now) {
183
+ const animation = this.radialAnimation;
184
+ if (!animation) {
185
+ return false;
186
+ }
187
+ const elapsed = now - animation.startTime;
188
+ const progress = Math.min(1, elapsed / animation.durationMs);
189
+ const easedProgress = progress < 0.5
190
+ ? 4 * progress * progress * progress
191
+ : 1 - Math.pow(-2 * progress + 2, 3) / 2;
192
+ const distance = animation.startDistance +
193
+ (animation.targetDistance - animation.startDistance) * easedProgress;
194
+ this.setRadialDistance(distance);
195
+ if (progress >= 1) {
196
+ this.setRadialDistance(animation.targetDistance);
197
+ this.radialAnimation = null;
198
+ }
199
+ return true;
200
+ }
201
+ isRadialAnimationActive() {
202
+ return this.radialAnimation !== null;
203
+ }
204
+ cancelRadialAnimation() {
205
+ this.radialAnimation = null;
206
+ }
170
207
  toggleInsideSphere() {
171
208
  // if (inside !== global.insideSphere) {
172
209
  // global.insideSphere = inside;
@@ -388,6 +425,22 @@ class Camera {
388
425
  }
389
426
  return [inv[12], inv[13], inv[14]];
390
427
  }
428
+ getViewState() {
429
+ return {
430
+ position: [this.cam_pos[0], this.cam_pos[1], this.cam_pos[2]],
431
+ viewMatrix: mat4.clone(this.vMatrix),
432
+ translationMatrix: mat4.clone(this.T),
433
+ rotationMatrix: mat4.clone(this.R),
434
+ };
435
+ }
436
+ restoreViewState(state) {
437
+ this.cancelFlyTo();
438
+ this.cam_pos = vec3.fromValues(...state.position);
439
+ this.vMatrix = mat4.clone(state.viewMatrix);
440
+ this.T = mat4.clone(state.translationMatrix);
441
+ this.R = mat4.clone(state.rotationMatrix);
442
+ this.move = vec3.create();
443
+ }
391
444
  setCameraMatrix(viewMatrix) {
392
445
  this.vMatrix = viewMatrix;
393
446
  }
@@ -400,6 +453,24 @@ class Camera {
400
453
  // Recompute view: vMatrix = inv(T) * inv(R)
401
454
  this.refreshViewMatrix();
402
455
  }
456
+ /**
457
+ * Set the radial camera distance while preserving the current pointing.
458
+ *
459
+ * Outside-sphere navigation stores the camera radius in cam_pos[2];
460
+ * changing only that component is the same radial motion used by zoom(),
461
+ * without changing the current rotation matrix.
462
+ */
463
+ setRadialDistance(distance) {
464
+ if (!Number.isFinite(distance) || distance <= 1) {
465
+ throw new RangeError(`Camera radial distance must be > 1. Received ${distance}.`);
466
+ }
467
+ this.cam_pos[2] = distance;
468
+ mat4.translate(this.T, mat4.create(), this.cam_pos);
469
+ this.refreshViewMatrix();
470
+ }
471
+ getRadialDistance() {
472
+ return this.cam_pos[2];
473
+ }
403
474
  getCameraAngle() {
404
475
  const [x, y, z] = this.getCameraPosition();
405
476
  const posVec = vec3.fromValues(x, y, z);
@@ -1 +1 @@
1
- {"version":3,"file":"Camera.js","sourceRoot":"","sources":["../src/Camera.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Camera.js","sourceRoot":"","sources":["../src/Camera.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ export type { FootprintGeometryLike, FootprintGeoPositionLike, FootprintMultiPol
19
19
  export { MetadataManager } from './model/MetadataManager.js';
20
20
  export { MetadataColumn, MetadataInit, ColumnType } from './model/MetadataColumn.js';
21
21
  export { Point, SphericalOpts, AstroOpts, PointInitOpts, CartesianOpts } from './model/Point.js';
22
+ export { raHMSToDeg, decDMSToDeg, } from './utils/Utils.js';
22
23
  export { FoVUtils } from './utils/FoVUtils.js';
23
24
  export { CoordsType } from './utils/CoordsType.js';
24
25
  export { default as GeoJSONParser } from './utils/GeoJSONParser.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/lib-esm/index.js CHANGED
@@ -23,6 +23,7 @@ export { createObservationTrackTimeline, footprintToRing, ObservationTrackTimeli
23
23
  export { MetadataManager } from './model/MetadataManager.js';
24
24
  export { MetadataColumn, ColumnType } from './model/MetadataColumn.js';
25
25
  export { Point } from './model/Point.js';
26
+ export { raHMSToDeg, decDMSToDeg, } from './utils/Utils.js';
26
27
  export { FoVUtils } from './utils/FoVUtils.js';
27
28
  export { CoordsType } from './utils/CoordsType.js';
28
29
  export { default as GeoJSONParser } from './utils/GeoJSONParser.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,SAAS,IAAI,GAAG,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAGhD,OAAO,EAA0B,cAAc,EAAE,MAAM,sCAAsC,CAAA;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAA;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AAExE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAEtE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAE5D,OAAO,EACL,8BAA8B,EAC9B,eAAe,EACf,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,8BAA8B,CAAA;AAwBrC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAgB,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACpF,OAAO,EAAE,KAAK,EAA0D,MAAM,kBAAkB,CAAA;AAChG,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAEnE,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEpG,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAM1E,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAC,SAAS,EAAC,MAAM,iCAAiC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,SAAS,IAAI,GAAG,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAGhD,OAAO,EAA0B,cAAc,EAAE,MAAM,sCAAsC,CAAA;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAA;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AAExE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAEtE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAE5D,OAAO,EACL,8BAA8B,EAC9B,eAAe,EACf,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,8BAA8B,CAAA;AAwBrC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAgB,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACpF,OAAO,EAAE,KAAK,EAA0D,MAAM,kBAAkB,CAAA;AAChG,OAAO,EACL,UAAU,EACV,WAAW,GACZ,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAEnE,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEpG,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAM1E,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAC,SAAS,EAAC,MAAM,iCAAiC,CAAA"}
@@ -27,7 +27,7 @@ export class Source {
27
27
  this._point = in_point;
28
28
  this._details = in_details;
29
29
  this._shapesize = 16.0;
30
- this._brightnessFactor = -99;
30
+ this._brightnessFactor = 3.0;
31
31
  this.computeHealpixPixel();
32
32
  }
33
33
  getDetailByindex(index) {
@@ -1 +1 @@
1
- {"version":3,"file":"Source.js","sourceRoot":"","sources":["../../src/model/Source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,YAAY,CAAC;AAEb,OAAO,EAAW,IAAI,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,MAAM,MAAM,cAAc,CAAC;AAoBlC,MAAM,OAAO,MAAM;IACT,MAAM,CAAQ;IACd,KAAK,CAAU;IACf,QAAQ,CAAQ;IAChB,MAAM,CAAU;IAChB,UAAU,CAAS;IACnB,iBAAiB,CAAS;IAC1B,WAAW,CAAoB;IAEvC;;;OAGG;IACH,YAAY,QAAe,EAAE,aAAoB,EAAE;QACjD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;QAE7B,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED,gBAAgB,CAAC,KAAa;QAC5B,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC/C,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IACO,mBAAmB;QACzB,mCAAmC;QACnC,wEAAwE;QACxE,MAAM,OAAO,GAAY,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IACD,IAAI,SAAS,CAAC,IAAY;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IACD;;OAEG;IACH,IAAI,gBAAgB,CAAC,MAAc;QACjC,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;IAClC,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,UAAU,CAAC,KAAmC;QAChD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;CACF"}
1
+ {"version":3,"file":"Source.js","sourceRoot":"","sources":["../../src/model/Source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,YAAY,CAAC;AAEb,OAAO,EAAW,IAAI,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,MAAM,MAAM,cAAc,CAAC;AAoBlC,MAAM,OAAO,MAAM;IACT,MAAM,CAAQ;IACd,KAAK,CAAU;IACf,QAAQ,CAAQ;IAChB,MAAM,CAAU;IAChB,UAAU,CAAS;IACnB,iBAAiB,CAAS;IAC1B,WAAW,CAAoB;IAEvC;;;OAGG;IACH,YAAY,QAAe,EAAE,aAAoB,EAAE;QACjD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;QAE7B,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED,gBAAgB,CAAC,KAAa;QAC5B,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC/C,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IACO,mBAAmB;QACzB,mCAAmC;QACnC,wEAAwE;QACxE,MAAM,OAAO,GAAY,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IACD,IAAI,SAAS,CAAC,IAAY;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IACD;;OAEG;IACH,IAAI,gBAAgB,CAAC,MAAc;QACjC,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;IAClC,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,UAAU,CAAC,KAAmC;QAChD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;CACF"}
@@ -1,9 +1,11 @@
1
1
  import { Source } from "../Source.js";
2
+ import { Point } from "../Point.js";
2
3
  import MouseHelper from "../../utils/MouseHelper.js";
3
4
  import { CatalogueShaderProgram } from "../../shader/CatalogueShaderProgram.js";
4
5
  import { MetadataManager } from "../MetadataManager.js";
5
6
  import { MetadataColumn } from "../MetadataColumn.js";
6
7
  import { VisibleTilesManager } from "../hips/VisibleTilesManager.js";
8
+ import { mat4 } from "gl-matrix";
7
9
  export type ClickedSourceState = {
8
10
  source: Source;
9
11
  selected: boolean;
@@ -90,20 +92,27 @@ export declare class CatalogueGL {
90
92
  extHighlightSource(source: Source, highlighted: boolean): void;
91
93
  extAddSources2Selected(source: Source): void;
92
94
  private initBuffer;
93
- private getSelectionRadius;
95
+ private static readonly MIN_HIT_RADIUS_PX;
96
+ private static readonly HIT_PADDING_PX;
97
+ private static readonly CANDIDATE_RADIUS_PX;
98
+ protected getCanvas(): HTMLCanvasElement;
99
+ protected getHitRadiusPx(source: Source): number;
100
+ private getCandidateSearchRadiusRad;
101
+ protected projectPointToScreen(point: Point, mvp: mat4, width: number, height: number): [number, number] | null;
102
+ clearSelection(): void;
94
103
  private setSelectedIndexes;
95
104
  /**
96
105
  * Run click-picking and update selection with the nearest candidate in current pixel.
97
106
  * Returns the selected source or null if no source was hit.
98
107
  */
99
- getSourcesFromPointer(in_mouseHelper: MouseHelper): CataloguePickResult | null;
108
+ getSourcesFromPointer(in_mouseHelper: MouseHelper, in_mMatrix: Float32Array, vMatrix: Float32Array, pMatrix: Float32Array): CataloguePickResult | null;
100
109
  /**
101
110
  * Run click-picking and update selection with the nearest candidate in current pixel.
102
111
  * Returns the selected source or null if no source was hit.
103
112
  */
104
- selectPrimarySourceFromClick(in_mouseHelper: MouseHelper): CatalogueClickResult | null;
113
+ selectPrimarySourceFromClick(in_mouseHelper: MouseHelper, in_mMatrix: Float32Array, vMatrix: Float32Array, pMatrix: Float32Array): CatalogueClickResult | null;
105
114
  getPrimaryHoveredSource(): Source | null;
106
- private findNearestSourceIndex;
115
+ protected findNearestSourceIndex(in_mouseHelper: MouseHelper, in_mMatrix: Float32Array, vMatrix: Float32Array, pMatrix: Float32Array): number | null;
107
116
  private checkClicking;
108
117
  private checkHovering;
109
118
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"CatalogueGL.d.ts","sourceRoot":"","sources":["../../../src/model/catalogues/CatalogueGL.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CatalogueGL.d.ts","sourceRoot":"","sources":["../../../src/model/catalogues/CatalogueGL.ts"],"names":[],"mappings":"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"}
@@ -11,16 +11,17 @@
11
11
  import { Source } from "../Source.js";
12
12
  import { Point } from "../Point.js";
13
13
  import { CoordsType } from "../..//utils/CoordsType.js";
14
- import { colorHex2RGB } from "../../utils/Utils.js";
14
+ import { colorHex2RGB, interactionColorsFromHex } from "../../utils/Utils.js";
15
15
  import { CatalogueShaderProgram } from "../../shader/CatalogueShaderProgram.js";
16
16
  import { MetadataManager } from "../MetadataManager.js";
17
17
  import { mat4, vec3, vec4 } from "gl-matrix";
18
+ import { Pointing, Vec3 } from "astrospatial-core/healpix";
18
19
  import global from "../../Global.js";
19
20
  export class CatalogueGL {
20
21
  _kind = "CatalogueGL";
21
22
  static ELEM_SIZE = 6;
22
23
  static BYTES_X_ELEM = new Float32Array().BYTES_PER_ELEMENT;
23
- static STANDARD_SHAPE_SIZE = 10.0;
24
+ static STANDARD_SHAPE_SIZE = 16.0;
24
25
  static STANDARD_SHAPE_HUE = 3.0;
25
26
  _ready;
26
27
  _name;
@@ -263,7 +264,7 @@ export class CatalogueGL {
263
264
  getColumnIndex(columnsmeta, columnName) {
264
265
  if (!columnName)
265
266
  return -1;
266
- return columnsmeta.find((column) => column.name === columnName)?.index ?? -1;
267
+ return (columnsmeta.find((column) => column.name === columnName)?.index ?? -1);
267
268
  }
268
269
  readCell(row, columnsmeta, columnName) {
269
270
  const idx = this.getColumnIndex(columnsmeta, columnName);
@@ -276,7 +277,9 @@ export class CatalogueGL {
276
277
  const src = String(rawSrc ?? "").trim();
277
278
  if (!src)
278
279
  return undefined;
279
- const rawKind = String(this.readCell(row, columnsmeta, mediaColumns.type) ?? "sprite").trim().toLowerCase();
280
+ const rawKind = String(this.readCell(row, columnsmeta, mediaColumns.type) ?? "sprite")
281
+ .trim()
282
+ .toLowerCase();
280
283
  const kind = rawKind === "model"
281
284
  ? "model"
282
285
  : rawKind === "image"
@@ -296,7 +299,9 @@ export class CatalogueGL {
296
299
  src,
297
300
  scale: Number.isFinite(scale) && scale > 0 ? scale : undefined,
298
301
  rotationDeg: Number.isFinite(rotationDeg) ? rotationDeg : undefined,
299
- opacity: Number.isFinite(opacity) ? Math.max(0, Math.min(1, opacity)) : undefined,
302
+ opacity: Number.isFinite(opacity)
303
+ ? Math.max(0, Math.min(1, opacity))
304
+ : undefined,
300
305
  };
301
306
  }
302
307
  clearSources() {
@@ -587,33 +592,46 @@ export class CatalogueGL {
587
592
  this._webgl.bufferData(this._webgl.ARRAY_BUFFER, this.vertexCataloguePosition, this._webgl.STATIC_DRAW);
588
593
  this._bufferInitialised = true;
589
594
  }
590
- getSelectionRadius() {
591
- const order = this._visibleTilesManager.getVisibleOrder();
592
- switch (order) {
593
- case 0:
594
- case 1:
595
- case 2:
596
- // return 0.005;
597
- return 0.01;
598
- case 3:
599
- // return 0.001;
600
- case 4:
601
- // return 0.0009;
602
- case 5:
603
- // return 0.0005;
604
- return 0.005;
605
- case 6:
606
- // return 0.0001;
607
- case 7:
608
- // return 0.00009;
609
- case 8:
610
- // return 0.00005;
611
- return 0.001;
612
- case 9:
613
- return 0.0005;
614
- default:
615
- return 0.0001;
595
+ static MIN_HIT_RADIUS_PX = 6;
596
+ static HIT_PADDING_PX = 3;
597
+ static CANDIDATE_RADIUS_PX = 16;
598
+ getCanvas() {
599
+ return this._webgl.canvas;
600
+ }
601
+ getHitRadiusPx(source) {
602
+ const markerSize = source.shapeSize ?? CatalogueGL.STANDARD_SHAPE_SIZE;
603
+ return Math.max(CatalogueGL.MIN_HIT_RADIUS_PX, markerSize / 2 + CatalogueGL.HIT_PADDING_PX);
604
+ }
605
+ getCandidateSearchRadiusRad(pMatrix) {
606
+ const canvas = this._webgl.canvas;
607
+ const width = Math.max(1, canvas.clientWidth);
608
+ const height = Math.max(1, canvas.clientHeight);
609
+ // pMatrix[0] and pMatrix[5] are the perspective scale factors for X/Y.
610
+ // Convert a small screen-space radius to a conservative angular radius.
611
+ const fovXRad = 2 * Math.atan(1 / Math.abs(pMatrix[0]));
612
+ const fovYRad = 2 * Math.atan(1 / Math.abs(pMatrix[5]));
613
+ const radPerPixel = Math.max(fovXRad / width, fovYRad / height);
614
+ return CatalogueGL.CANDIDATE_RADIUS_PX * radPerPixel;
615
+ }
616
+ projectPointToScreen(point, mvp, width, height) {
617
+ const projected = vec4.fromValues(point.x, point.y, point.z, 1);
618
+ vec4.transformMat4(projected, projected, mvp);
619
+ if (projected[3] <= 0)
620
+ return null;
621
+ const ndcX = projected[0] / projected[3];
622
+ const ndcY = projected[1] / projected[3];
623
+ return [(ndcX * 0.5 + 0.5) * width, (1 - (ndcY * 0.5 + 0.5)) * height];
624
+ }
625
+ clearSelection() {
626
+ for (const idx of this.selectedIndexes) {
627
+ const base = idx * CatalogueGL.ELEM_SIZE;
628
+ if (base + 4 >= this.vertexCataloguePosition.length)
629
+ continue;
630
+ this.vertexCataloguePosition[base + 3] = 0.0;
631
+ this.vertexCataloguePosition[base + 4] =
632
+ this._sources[idx]?.shapeSize ?? CatalogueGL.STANDARD_SHAPE_SIZE;
616
633
  }
634
+ this.selectedIndexes = [];
617
635
  }
618
636
  setSelectedIndexes(selectedIndex) {
619
637
  selectedIndex.forEach((idx) => {
@@ -640,8 +658,8 @@ export class CatalogueGL {
640
658
  * Run click-picking and update selection with the nearest candidate in current pixel.
641
659
  * Returns the selected source or null if no source was hit.
642
660
  */
643
- getSourcesFromPointer(in_mouseHelper) {
644
- const pickedIndexes = this.checkClicking(in_mouseHelper);
661
+ getSourcesFromPointer(in_mouseHelper, in_mMatrix, vMatrix, pMatrix) {
662
+ const pickedIndexes = this.checkClicking(in_mouseHelper, in_mMatrix, vMatrix, pMatrix);
645
663
  if (!pickedIndexes.length) {
646
664
  return {
647
665
  sources: [],
@@ -660,8 +678,8 @@ export class CatalogueGL {
660
678
  * Run click-picking and update selection with the nearest candidate in current pixel.
661
679
  * Returns the selected source or null if no source was hit.
662
680
  */
663
- selectPrimarySourceFromClick(in_mouseHelper) {
664
- const picked = this.getSourcesFromPointer(in_mouseHelper);
681
+ selectPrimarySourceFromClick(in_mouseHelper, in_mMatrix, vMatrix, pMatrix) {
682
+ const picked = this.getSourcesFromPointer(in_mouseHelper, in_mMatrix, vMatrix, pMatrix);
665
683
  const clickedIndexes = picked?.pickedIndexes ?? [];
666
684
  // if (!clickedIndexes.length) {
667
685
  // this.setSelectedIndexes([]);
@@ -697,42 +715,65 @@ export class CatalogueGL {
697
715
  const idx = this.hoveredIndexes[0];
698
716
  return this._sources[idx] ?? null;
699
717
  }
700
- findNearestSourceIndex(in_mouseHelper) {
701
- if (in_mouseHelper.x == null ||
702
- in_mouseHelper.y == null ||
703
- in_mouseHelper.z == null) {
718
+ findNearestSourceIndex(in_mouseHelper, in_mMatrix, vMatrix, pMatrix) {
719
+ if (in_mouseHelper.xyz == null)
704
720
  return null;
721
+ const healpix = global.getHealpix(global.selectionOrder);
722
+ const mouseVec = new Vec3(...in_mouseHelper.xyz);
723
+ const mousePointing = new Pointing(mouseVec, false);
724
+ const searchRadiusRad = this.getCandidateSearchRadiusRad(pMatrix);
725
+ const rangeSet = healpix.queryDiscInclusive(mousePointing, searchRadiusRad, 4);
726
+ const pixels = rangeSet.r;
727
+ const candidateIndexes = new Set();
728
+ for (const pixel of pixels) {
729
+ const indexes = this._healpixDensityMap.get(pixel);
730
+ if (!indexes)
731
+ continue;
732
+ indexes.forEach((idx) => candidateIndexes.add(idx));
705
733
  }
706
- const mousePix = in_mouseHelper.computeNpix();
707
- if (mousePix == null)
734
+ if (!candidateIndexes.size)
735
+ return null;
736
+ const canvas = this._webgl.canvas;
737
+ const width = canvas.clientWidth;
738
+ const height = canvas.clientHeight;
739
+ if (!width || !height)
708
740
  return null;
709
- const candidates = this._healpixDensityMap.get(mousePix);
710
- if (!candidates?.length)
741
+ const modelView = mat4.create();
742
+ const mvp = mat4.create();
743
+ mat4.multiply(modelView, vMatrix, in_mMatrix);
744
+ mat4.multiply(mvp, pMatrix, modelView);
745
+ const mousePoint = new Point({
746
+ x: in_mouseHelper.xyz[0],
747
+ y: in_mouseHelper.xyz[1],
748
+ z: in_mouseHelper.xyz[2],
749
+ }, CoordsType.CARTESIAN);
750
+ const mouseScreen = this.projectPointToScreen(mousePoint, mvp, width, height);
751
+ if (!mouseScreen)
711
752
  return null;
712
- const selR = this.getSelectionRadius();
713
753
  let nearestIndex = null;
714
- let nearestDistance = Number.POSITIVE_INFINITY;
715
- for (const sourceIdx of candidates) {
754
+ let nearestDistancePx = Number.POSITIVE_INFINITY;
755
+ for (const sourceIdx of candidateIndexes) {
716
756
  const source = this._sources[sourceIdx];
717
757
  if (!source)
718
758
  continue;
719
- const dx = source.point.x - in_mouseHelper.x;
720
- const dy = source.point.y - in_mouseHelper.y;
721
- const dz = source.point.z - in_mouseHelper.z;
722
- const dist = Math.sqrt(dx * dx + dy * dy + dz * dz);
723
- if (dist <= selR && dist < nearestDistance) {
724
- nearestDistance = dist;
759
+ const sourceScreen = this.projectPointToScreen(source.point, mvp, width, height);
760
+ if (!sourceScreen)
761
+ continue;
762
+ const distancePx = Math.hypot(sourceScreen[0] - mouseScreen[0], sourceScreen[1] - mouseScreen[1]);
763
+ if (distancePx <= this.getHitRadiusPx(source) &&
764
+ distancePx < nearestDistancePx) {
765
+ nearestDistancePx = distancePx;
725
766
  nearestIndex = sourceIdx;
726
767
  }
727
768
  }
728
769
  return nearestIndex;
729
770
  }
730
- checkClicking(in_mouseHelper) {
731
- const nearestIndex = this.findNearestSourceIndex(in_mouseHelper);
771
+ checkClicking(in_mouseHelper, in_mMatrix, vMatrix, pMatrix) {
772
+ const nearestIndex = this.findNearestSourceIndex(in_mouseHelper, in_mMatrix, vMatrix, pMatrix);
732
773
  return nearestIndex == null ? [] : [nearestIndex];
733
774
  }
734
- checkHovering(in_mouseHelper) {
735
- const nearestIndex = this.findNearestSourceIndex(in_mouseHelper);
775
+ checkHovering(in_mouseHelper, in_mMatrix, vMatrix, pMatrix) {
776
+ const nearestIndex = this.findNearestSourceIndex(in_mouseHelper, in_mMatrix, vMatrix, pMatrix);
736
777
  return nearestIndex == null ? [] : [nearestIndex];
737
778
  }
738
779
  /**
@@ -768,6 +809,13 @@ export class CatalogueGL {
768
809
  if (this._catalogueShaderProgram.locations.color) {
769
810
  this._webgl.uniform4f(this._catalogueShaderProgram.locations.color, rgb[0], rgb[1], rgb[2], 1.0);
770
811
  }
812
+ const interactionColors = interactionColorsFromHex(this._shapeColor);
813
+ if (this._catalogueShaderProgram.locations.hoverColor) {
814
+ this._webgl.uniform4f(this._catalogueShaderProgram.locations.hoverColor, ...interactionColors.hover, 1.0);
815
+ }
816
+ if (this._catalogueShaderProgram.locations.selectedColor) {
817
+ this._webgl.uniform4f(this._catalogueShaderProgram.locations.selectedColor, ...interactionColors.selected, 1.0);
818
+ }
771
819
  // selected flags
772
820
  for (let s = 0; s < this.selectedIndexes.length; s++) {
773
821
  const idx = this.selectedIndexes[s];
@@ -778,7 +826,8 @@ export class CatalogueGL {
778
826
  // clear old hovered
779
827
  for (let k = 0; k < this.hoveredIndexes.length; k++) {
780
828
  const base = this.hoveredIndexes[k] * CatalogueGL.ELEM_SIZE;
781
- // if (this.vertexCataloguePosition[base + 3] == 2.0) continue; // selected, skip hover
829
+ if (this.selectedIndexes.includes(this.hoveredIndexes[k]))
830
+ continue;
782
831
  this.vertexCataloguePosition[base + 3] = 0.0; // not hovered
783
832
  this.vertexCataloguePosition[base + 4] =
784
833
  this._sources[this.hoveredIndexes[k]].shapeSize; // size
@@ -792,7 +841,7 @@ export class CatalogueGL {
792
841
  // this.vertexCataloguePosition[base + 3] = 0.0; // not hovered
793
842
  // this.vertexCataloguePosition[base + 4] = this._sources[this.hoveredIndexes[k]].shapeSize; // size
794
843
  // }
795
- this.hoveredIndexes = this.checkHovering(in_mouseHelper);
844
+ this.hoveredIndexes = this.checkHovering(in_mouseHelper, in_mMatrix, vMatrix, pMatrix);
796
845
  // // new hovered
797
846
  // for (let i = 0; i < this.hoveredIndexes.length; i++) {
798
847
  // const idx = this.hoveredIndexes[i];
@@ -806,7 +855,8 @@ export class CatalogueGL {
806
855
  for (let i = 0; i < this.hoveredIndexes.length; i++) {
807
856
  const idx = this.hoveredIndexes[i];
808
857
  const base = idx * CatalogueGL.ELEM_SIZE;
809
- // if (this.vertexCataloguePosition[base + 3] == 2.0) continue; // selected, skip hover
858
+ if (this.selectedIndexes.includes(idx))
859
+ continue;
810
860
  this.vertexCataloguePosition[base + 3] = 1.0; // hovered
811
861
  this.vertexCataloguePosition[base + 4] = this._sources[idx].shapeSize; // size
812
862
  }