Gaia Sky 3.7.2
Release notes — Build d859c5d9e
TGZ package
.tar.gzgaiasky-3.7.2.d859c5d9e.tar.gz
signature by tsagrista
AppImage .appimagegaiasky_3.7.2.d859c5d9e_x86_64.appimage
signature by tsagrista
DEB package .debgaiasky_linux_3_7_2.deb
signature by tsagrista
RPM package .rpmgaiasky_linux_3_7_2.rpm
signature by tsagrista
UNIX Installer .shgaiasky_linux_3_7_2.sh
signature by tsagrista
TGZ package .tar.gzgaiasky_linux_3_7_2.tar.gz
signature by tsagrista
macOS .dmggaiasky_macos_3_7_2.dmg
signature by tsagrista
Windows x86-64 .exegaiasky_windows-x64_3_7_2.exe
signature by tsagrista
Release Notes
This release brings some exciting new features and very many bug fixes.
Features
-
New billboard shading types, for particle groups. We have added three shading types to particle groups:
Plain– plain emissive color shading.Billboard lighting– billboards are uniformly lit depending on light and view directions.Spherical lighting– billboards are lit using Phong model, computing per-fragment normals with an assumed spherical volume.
-
Orbital element groups refactor: We have merged orbital element groups into regular particle groups, consolidating the data model and gaining all the particle group goodies: filtering, indexing, focusing, texturing, and shading types.
- Updated FPR asteroids catalog – new version of FPR SSOs to use spherical lighting and textured particles.
- Add support for particle-based rings in ringed planets. This includes a number of refactorings and improvements.
- Saturn rings – new dataset containing 1.5 million particles of dust and rock in the rings of Saturn. They rotate realistically, as they were generated with physically plausible orbital elements.
- Diffuse scattering – added the diffuse scattering property to particle groups, used in conjunction to global ambient light setting.
- Enable asteroids and other particle groups to use a different epoch per particle.
- Add experimental custom loader for orbital elements groups to load the data directly from VOTable.
- Add script to convert state vectors to Keplerian elements in VOTable, and then another to convert a VOTable to the Gaia Sky JSON format for asteroids/sso.
-
Star glow effect rework:
- Add time-dependent polar mask to star glow effect. Update default star/glow texture indices and glow factor.
- Separate star from glow texture in settings. Add image next to select boxes to provide visual feedback about the selected textures.
-
Better handling of name conflicts in catalogs and datasets:
- Add name conflicts window to inform the user of index conflicts in the current session. Fixes #904.
- Dataset updates (base data, NBG, FPR SSO, nebulae) to try to mitigate name conflicts.
-
Internationalization and translations:
- Simplified Chinese translation, by BCY-SuiCi. Part of #885.
- Italian translation, by Roberto Zacco.
- Japanese translation (WIP), by Yauchi Hiromasa.
- Update and complete translation files: Slovenian, Turkish, Russian.
-
User interface updates:
- Move from static font files to
gdx-freetypelibrary. This enables us to support CJK languages and more. Part of #885. - Remove monospace fonts from Gaia Sky UI and skin. They are used very sporadically and are not really needed. Part of #885.
- Maintain aspect ratio of background image in welcome and loading GUIs by letterboxing.
- Add ‘copy to clipboard’ button to log window. Add text and icons to all buttons in the window.
- Read contributors from CONTRIBUTORS.md file instead of hardcoding the data in About Window.
- Add mastodon and bsky icons and links in about window. Add tooltips with funding agencies’ names.
- Update splash image. Add dark background to central table in loading GUI.
- Add ‘overwrite’ check box to file export dialogs.
- Use degrees for min/max particle size in dataset visual settings dialog.
- Improve reset sliders (sliders that have a button to reset their value).
- Sliders are now able to connect to an event in order to auto-update their state and publish updates.
- Move planetarium and cubemap settings to sliders from free-text input fields.
- Remember last camera file name in keyframes window to avoid having to enter it every time.
- Show notification on log export.
- Use reset sliders in settings window, and camera/visual settings panes.
- Use logarithmic slider for stereo screen distance setting.
- Remove ‘settings’ from tabs in preferences dialog.
- Add checkbox to pull current cloud data for supported objects. This is the activation control for the pre-existing
urlparameter in cloud components. - Add arrows to base character set.
- Move from static font files to
-
Stereoscopic and anaglyph 3D:
-
Camcorder and OptFlowCam export:
-
Post-processing updates:
- Remove threshold in bloom effect.
- Update maximum glow factor.
-
Dataset management:
- Add mechanism to mark datasets as obsolete or outdated whenever a newer, better dataset comes around.
- Add
replacesandreplacedByproperties to dataset descriptors, so that the user can be informed about newer datasets that replace old, outdated ones. - Cross-check
replacesandreplacedByfields in local and server datasets.
-
Other minor things:
- Add (optional) color variability to variable stars. This is part of the preparations for Gaia DR4 datasets.
- Remove point shaders and point cloud renderer setting. Defaults to “Quality billboards”.
Bug Fixes
There are a huge quantity of bug fixes in this release:
- Prevent applying accent color to color pickers and other pure-color widgets.
- Star glow texture not updated correctly. Saving preferences prompted a full reload of all post processing effects.
- Improve index conflict priority handling, and rework logging to make it more informative. Part of #904.
- Use ‘umbra’ and ‘penumbra’ in Catalan translation instead of the common names ‘ombra’ and ‘penombra’.
- Prevent smoothed distance to go to NaN in natural camera. This breaks the speed scaling computation. Fixes #902.
- Adapt look-up texture path names to internal format using backslash instead of forward slash. Fixes crash in Windows. Part of #902.
- Regression in 3.7.1 where Error Dialog crashes at startup due to incorrect sprite shader and skin initialization.
- Check children list before getting child by name, prevents NPE.
- Make sure
set.indicesis initialized when rendering labels. This is not always the case in datasets loaded on the fly, leading to a crash. - Correct actual penumbra line color (green -> yellow) in translation files.
- Add on-demand ray-marching effects to all targets (screen, screenshots, frame output). This fixes screenshots and frame output using advanced mode not showing dynamically loaded ray-marching effects.
- Correct off-by-one error in
ParticleSetUpdaterTaskSORT2 stage. - Use component type localized names in error messages in search dialog. Fixes #901.
- Detect the supported maximum vertex shader storage blocks in the method that checks if compute shaders are supported. If the number is zero, we mark compute shaders as not supported and fall back to the CPU method.
- Disable go-to button for unindexed particle groups.
- Goto operation uses interactive camera for particle sets (provisional hack).
- Fix regression where the light glow effect was inconsistent and disappeared sometimes for some stars.
- Wrong format in
notif.catalog.loadedkey in German translation file. - Hardcoding component type to all invisible objects results in unpredictable behaviour. Only set the component type to ray-marching objects (i.e. have a ray-marching shader attached).
- Solid angle determination for (some) particle sets.
- Remove
pack()from top info interface notify method. Part of #898. - Updating localized names does nothing if the new language does not have a name for the object. In this case, we need to remove the current localized name (if any, and if it is different than the default, English). Otherwise, the names for certain objects remain in the previous language rather than the default.
- Remove raymarching component from invisible archetypes that do not have ray-marching enabled. This routes them to the invisible extractor correctly now.
- Use HTTPS to check internet connection wiht fedoraproject.org.
- Dataset manager window: expand filter input field, remove top padding in datasets list.
- Typos in objects translation files: OphiucHus and AntarCtica.
- Guard
keyStringToKeyCode()execution against null strings. Fixes #896. - Light glow texture aspect ratio in stereo half-width modes (cross-eye, parallel view).
- Resolve camera path discontinuities in CatmullRom interpolation in OptFlowCam. Fixes #895.
- Unique file name method is missing the period ‘.’ between file name and extension.
- Log window contents not updated after loading is finished. To mend this, we have moved the log history from notifications interface to console logger, and made some further changes.
- Delay
GatewayServerstart (scripting) until the end of the loading pipeline, when the scene is already initialized and the Gaia Sky state is actually ready. Fixes #893, #891. - Set line width to 1 for particle sets rendered as wireframe models.
- State vectors to elements converter overrides past epochs, so all output epochs are the same.
- Clicking buttons on gamepad UI does not work.
- Frame buffer size cuts bottom of VR UI.
- Remove unused I18n
key=valuepairs from all translation files. - Capture
InvalidPathExceptions thrown by windows paths. Mark current location red when the path is malformed, or the location does not exist. Fixes #887. - Getting
gitversion/revision to work everywhere. - Reverse state of object visibility in camera info pane to match icon state.
- Reverse open/closed eye icon in eye-toggle button. Fixes wrong state in datasets pane.
Performance Improvements
- Remove light glow pass where a dedicated occlusion texture is rendered separately using opaque models and billboard stars to an off-screen frame buffer, to be used later in the light glow post-processing effect. Now, we directly use the default render buffer and a little bit of shader magic. Tests indicate this is enough, and works with asteroids/particles and all other opaque bodies. Performance is better, since we skip an additional render pass.
Code Refactoring
- Abstract
GenericDialogand the newGenericScreenasIScreento unify gamepad and keyboard listeners. NewGenericScreenis a variant ofGenericDialogthat takes up the full viewport instead of rendering to a dialog window. - Extract CPU computation of Keplerian elements from orbit component into utility class. This allows us to use it for the new
ParticleKeplertype. - Simplify naming scheme of fonts to adapt to
gdx-freetype. Update skin JSON file. Remove skin JSON generation from texture packer utility.
Build System
- Upgrade to Gradle 9.4.1.
- Upgrade to JDK 25.0.2+10 for release packages and AppImage. Update metainfo file.
- Fix AUR package Java dependency to >=25.
- AUR package: Use HTTPS for the
PKGBUILDscript. Remove MD5 checksum. Remove.installfile.
Documentation
- Use
close()instead ofshutdown()at the end of scripts in the javadocs. - Add Simplified Chinise, Japanese, and Italian translators to contributors list.
- Add several class-level javadoc blocks.
- Add section on object name translation in
CONTRIBUTING.mdfile.