Gaia Sky 3.3.0-RC1
Code Refactoring
- the largest change in this version is by far the refactoring of the internal model from an object-oriented inheritance hierarchy to an entity component system (ECS).
- abstract attitude loading system, remove Gaia class, use heliotropic satellite.
- add
I18nFormatter
to reformat i18n files.
- remove old date formatting infrastructure (desktop, html, mobile) in favor of a direct approach.
- remove useless number formatting infrastructure.
Features
- recompute UI scale at startup when starting with default config file.
- add back-buffer scale controls to UI.
- add back-buffer scale API call.
- add repository to
-v
information.
- rename fisheye post-processing effect and shader to reprojection. Update cubemap projection from fisheye to azimuthal equidistant.
- add shaders for Lambert equal-area, orthographic and stereographic projections.
- add re-projection GUI drop-down in preferences window. Add
setReprojectionMode()
scripting API call.
- include orthographic projection in panorama mode. Includes both hemispheres on the screen, side by side. Can be cycled through with
ctrl
+shift
+k
.
- include "orthosphere" panorama mode -- orthospherical projection with both hemispheres overlaid to give a view of the celestial sphere from the outside.
- enable gamepad operation in welcome GUI.
- add support for KTX and ZKTX textures.
- change from thread to scheduled task to remove the mode change info pop-up.
- add mode change pop-up setting to enable or disable showing a pop-up with information when changing modes (panorama, planetarium, stereo, etc.).
- add GUI button to exit stereo mode.
- add new object type, 'cosmic locations', to mark the positions of interesting areas or regions.
- enable scene lights for shape objects when static light is off.
- new model attribute 'blendMode', which defaults to 'alpha' but can also be set to 'additive' to control the object blending.
- add several new functions to enable setting the camera state from scripts.
- add time zone to settings. Time zone can be either UTC, or the system default. Update date dialog year limits, fix time component layout.
- adapt raymarching effects to work with ECS model.
- adapt light glow effect to work with ECS model.
- introduce gamepad support for spacecraft mode, remove 'gaia scene' camera mode (can be mimicked with focus mode), refactor input controllers, fix default SDL gamepad mappings file.
- add zero-point to gamepad configuration.
- save configuration when closing dataset manager window.
- add pop-up notice when opening the keyframes window if component 'others' is not visible.
- add full screen bit depth and refresh rate to fully qualify selected full screen modes.
- add notice when there are no datasets.
- improve layout and information of crash window.
Bug Fixes
- particle set size when rendered as points and star scaling issue.
- correctly query graphics device for resolution and apply scaling.
- toggling SSR and motion blur does not update depth state in some shaders.
- double definitions in shader libraries.
- render constellation boundaries as closed polygons in order to avoid artifacts.
- index errors in keybaord in controller GUI.
- back-buffer scale is now applied correctly (and only once), works with external view.
- remove angle from zenith from cubemap renderer in planetarium, use shader-based solution.
- prevent rendering titles if panorama mode is on.
- initialize position from coordinates object during initialization phase.
- land at location never returns. Fixes #674. #674
- set foucs with
FocusView
object type. Fixes #671. #671
- provide a correct index mapping for arbitrary attributes with string values.
- particle size of interactively loaded point cloud datasets.
- vertically flip UV coordinates of two-faced billboard to correct texture orientation.
- regression in billboard group rendering. Fixes #663. #663
- update coordinates in invisible only when present. Fixes #662. #662
- prevent runtime error due to non-invertible matrix in spacecraft entity.
- diffuse color contribution calculated incorrectly when nLights > 1 in normal shaders.
- names in star groups can now be localized, fix focus name in panel.
- translate strings of filters, shapes, datasets and minimap. Fixes #403. #403
- moon orbits are recomputed more often.
- filters crash with instanced star renderers.
- modal windows made not collapsible by default.
- hotkey tooltip backgrounds.
- jump in Pluto's orbit due to deviation between full periods.
- highlight 'all visible' setting in quad-based star renderers.
- frame sequence number synchronized, value updated when opening preferences.
- use view angle instead of view angle apparent in go to object API call.
- increase number of vertices of minimap shape renderer, fixes crash in heliosphere minimap.
- typo in Jupiter English translation file, add meshes to data descriptor file.
- break link in dataset manager if too long.
- make sure direction and up vectors are orthogonal in camera transition call.
- increase size star point buffer when needed.
- null-check satellite attitude before getting quaternion. Fixes #402. #402
- empty tips may crash Gaia Sky at startup.
- 'add scene graph object' event missing source object. Fixes #400. #400
- remove phase of pi radians in default-model orbital elements.
- regression with libgdx 1.11.0 that caused vertical tooltips.
- null-check settings in crash reporter.
- workaround for libgdx backslash bug in asset manager. Fixes #398. #398
- hide system cursor correctly with GLFW until libgdx 1.10.1 is released.
- use minimum width for debug interface to prevent dynamic resizing depending on content.
Build System
- upgrade gradle wrapper version to 7.5.1.
- move repository to Codeberg.
- update changelog template repository to Codeberg.
- update GitLab references to Codeberg, when possible. Use Codeberg API for version checking.
- remove GitLab CI file.
- extract documentation project from submodule to its own project.
- add
aarch64
JRE to macOS bundle for M1 machines. Move to macOS single bundle archive from deprecated old single bundle.
- force safe graphics mode on M1 macOS.
- upgrade to libgdx 1.11.0 and LWJGL 3.3.1 --- this adds M1 Mac support.
- use default GC (G1) in favor of Shenandoah (only LTS).
Documentation
- improve comments on color maps GLSL code.
- add new panorama orthographic projection to API javadocs.
- remove wrong license (leftover from old copy-paste) in fisheye fragment shader code.
- add contributor.
- update repository pointers to Codeberg.