1720 Commits

Author SHA1 Message Date
Matthieu Baumann e1f85bab97 Update to the new version of fitsrs
* Async code is replaced by sync one. It does not take that much of time to convert the js blob to wasm memory for 1 or 2 GB fits files and the code is much more simplier to write
* GLSL/rust refac has been done to only call fitsrs from only one place in the code
* Raw fits data unit is directly given to the GPU. Then the GPU perform the big to little endian conversion on the fly
* impl GZIP fits support #241
* fix #293
2025-06-27 17:26:21 +02:00
Matthieu Baumann 5d6e113c19 fix filterFn on footprints in catalogs: #301 2025-05-27 14:53:14 +02:00
Matthieu Baumann 2f9a1f297d impl #286: add eRosita to default HiPSList 2025-05-25 00:35:45 +02:00
Matthieu Baumann 0d2c0889a1 update playwright snapshots 2025-05-23 18:48:11 +02:00
Matthieu Baumann 0cbd0c9f23 fix test ci fmt 2025-05-23 18:48:11 +02:00
Matthieu Baumann 16a1e808a2 cargo fmt 2025-05-23 18:48:11 +02:00
Matthieu Baumann 7b718eae96 cargo clippy 2025-05-23 18:48:11 +02:00
Matthieu Baumann 221132ee1a remove warnings 2025-05-23 18:48:11 +02:00
Matthieu Baumann f796a4c036 fix allsky retrieval and simplify hips rendering 2025-05-23 18:48:11 +02:00
Matthieu Baumann 5d20bf3946 add documentation for the EventListener positionChanged and mouseMove events. Return the frame for the mouseMove event. Fix #299 2025-05-14 14:28:41 +02:00
bmatthieu3 5d449b6185 fix #298 A.coo not imported 2025-05-14 10:04:00 +02:00
bmatthieu3 89e3eb7e0a remove rust warning 2025-05-07 16:37:56 +02:00
bmatthieu3 05f1ae2808 feat: color picker and read pixel
This PR targets: #253, #76 and to some extent, maybe #208

It features:
* api: readPixel on a HiPS object method taking x, y pixel values on the
  screen. When no screen coo are given, the one of the center screen is
used.
* api: HiPS.probe a general method using HiPS.readPixel under the hood.
  It allow to probe the survey pixel values on a pixel, along a screen line and
along a great circle arc on the sky
* fix: readPixel could throw an exception if the tile has not been
  received. If so, now, we return a JS null value
* fix: retrieve pixels on fits HiPS bitpix=-32
* feat: a new aladin mode called TOOL_COLOR_PICKER.
* tool: showColorPickerControl: when clicking on it, enter the
  TOOL_COLOR_PICKER mode. The user can move the mouse on a pixel to know
its value. With a click, the pixel value is copied to its clipboard
* fix: restore samp button to connect to a hub
* fix: call redraw when calling gotoRaDec to update instantly the
  imageCanvas #208
* a new global readCanvas method on the Aladin object that
will simply read the final image Canvas. User can give a pixel coo, a
line (2 pixel coos), a rect (2 pixel coos for the box)
2025-05-07 16:37:56 +02:00
Philip Matsson 261ea2b68c Support credentials on MOC queries 2025-05-07 14:49:34 +02:00
Philip Matsson deab96c4d5 Support credentials on allsky queries, adding docs and cleaning up 2025-05-07 14:49:34 +02:00
Philip Matsson 48ba43eba7 Allow setting HiPS CORS and credential options 2025-05-07 14:49:34 +02:00
Alexandra Moskowitz 5d67b7f260 docs: clarify use of precision in Coo 2025-05-02 15:51:06 +02:00
Thomas Boch 30112c300d Merge pull request #290 from cds-astro/fix-avm-example
docs: change to an image with correct astrometry in example
2025-04-23 13:39:19 +02:00
MARCHAND MANON 35840e60a0 docs: change to an image with correct astrometry in example
Co-authored-by: tboch <tboch@users.noreply.github.com>
2025-04-23 11:55:53 +02:00
Thomas Boch 7f1f69983f Create AUTHORS file 2025-04-22 15:23:56 +02:00
MARCHAND MANON 9a3a8a0599 docs: just fixing typo in image's doc 2025-04-16 17:10:52 +02:00
MARCHAND MANON b5fcd02b96 feat: add a rotationChanged event 2025-04-16 08:40:32 +02:00
MARCHAND MANON 6c3aa0bf00 group hips layer events together 2025-04-16 08:40:32 +02:00
bmatthieu3 ea38cdce30 Reverse the longitude axis globally
This method does add:
* reverseLongitude method on aladin object
* add a longitudeReversed flag in AladinOptions, when creating the
aladin view to reverse the longitude axis globally at start.
* BREAKS the HiPS options API by removing the longitudeReversed option
at the HiPS level, replacing it by a global flag on the aladin lite view
* fix: when adding two times the same survey, we could not change its
hips options

