astro-viewer 3.13.1 → 3.14.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.
@@ -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,7 +11,7 @@
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, interactionColorsFromHex } from "../../utils/Utils.js";
14
+ import { colorHex2RGB } 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";
@@ -809,12 +809,19 @@ export class CatalogueGL {
809
809
  if (this._catalogueShaderProgram.locations.color) {
810
810
  this._webgl.uniform4f(this._catalogueShaderProgram.locations.color, rgb[0], rgb[1], rgb[2], 1.0);
811
811
  }
812
- const interactionColors = interactionColorsFromHex(this._shapeColor);
812
+ // const interactionColors = interactionColorsFromHex(this._shapeColor);
813
+ // Complementary RGB colour for catalogue interactions.
814
+ // Keep the original catalogue colour unchanged.
815
+ const complementaryColor = rgb.map((component) => 1.0 - component);
813
816
  if (this._catalogueShaderProgram.locations.hoverColor) {
814
- this._webgl.uniform4f(this._catalogueShaderProgram.locations.hoverColor, ...interactionColors.hover, 1.0);
817
+ this._webgl.uniform4f(this._catalogueShaderProgram.locations.hoverColor,
818
+ // ...interactionColors.hover,
819
+ ...complementaryColor, 1.0);
815
820
  }
816
821
  if (this._catalogueShaderProgram.locations.selectedColor) {
817
- this._webgl.uniform4f(this._catalogueShaderProgram.locations.selectedColor, ...interactionColors.selected, 1.0);
822
+ this._webgl.uniform4f(this._catalogueShaderProgram.locations.selectedColor,
823
+ // ...interactionColors.selected,
824
+ ...complementaryColor, 1.0);
818
825
  }
819
826
  // selected flags
820
827
  for (let s = 0; s < this.selectedIndexes.length; s++) {
@@ -1 +1 @@
1
- {"version":3,"file":"CatalogueGL.js","sourceRoot":"","sources":["../../../src/model/catalogues/CatalogueGL.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CatalogueGL.js","sourceRoot":"","sources":["../../../src/model/catalogues/CatalogueGL.ts"],"names":[],"mappings":"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"}
@@ -40,6 +40,8 @@ export declare class FootprintSetGL {
40
40
  hoveredIndexBuffer: WebGLBuffer;
41
41
  selectedVertexPositionBuffer: WebGLBuffer;
42
42
  selectedIndexBuffer: WebGLBuffer;
43
+ private selectedFillBuffer;
44
+ private selectedFillVertices;
43
45
  indexes: Uint32Array;
44
46
  footprintPolygons: Footprint[];
45
47
  vertexCataloguePosition: Float32Array;
@@ -101,6 +103,10 @@ export declare class FootprintSetGL {
101
103
  extAddPolygons2Selected(footprint: Footprint): void;
102
104
  initHoveringBuffer(): void;
103
105
  initSelectionBuffer(): void;
106
+ /** Triangulate selected simple rings in the same 2D projection used for picking.
107
+ * A failed/degenerate ring is left unfilled; its outline remains visible.
108
+ */
109
+ private buildSelectedFillVertices;
104
110
  changeColor(color: string): void;
105
111
  draw(in_mMatrix: Float32Array, in_mouseHelper: MouseHelper, vMatrix: Float32Array, pMatrix: Float32Array): void;
106
112
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FootprintSetGL.d.ts","sourceRoot":"","sources":["../../../src/model/footprints/FootprintSetGL.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FootprintSetGL.d.ts","sourceRoot":"","sources":["../../../src/model/footprints/FootprintSetGL.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,8 @@ export class FootprintSetGL {
38
38
  hoveredIndexBuffer;
39
39
  selectedVertexPositionBuffer;
40
40
  selectedIndexBuffer;
41
+ selectedFillBuffer;
42
+ selectedFillVertices = new Float32Array(0);
41
43
  indexes;
42
44
  footprintPolygons = [];
43
45
  vertexCataloguePosition;
@@ -93,6 +95,7 @@ export class FootprintSetGL {
93
95
  this.totSelectedPoints = 0;
94
96
  this.selectedIndexes = [];
95
97
  this.selectedElementIndexes = new Uint32Array();
98
+ this.selectedFillVertices = new Float32Array();
96
99
  }
97
100
  initGLBuffers() {
98
101
  if (!this._webgl)
@@ -103,6 +106,7 @@ export class FootprintSetGL {
103
106
  this.hoveredIndexBuffer = this._webgl.createBuffer();
104
107
  this.selectedVertexPositionBuffer = this._webgl.createBuffer();
105
108
  this.selectedIndexBuffer = this._webgl.createBuffer();
109
+ this.selectedFillBuffer = this._webgl.createBuffer();
106
110
  }
107
111
  setIsVisible(visibility) {
108
112
  this._isVisible = visibility;
@@ -280,9 +284,11 @@ export class FootprintSetGL {
280
284
  this.selectedVertexPosition = new Float32Array();
281
285
  this.selectedElementIndexes = new Uint32Array();
282
286
  this.nSlectedPrimitiveFlags = 0;
287
+ this.selectedFillVertices = new Float32Array();
283
288
  return;
284
289
  }
285
290
  this.initSelectionBuffer();
291
+ this.selectedFillVertices = this.buildSelectedFillVertices();
286
292
  }
287
293
  getFootprintsFromPointer(in_mouseHelper) {
288
294
  const pickedIndexes = this.checkClicking(in_mouseHelper);
@@ -535,6 +541,70 @@ export class FootprintSetGL {
535
541
  }
536
542
  }
537
543
  }
544
+ /** Triangulate selected simple rings in the same 2D projection used for picking.
545
+ * A failed/degenerate ring is left unfilled; its outline remains visible.
546
+ */
547
+ buildSelectedFillVertices() {
548
+ const vertices = [];
549
+ const cross = (a, b, c) => (b.x - a.x) * (c.y - a.y) - (b.y - a.y) * (c.x - a.x);
550
+ for (const footprint of this._selectedFootprints) {
551
+ const projected = footprint.selectionObj?.poly4selection;
552
+ if (!projected)
553
+ continue;
554
+ footprint.polygons.forEach((ring, ringIndex) => {
555
+ const coords = projected[ringIndex];
556
+ if (!coords || coords.length !== ring.length || ring.length < 3)
557
+ return;
558
+ const indices = ring.map((_, i) => i);
559
+ // STC-S normally omits the duplicated closing vertex; fromPolygons may not.
560
+ if (indices.length > 3 &&
561
+ Math.abs(coords[0].x - coords[indices[indices.length - 1]].x) < 1e-12 &&
562
+ Math.abs(coords[0].y - coords[indices[indices.length - 1]].y) < 1e-12)
563
+ indices.pop();
564
+ if (indices.length < 3)
565
+ return;
566
+ const area = indices.reduce((sum, idx, i) => {
567
+ const next = indices[(i + 1) % indices.length];
568
+ return sum + coords[idx].x * coords[next].y - coords[next].x * coords[idx].y;
569
+ }, 0);
570
+ if (Math.abs(area) < 1e-14)
571
+ return;
572
+ const orientation = Math.sign(area);
573
+ const triangles = [];
574
+ let attempts = 0;
575
+ while (indices.length > 3 && attempts++ < ring.length * ring.length) {
576
+ let clipped = false;
577
+ for (let i = 0; i < indices.length; i++) {
578
+ const a = indices[(i + indices.length - 1) % indices.length];
579
+ const b = indices[i];
580
+ const c = indices[(i + 1) % indices.length];
581
+ if (orientation * cross(coords[a], coords[b], coords[c]) <= 1e-14)
582
+ continue;
583
+ const contains = indices.some(idx => idx !== a && idx !== b && idx !== c &&
584
+ orientation * cross(coords[a], coords[b], coords[idx]) >= -1e-14 &&
585
+ orientation * cross(coords[b], coords[c], coords[idx]) >= -1e-14 &&
586
+ orientation * cross(coords[c], coords[a], coords[idx]) >= -1e-14);
587
+ if (contains)
588
+ continue;
589
+ triangles.push(a, b, c);
590
+ indices.splice(i, 1);
591
+ clipped = true;
592
+ break;
593
+ }
594
+ if (!clipped)
595
+ break;
596
+ }
597
+ if (indices.length !== 3)
598
+ return;
599
+ triangles.push(...indices);
600
+ for (const idx of triangles) {
601
+ const point = ring[idx];
602
+ vertices.push(point.x, point.y, point.z);
603
+ }
604
+ });
605
+ }
606
+ return new Float32Array(vertices);
607
+ }
538
608
  changeColor(color) {
539
609
  this._shapeColor = color;
540
610
  }
@@ -551,11 +621,6 @@ export class FootprintSetGL {
551
621
  if (!this._webgl)
552
622
  return;
553
623
  this._footprintShaderProgram.enableShaders(pMatrix, in_mMatrix, vMatrix);
554
- // this._footprintShaderProgram.enableShaders(
555
- // computePerspectiveMatrixSingleton.pMatrix as Float32Array,
556
- // in_mMatrix,
557
- // vMatrix
558
- // )
559
624
  if (in_mouseHelper != null && in_mouseHelper.xyz != this.oldMouseCoords) {
560
625
  this.checkSelection(in_mouseHelper);
561
626
  }
@@ -578,6 +643,31 @@ export class FootprintSetGL {
578
643
  }
579
644
  if (this._selectedFootprints.length > 0) {
580
645
  const rgb = interactionColors.selected;
646
+ if (this.selectedFillVertices.length > 0) {
647
+ this._webgl.uniform4f(this._footprintShaderProgram.locations.color, rgb[0], rgb[1], rgb[2], 0.25);
648
+ this._webgl.bindBuffer(this._webgl.ARRAY_BUFFER, this.selectedFillBuffer);
649
+ this._webgl.bufferData(this._webgl.ARRAY_BUFFER, this.selectedFillVertices, this._webgl.DYNAMIC_DRAW);
650
+ this._webgl.vertexAttribPointer(this._footprintShaderProgram.locations.position, FootprintSetGL.ELEM_SIZE, this._webgl.FLOAT, false, FootprintSetGL.BYTES_X_ELEM * FootprintSetGL.ELEM_SIZE, 0);
651
+ this._webgl.enableVertexAttribArray(this._footprintShaderProgram.locations.position);
652
+ // Keep translucent fills from writing depth and push them slightly
653
+ // behind the outlines. Preserve the incoming GL state.
654
+ const previousDepthMask = this._webgl.getParameter(this._webgl.DEPTH_WRITEMASK);
655
+ const previousOffsetEnabled = this._webgl.isEnabled(this._webgl.POLYGON_OFFSET_FILL);
656
+ const previousOffsetFactor = this._webgl.getParameter(this._webgl.POLYGON_OFFSET_FACTOR);
657
+ const previousOffsetUnits = this._webgl.getParameter(this._webgl.POLYGON_OFFSET_UNITS);
658
+ this._webgl.depthMask(false);
659
+ this._webgl.enable(this._webgl.POLYGON_OFFSET_FILL);
660
+ this._webgl.polygonOffset(1, 1);
661
+ try {
662
+ this._webgl.drawArrays(this._webgl.TRIANGLES, 0, this.selectedFillVertices.length / FootprintSetGL.ELEM_SIZE);
663
+ }
664
+ finally {
665
+ this._webgl.depthMask(previousDepthMask);
666
+ this._webgl.polygonOffset(previousOffsetFactor, previousOffsetUnits);
667
+ if (!previousOffsetEnabled)
668
+ this._webgl.disable(this._webgl.POLYGON_OFFSET_FILL);
669
+ }
670
+ }
581
671
  const alpha = 1.0;
582
672
  this._webgl.uniform4f(this._footprintShaderProgram.locations.color, rgb[0], rgb[1], rgb[2], alpha);
583
673
  this._webgl.uniform1f(this._footprintShaderProgram.locations.pointSize, 14.0); // <--- POINT_SIZE in LINE_LOOP is not applicable
@@ -1 +1 @@
1
- {"version":3,"file":"FootprintSetGL.js","sourceRoot":"","sources":["../../../src/model/footprints/FootprintSetGL.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FootprintSetGL.js","sourceRoot":"","sources":["../../../src/model/footprints/FootprintSetGL.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ShaderManager.d.ts","sourceRoot":"","sources":["../../src/shader/ShaderManager.ts"],"names":[],"mappings":"AAaA,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAEhC,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,MAAM,CAAC,WAAW,IAAI,UAAU;IAuBhC,MAAM,CAAC,WAAW,IAAI,UAAU;IAqGhC,MAAM,CAAC,WAAW,IAAI,UAAU;IAgBhC,MAAM,CAAC,WAAW,IAAI,UAAU;IAYhC,MAAM,CAAC,MAAM,IAAI,UAAU;IAiB3B,MAAM,CAAC,YAAY,IAAI,UAAU;IAmEjC,MAAM,CAAC,eAAe,IAAI,UAAU;IA2EpC,MAAM,CAAC,cAAc,IAAI,UAAU;IAsGnC,OAAO,CAAC,MAAM,CAAC,eAAe;IAuE9B,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAKhC"}
1
+ {"version":3,"file":"ShaderManager.d.ts","sourceRoot":"","sources":["../../src/shader/ShaderManager.ts"],"names":[],"mappings":"AAaA,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAEhC,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,MAAM,CAAC,WAAW,IAAI,UAAU;IAuBhC,MAAM,CAAC,WAAW,IAAI,UAAU;IAoHhC,MAAM,CAAC,WAAW,IAAI,UAAU;IAgBhC,MAAM,CAAC,WAAW,IAAI,UAAU;IAYhC,MAAM,CAAC,MAAM,IAAI,UAAU;IAiB3B,MAAM,CAAC,YAAY,IAAI,UAAU;IAmEjC,MAAM,CAAC,eAAe,IAAI,UAAU;IA2EpC,MAAM,CAAC,cAAc,IAAI,UAAU;IAsGnC,OAAO,CAAC,MAAM,CAAC,eAAe;IAuE9B,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAKhC"}
@@ -104,14 +104,29 @@ export default class ShaderManager {
104
104
  alpha = 1.0 - smoothstep(1.0 - delta, 1.0 + delta, r);
105
105
  #endif
106
106
 
107
- if (v_selected == 1.0){
108
- fragColor = u_hovercolor * alpha;
109
- } else if (v_selected == 2.0){
110
- // Persistent selection: keep the dataset colour as an outer ring
111
- // and use the hover colour for the fill. This remains visible for
112
- // both light and dark user-selected base colours.
107
+ if (v_selected == 1.0) {
108
+ // Hover: original catalogue colour on the outer ring,
109
+ // complementary colour in the centre.
113
110
  fragColor = (r > 0.72 ? u_fragcolor : u_hovercolor) * alpha;
114
- }else{
111
+
112
+ } else if (v_selected == 2.0) {
113
+ // Selected: same ring and fill, plus a contrasting centre dot.
114
+ if (r < 0.09) {
115
+ float luminance = dot(
116
+ u_selectedcolor.rgb,
117
+ vec3(0.2126, 0.7152, 0.0722)
118
+ );
119
+
120
+ vec3 dotColor = luminance > 0.5
121
+ ? vec3(0.0)
122
+ : vec3(1.0);
123
+
124
+ fragColor = vec4(dotColor, 1.0) * alpha;
125
+ } else {
126
+ fragColor = (r > 0.72 ? u_fragcolor : u_selectedcolor) * alpha;
127
+ }
128
+
129
+ } else {
115
130
  if (r < 0.4) {
116
131
  discard;
117
132
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ShaderManager.js","sourceRoot":"","sources":["../../src/shader/ShaderManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,MAAM,CAAC,WAAW;QAChB,OAAO;;;;;;;;;;;;;;;;;;;MAmBL,CAAC;IACL,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAiGL,CAAC;IACL,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,OAAO;;;;;;;;;;;;MAYL,CAAC;IACL,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,OAAO;;;;;;;;MAQL,CAAC;IACL,CAAC;IAED,MAAM,CAAC,MAAM;QACX,OAAO;;;;;;;;;;;;;MAaL,CAAC;IACL,CAAC;IAED,MAAM,CAAC,YAAY;QACjB,OAAO;;;;;;;;;;;;;;;MAeL,aAAa,CAAC,gBAAgB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAgDhC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,eAAe;QACpB,OAAO;;;;;;;;;;;;;;;MAeL,aAAa,CAAC,gBAAgB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAwDhC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,cAAc;QACnB,OAAO;;;;;;;;;;;;;;;;;;;;;;MAsBL,aAAa,CAAC,gBAAgB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA4EhC,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,KAAa;QAC1C,OAAO;gCACqB,KAAK;8BACP,KAAK;4BACP,KAAK;4BACL,KAAK;gCACD,KAAK;+BACN,KAAK;;uBAEb,KAAK;;;;0BAIF,KAAK;;;0BAGL,KAAK;;;;0BAIL,KAAK;0CACW,KAAK;;;;0BAIrB,KAAK;0CACW,KAAK;4BACnB,KAAK,+BAA+B,KAAK;;;0BAG3C,KAAK;uCACQ,KAAK;;;;;;4BAMhB,KAAK;qCACI,KAAK;;;wBAGlB,KAAK;;;;;;;;;;;;2BAYF,KAAK;mBACb,KAAK,cAAc,KAAK;;;;;qCAKN,KAAK;;;;;;;;;GASvC,CAAC;IACF,CAAC;IAEO,MAAM,CAAC,gBAAgB;QAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAC5C,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,CACrC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"ShaderManager.js","sourceRoot":"","sources":["../../src/shader/ShaderManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,MAAM,CAAC,WAAW;QAChB,OAAO;;;;;;;;;;;;;;;;;;;MAmBL,CAAC;IACL,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAgHL,CAAC;IACL,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,OAAO;;;;;;;;;;;;MAYL,CAAC;IACL,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,OAAO;;;;;;;;MAQL,CAAC;IACL,CAAC;IAED,MAAM,CAAC,MAAM;QACX,OAAO;;;;;;;;;;;;;MAaL,CAAC;IACL,CAAC;IAED,MAAM,CAAC,YAAY;QACjB,OAAO;;;;;;;;;;;;;;;MAeL,aAAa,CAAC,gBAAgB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAgDhC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,eAAe;QACpB,OAAO;;;;;;;;;;;;;;;MAeL,aAAa,CAAC,gBAAgB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAwDhC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,cAAc;QACnB,OAAO;;;;;;;;;;;;;;;;;;;;;;MAsBL,aAAa,CAAC,gBAAgB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA4EhC,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,KAAa;QAC1C,OAAO;gCACqB,KAAK;8BACP,KAAK;4BACP,KAAK;4BACL,KAAK;gCACD,KAAK;+BACN,KAAK;;uBAEb,KAAK;;;;0BAIF,KAAK;;;0BAGL,KAAK;;;;0BAIL,KAAK;0CACW,KAAK;;;;0BAIrB,KAAK;0CACW,KAAK;4BACnB,KAAK,+BAA+B,KAAK;;;0BAG3C,KAAK;uCACQ,KAAK;;;;;;4BAMhB,KAAK;qCACI,KAAK;;;wBAGlB,KAAK;;;;;;;;;;;;2BAYF,KAAK;mBACb,KAAK,cAAc,KAAK;;;;;qCAKN,KAAK;;;;;;;;;GASvC,CAAC;IACF,CAAC;IAEO,MAAM,CAAC,gBAAgB;QAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAC5C,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,CACrC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;CACF"}
@@ -54,7 +54,7 @@ export function interactionColorsFromHex(hexColor) {
54
54
  ];
55
55
  return {
56
56
  hover: mix(0.45),
57
- selected: mix(0.45),
57
+ selected: mix(0.75),
58
58
  };
59
59
  }
60
60
  export function degToRad(degrees) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "astro-viewer",
3
3
  "description": "3D scientific visualization engine for astronomical and Earth observation data, supporting HiPS, FITS, TAP, ADQL, footprints and WebGL-based spatial exploration.",
4
- "version": "3.13.1",
4
+ "version": "3.14.0",
5
5
  "keywords": [
6
6
  "astronomy",
7
7
  "astrophysics",