This commit also impl #191
2025-04-09 16:08:48 +02:00
Matthieu Baumann 645bab7cd9 Subdivision tuning
Cells are all subdivided at the same level.
One subdivision is added if:
* the cell is on a pole
* the cell is at a frontier of a base cells (and in collignon zona)
2025-04-09 13:35:20 +02:00
bmatthieu3 62f9e61978 New option to make the north pole remain up to the view
* lockNorthUp new Aladin init option. False by default.
* setRotation is still allowed if lockNorthUp=true but when panning, the
view resets its orientation so that the north pole is up
2025-04-09 13:35:20 +02:00
bmatthieu3 addbd555c1 Performance
Do all CPU computations on Vec3 and not Vec4
2025-04-09 13:35:20 +02:00
bmatthieu3 db70a6b9cd Set zoomfactor when using smartphones
Refers back to PR #249
2025-04-09 13:35:20 +02:00
bmatthieu3 258781d078 update readme, make the release page link more visible 2025-04-09 13:35:20 +02:00
bmatthieu3 7418ed822d add getZoomFactor method in Aladin 2025-04-09 13:35:20 +02:00
bmatthieu3 ba728c23c7 Enhance zooming on mouse/trackpad
When zooming with a mouse or a trackpad a wheel event is triggered.
Originally the fov of the viewport was changed but it happened setting
the fov is projection dependant therefore leading to big zooming effect
for TAN projection for example.
Now there is a new way of zooming which is done by setting the screen
zoom factor instead of the fov. Zooming with this factor is projection
agnostic.
With that the pr adds:
* an interpolated zooming effect moving the viewport from a start screen
zoom factor to another by following a hermite cubic interpolation
function
* bugfix: originally, multiple wheel events done shortly in time resulted in a
zooming "congestion" bug leading to a zoom effect similar to only one
isolated wheel event. Now triggering several wheel event allow to zoom
more than only one isolated.
* a new listener `wheelTriggered` allowing the user to define its own zooming.
When wheelTriggered is set, the default zooming is not executed
2025-04-09 13:35:20 +02:00
bmatthieu3 89f760c1db Update changelog 2025-04-09 13:35:20 +02:00
Matthieu Baumann c5d0875265 First commit for 3.7.0
* add MOC setable properties: fill, edge and perimeter
* change package.json to 3.7.0-beta
2025-04-09 13:35:18 +02:00
Matthieu Baumann 4a8d3bfa65 Fix selection of footprints not associated with catalog sources
Targets #274

* fix: handleSelect now call selectObjects with not only the list of catalog sources but also with the footprints
* fix: View.closestFootprints: if no lineWidth was given to a footprint then it could happen that this method set it to 1px, erasing its previous undefined value
* Circle and Ellipse now behaves like PolyLine and Vector, if no linewidth is given, the one from its GraphicOverlay is taken.
2025-04-09 13:34:38 +02:00
Matthieu Baumann bde5a37b51 codemeta 3.6.5 2025-04-09 13:33:29 +02:00
Matthieu Baumann fbdc7e2e76 3.6.5 3.6.5 2025-04-09 11:57:10 +02:00
Matthieu Baumann 312b9844d1 Fix allsky fits display
Bug introduced in #254. Allsky is also downloaded if the tile_size is <= 256
2025-04-09 11:47:53 +02:00
bmatthieu3 0e740454bd Fix #278
When creating a new default survey the DSS2 survey is chosen. We use
the one cached instead of creating a plain new one.
2025-04-08 18:09:09 +02:00
bmatthieu3 18e98e9f5f fix: fullscreen closing
Bug happening when realFullscreen is true and we click on the
fullscreen button. Following #151 fix, commit #a19a050
2025-04-03 18:01:58 +02:00
Matthieu Baumann c938a58cbc Fix selection of footprints not associated with catalog sources
Targets #274

* fix: handleSelect now call selectObjects with not only the list of catalog sources but also with the footprints
* fix: View.closestFootprints: if no lineWidth was given to a footprint then it could happen that this method set it to 1px, erasing its previous undefined value
* Circle and Ellipse now behaves like PolyLine and Vector, if no linewidth is given, the one from its GraphicOverlay is taken.
2025-04-03 18:01:46 +02:00
Matthieu Baumann 4a5d66768c 3.6.4 2025-04-01 11:10:17 +02:00
Matthieu Baumann 239ae2ce74 fix make it work for safari 16.1
Revert wasm-bindgen version to 0.2.92 to make it work for safari 16.1 (and maybe older?)
(This is very obscure)
3.6.4
2025-03-31 17:09:05 +02:00
Matthieu Baumann 9bf898c104 3.6.3 2025-03-26 18:06:12 +01:00
Matthieu Baumann 6f085429f5 background color set to (0.1, 0.1, 0.1)
jpeg HiPS that does not cover all the sky are plotted as black when data is missing. This allow to recognize the border of the projection
3.6.3
2025-03-26 17:18:23 +01:00
Matthieu Baumann b49c763e07 Improved distant HiPS url detection
This targets #270

* Use js URL object to detect if the user gives an url
* There is important point: a user can give a path pointing towards a local HiPS. For those Aladin Lite will think the path is an ID but it is not. That is why after failing fetching the MocServer for its properties, we simply try to reconsider it as an URL so that a local HiPS can be load afterwards.
2025-03-26 17:10:13 +01:00
Matthieu Baumann fcacda0c19 Several fixes:
* use Utils.copy2Clipboard in contextmenu and shareview
* check for a mousedown before computing distance from the position when the mouse has been clicked
* smartphone 2 fingers pinched rotation between lon pi and 2*pi seems to have been fixed. The bug seem to be there from a long time ago.
2025-03-26 15:47:32 +01:00
Matthieu Baumann f6acb3a324 3.6.2 3.6.2 2025-03-26 11:51:57 +01:00
Matthieu Baumann 14d54b03bc Fix css selector
Add a width: 100% to make the selector fits in its parent
2025-03-26 11:42:32 +01:00
Matthieu Baumann 9e2779837d Remove Shift shortcut
We will work on keyboard shortcuts for a next version
2025-03-26 11:03:04 +01:00
Matthieu Baumann e29b5202b3 Fix context menu showing up
Change heuristic for showing up the contextual menu. Before we were waiting 100ms before changing the cuts but this does not work for users doing long timed right click without moving. Now, we look for the mouse offset after rightclicking. If it exceeds an offset of 10px then the contextual menu will not open and the cuts will change instead.
2025-03-26 10:34:32 +01:00