<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Gaia Sky</title>
    <link>https://gaiasky.space/</link>
    <description>Recent news on Gaia Sky</description>
    <generator>Hugo</generator>
    <language>en-us</language>
      <atom:link href="https://gaiasky.space/index.xml" rel="self" type="application/rss+xml" /> 
      <item>
        <title>Gaia Sky 3.7.1</title>
        <link>https://gaiasky.space/news/2026/gaiasky_3.7.1/</link>
        <pubDate>Wed, 04 Feb 2026 00:00:00 +0000</pubDate>
        <guid>https://gaiasky.space/news/2026/gaiasky_3.7.1/</guid>
        <description>&lt;p&gt;We are excited to announce the release of &lt;strong&gt;Gaia Sky 3.7.1&lt;/strong&gt;. This release was planned for last Christmas, but we had to postpone it due to the server outage issue. Now it is here! While there are many under-the-hood fixes, the highlights of this version are:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The new procedural galaxy generation system,&lt;/li&gt;&#xA;&lt;li&gt;the PBR shader overhaul,&lt;/li&gt;&#xA;&lt;li&gt;some notable UI improvements,&lt;/li&gt;&#xA;&lt;li&gt;a revision of the atmospheric scattering algorithm,&lt;/li&gt;&#xA;&lt;li&gt;new 3D anaglyph modes,&lt;/li&gt;&#xA;&lt;li&gt;and improvements in eclipses.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Interested? Keep reading to know more.&lt;/p&gt;&#xA;&lt;h2 id=&#34;procedural-galaxies&#34;&gt;Procedural galaxies&lt;/h2&gt;&#xA;&lt;p&gt;We have implemented a full pipeline to generate galaxies on the fly. This system uses GPU compute shaders to handle the heavy lifting, allowing you to create complex galactic structures in real-time. It falls back to a CPU method in macOS and systems that do not support OpenGL compute shaders.&lt;/p&gt;&#xA;&#xA;&lt;figure class=&#34;fig-center fig-post&#34;&gt;&lt;a href=&#34;https://gaiasky.space/img/2025/11/hubble_grid_small.jpg&#34;&gt;&lt;picture&gt;&lt;img src=&#34;https://gaiasky.space/img/2025/11/hubble_grid_small.thumb.jpg&#34; loading=&#34;lazy&#34;decoding=&#34;async&#34; /&gt;&#xA;    &lt;/picture&gt;&lt;/a&gt;&lt;figcaption&gt;&#xA;            &lt;h4&gt;Procedural generation of several galaxy morphologies in Gaia Sky. &lt;a href=&#34;https://i.postimg.cc/h4sNWVFH/hubble-grid.jpg&#34;&gt;Full resolution image (12K)&lt;/a&gt;&lt;/h4&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Hubble types:&lt;/strong&gt; The system can generate different galaxy morphologies based on Hubble types. Whether you need a tightly wound spiral or a diffuse elliptical, the generator handles the math.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;New generation UI:&lt;/strong&gt; We added a dedicated procedural generation window. It gives you direct control over &amp;ldquo;channels&amp;rdquo;: individual components like the bulge, stars, HII regions, and dust. You can adjust particle counts, distribution patterns, and warp strength and see the results immediately.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Smart rendering:&lt;/strong&gt; We&amp;rsquo;ve improved the rendering performance too. We render some channels to lower-resolution buffers, and combined them with the full-resolution main buffer in a later stage.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Volume rendering:&lt;/strong&gt; We have built the infrastructure to handle volumes and ground them in the scene. We provide a sample shader as example.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;figure class=&#34;fig-center fig-post&#34;&gt;&lt;a href=&#34;https://gaiasky.space/img/2026/02/galaxies-ui.jpg&#34;&gt;&lt;picture&gt;&lt;img src=&#34;https://gaiasky.space/img/2026/02/galaxies-ui.jpg&#34; loading=&#34;lazy&#34;decoding=&#34;async&#34; /&gt;&#xA;    &lt;/picture&gt;&lt;/a&gt;&lt;figcaption&gt;&#xA;            &lt;h4&gt;Generating a procedural galaxy with the new UI dialog.&lt;/h4&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;h2 id=&#34;physical-light-and-shading&#34;&gt;Physical light and shading&lt;/h2&gt;&#xA;&lt;p&gt;We spent a lot of time rewriting how light works in Gaia sky to make it follow real-world physics (PBR).&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Energy conservation:&lt;/strong&gt; We moved to a Cook-Torrance model. This means that surfaces reflect light more accurately based on their material, and they won&amp;rsquo;t appear unnaturally bright because the math now ensures that reflected light never exceeds the incoming light.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Better reflections:&lt;/strong&gt; The metallic/roughness workflow has been revisited. Metals look more like metals, and rougher surfaces scatter light more realistically.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Full PBR overhaul:&lt;/strong&gt; We&amp;rsquo;ve written new PBR shaders essentially from scratch.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;performance-and-vr&#34;&gt;Performance and VR&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;OpenXR and instancing:&lt;/strong&gt; VR performance is much better now. We optimized how textures are attached to frame buffers and moved desktop mirroring to its own pass. We also started using instanced rendering for orbits and billboards, which significantly reduces the load on your VRAM.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;VR demo mode:&lt;/strong&gt; If you are showing Gaia sky to others, you can enable the new demo mode. It simplifies the controls so a new user can&amp;rsquo;t accidentally open menus or change settings while they are exploring.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;other-notable-changes&#34;&gt;Other notable changes&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;New 3D anaglyph modes:&lt;/strong&gt; We&amp;rsquo;ve added new anaglyph modes: red/cyan Dubois-style, amber/blue, and amber/blue Dubois style. Improve regular red/cyan method with a separate gamma operation on each channel that boosts red and mutes green.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Interface colors:&lt;/strong&gt; You can now pick a custom accent color for the UI, which updates instantly.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Mirror support:&lt;/strong&gt; The startup process can check multiple server mirrors to find the fastest connection for data downloads. We&amp;rsquo;re working on procuring at least an external mirror.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Atmospheric scattering:&lt;/strong&gt; The scattering math is now calculated per-pixel (fragment shader), which makes planetary atmospheres look better even on simpler 3D models.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;For the full technical breakdown and a list of all bug fixes, check the &lt;a href=&#34;https://gaiasky.space/downloads/releases/v3.7.1/#release-notes&#34;&gt;full changelog for 3.7.1&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;You can grab the latest installer from the &lt;a href=&#34;https://gaiasky.space/downloads&#34;&gt;downloads page&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;</description>
      </item> 
      <item>
        <title>Gaia Sky documentation upgrade</title>
        <link>https://gaiasky.space/news/2026/new-docs/</link>
        <pubDate>Tue, 03 Feb 2026 00:00:00 +0000</pubDate>
        <guid>https://gaiasky.space/news/2026/new-docs/</guid>
        <description>&lt;p&gt;If you’ve checked out our &lt;a href=&#34;https://gaia.ari.uni-heidelberg.de/gaiasky/docs/&#34;&gt;documentation&lt;/a&gt; lately, you’ll notice things look a bit different. We’ve just finished a major overhaul of how we build and host our docs. While we&amp;rsquo;ve had a version switcher for a while, the &amp;ldquo;engine&amp;rdquo; under the hood was getting a bit clunky, and some of the Sphinx extensions we used were unmaintained.&lt;/p&gt;&#xA;&lt;p&gt;We moved away from the &lt;strong&gt;Read The Docs theme&lt;/strong&gt; and &lt;code&gt;sphinx-multiversion&lt;/code&gt; in favor of a custom, decoupled build system using the &lt;a href=&#34;https://pydata-sphinx-theme.readthedocs.io&#34;&gt;&lt;strong&gt;PyData Sphinx theme&lt;/strong&gt;&lt;/a&gt;. Previously, we had to re-generate the documentation for &lt;em&gt;every single version&lt;/em&gt; of Gaia Sky every time we made a change to the master branch. As you can imagine, that didn&amp;rsquo;t scale well.&lt;/p&gt;&#xA;&lt;p&gt;With the new setup, we have:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Incremental Builds:&lt;/strong&gt; We only build the version that actually changed (usually &lt;code&gt;master&lt;/code&gt;).&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Dynamic Switching:&lt;/strong&gt; The version switcher now pulls from a central &lt;code&gt;switcher.json&lt;/code&gt;. This means even old, archived documentation versions stay &amp;ldquo;connected&amp;rdquo; to the latest releases without us ever having to touch their HTML again.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Modern UI:&lt;/strong&gt; A much-improved sidebar, better search, cleaner look, and a beautiful new PDF layout.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;This change saves us a ton of build time and ensures that the documentation is always snappier and easier to navigate. We&amp;rsquo;ve also gone into the actual structure of the documentation and changed and adapted it so that it flows better.&lt;/p&gt;&#xA;&lt;p&gt;Check it out (&lt;a href=&#34;https://gaia.ari.uni-heidelberg.de/gaiasky/docs/&#34;&gt;docs.gaiasky.space&lt;/a&gt;) and let us know if you encounter any issues.&lt;/p&gt;&#xA;</description>
      </item> 
      <item>
        <title>Gaia Sky VR on Linux</title>
        <link>https://gaiasky.space/news/2026/gaiasky-vr-linux/</link>
        <pubDate>Fri, 30 Jan 2026 00:00:00 +0000</pubDate>
        <guid>https://gaiasky.space/news/2026/gaiasky-vr-linux/</guid>
        <description>&lt;p&gt;Running VR on Linux is notoriously &amp;ldquo;experimental,&amp;rdquo; especially when mixing NVIDIA hardware with Wayland-native compositors like Hyprland. However, using the &lt;strong&gt;Valve Index&lt;/strong&gt; via the open-source &lt;strong&gt;Monado&lt;/strong&gt; runtime is now fully viable for Gaia Sky.&lt;/p&gt;&#xA;&lt;p&gt;Based on our recent testing, here is how to achieve a stable, high-performance, and color-accurate VR experience.&lt;/p&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s what you need:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;Monado Service&lt;/strong&gt;: The open-source OpenXR runtime (&lt;code&gt;paru -S monado&lt;/code&gt; on Arch).&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;libsurvive&lt;/strong&gt;: For lighthouse and headset tracking.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;xr-hardware&lt;/strong&gt;: Ensure your udev rules are installed (&lt;code&gt;paru -S xr-hardware&lt;/code&gt; on Arch).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;On NVIDIA hardware, Monado may attempt to use an X11-based &amp;ldquo;Direct Mode&amp;rdquo; that crashes on Wayland with a &lt;code&gt;vkAcquireXlibDisplayEXT&lt;/code&gt; error. To fix this, you must force Monado to use the &lt;strong&gt;Wayland DRM Lease&lt;/strong&gt; protocol. I have prepared a &lt;code&gt;justfile&lt;/code&gt; to handle the environment variables correctly. This setup bypasses the crashing NVIDIA backend and fixes the &amp;ldquo;washed out&amp;rdquo; color issues common on Pascal (10-series) cards.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-justfile&#34; data-lang=&#34;justfile&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;monado-clean&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;-killall -9 monado-service vrcompositor vrmonitor survive-cli&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;-rm -f /run/user/1000/monado_comp_ipc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;monado&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; monado-clean&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;env XRT_COMPOSITOR_FORCE_NVIDIA&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;   XRT_COMPOSITOR_FORCE_WAYLAND_DIRECT&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;   XRT_COMPOSITOR_FORCE_SRGB&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;   SURVIVE_GLOBALSCENESOLVER&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;   monado-service&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;monado-debug&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; monado-clean&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;env XRT_COMPOSITOR_FORCE_NVIDIA&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;   XRT_COMPOSITOR_FORCE_XCB&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;   XRT_COMPOSITOR_FORCE_WAYLAND_DIRECT&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;   XRT_COMPOSITOR_FORCE_SRGB&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;   XRT_VULKAN_FORMAT&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;VK_FORMAT_B8G8R8A8_SRGB &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;   XRT_COMPOSITOR_GAMMA&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;0.45 &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;   SURVIVE_GLOBALSCENESOLVER&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;   monado-service&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Using the &lt;code&gt;monado&lt;/code&gt; task should be enough to start the monado service properly. Then, you can run Gaia Sky with:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;env XR_RUNTIME_JSON&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;/usr/share/openxr/1/openxr_monado.json gaiasky -vr&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
      </item> 
      <item>
        <title>Dynamic UI accent colors</title>
        <link>https://gaiasky.space/news/2026/accent-colors/</link>
        <pubDate>Thu, 29 Jan 2026 00:00:00 +0000</pubDate>
        <guid>https://gaiasky.space/news/2026/accent-colors/</guid>
        <description>&lt;p&gt;For years, Gaia Sky&amp;rsquo;s UI themes have been completely static: each theme required its own set of pre-rendered source images. Want a different color scheme? You&amp;rsquo;d need an entirely new theme with separately generated assets.&lt;/p&gt;&#xA;&lt;p&gt;Not anymore.&lt;/p&gt;&#xA;&lt;p&gt;For the next release, we&amp;rsquo;ve implemented a new theming system by creating a single base theme with purple motifs and applying runtime color transformation through shaders. The new system converts purple elements to any accent color you choose, all happening in real-time on the GPU. The old &amp;ldquo;Theme&amp;rdquo; property in the preferences window has been replaced with an &amp;ldquo;Accent color&amp;rdquo; color picker, as demonstrated in the video below.&lt;/p&gt;&#xA;&#xA;&lt;figure class=&#34;fig-center vid-post&#34;&gt;&lt;video poster=&#34;https://gaiasky.space/vid/2026/ui-accent-colors.jpg&#34; preload=&#34;none&#34;controls=&#34;controls&#34;&#xA;    &gt;&#xA;      &lt;source src=&#34;https://gaiasky.space/vid/2026/ui-accent-colors.mp4&#34; autostart=&#34;false&#34;&gt;&#xA;        Your browser does not support the video tag.&#xA;    &lt;/video&gt;&lt;figcaption&gt;&#xA;            &lt;h4&gt;Switching accent colors in real time in the Gaia Sky UI.&lt;/h4&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;The magic happens in the fragment shader, which analyzes each pixel&amp;rsquo;s color, extracts the purple hue and brightness values, and blends them with your chosen accent color using weighted averages. The result are smooth, natural-looking color transitions that preserve the original design&amp;rsquo;s depth.&lt;/p&gt;&#xA;&lt;p&gt;This shader-based approach is not only more flexible but also lets us focus on a single theme without having to update multiple places whenever something changes.&lt;/p&gt;&#xA;</description>
      </item> 
      <item>
        <title>Gaia Sky server back online</title>
        <link>https://gaiasky.space/news/2026/server-available/</link>
        <pubDate>Tue, 27 Jan 2026 11:31:55 +0000</pubDate>
        <guid>https://gaiasky.space/news/2026/server-available/</guid>
        <description>&lt;p&gt;After several months of &lt;a href=&#34;https://gaiasky.space/news/2025/server-down-update&#34;&gt;downtime&lt;/a&gt;, we are excited and relieved to announce that the &lt;strong&gt;Gaia Sky server is officially back online&lt;/strong&gt; and accessible to the public!&lt;/p&gt;&#xA;&#xA;&lt;figure class=&#34;fig-center fig-post&#34;&gt;&lt;picture&gt;&lt;img src=&#34;https://gaiasky.space/img/2026/gaia-connect.svg&#34; width=&#34;64px&#34; style=&#34;width:64px;&#34; loading=&#34;lazy&#34;decoding=&#34;async&#34; /&gt;&#xA;    &lt;/picture&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;A few months ago, the University computing center, the &lt;abbr title=&#34;Universitätsrechenzentrum&#34;&gt;URZ&lt;/abbr&gt;, decided to implement a series of precautionary security measures aimed at protecting the university IT network from a cyberattack. One of these measures was to put most IT services behind a VPN network, which rendered our server inaccessible for most users.&lt;/p&gt;&#xA;&lt;p&gt;Thanks to the colleagues of our institute&amp;rsquo;s IT department, today we opened up our server so that Gaia Sky users can again download the application and the data packages without restrictions.&lt;/p&gt;&#xA;&lt;p&gt;We know it has been a long wait, and we appreciate the patience the community has shown during this university-wide incident.&lt;/p&gt;&#xA;&lt;p&gt;Everything you need to get back to exploring the cosmos is ready for download:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://gaiasky.space/downloads&#34;&gt;Release Packages&lt;/a&gt;:&lt;/strong&gt; You can once again download the latest installers for Linux, Windows, and macOS.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://gaiasky.space/resources/datasets&#34;&gt;Datasets&lt;/a&gt;:&lt;/strong&gt; The full catalog of datasets, from the base star catalogs to the high-resolution texture packs, is again reachable via the internal dataset manager and as manual downloads.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://gaiasky.space/docs&#34;&gt;Documentation&lt;/a&gt;:&lt;/strong&gt; The Gaia Sky documentation pages are also open now.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</description>
      </item> 
      <item>
        <title>Workaround to get Gaia Sky running</title>
        <link>https://gaiasky.space/news/2026/workaround-server/</link>
        <pubDate>Mon, 19 Jan 2026 06:01:55 +0000</pubDate>
        <guid>https://gaiasky.space/news/2026/workaround-server/</guid>
        <description>&lt;p&gt;In light of the current &lt;a href=&#34;https://gaiasky.space/news/server-down-update&#34;&gt;server downtime&lt;/a&gt;, we are creating this post describing how to get Gaia Sky up and running with the base data package.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Gaia Sky installer&lt;/strong&gt; &amp;ndash; first, you will need to download the installer for Gaia Sky version 3.7.0. Since our server is currently inaccessible, we have made this version available for download at the following link:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://codeberg.org/gaiasky/gaiasky/releases/tag/3.7.0&#34;&gt;Gaia Sky 3.7.0 Installer&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Please choose the appropriate installer for your operating system and follow the installation steps as usual.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Base data package&lt;/strong&gt; &amp;ndash; once Gaia Sky is installed, you need the base data package, which includes the Solar System, the Milky Way, and other essential objects. Download it (either in &lt;code&gt;zip&lt;/code&gt; or &lt;code&gt;tar.gz&lt;/code&gt;) from the following link:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://codeberg.org/gaiasky/gsdata-basedata/releases/tag/v057&#34;&gt;Base Data Package v057&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;After downloading, extract the package to any location on your computer.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Move the dataset to Gaia Sky’s data directory&lt;/strong&gt; &amp;ndash; next, go into the extracted directory, and in it you should find the &lt;code&gt;default-data&lt;/code&gt; directory. Copy it into the Gaia Sky data directory. Where is the Gaia Sky data directory, you ask? Here&amp;rsquo;s its location depending on your operating system:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Windows&lt;/strong&gt;: &lt;code&gt;C:\Users\%username%\.gaiasky\data&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Linux&lt;/strong&gt;: &lt;code&gt;~/.local/share/gaiasky/data&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;macOS&lt;/strong&gt;: &lt;code&gt;~/.gaiasky/data&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Ensure that the &lt;code&gt;default-data&lt;/code&gt; directory is placed directly within the &lt;code&gt;data&lt;/code&gt; folder. This will allow Gaia Sky to load the necessary resources correctly.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Compatibility with older datasets&lt;/strong&gt; &amp;ndash; for older versions of Gaia Sky, most of the datasets for stars, galaxies, nebulae, clusters, and other celestial objects should still work. While the current server downtime means new datasets cannot be fetched, you can continue using previously downloaded datasets from older versions without issues.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;final-notes&#34;&gt;Final notes&lt;/h3&gt;&#xA;&lt;p&gt;This should give you a working Gaia Sky installation with the bare minimum. We appreciate your patience during this downtime and are working hard to restore full access to our services.&lt;/p&gt;&#xA;</description>
      </item> 
      <item>
        <title>🚧 Service update: university security measures continue 🚧</title>
        <link>https://gaiasky.space/news/2025/server-down-update/</link>
        <pubDate>Wed, 17 Dec 2025 00:00:00 +0000</pubDate>
        <guid>https://gaiasky.space/news/2025/server-down-update/</guid>
        <description>&lt;p&gt;It&amp;rsquo;s been a month now, and unfortunately, our main download server is still offline. We know this is quite frustrating for users, as it is for us too.&lt;/p&gt;&#xA;&lt;p&gt;For those just catching up: our server, which holds all the Gaia Sky installers, data packs, and docs, is hosted behind a Heidelberg University domain. About a month ago, the university&amp;rsquo;s IT center detected a widespread security incident and took major preventative action, which included taking our server (and many others) offline.&lt;/p&gt;&#xA;&lt;p&gt;In short, this is a big university-wide security response, and we have no control over the timeline. We&amp;rsquo;re waiting just like everyone else.&lt;/p&gt;&#xA;&lt;p&gt;You can read the official updates from the university&amp;rsquo;s IT center (URZ) here:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.urz.uni-heidelberg.de/en/precautionary-measures&#34;&gt;Precautionary Measures by URZ&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.urz.uni-heidelberg.de/en/newsroom/news-it-security-incident-precautionary-measures&#34;&gt;URZ IT Security Incident&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;For Gaia Sky users, this means that:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;New users can&amp;rsquo;t download Gaia Sky from our official site right now.&lt;/li&gt;&#xA;&lt;li&gt;The project documentation is offline.&lt;/li&gt;&#xA;&lt;li&gt;Data packs and other downloads are also inaccessible.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;However, the server works, but can only be reached via the university VPN.&lt;/p&gt;&#xA;&lt;p&gt;We&amp;rsquo;re really sorry about this. We&amp;rsquo;re a small team, and while this server situation is out of our hands, we&amp;rsquo;re looking into temporary options to get things rolling again. We&amp;rsquo;ll shout about it here as soon as we have a workaround.&lt;/p&gt;&#xA;&lt;p&gt;Thanks for sticking with us. We&amp;rsquo;ll post another update the moment we hear anything concrete from the university or have an alternative to share.&lt;/p&gt;&#xA;</description>
      </item> 
      <item>
        <title>🚧 Server inaccessible 🚧</title>
        <link>https://gaiasky.space/news/2025/server-down/</link>
        <pubDate>Sat, 22 Nov 2025 00:00:00 +0000</pubDate>
        <guid>https://gaiasky.space/news/2025/server-down/</guid>
        <description>&lt;p&gt;We regret to inform our users that our server, hosting Gaia Sky packages, datasets, and documentation, is currently inaccessible from external networks. This is due to precautionary measures taken by the University Computing Center (URZ) at the University of Heidelberg.&lt;/p&gt;&#xA;&lt;p&gt;For more details on these measures, please refer to the official announcement from the URZ: &lt;a href=&#34;https://www.urz.uni-heidelberg.de/en/precautionary-measures&#34;&gt;Precautionary Measures by URZ&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;We apologize for any inconvenience this may cause and will keep you updated as the situation evolves.&lt;/p&gt;&#xA;</description>
      </item> 
      <item>
        <title>Procedural galaxy generation preview</title>
        <link>https://gaiasky.space/news/2025/galaxy-generation/</link>
        <pubDate>Fri, 21 Nov 2025 00:00:00 +0000</pubDate>
        <guid>https://gaiasky.space/news/2025/galaxy-generation/</guid>
        <description>&lt;p&gt;This post introduces an experimental galaxy generation system currently in development, which generates and visualizes galaxies in real time. By leveraging multiple channels, such as stars, gas, dust, H II regions, and the galactic bulge, the system generates diverse galaxy types, each with distinct structural features.&lt;/p&gt;&#xA;&lt;p&gt;Below is a preview of this system’s capabilities, showcasing the generated galaxies through a series of images. This is an early look at the technology and a demonstration of how we’re using the power of GPU-based compute shaders to create somewhat realistic galaxies very rapidly. Keep in mind that this is still a work in progress, with many improvements and additional features planned before release.&lt;/p&gt;&#xA;&#xA;&lt;figure class=&#34;fig-center fig-post&#34;&gt;&lt;a href=&#34;https://gaiasky.space/img/2025/11/hubble_grid_small.jpg&#34;&gt;&lt;picture&gt;&lt;img src=&#34;https://gaiasky.space/img/2025/11/hubble_grid_small.thumb.jpg&#34; loading=&#34;lazy&#34;decoding=&#34;async&#34; /&gt;&#xA;    &lt;/picture&gt;&lt;/a&gt;&lt;figcaption&gt;&#xA;            &lt;h4&gt;Procedural generation of several galaxy morphologies in Gaia Sky. &lt;a href=&#34;https://i.postimg.cc/h4sNWVFH/hubble-grid.jpg&#34;&gt;Full resolution image (12K)&lt;/a&gt;&lt;/h4&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Every galaxy is modeled using different physical components, each represented by a separate &amp;ldquo;channel&amp;rdquo; in the compute shader. These channels simulate different aspects of the galaxy:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Stars&lt;/strong&gt; &amp;ndash; The luminous stars that make up the galaxy.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;H II Regions&lt;/strong&gt; &amp;ndash; Areas of ionized hydrogen, often seen as nebulae.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Gas&lt;/strong&gt; &amp;ndash; The interstellar gas that fills the galaxy.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Dust&lt;/strong&gt; &amp;ndash; The small particles scattered throughout the galaxy, contributing to the galaxy&amp;rsquo;s opacity.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Bulge&lt;/strong&gt; &amp;ndash; The central region of the galaxy, typically composed of older stars.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Each channel is processed individually by the compute shader, which performs complex calculations to generate a unique galaxy based on these inputs. The distribution of particles in each channel can be one of the following:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Sphere&lt;/strong&gt; &amp;ndash; Uniformly distributed sphere.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Gaussian sphere&lt;/strong&gt; &amp;ndash; Sphere following a radial Gaussian distribution.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Disk&lt;/strong&gt; &amp;ndash; Uniformly distributed disk.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Gaussian disk&lt;/strong&gt; &amp;ndash; A disk with a radial Gaussian distribution.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Spiral&lt;/strong&gt; &amp;ndash; A spiral distribution following the &lt;a href=&#34;https://physicsfeed.com/post/density-wave-theory-spiral-arms/&#34;&gt;density wave theory&lt;/a&gt; of spiral arms.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Logarithmic spiral&lt;/strong&gt; &amp;ndash; A logarithmic spiral.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Bar&lt;/strong&gt; &amp;ndash; A bar.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Ellipsoid&lt;/strong&gt; &amp;ndash; Uniformly distributed ellipsoid with two eccentricities.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Cone&lt;/strong&gt; &amp;ndash; A cone distribution.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Irregular&lt;/strong&gt; &amp;ndash; Irregular shape.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The results are visualized in a grid of galaxy images, as shown above. The images represent various types of galaxies based on the Hubble sequence, which includes elliptical, spiral, and irregular galaxies. The generated visualizations provide a clear representation of how different components (stars, gas, dust) contribute to the overall structure of a galaxy.&lt;/p&gt;&#xA;&lt;h2 id=&#34;interface&#34;&gt;Interface&lt;/h2&gt;&#xA;&lt;p&gt;In order to play around with the generation and make fine adjustments to galaxies, we provide a comprehensive graphical user interface in Gaia Sky itself. From it, one can modify virtually all parameters that go into the generation. There is a section at the top to define the global properties of the galaxy (size, transformation, morphology, etc.), and then there are collapsible panes for each of the channels. New channels can be added, and existing channels can be deleted. Each channel contains the attributes of the chosen distribution for the channel.&lt;/p&gt;&#xA;&#xA;&lt;figure class=&#34;fig-center fig-post&#34;&gt;&lt;picture&gt;&lt;img src=&#34;https://gaiasky.space/img/2025/11/procedural-galaxy-ui.jpg&#34; loading=&#34;lazy&#34;decoding=&#34;async&#34; /&gt;&#xA;    &lt;/picture&gt;&lt;figcaption&gt;&#xA;            &lt;h4&gt;Procedural galaxy generation window.&lt;/h4&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;As mentioned, this is still work in progress. The system is being developed in the &lt;a href=&#34;https://codeberg.org/gaiasky/gaiasky/src/branch/compute&#34;&gt;compute branch&lt;/a&gt; of our repository. &lt;del&gt;The procedural galaxy generation system is based on compute shaders, so sadly macOS is not supported.&lt;/del&gt; &lt;em&gt;Edit:&lt;/em&gt; The procedural galaxy generation system uses compute shaders for optimal performance, while providing a CPU-based fallback path for compatibility with systems that do not support OpenGL 4.3 or later&amp;ndash;most notably, macOS.&lt;/p&gt;</description>
      </item> 
      <item>
        <title>Gaia Sky VR Demo Mode</title>
        <link>https://gaiasky.space/news/2025/vr-demo-mode/</link>
        <pubDate>Mon, 10 Nov 2025 00:00:00 +0000</pubDate>
        <guid>https://gaiasky.space/news/2025/vr-demo-mode/</guid>
        <description>&lt;p&gt;Last Saturday, at the &lt;a href=&#34;https://www.hwk-koblenz.de/artikel/16-koblenzer-nacht-der-technik-am-8-november-2025-52,0,181.html&#34;&gt;16. Koblenzer Nacht der Technik&lt;/a&gt;, we had the opportunity to present Gaia Sky VR to a large and enthusiastic audience. With big queues forming and a constant stream of people eager to try the experience, we were presented with a perfect, real-world test lab. We learned a good amount by watching so many first-time users interact with the cosmos in VR. One lesson became crystal clear: the standard control scheme, while powerful for experienced users, can be a source of confusion during fast-paced public demos.&lt;/p&gt;&#xA;&lt;p&gt;This direct experience led us to introduce a new feature for VR: &lt;strong&gt;Demo Mode&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Public demonstrations of virtual reality usually come with unique challenges. When a new user puts on the headset for the first time, their unfamiliarity with the controllers can lead to unintended actions, breaking the flow of your presentation and potentially causing confusion.&lt;/p&gt;&#xA;&lt;p&gt;Based on feedback we received, we&amp;rsquo;ve identified two common pain points:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Accidental Lateral Movement&lt;/strong&gt;: Users inadvertently pushing the joystick sideways, causing unexpected and often disorienting lateral drifts instead of a smooth forward or backward motion.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Unintended Button Presses&lt;/strong&gt;: Users accidentally pulling the trigger or pressing buttons, leading to the selection of random objects, toggling of visibility filters, or bringing up the in-world UI at inopportune times.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;When activated, Demo mode restricts the controller inputs to create a more curated and foolproof experience:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Restricted Joystick Movement&lt;/strong&gt;: The X-axis (left and right) on the VR controller joysticks is disabled. Users can only move forwards and backwards along the direction their controller is pointing. This makes it significantly easier for you, the presenter, to guide users toward a specific star, planet, or galaxy without them accidentally veering off course.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Controller Buttons Disabled&lt;/strong&gt;:All actions mapped to the VR controllers (triggers, grips, menu buttons, etc.) are temporarily deactivated. This prevents users from accidentally selecting objects, opening menus, or changing settings, ensuring your narrative remains the focus.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The result is a streamlined, &amp;ldquo;kiosk-like&amp;rdquo; experience where you can confidently hand over the headset, knowing that the user&amp;rsquo;s exploration will be focused and free from disruptive misclicks.&lt;/p&gt;&#xA;&lt;h2 id=&#34;how-to-activate-demo-mode&#34;&gt;How to activate demo mode&lt;/h2&gt;&#xA;&lt;p&gt;Enabling Demo Mode is simple. You can activate it in two places:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Welcome Screen&lt;/strong&gt;: On the initial welcome GUI, simply check the &amp;ldquo;VR demo mode&amp;rdquo; checkbox before entering the simulation.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Settings Menu&lt;/strong&gt;: You can also toggle it on the fly from the main Settings window, under the Controls section.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;figure class=&#34;fig-center fig-post&#34;&gt;&lt;picture&gt;&lt;img src=&#34;https://gaiasky.space/img/2025/11/vr-demo-mode.jpg&#34; width=&#34;70%&#34; style=&#34;width:70%;&#34; loading=&#34;lazy&#34;decoding=&#34;async&#34; /&gt;&#xA;    &lt;/picture&gt;&lt;figcaption style=&#34;margin: 0 auto; width:70%;&#34;&gt;&#xA;            &lt;h4&gt;Activate Demo Mode right from the welcome screen for a hassle-free session from the start.&lt;/h4&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;We hope this new feature makes your public outreach with Gaia Sky VR smoother. It will be available in the next public release of Gaia Sky.&lt;/p&gt;&#xA;&lt;p&gt;As always, we welcome your feedback. If you have suggestions for further improvements or run into any issues, please let us know.&lt;/p&gt;&#xA;</description>
      </item> 
      <item>
        <title>Gaia Sky 3.7.0</title>
        <link>https://gaiasky.space/news/2025/gaiasky_3.7.0/</link>
        <pubDate>Wed, 01 Oct 2025 00:00:00 +0000</pubDate>
        <guid>https://gaiasky.space/news/2025/gaiasky_3.7.0/</guid>
        <description>&lt;p&gt;Today we publish Gaia Sky 3.7.0. The main point of this release is to fix a &lt;strong&gt;show-stopping bug&lt;/strong&gt; that occurs with the latest version of macOS, code-named Tahoe. On macOS Tahoe, Gaia Sky 3.6.11 crashes at startup due to the operating system hardware information library (&lt;a href=&#34;https://github.com/oshi/oshi&#34;&gt;oshi&lt;/a&gt;) returning nothing when asked for the operating system code name. This has been &lt;strong&gt;fixed in 3.7.0&lt;/strong&gt;. But the fun does not end here, as 3.7.0 is cut from the bleeding edge development branch, so it includes all sorts of new features, QoL improvements, and additional fixes. Read on for more.&lt;/p&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Gamepad mapping changes: map labels on/off to button X, unmap toggle mini-map, map A to camera speed-up (hold to make camera faster). RB and LB mapped to vertical movement (up/down) in free camera mode.&lt;/li&gt;&#xA;&lt;li&gt;Replace &amp;lsquo;displays&amp;rsquo; section in about window with &amp;lsquo;graphics cards&amp;rsquo;.&lt;/li&gt;&#xA;&lt;li&gt;Add infrastructure to be able to create and load ray-marching effects on-demand in the background. Make sure that ray-marching effects stay at their designated location by allowing addition of effects at a particular position in the post-processing chain.&lt;/li&gt;&#xA;&lt;li&gt;Enable IDs in particle groups. Trim down IDs in camera info pane from 14 to 12 characters.&lt;/li&gt;&#xA;&lt;li&gt;Improve &amp;rsquo;no connection&amp;rsquo; dialog, with more information and hints as to whether the issue is with our server or with the local internet connection.&lt;/li&gt;&#xA;&lt;li&gt;Do not show blocking dialog if base data is present when we can&amp;rsquo;t connect to the datasets server. Show a popup notification instead. In the dataset manager window, make installed datasets tab the default view in some cases.&lt;/li&gt;&#xA;&lt;li&gt;Add support for pulling cloud textures from online resources.&lt;/li&gt;&#xA;&lt;li&gt;Add calls to clear label regexp filtering. Improve documentation on some API calls.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;bug-fixes&#34;&gt;Bug Fixes&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Guard OS code name getter behind NPE check during Flatpak discovery. This fixes a crash at startup with macOS Tahoe.&lt;/li&gt;&#xA;&lt;li&gt;Remove UI window shadow, as it messes with the internal padding due to the 9-patch implementation in Libgdx.&lt;/li&gt;&#xA;&lt;li&gt;Gamepad focus order in welcome GUI. Decrease poll delay for gamepad axes.&lt;/li&gt;&#xA;&lt;li&gt;Misalignments in about window layout.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;TLEParserTest&lt;/code&gt; does not initialize settings, leading to NPE.&lt;/li&gt;&#xA;&lt;li&gt;Synchronize TLE initializer to prevent multiple creations/editions of TLE data and derived JSON files at the same time.&lt;/li&gt;&#xA;&lt;li&gt;Size issue in gamepad image in gamepad settings window. Increase maximum value of axis power slider to 15. Set value of vertical movement (RB/LB) to 1 instead of 0.1, to match other camera motion inputs.&lt;/li&gt;&#xA;&lt;li&gt;Reduce range of sensitivity and axis power sliders in gamepad config window.&lt;/li&gt;&#xA;&lt;li&gt;Connect &lt;code&gt;LABEL_CLEAR_FILTER_REGEX_CMD&lt;/code&gt; event to scene observer. This fixes the &lt;code&gt;clearLabelFilterRegexps()&lt;/code&gt; method.&lt;/li&gt;&#xA;&lt;li&gt;Increase maximum eye separation in stereo mode, fix star/particle label positioning in stereoscopic mode.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;build-system&#34;&gt;Build System&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Update bundled JRE in install4j scripts to Java 25 (&lt;code&gt;jdk-25+36&lt;/code&gt;).&lt;/li&gt;&#xA;&lt;li&gt;Remove &lt;code&gt;-XX:+ZGenerational&lt;/code&gt; flag from run script, as support was removed in Java 24.&lt;/li&gt;&#xA;&lt;li&gt;Clean up gradle build file, and separate &lt;code&gt;dist&lt;/code&gt; task into multiple sub-tasks to increase granularity and improve tracking in case of errors. Make it compatible with Gradle 9.1.x.&lt;/li&gt;&#xA;&lt;li&gt;Migrate from multi-string notation to single-string notation for dependencies to prepare for Gradle 10.&lt;/li&gt;&#xA;&lt;li&gt;Upgrade Jackson version to 2.20.0.&lt;/li&gt;&#xA;&lt;li&gt;Upgrade OSHI to 6.9.0.&lt;/li&gt;&#xA;&lt;li&gt;Add additional languages to installer (French, Deutsch, Italian, Portuguese, Spanish, Turkish).&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item> 
      <item>
        <title>Gaia black holes dataset</title>
        <link>https://gaiasky.space/news/2025/gaia-bh-dataset/</link>
        <pubDate>Tue, 30 Sep 2025 10:00:00 +0000</pubDate>
        <guid>https://gaiasky.space/news/2025/gaia-bh-dataset/</guid>
        <description>&lt;p&gt;As of today, we have consolidated the three Gaia DR3 black hole datasets (BH1, with key &lt;code&gt;system-gaia-bh1&lt;/code&gt;, BH2, with key &lt;code&gt;system-gaia-bh2&lt;/code&gt;, and BH3, with key &lt;code&gt;system-gaia-bh3&lt;/code&gt;) into a single dataset that contains all three systems. The new dataset is called &amp;ldquo;Gaia black holes&amp;rdquo; and has the key &lt;code&gt;system-gaia-bhs&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Below is the link to the new black holes dataset in the resources section. As always, the dataset is already available for download from the datasets manager. We &lt;strong&gt;strongly recommend&lt;/strong&gt; to delete the old &lt;code&gt;system-gaia-bh1&lt;/code&gt;|&lt;code&gt;2&lt;/code&gt;|&lt;code&gt;3&lt;/code&gt; if you download this new dataset. Otherwise, you&amp;rsquo;ll end up with duplicated objects.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://gaiasky.space/resources/datasets/#system-gaia-bhs&#34;&gt;Gaia black holes dataset&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</description>
      </item> 
      <item>
        <title>Gaia Sky 3.6.11</title>
        <link>https://gaiasky.space/news/2025/gaiasky_3.6.11/</link>
        <pubDate>Mon, 28 Jul 2025 00:00:00 +0000</pubDate>
        <guid>https://gaiasky.space/news/2025/gaiasky_3.6.11/</guid>
        <description>&lt;p&gt;Exactly a week after the release of 3.6.10, we release &lt;strong&gt;Gaia Sky 3.6.11&lt;/strong&gt;. This is a small-ish release that contains a few new API calls and some important bug fixes. Keep reading for the list of changes.&lt;/p&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Add &lt;code&gt;transition_fov()&lt;/code&gt; (APIv2) and &lt;code&gt;fovTransition()&lt;/code&gt; (APIv1) calls to create smooth transitions in camera field of view angle.&lt;/li&gt;&#xA;&lt;li&gt;Add &lt;code&gt;set_label_[in|ex]clude_regexp&lt;/code&gt; calls to filter allowed and/or required label formats. If the include regexp is set, only labels that match it are allowed. If the exclude regexp is set, labels that match it are not allowed.&lt;/li&gt;&#xA;&lt;li&gt;Add &lt;code&gt;set_mute_label()&lt;/code&gt; APIv2 call (&lt;code&gt;setMuteLabel()&lt;/code&gt; APIv1) to disable the label of individual objects.&lt;/li&gt;&#xA;&lt;li&gt;Add &lt;code&gt;get_fov()&lt;/code&gt; API call to APIv2, and &lt;code&gt;getFov()&lt;/code&gt; to APIv1 to get the current camera field of view angle.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;bug-fixes&#34;&gt;Bug Fixes&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Disable render stage of notifications interface when notifications are off instead of just preventing the creation of messages; This is so that the empty table background is not seen when notifications are off.&lt;/li&gt;&#xA;&lt;li&gt;Add scroll pane to layout of enabled datasets in welcome window. Add &amp;lsquo;disable dataset&amp;rsquo; shortcut to each dataset.&lt;/li&gt;&#xA;&lt;li&gt;Fix overall visual consistency and usability of enabled datasets in welcome window.&lt;/li&gt;&#xA;&lt;li&gt;Keep clouds on the dark side of planets marginally visible instead of making them totally disappear during the night.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item> 
      <item>
        <title>Gaia Sky 3.6.10</title>
        <link>https://gaiasky.space/news/2025/gaiasky_3.6.10/</link>
        <pubDate>Mon, 21 Jul 2025 00:00:00 +0000</pubDate>
        <guid>https://gaiasky.space/news/2025/gaiasky_3.6.10/</guid>
        <description>&lt;p&gt;Today we are happy to announce the release of &lt;strong&gt;Gaia Sky 3.6.10&lt;/strong&gt;. This is a release that improves on 3.6.9 by bringing a handful of minor improvements and quality-of-life updates, and a lot of bug fixes. Additionally, it enables new versions of the &lt;a href=&#34;https://gaiasky.space/resources/datasets#default-data&#34;&gt;base data&lt;/a&gt; and the &lt;a href=&#34;https://gaiasky.space/reosurces/datasets#hi-res-textures&#34;&gt;high resolution textures&lt;/a&gt; packs, and a new &lt;a href=&#34;https://gaiasky.space/resources/datasets/#vt-earth-diffuse-sentinel&#34;&gt;virtual texture dataset based on Sentinel-2 data&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Here is a screenshot with that Sentinel-2 dataset, which goes down to a resolution of 10 meters/pixel:&lt;/p&gt;&#xA;&#xA;&lt;figure class=&#34;fig-center fig-post&#34;&gt;&lt;picture&gt;&#xA;      &lt;source srcset=&#34;https://gaiasky.space/img/2025/07/svt-sentinel-barcelona.jxl&#34; type=&#34;image/jxl&#34; /&gt;&#xA;      &#xA;      &lt;source srcset=&#34;https://gaiasky.space/img/2025/07/svt-sentinel-barcelona.avif&#34; type=&#34;image/avif&#34; /&gt;&#xA;      &lt;img src=&#34;https://gaiasky.space/img/2025/07/svt-sentinel-barcelona.jpg&#34; width=&#34;70%&#34; style=&#34;width:70%;&#34; loading=&#34;lazy&#34;decoding=&#34;async&#34; /&gt;&#xA;    &lt;/picture&gt;&lt;figcaption style=&#34;margin: 0 auto; width:70%;&#34;&gt;&#xA;            &lt;h4&gt;The Sentinel-2 virtual texture in Gaia Sky.&lt;/h4&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;You can get this dataset in Gaia Sky 3.6.10. The dataset key is &lt;code&gt;vt-earth-diffuse-sentinel&lt;/code&gt;. See a  video in BlueSky &lt;a href=&#34;https://bsky.app/profile/did:plc:lyzlck7lyaeo5g5xcu3raydh/post/3ltowaie5z22l&#34;&gt;showcasing the virtual texture sentinel dataset&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Localize Wikipedia API queries for object information.&lt;/li&gt;&#xA;&lt;li&gt;Add file-level cache to TLE subsystem. TLE files are also cached per-group to avoid unnecessary sequential calls to fetch the same file. By default, the TTL for TLE files is 1 hour.&lt;/li&gt;&#xA;&lt;li&gt;Directory structure of virtual texture tiles now accepts more formats (&lt;code&gt;levelx&lt;/code&gt;, &lt;code&gt;levelxx&lt;/code&gt;, &lt;code&gt;x&lt;/code&gt;, &lt;code&gt;xx&lt;/code&gt;).&lt;/li&gt;&#xA;&lt;li&gt;Set default virtual texture cache size to 10. Add information tooltip to cache size in preferences window.&lt;/li&gt;&#xA;&lt;li&gt;Add markers for towns and landmarks. Night lights go out with ambient light in PBR shader.&lt;/li&gt;&#xA;&lt;li&gt;Country perimeter lines disappear when the camera gets close to the surface of the Planet.&lt;/li&gt;&#xA;&lt;li&gt;Add new attributes to dataset definition format: &lt;code&gt;links&lt;/code&gt; (now accepts multiple sources as links), &lt;code&gt;creator&lt;/code&gt; (the creator or curator of the dataset), &lt;code&gt;credits&lt;/code&gt; (specific attribute for credits instead of adding them to the description; multiple strings accepted).&lt;/li&gt;&#xA;&lt;li&gt;Add translation of object names to French.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;bug-fixes&#34;&gt;Bug Fixes&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Typo in default shader class (&lt;code&gt;u_emissionCubemap&lt;/code&gt; -&amp;gt; &lt;code&gt;u_emissiveCubemap&lt;/code&gt;) prevented emissive/night cubemaps from working.&lt;/li&gt;&#xA;&lt;li&gt;Add &lt;code&gt;nightCubemap&lt;/code&gt; as alias to &lt;code&gt;emissiveCubemap&lt;/code&gt; in material component.&lt;/li&gt;&#xA;&lt;li&gt;Add &lt;code&gt;specularValue&lt;/code&gt; and &lt;code&gt;specularValues&lt;/code&gt; as aliases to &lt;code&gt;specular&lt;/code&gt; in material component, with floating point number parameters.&lt;/li&gt;&#xA;&lt;li&gt;Properly filter directories when building the SVT quadtree structure to avoid incorrect &amp;lsquo;Wrong directory name format&amp;rsquo; warnings.&lt;/li&gt;&#xA;&lt;li&gt;Deactivating atmospheres causes night texture to apply uniformly to all planet as if it were a regular emissive texture.&lt;/li&gt;&#xA;&lt;li&gt;Procedural generation window does not fit in the window with the new UI theme. Fix layout by introducing scroll panes and resizing elements.&lt;/li&gt;&#xA;&lt;li&gt;Layout issue in right pane of dataset manager window prevented it from using scroll, causing the window to be too large in some cases.&lt;/li&gt;&#xA;&lt;li&gt;Layout issue and tooltip text in datasets component.&lt;/li&gt;&#xA;&lt;li&gt;Move &lt;code&gt;genVersionFile&lt;/code&gt; task to the top of the dependency list (before &lt;code&gt;compileJava&lt;/code&gt;) so that we always have the correct file available.&lt;/li&gt;&#xA;&lt;li&gt;Mend wording in new data pack notification window.&lt;/li&gt;&#xA;&lt;li&gt;Typo: Korou -&amp;gt; Kourou; Remove titles in object names I18n files.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item> 
      <item>
        <title>Gaia Sky 3.6.9</title>
        <link>https://gaiasky.space/news/2025/gaiasky_3.6.9/</link>
        <pubDate>Wed, 02 Jul 2025 00:00:00 +0000</pubDate>
        <guid>https://gaiasky.space/news/2025/gaiasky_3.6.9/</guid>
        <description>&lt;p&gt;&lt;strong&gt;Edit (2025-07-03):&lt;/strong&gt; Update post with fixes in patch release &lt;strong&gt;3.6.9-2&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Exactly one month after Gaia Sky 3.6.8, today we are proud to release &lt;strong&gt;Gaia Sky 3.6.9&lt;/strong&gt;. This new version brings some exciting features, like &lt;strong&gt;motion trails&lt;/strong&gt; for star and particle groups, a new &lt;strong&gt;Turkish translation&lt;/strong&gt;, and a new &lt;strong&gt;API (v2)&lt;/strong&gt;, and fixes some bugs. Keep reading for the full list of changes included in this release.&lt;/p&gt;&#xA;&#xA;&lt;figure class=&#34;fig-center fig-post&#34;&gt;&lt;picture&gt;&#xA;      &lt;source srcset=&#34;https://gaiasky.space/img/2025/07/motion-trails.jxl&#34; type=&#34;image/jxl&#34; /&gt;&#xA;      &#xA;      &lt;source srcset=&#34;https://gaiasky.space/img/2025/07/motion-trails.avif&#34; type=&#34;image/avif&#34; /&gt;&#xA;      &lt;img src=&#34;https://gaiasky.space/img/2025/07/motion-trails.jpg&#34; width=&#34;70%&#34; style=&#34;width:70%;&#34; loading=&#34;lazy&#34;decoding=&#34;async&#34; /&gt;&#xA;    &lt;/picture&gt;&lt;figcaption style=&#34;margin: 0 auto; width:70%;&#34;&gt;&#xA;            &lt;h4&gt;Motion trails in Gaia Sky 3.6.9.&lt;/h4&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;h2 id=&#34;new-features--improvements&#34;&gt;New Features &amp;amp; Improvements&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Add motion trail effect, which stretches stars and particles in the velocity direction. Can be toggled off in the settings.&lt;/li&gt;&#xA;&lt;li&gt;Add Turkish translation, contributed by Erdem Uygun.&lt;/li&gt;&#xA;&lt;li&gt;Migrate go-to-object operation in the camera info pane to use the smooth transitions API, which creates seamless, bumpy-free rides between two camera states.&lt;/li&gt;&#xA;&lt;li&gt;Add a new API v2, which re-names and re-organizes the single access port we had in the previous API into several modules grouped by function. It also improves documentation and standardizes function and parameter names when possible.&lt;/li&gt;&#xA;&lt;li&gt;Adapt REST server and console to also accept APIv2 calls.&lt;/li&gt;&#xA;&lt;li&gt;Add new setting to enable and disable notification messages, and add checkbox to preferences window. Notifications are off by default. Fixes &lt;a href=&#34;https://codeberg.org/gaiasky/gaiasky/issues/847&#34;&gt;#847&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Update monospace fonts to include all supported characters, now using Liberation Mono.&lt;/li&gt;&#xA;&lt;li&gt;Add missing characters to font files to ready them for the Turkish translation.&lt;/li&gt;&#xA;&lt;li&gt;Left and right trigger buttons (LT, RT) in gamepads to control slider values in gamepad GUI.&lt;/li&gt;&#xA;&lt;li&gt;Update default lens flare shader.&lt;/li&gt;&#xA;&lt;li&gt;Add &lt;code&gt;generateIndex&lt;/code&gt; attribute to particle sets, so that the index can be omitted for sets that do not need it (which is most of them).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;bug-fixes&#34;&gt;Bug Fixes&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Fix issues with upper- and lower-case conversions not using the correct locale.&lt;/li&gt;&#xA;&lt;li&gt;Star glow effect flickers due to using a different method to render the billboard depending on whether the effect is active or not.&lt;/li&gt;&#xA;&lt;li&gt;Big bug fix campaign in scripting. All scripting tests were reviewed and fixed so that they all run fine.&lt;/li&gt;&#xA;&lt;li&gt;Add missing &lt;code&gt;&amp;quot;&lt;/code&gt; character to fonts, fix custom and messages interfaces&amp;rsquo; computation of position coordinates.&lt;/li&gt;&#xA;&lt;li&gt;Dataset highlight API call not working properly.&lt;/li&gt;&#xA;&lt;li&gt;Use concurrent set as collections in event manager to avoid concurrent modification exceptions.&lt;/li&gt;&#xA;&lt;li&gt;Proper motions produce index out of bounds due to incorrect computation of maximum number of arrows.&lt;/li&gt;&#xA;&lt;li&gt;Correct many instances where the wrong locale is used to convert strings to upper and/or lower case. Enable star name localization for the index and labels.&lt;/li&gt;&#xA;&lt;li&gt;Properly scale camera mouse scroll and drag operations with the current frame rate.&lt;/li&gt;&#xA;&lt;li&gt;Disable OpenAL system.&lt;/li&gt;&#xA;&lt;li&gt;Use &lt;code&gt;RGBA16F&lt;/code&gt; float format for the lens flare ping-pong buffer, otherwise AMD APUs show banding artifacts. Fixes &lt;a href=&#34;https://codeberg.org/gaiasky/gaiasky/issues/846&#34;&gt;#846&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Resolve redirects for Wikipedia titles, as the API does not resolve redirects automatically. This leads to 403 errors.&lt;/li&gt;&#xA;&lt;li&gt;Make sure &lt;code&gt;versionFile&lt;/code&gt; task is executed when packing the app by setting the right dependencies.&lt;/li&gt;&#xA;&lt;li&gt;Adjust layout and width of about window to avoid UI overflow.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;performance-improvements&#34;&gt;Performance Improvements&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Use &lt;code&gt;GL_RGB16F&lt;/code&gt; instead of &lt;code&gt;GL_RGBA16F&lt;/code&gt; format (omitting the alpha channel) for internal post-processing effects buffers (lens flare, bloom, etc.). This saves some VRAM, especially useful in integrated graphics.&lt;/li&gt;&#xA;&lt;li&gt;Set a default value of 0.4 scale for the lens flare effect to minimize fill rate and make the ping-pong pass much faster.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;code-refactoring&#34;&gt;Code Refactoring&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Harmonize and consolidate star and particle set creation methods under the same class.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;build-system&#34;&gt;Build System&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Disable OptFlowCam export option for keyframes in Flatpak in order to avoid Python dependencies.&lt;/li&gt;&#xA;&lt;li&gt;Upgrade to Gradle 8.14.2, which supports Java 24.&lt;/li&gt;&#xA;&lt;li&gt;Update to bundled JRE 24 in packages.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;documentation&#34;&gt;Documentation&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Add new APIv2 package-level documentation.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item> 
      <item>
        <title>Gaia Sky 3.6.8</title>
        <link>https://gaiasky.space/news/2025/gaiasky_3.6.8/</link>
        <pubDate>Mon, 02 Jun 2025 00:00:00 +0000</pubDate>
        <guid>https://gaiasky.space/news/2025/gaiasky_3.6.8/</guid>
        <description>&lt;p&gt;Today we release &lt;strong&gt;Gaia Sky 3.6.8&lt;/strong&gt;. It brings a major UI refresh, significant performance improvements, and many new features and bug fixes. Keep reading to know more.&lt;/p&gt;&#xA;&#xA;&lt;figure class=&#34;fig-center fig-post&#34;&gt;&lt;picture&gt;&#xA;      &lt;source srcset=&#34;https://gaiasky.space/img/2025/05/3.6.8-release.jxl&#34; type=&#34;image/jxl&#34; /&gt;&#xA;      &#xA;      &lt;source srcset=&#34;https://gaiasky.space/img/2025/05/3.6.8-release.avif&#34; type=&#34;image/avif&#34; /&gt;&#xA;      &lt;img src=&#34;https://gaiasky.space/img/2025/05/3.6.8-release.jpg&#34; width=&#34;70%&#34; style=&#34;width:70%;&#34; loading=&#34;lazy&#34;decoding=&#34;async&#34; /&gt;&#xA;    &lt;/picture&gt;&lt;figcaption style=&#34;margin: 0 auto; width:70%;&#34;&gt;&#xA;            &lt;h4&gt;The new welcome window in Gaia Sky 3.6.8.&lt;/h4&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;h2 id=&#34;new-features--improvements&#34;&gt;New Features &amp;amp; Improvements&lt;/h2&gt;&#xA;&lt;h3 id=&#34;user-interface&#34;&gt;User Interface&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Major UI overhaul: consolidated fonts, updated themes, removed deprecated components.&lt;/li&gt;&#xA;&lt;li&gt;Improved visual quality: increased padding and higher image resolution in UI.&lt;/li&gt;&#xA;&lt;li&gt;Switched to Inter as the default label font.&lt;/li&gt;&#xA;&lt;li&gt;Panels in the main UI now expand when the mouse hovers over the buttons.&lt;/li&gt;&#xA;&lt;li&gt;Welcome window enhancements:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Displays the list of enabled datasets.&lt;/li&gt;&#xA;&lt;li&gt;New &lt;em&gt;&amp;ldquo;Recommended Datasets&amp;rdquo;&lt;/em&gt; option for one-click download and launch.&lt;/li&gt;&#xA;&lt;li&gt;Updated background image.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;usability-enhancements&#34;&gt;Usability Enhancements&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Time and calendar:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Julian date tab added to date/time dialog.&lt;/li&gt;&#xA;&lt;li&gt;Time zone support improved; system-default time zone now used.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Dialogs remember the last opened tab (e.g. Preferences, About).&lt;/li&gt;&#xA;&lt;li&gt;New star texture selector added to Preferences.&lt;/li&gt;&#xA;&lt;li&gt;New object debug tool available via the debug panel—inspect and edit component fields.&lt;/li&gt;&#xA;&lt;li&gt;Pointer coordinates display disabled by default (can be re-enabled in Preferences).&lt;/li&gt;&#xA;&lt;li&gt;Console output:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Messages and full log can now be copied to the clipboard.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Bookmark improvements:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Bookmarks can now include camera position, orientation, time, and settings.&lt;/li&gt;&#xA;&lt;li&gt;Bookmark information dialog added (accessible via right-click).&lt;/li&gt;&#xA;&lt;li&gt;Empty folder bookmarks are removed automatically.&lt;/li&gt;&#xA;&lt;li&gt;Bookmark operations persist immediately.&lt;/li&gt;&#xA;&lt;li&gt;Invalid characters are now restricted in bookmark and folder names.&lt;/li&gt;&#xA;&lt;li&gt;See &lt;a href=&#34;https://gaiasky.space/news/2025/new-bookmarks&#34;&gt;this blog post&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;api--scripting&#34;&gt;API &amp;amp; Scripting&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Added:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;setCameraDirectionEquatorial()&lt;/code&gt; and &lt;code&gt;setCameraDirectionGalactic()&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Enhanced &lt;code&gt;goToObjectSmooth()&lt;/code&gt; with solid angle and sync options&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Stars and particles now support a new shading style: &lt;code&gt;default&lt;/code&gt; or &lt;code&gt;twinkle&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Added Thiele-Innes conversion script and support in the Gaia NSS processor.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;bug-fixes&#34;&gt;Bug Fixes&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Fixed incorrect formatting of uptime duration.&lt;/li&gt;&#xA;&lt;li&gt;Julian vs Gregorian calendar automatically selected based on date.&lt;/li&gt;&#xA;&lt;li&gt;Fixed layout issues in Preferences and other dialogs.&lt;/li&gt;&#xA;&lt;li&gt;UI components:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Image button alignment corrected.&lt;/li&gt;&#xA;&lt;li&gt;Anchoring of the top info interface improved to prevent jitter.&lt;/li&gt;&#xA;&lt;li&gt;First UI text size adjusted.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Fixed crash when setting data directory to a root drive in Windows (&lt;a href=&#34;https://codeberg.org/gaiasky/gaiasky/issues/825&#34;&gt;#825&lt;/a&gt;).&lt;/li&gt;&#xA;&lt;li&gt;Fixed crash due to early resolution of &lt;code&gt;attitudeindicator.png&lt;/code&gt; path when changing data directory (&lt;a href=&#34;https://codeberg.org/gaiasky/gaiasky/issues/795&#34;&gt;#795&lt;/a&gt;).&lt;/li&gt;&#xA;&lt;li&gt;Improved orbit rendering:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Constant true anomaly spacing used for high-eccentricity orbits.&lt;/li&gt;&#xA;&lt;li&gt;Better handling of edge cases in Keplerian-to-Cartesian conversion.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Reused GZipped file streams no longer break on non-gzipped JSON files.&lt;/li&gt;&#xA;&lt;li&gt;Context menu in bookmarks pane now positioned correctly.&lt;/li&gt;&#xA;&lt;li&gt;Error window layout made consistent.&lt;/li&gt;&#xA;&lt;li&gt;Visibility dialog now properly handles &amp;lsquo;Invisible&amp;rsquo; object types.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;performance-improvements&#34;&gt;Performance Improvements&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Replaced &lt;code&gt;Apfloat&lt;/code&gt; with &lt;code&gt;Quadruple&lt;/code&gt;: faster 128-bit floating point math with adequate precision. See &lt;a href=&#34;https://tonisagrista.com/blog/2025/quadruple-joins-party/&#34;&gt;this&lt;/a&gt; and &lt;a href=&#34;https://tonisagrista.com/blog/2025/quadruple-joins-party/&#34;&gt;this&lt;/a&gt; for some performance benchmarks.&lt;/li&gt;&#xA;&lt;li&gt;Reduced short-lived object allocations in many systems.&lt;/li&gt;&#xA;&lt;li&gt;Major speed-up in label rendering via task refactoring.&lt;/li&gt;&#xA;&lt;li&gt;Star size factors now cached instead of recalculated per frame.&lt;/li&gt;&#xA;&lt;li&gt;Internal maps replaced with faster, boxing-free versions.&lt;/li&gt;&#xA;&lt;li&gt;Half-precision (16-bit) floats now used for non-critical star/particle magnitudes.&lt;/li&gt;&#xA;&lt;li&gt;Particle updates split over multiple frames to reduce frame drops.&lt;/li&gt;&#xA;&lt;li&gt;Old particle and variable record types unified into a compact, immutable &lt;code&gt;Particle&lt;/code&gt; record.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;PointCloudData&lt;/code&gt; reimplemented using records with a more compact memory footprint.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://gaiasky.space/news/2025/performance-improvements&#34;&gt;This blog post&lt;/a&gt; covers some of these performance improvements in more detail.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;code-refactoring&#34;&gt;Code Refactoring&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Removed duplicate star/particle index arrays.&lt;/li&gt;&#xA;&lt;li&gt;Replaced boxed integers with primitives.&lt;/li&gt;&#xA;&lt;li&gt;Top-K particle sorting now uses a priority queue.&lt;/li&gt;&#xA;&lt;li&gt;All shader files renamed to use the &lt;code&gt;.glsl&lt;/code&gt; extension.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;build-system&#34;&gt;Build System&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Upgraded to libGDX 1.13.5.&lt;/li&gt;&#xA;&lt;li&gt;Default builds now use JRE 24 with Generational ZGC for lower latency.&lt;/li&gt;&#xA;&lt;li&gt;Java source compatibility updated from 17 to 20.&lt;/li&gt;&#xA;&lt;li&gt;Gradle upgraded to 8.13.&lt;/li&gt;&#xA;&lt;li&gt;Install4j AUR package URL updated to &lt;code&gt;gaiasky.space&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Added test infrastructure:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Includes tests for Keplerian-to-Cartesian conversions.&lt;/li&gt;&#xA;&lt;li&gt;Enabled JUnit dependencies.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;gdx-tools&lt;/code&gt; moved to compile-only dependency.&lt;/li&gt;&#xA;&lt;li&gt;Enabled logging for Gradle test runs.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;documentation&#34;&gt;Documentation&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Improved descriptions for many fields in the attribute map JSON file.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;merge-requests&#34;&gt;Merge Requests&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Merged &lt;code&gt;quadruple&lt;/code&gt; branch (128-bit math support).&lt;/li&gt;&#xA;&lt;li&gt;Merged &lt;code&gt;particle-update-refactor&lt;/code&gt; branch (particle update system overhaul).&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
      </item> 
      <item>
        <title>New Catalog: Gaia DR3 Best</title>
        <link>https://gaiasky.space/news/2025/new-catalog-dr3-best/</link>
        <pubDate>Mon, 02 Jun 2025 00:00:00 +0000</pubDate>
        <guid>https://gaiasky.space/news/2025/new-catalog-dr3-best/</guid>
        <description>&lt;p&gt;Today we make available a brand new catalog in &lt;strong&gt;Gaia Sky&lt;/strong&gt;, derived from the &lt;a href=&#34;https://www.cosmos.esa.int/web/gaia/dr3&#34;&gt;Gaia Data Release 3 (DR3)&lt;/a&gt; dataset. This catalog is a &lt;strong&gt;handpicked collection of the most precise stellar measurements&lt;/strong&gt; available in DR3, designed for applications where &lt;strong&gt;accuracy in parallax and astrometric fidelity&lt;/strong&gt; is essential. This catalog includes a total of 646,400 stars, with a clear bias toward brighter magnitudes. It is a small, non-LOD (non-Level-of-Detail) catalog, designed for broad compatibility. It will be the recommended star dataset starting from Gaia Sky 3.6.8.&lt;/p&gt;&#xA;&lt;p&gt;It is ideal for:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Laptops&lt;/li&gt;&#xA;&lt;li&gt;VR&lt;/li&gt;&#xA;&lt;li&gt;Low-end desktops&lt;/li&gt;&#xA;&lt;li&gt;Devices without dedicated GPUs in general&lt;/li&gt;&#xA;&lt;li&gt;Use cases where performance and simplicity matter more than completeness&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;br&gt;&#xA;&#xA;&lt;figure class=&#34;fig-center fig-post&#34;&gt;&lt;picture&gt;&#xA;      &lt;source srcset=&#34;https://gaiasky.space/img/2025/05/dr3-best-hammer.jxl&#34; type=&#34;image/jxl&#34; /&gt;&#xA;      &#xA;      &lt;source srcset=&#34;https://gaiasky.space/img/2025/05/dr3-best-hammer.avif&#34; type=&#34;image/avif&#34; /&gt;&#xA;      &lt;img src=&#34;https://gaiasky.space/img/2025/05/dr3-best-hammer.jpg&#34; width=&#34;70%&#34; style=&#34;width:70%;&#34; loading=&#34;lazy&#34;decoding=&#34;async&#34; /&gt;&#xA;    &lt;/picture&gt;&lt;figcaption style=&#34;margin: 0 auto; width:70%;&#34;&gt;&#xA;            &lt;h4&gt;Hammer projection of the new Gaia DR3 Best catalog.&lt;/h4&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;h2 id=&#34;what-does-it-include&#34;&gt;What does it include?&lt;/h2&gt;&#xA;&lt;p&gt;The &lt;em&gt;Gaia DR3 Best&lt;/em&gt; catalog includes:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;646,400 stars&lt;/strong&gt;, carefully selected from the 1.8+ billion in Gaia DR3.&lt;/li&gt;&#xA;&lt;li&gt;All stars with &lt;strong&gt;relative parallax error ≤ 0.4%&lt;/strong&gt; for bright stars (&lt;code&gt;gMag&lt;/code&gt; &amp;lt; 13.1).&lt;/li&gt;&#xA;&lt;li&gt;All stars with &lt;strong&gt;relative parallax error ≤ 0.002%&lt;/strong&gt; for faint stars (&lt;code&gt;gMag&lt;/code&gt; &amp;gt;= 13.1).&lt;/li&gt;&#xA;&lt;li&gt;The full set of &lt;strong&gt;Hipparcos&lt;/strong&gt; stars, cross-matched and merged into the dataset.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;This makes it ideal for high-precision visualization, distance estimation, nearby star studies, or any work requiring only the cleanest subset of the Gaia DR3 catalog.&lt;/p&gt;&#xA;&lt;h2 id=&#34;why-another-gaia-catalog&#34;&gt;Why another Gaia catalog?&lt;/h2&gt;&#xA;&lt;p&gt;Gaia DR3 is a treasure trove, but not all stars are created equal when it comes to measurement quality. This dataset is &lt;strong&gt;suitable for low-end devices&lt;/strong&gt;, and distills the &lt;strong&gt;most trustworthy data&lt;/strong&gt; from the full release, eliminating sources with:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Negative or low-quality parallaxes&lt;/li&gt;&#xA;&lt;li&gt;Non-finite magnitudes&lt;/li&gt;&#xA;&lt;li&gt;Poor astrometric solutions&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s a breakdown of how we got from 1.8 billion stars to 646k:&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Step&lt;/th&gt;&#xA;          &lt;th&gt;Count&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Initial Gaia DR3 entries&lt;/td&gt;&#xA;          &lt;td&gt;1,811,709,771&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Rejected due to parallax (criteria + negatives)&lt;/td&gt;&#xA;          &lt;td&gt;1,805,626,704&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Rejected due to non-finite magnitude&lt;/td&gt;&#xA;          &lt;td&gt;5,455,190&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Final stars selected&lt;/td&gt;&#xA;          &lt;td&gt;&lt;strong&gt;646,400&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;This dataset loads fast, uses less memory, and is &lt;em&gt;visually cleaner&lt;/em&gt; in 3D than the full Gaia DR3 catalog.&lt;/p&gt;&#xA;&lt;h2 id=&#34;magnitude-distribution&#34;&gt;Magnitude distribution&lt;/h2&gt;&#xA;&lt;p&gt;The stars span a wide range of magnitudes, with the majority in the range &lt;strong&gt;8 to 12&lt;/strong&gt;. Here&amp;rsquo;s the magnitude histogram:&lt;/p&gt;&#xA;&#xA;&lt;figure class=&#34;fig-center fig-post&#34;&gt;&lt;picture&gt;&lt;img src=&#34;https://gaiasky.space/img/2025/05/dr3-best-histogram.png&#34; width=&#34;90%&#34; style=&#34;width:90%;&#34; loading=&#34;lazy&#34;decoding=&#34;async&#34; /&gt;&#xA;    &lt;/picture&gt;&lt;figcaption style=&#34;margin: 0 auto; width:90%;&#34;&gt;&#xA;            &lt;h4&gt;Magnitude distribution of Gaia DR3 Best catalog.&lt;/h4&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;details&gt;&#xA;  &lt;summary&gt;Click for raw data&lt;/summary&gt;&#xA;  &lt;div&gt;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Magnitude&lt;/th&gt;&#xA;          &lt;th&gt;Count&lt;/th&gt;&#xA;          &lt;th&gt;Percentage&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;0&lt;/td&gt;&#xA;          &lt;td&gt;20&lt;/td&gt;&#xA;          &lt;td&gt;0.003%&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;1&lt;/td&gt;&#xA;          &lt;td&gt;49&lt;/td&gt;&#xA;          &lt;td&gt;0.007%&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;2&lt;/td&gt;&#xA;          &lt;td&gt;257&lt;/td&gt;&#xA;          &lt;td&gt;0.034%&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;3&lt;/td&gt;&#xA;          &lt;td&gt;994&lt;/td&gt;&#xA;          &lt;td&gt;0.133%&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;4&lt;/td&gt;&#xA;          &lt;td&gt;3,347&lt;/td&gt;&#xA;          &lt;td&gt;0.449%&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;5&lt;/td&gt;&#xA;          &lt;td&gt;9,839&lt;/td&gt;&#xA;          &lt;td&gt;1.319%&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;6&lt;/td&gt;&#xA;          &lt;td&gt;27,198&lt;/td&gt;&#xA;          &lt;td&gt;3.647%&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;7&lt;/td&gt;&#xA;          &lt;td&gt;60,012&lt;/td&gt;&#xA;          &lt;td&gt;8.046%&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;8&lt;/td&gt;&#xA;          &lt;td&gt;90,040&lt;/td&gt;&#xA;          &lt;td&gt;12.072%&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;9&lt;/td&gt;&#xA;          &lt;td&gt;91,461&lt;/td&gt;&#xA;          &lt;td&gt;12.263%&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;10&lt;/td&gt;&#xA;          &lt;td&gt;107,119&lt;/td&gt;&#xA;          &lt;td&gt;14.362%&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;11&lt;/td&gt;&#xA;          &lt;td&gt;152,413&lt;/td&gt;&#xA;          &lt;td&gt;20.435%&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;12&lt;/td&gt;&#xA;          &lt;td&gt;199,507&lt;/td&gt;&#xA;          &lt;td&gt;26.750%&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;13&lt;/td&gt;&#xA;          &lt;td&gt;3,546&lt;/td&gt;&#xA;          &lt;td&gt;0.475%&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;14&lt;/td&gt;&#xA;          &lt;td&gt;5&lt;/td&gt;&#xA;          &lt;td&gt;0.001%&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;15&lt;/td&gt;&#xA;          &lt;td&gt;2&lt;/td&gt;&#xA;          &lt;td&gt;0.000%&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;16&lt;/td&gt;&#xA;          &lt;td&gt;3&lt;/td&gt;&#xA;          &lt;td&gt;0.000%&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;17&lt;/td&gt;&#xA;          &lt;td&gt;11&lt;/td&gt;&#xA;          &lt;td&gt;0.001%&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;18&lt;/td&gt;&#xA;          &lt;td&gt;4&lt;/td&gt;&#xA;          &lt;td&gt;0.001%&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;19&lt;/td&gt;&#xA;          &lt;td&gt;3&lt;/td&gt;&#xA;          &lt;td&gt;0.000%&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;20&lt;/td&gt;&#xA;          &lt;td&gt;1&lt;/td&gt;&#xA;          &lt;td&gt;0.000%&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;21&lt;/td&gt;&#xA;          &lt;td&gt;1&lt;/td&gt;&#xA;          &lt;td&gt;0.000%&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/details&gt;&#xA;&lt;p&gt;As expected, the catalog skews toward brighter stars with more accurate parallaxes.&lt;/p&gt;&#xA;&lt;h2 id=&#34;technical-notes&#34;&gt;Technical notes&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Catalog size: &lt;strong&gt;~54.5 MB&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;Epoch: &lt;strong&gt;J2016&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;Format: &lt;strong&gt;Gaia Sky binary octree&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;Tree depth: &lt;strong&gt;1&lt;/strong&gt; (single octant for all stars)&lt;/li&gt;&#xA;&lt;li&gt;Max distance: &lt;strong&gt;100,000 parsecs&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;You can find the dataset under the key &lt;code&gt;gaia-dr3-best&lt;/code&gt; in the Gaia Sky catalog selector. The full path in disk is:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$data/catalog-gaia-dr3-best&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Direct download: &lt;a href=&#34;https://gaia.ari.uni-heidelberg.de/gaiasky/files/repository/catalog/dr3/014-best/v01_20250530/&#34;&gt;Gaia DR3 Best Catalog&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;use-cases&#34;&gt;Use cases&lt;/h2&gt;&#xA;&lt;p&gt;This catalog is especially suited for:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Running &lt;strong&gt;Gaia Sky&lt;/strong&gt; on lower-end machines without sacrificing precision&lt;/li&gt;&#xA;&lt;li&gt;Creating &lt;strong&gt;interactive educational content&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;Building &lt;strong&gt;realistic local universe models&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;Studying &lt;strong&gt;nearby star neighborhoods&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;figure class=&#34;fig-center vid-post&#34;&gt;&lt;video poster=&#34;https://gaiasky.space/vid/2025/dr3-best.jpg&#34; preload=&#34;none&#34;controls=&#34;controls&#34;&#xA;    &gt;&#xA;      &lt;source src=&#34;https://gaiasky.space/vid/2025/dr3-best.mp4&#34; autostart=&#34;false&#34;&gt;&#xA;        Your browser does not support the video tag.&#xA;    &lt;/video&gt;&lt;figcaption&gt;&#xA;            &lt;h4&gt;Short video showcasing the Gaia DR3 Best catalog in Gaia Sky.&lt;/h4&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;</description>
      </item> 
      <item>
        <title>Performance boost in 3.6.8</title>
        <link>https://gaiasky.space/news/2025/performance-improvements/</link>
        <pubDate>Wed, 14 May 2025 00:00:00 +0000</pubDate>
        <guid>https://gaiasky.space/news/2025/performance-improvements/</guid>
        <description>&lt;p&gt;The upcoming release of &lt;strong&gt;Gaia Sky 3.6.8&lt;/strong&gt; brings significant performance improvements, focusing on memory optimization and CPU usage reduction. In this post, we&amp;rsquo;ll take a closer look at these enhancements and how they translate into smoother and faster performance.&lt;/p&gt;&#xA;&lt;h2 id=&#34;memory-usage-optimization&#34;&gt;Memory Usage Optimization&lt;/h2&gt;&#xA;&lt;p&gt;Gaia Sky 3.6.8 introduces multiple changes aimed at reducing memory footprint:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Quadruple Library Integration:&lt;/strong&gt; The &lt;code&gt;Apfloat&lt;/code&gt; library has been replaced with &lt;code&gt;Quadruple&lt;/code&gt;, a compact 128-bit floating point library that offers sufficient precision while minimizing memory allocations. It is also much faster! Find more details in &lt;a href=&#34;https://tonisagrista.com/blog/2025/quadruple-joins-party/&#34;&gt;this blog post&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Data Structure Refinement:&lt;/strong&gt; Particle data holders (for particle and star sets) are now flattened into Java records, consolidating several data structures and eliminating unnecessary attributes.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Memory Compaction:&lt;/strong&gt; The &lt;code&gt;PointCloudData&lt;/code&gt; and &lt;code&gt;ParticleRecord&lt;/code&gt; classes have been refactored into compact records, reducing memory overhead.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;16-bit Floating Point Usage:&lt;/strong&gt; Non-critical attributes, such as star magnitudes, now use 16-bit precision, striking a balance between precision and memory consumption.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Below are the heap memory usage comparisons between Gaia Sky 3.6.7 (top) and 3.6.8 (bottom):&lt;/p&gt;&#xA;&lt;p&gt;&#xA;&lt;figure class=&#34;fig-center fig-post&#34;&gt;&lt;picture&gt;&lt;img src=&#34;https://gaiasky.space/img/2025/05/release-heap.svg&#34; width=&#34;80%&#34; style=&#34;width:80%;&#34; loading=&#34;lazy&#34;decoding=&#34;async&#34; /&gt;&#xA;    &lt;/picture&gt;&lt;figcaption style=&#34;margin: 0 auto; width:80%;&#34;&gt;&#xA;            &lt;h4&gt;Heap memory usage for Gaia Sky 3.6.7 over a ~350 second session with the small Gaia DR3 dataset (~1.9 M stars loaded). Notice that the heap grows very fast and the garbage collector needs to act very often. The base memory usage sits at around 1.33 GB.&lt;/h4&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&#xA;&lt;figure class=&#34;fig-center fig-post&#34;&gt;&lt;picture&gt;&lt;img src=&#34;https://gaiasky.space/img/2025/05/master-heap.svg&#34; width=&#34;80%&#34; style=&#34;width:80%;&#34; loading=&#34;lazy&#34;decoding=&#34;async&#34; /&gt;&#xA;    &lt;/picture&gt;&lt;figcaption style=&#34;margin: 0 auto; width:80%;&#34;&gt;&#xA;            &lt;h4&gt;Heap memory usage for Gaia Sky 3.6.8 over a ~350 second session with the small Gaia DR3 dataset (~2.5 M stars loaded). Minimizing allocations helps the heap grow super slowly, with a lower baseline of ~0.95 GB. Only two garbage collections were recorded during this session.&lt;/h4&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Note the much lower profile and drastically reduced garbage collector interventions (37 vs 2) in Gaia Sky 3.6.8. Observe that the allocated memory is now roughly half of what it used to be. Also, switching to the Generational ZGC caused the GC stops to go from ~10-100 ms to ~10 μs.  All this results in a higher latency, better memory utilization and more responsive experience.&lt;/p&gt;&#xA;&lt;h2 id=&#34;cpu-usage-reduction&#34;&gt;CPU Usage Reduction&lt;/h2&gt;&#xA;&lt;p&gt;Several optimizations have been implemented to reduce CPU load and improve frame rates:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Custom Data Structures:&lt;/strong&gt; Gaia Sky now uses &lt;code&gt;FastObjectIntMap&lt;/code&gt; and &lt;code&gt;FastStringObjectMap&lt;/code&gt; for the indices to eliminate the overhead of generic collections. This helps avoid allocating boxed &lt;code&gt;Integer&lt;/code&gt;s and &lt;code&gt;Node&lt;/code&gt;s, and perform much faster lookups.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Background Processing:&lt;/strong&gt; The background particle/star updater has been re-implemented from the ground up, leading to significant CPU savings.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Frame Distribution:&lt;/strong&gt; Metadata updates and sorting operations for star/particle sets are now spread across multiple frames to prevent frame spikes.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Generational ZGC:&lt;/strong&gt; The JRE has been upgraded to version 24, utilizing Generational ZGC by default. This modern garbage collector offers much shorter pauses and reduced latency.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Float-128 vs Apfloat:&lt;/strong&gt; One of the worse hot-spots in Gaia Sky has been the arbitrary floating-point arithmetic. So far, we&amp;rsquo;ve used &lt;code&gt;Apfloat&lt;/code&gt;. In this release, we switched to &lt;code&gt;Quadruple&lt;/code&gt;, a 128-float implementation that performs much &lt;a href=&#34;https://tonisagrista.com/blog/2025/quadruple-joins-party/&#34;&gt;faster&lt;/a&gt; that both &lt;code&gt;Apfloat&lt;/code&gt; and &lt;code&gt;BigDecimal&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Here are the CPU usage comparisons using &lt;code&gt;btop&lt;/code&gt; for both versions:&lt;/p&gt;&#xA;&lt;p&gt;&#xA;&lt;figure class=&#34;fig-center fig-post&#34;&gt;&lt;picture&gt;&#xA;      &lt;source srcset=&#34;https://gaiasky.space/img/2025/05/gs-cpu-3.6.7.avif&#34; type=&#34;image/avif&#34; /&gt;&#xA;      &#xA;      &lt;source srcset=&#34;https://gaiasky.space/img/2025/05/gs-cpu-3.6.7.jxl&#34; type=&#34;image/jxl&#34; /&gt;&#xA;      &lt;img src=&#34;https://gaiasky.space/img/2025/05/gs-cpu-3.6.7.jpg&#34; width=&#34;80%&#34; style=&#34;width:80%;&#34; loading=&#34;lazy&#34;decoding=&#34;async&#34; /&gt;&#xA;    &lt;/picture&gt;&lt;figcaption style=&#34;margin: 0 auto; width:80%;&#34;&gt;&#xA;            &lt;h4&gt;CPU usage with Gaia Sky 3.6.7.&lt;/h4&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&#xA;&lt;figure class=&#34;fig-center fig-post&#34;&gt;&lt;picture&gt;&#xA;      &lt;source srcset=&#34;https://gaiasky.space/img/2025/05/gs-cpu-3.6.8.avif&#34; type=&#34;image/avif&#34; /&gt;&#xA;      &#xA;      &lt;source srcset=&#34;https://gaiasky.space/img/2025/05/gs-cpu-3.6.8.jxl&#34; type=&#34;image/jxl&#34; /&gt;&#xA;      &lt;img src=&#34;https://gaiasky.space/img/2025/05/gs-cpu-3.6.8.jpg&#34; width=&#34;80%&#34; style=&#34;width:80%;&#34; loading=&#34;lazy&#34;decoding=&#34;async&#34; /&gt;&#xA;    &lt;/picture&gt;&lt;figcaption style=&#34;margin: 0 auto; width:80%;&#34;&gt;&#xA;            &lt;h4&gt;CPU usage with Gaia Sky 3.6.8.&lt;/h4&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Note the top image shows the CPU usage of Gaia Sky at 292%. This means that it is using 3 CPUs at full (the load is distributed between the 8 CPUs). At the bottom, I stopped version 3.6.7 and started version 3.6.8. You can see in the top pane the difference in CPU usage profile (annotated in red). The CPU usage sits at about 45% with Gaia Sky 3.6.8. A great improvement.&#xA;Curiously, and related to the previous section, the allocated memory in 3.6.7 sits at 6.2 GB, while it is below 3 GB in 3.6.8. The workload for both sessions was exactly the same, with the same datasets and settings.&lt;/p&gt;&#xA;&lt;h2 id=&#34;conclusion&#34;&gt;Conclusion&lt;/h2&gt;&#xA;&lt;p&gt;The performance improvements in Gaia Sky 3.6.8 not only make it more memory-efficient but also significantly reduce CPU overhead. The result is a smoother and more responsive experience, particularly for systems dealing with large datasets or multiple particle/star sets.&lt;/p&gt;&#xA;&lt;p&gt;Stay tuned for the official release and explore these enhancements firsthand!&lt;/p&gt;</description>
      </item> 
      <item>
        <title>New features in bookmarks</title>
        <link>https://gaiasky.space/news/2025/new-bookmarks/</link>
        <pubDate>Mon, 14 Apr 2025 00:00:00 +0000</pubDate>
        <guid>https://gaiasky.space/news/2025/new-bookmarks/</guid>
        <description>&lt;p&gt;We’ve just leveled up bookmarks in Gaia Sky! As of the latest update, location bookmarks are no longer limited to just camera position, orientation, and time. Now, they can &lt;strong&gt;also store the full settings file&lt;/strong&gt; and the &lt;strong&gt;focus object&lt;/strong&gt; — giving you a complete snapshot of your session. Additionally, on creation the user may choose what elements to persist as part of the bookmark.&lt;/p&gt;&#xA;&lt;p&gt;This means that when you load a bookmark, Gaia Sky can restore &lt;strong&gt;not only where you were&lt;/strong&gt;, but also &lt;strong&gt;how things were configured&lt;/strong&gt; and &lt;strong&gt;what object you were focused on&lt;/strong&gt;. Whether you’re setting up a custom visualization, preparing a presentation, or just exploring the cosmos, your environment can now be fully restored with a single click.&lt;/p&gt;&#xA;&lt;p&gt;What’s more: all bookmark fields (except for the name) are now optional — you can selectively store in your bookmark only what matters to you.&lt;/p&gt;&#xA;&#xA;&lt;figure class=&#34;fig-center fig-post&#34;&gt;&lt;picture&gt;&lt;img src=&#34;https://gaiasky.space/img/2025/04/new-location-bookmark.jpg&#34; loading=&#34;lazy&#34;decoding=&#34;async&#34; /&gt;&#xA;    &lt;/picture&gt;&lt;figcaption&gt;&#xA;            &lt;h4&gt;The new location bookmark dialog allows for the selection of the elements to persist.&lt;/h4&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;To learn more, check out the &lt;a href=&#34;https://gaia.ari.uni-heidelberg.de/gaiasky/docs/master/Bookmarks.html&#34;&gt;Bookmarks documentation&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The new feature will make it into the next Gaia Sky release. As always, you can already test it by &lt;a href=&#34;https://gaia.ari.uni-heidelberg.de/gaiasky/docs/master/Installation.html#run-from-source&#34;&gt;running Gaia Sky from source&lt;/a&gt;.&lt;/p&gt;&#xA;</description>
      </item> 
      <item>
        <title>Towards smoother interstellar trips</title>
        <link>https://gaiasky.space/news/2025/smooth-interstellar-trips/</link>
        <pubDate>Thu, 20 Mar 2025 12:50:55 +0000</pubDate>
        <guid>https://gaiasky.space/news/2025/smooth-interstellar-trips/</guid>
        <description>&lt;p&gt;One of the items in our road map has long been the re-implementation of the speed scaling algorithm. This algorithm is a function that, given the current state of Gaia Sky, returns a number by which to scale the camera speed.&lt;/p&gt;&#xA;&lt;p&gt;So far, we have used a function that only takes into account the distance to the focus object (focus mode), or the distance to the closest object (any other mode). This does not work very well in many situations. In this post, I explore the new developments in Gaia Sky that enable smoother interstellar trips by means of the camera speed scaling.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-problem&#34;&gt;The problem&lt;/h2&gt;&#xA;&lt;p&gt;The main issue with the current method is that its only dependency on the distance to the focus object makes it ignore all the (possibly closer to the camera) objects. We compute it like this,&#xA;$$&#xA;d_s = d_f * K,&#xA;$$&lt;/p&gt;&#xA;&lt;p&gt;where \(d_s\) is the distance scale, \(d_f\) is the distance to the focus, and \(K\) is a constant.&lt;/p&gt;&#xA;&lt;p&gt;Picture this: we are focused on Phobos in the Solar System, and the moon is in full view of our camera. In the background we spot an interesting star. We double-click on it to focus it, and then we click on the &amp;ldquo;Go to&amp;rdquo; button in the focus pane. With the current implementation, Phobos, Mars, and the entirety of the Solar System disappear in the first frame, because the first step towards our star focus is too large. This is because we are very far away from the star, and the speed scaling only depends on this distance. The speed is set to very high, so we are instantly thrown out of the Solar System.&lt;/p&gt;&#xA;&#xA;&lt;figure class=&#34;fig-center fig-post&#34;&gt;&lt;picture&gt;&lt;img src=&#34;https://gaiasky.space/img/2025/03/frames.svg&#34; loading=&#34;lazy&#34;decoding=&#34;async&#34; /&gt;&#xA;    &lt;/picture&gt;&lt;figcaption&gt;&#xA;            &lt;h4&gt;The problem with the current speed scaling. Note how the first frame is already well outside the Solar System.&lt;/h4&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;How do we solve this?&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-solution&#34;&gt;The solution&lt;/h2&gt;&#xA;&lt;p&gt;The first obvious solution is to &lt;em&gt;take into account objects other than the focus&lt;/em&gt;. One possible solution is to compute the local density of objects in an arbitrary volume around the camera, but this is probably overkill. Another solution might be setting up the closest object to the camera with a smoothing radius, and mix its distance with that of the focus:&lt;/p&gt;&#xA;&lt;p&gt;\begin{aligned}&#xA;d_s &amp;amp; = mix(d_c, d_f, a) \\&#xA;a &amp;amp; = \frac{d_c - d_0}{d_1 - d_0},&#xA;\end{aligned}&lt;/p&gt;&#xA;&lt;p&gt;where \(d_c\) is the distance to the closest object, and \(d_0\) and \(d_1\) define the smoothing radius outer and inner bounds. When the camera is further away from the closest object than \(d_1\), only the focus distance is used. When  the camera is closer to the object than \(d_0\), only the distance to the closest object is use. In between the two smoothing distances, a mix of both is used.&lt;/p&gt;&#xA;&#xA;&lt;figure class=&#34;fig-center fig-post&#34;&gt;&lt;picture&gt;&lt;img src=&#34;https://gaiasky.space/img/2025/03/smoothing.svg&#34; loading=&#34;lazy&#34;decoding=&#34;async&#34; /&gt;&#xA;    &lt;/picture&gt;&lt;figcaption&gt;&#xA;            &lt;h4&gt;The smoothing radius (in red and green) provides a smooth transition between using the distance to the focus and the distance to the closest object.&lt;/h4&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;This method gives us a rather smooth transition from object to object. The camera is usually hooked to a single object, which may be the focus or the closest object. In the case that the camera is between \(d_0\) and \(d_1\) from the closest object, we mix the contributions to avoid stark transitions in speed.&lt;/p&gt;&#xA;&lt;p&gt;The video below compares the old and the new methods:&lt;/p&gt;&#xA;&#xA;&lt;figure class=&#34;fig-center vid-post&#34;&gt;&lt;video poster=&#34;https://gaiasky.space/vid/2025/speed-scaling-comparison.jpg&#34; preload=&#34;none&#34;controls=&#34;controls&#34;&#xA;    &gt;&#xA;      &lt;source src=&#34;https://gaiasky.space/vid/2025/speed-scaling-comparison.mp4&#34; autostart=&#34;false&#34;&gt;&#xA;        Your browser does not support the video tag.&#xA;    &lt;/video&gt;&lt;figcaption&gt;&#xA;            &lt;h4&gt;Comparison between the old method, based on focus distance, and the new method, that takes into account other objects.&lt;/h4&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;h2 id=&#34;transition-based-trips&#34;&gt;Transition-based trips&lt;/h2&gt;&#xA;&lt;p&gt;The &lt;a href=&#34;https://gaia.ari.uni-heidelberg.de/gaiasky/docs/javadoc/latest/gaiasky/script/IScriptingInterface.html&#34;&gt;Gaia Sky API&lt;/a&gt; contains some methods to create frame-accurate camera transitions in both position and orientation. Those are smooth by design, as they can use &lt;a href=&#34;https://en.wikipedia.org/wiki/Logit&#34;&gt;logit&lt;/a&gt; and &lt;a href=&#34;https://en.wikipedia.org/wiki/Logistic_function&#34;&gt;logistic sigmoid&lt;/a&gt; mapping functions.&lt;/p&gt;&#xA;&lt;p&gt;These methods interpolate the camera state (position, direction, and up vectors) from the current state to a user-defined final state. They do so in a provided amount of time, and using the provided mapping function. They end up calling something like this:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;void&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;cameraTransition&lt;/span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;double&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[]&lt;/span&gt; camPos,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                       String units,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                       &lt;span style=&#34;color:#66d9ef&#34;&gt;double&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[]&lt;/span&gt; camDir,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                       &lt;span style=&#34;color:#66d9ef&#34;&gt;double&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[]&lt;/span&gt; camUp,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                       &lt;span style=&#34;color:#66d9ef&#34;&gt;double&lt;/span&gt; positionDurationSeconds,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                       String positionSmoothType,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                       &lt;span style=&#34;color:#66d9ef&#34;&gt;double&lt;/span&gt; positionSmoothFactor,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                       &lt;span style=&#34;color:#66d9ef&#34;&gt;double&lt;/span&gt; orientationDurationSeconds,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                       String orientationSmoothType,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                       &lt;span style=&#34;color:#66d9ef&#34;&gt;double&lt;/span&gt; orientationSmoothFactor,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                       &lt;span style=&#34;color:#66d9ef&#34;&gt;boolean&lt;/span&gt; sync)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href=&#34;https://gaia.ari.uni-heidelberg.de/gaiasky/docs/javadoc/latest/gaiasky/script/IScriptingInterface.html#cameraTransition%28double[],java.lang.String,double[],double[],double,java.lang.String,double,double,java.lang.String,double,boolean%29&#34;&gt;Here&lt;/a&gt; is the documentation. For completion, the parameters are as follows:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;camPos&lt;/code&gt; &amp;ndash; final camera position.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;units&lt;/code&gt; &amp;ndash; final camera position units.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;camDir&lt;/code&gt; &amp;ndash; final camera direction vector.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;camUp&lt;/code&gt; &amp;ndash; final camera up vector.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;positionDurationSeconds&lt;/code&gt; &amp;ndash; duration of transition in position, in seconds.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;positionSmoothType&lt;/code&gt; &amp;ndash; mapping function, either &amp;ldquo;logisticsigmoid&amp;rdquo; or &amp;ldquo;logit&amp;rdquo;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;positionSmoothFactor&lt;/code&gt; &amp;ndash; smoothing factor for the mapping function.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;orientationDurationSeconds&lt;/code&gt; &amp;ndash; duration of the transition in orientation, in seconds.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;orientationSmoothType&lt;/code&gt; &amp;ndash; mapping function, either &amp;ldquo;logisticsigmoid&amp;rdquo; or &amp;ldquo;logit&amp;rdquo;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;orientationSmoothFactor&lt;/code&gt; &amp;ndash; smoothing factor for the mapping function.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;sync&lt;/code&gt; &amp;ndash; whether to run in synchronous mode, or return immediately and run asynchronously.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;smooth-go-to-object-api-call&#34;&gt;Smooth go-to-object API call&lt;/h3&gt;&#xA;&lt;p&gt;Since we already have the &lt;code&gt;goToObject(name)&lt;/code&gt; API call, which uses the regular speed scaling-based method described in the previous sections, I thought I would take advantage of the already implemented transitions and spin up a &lt;em&gt;better&lt;/em&gt; go-to. I called it &lt;code&gt;goToObjectSmooth(name, posDuration, orientationDuration)&lt;/code&gt; [&lt;a href=&#34;https://gaia.ari.uni-heidelberg.de/gaiasky/docs/javadoc/latest/gaiasky/script/IScriptingInterface.html#goToObjectSmooth%28java.lang.String,double,double%29&#34;&gt;API reference&lt;/a&gt;]. This method uses camera transitions internally, and produces a fundamentally different result than its plain &lt;code&gt;goToObject()&lt;/code&gt; counterpart. I happen to think that produces better results in most cases.&lt;/p&gt;&#xA;&lt;p&gt;Here is a comparison video with both methods.&lt;/p&gt;&#xA;&#xA;&lt;figure class=&#34;fig-center vid-post&#34;&gt;&lt;video poster=&#34;https://gaiasky.space/vid/2025/goto-smooth.jpg&#34; preload=&#34;none&#34;controls=&#34;controls&#34;&#xA;    &gt;&#xA;      &lt;source src=&#34;https://gaiasky.space/vid/2025/goto-smooth.mp4&#34; autostart=&#34;false&#34;&gt;&#xA;        Your browser does not support the video tag.&#xA;    &lt;/video&gt;&lt;figcaption&gt;&#xA;            &lt;h4&gt;The new goToObjectSmooth() API call produces a more pleasant trip from start to finish.&lt;/h4&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;</description>
      </item> 
      <item>
        <title>Gaia Sky 3.6.7</title>
        <link>https://gaiasky.space/news/2025/gaiasky_3.6.7/</link>
        <pubDate>Tue, 18 Mar 2025 13:20:00 +0000</pubDate>
        <guid>https://gaiasky.space/news/2025/gaiasky_3.6.7/</guid>
        <description>&lt;p&gt;📢 We are happy to announce the release of Gaia Sky 3.6.7. This release comes with a few minor features and many important bug fixes, especially related to VR and scripting.&lt;/p&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Add composition of timed orbit coordinates and timed orbit coordinates to enable changing orbits during an object&amp;rsquo;s lifetime.&lt;/li&gt;&#xA;&lt;li&gt;Update app colors in metainfo file.&lt;/li&gt;&#xA;&lt;li&gt;Update metainfo with better screenshots, appropriately sized for Flathub.&lt;/li&gt;&#xA;&lt;li&gt;Update icons to higher resolution, add macOS and round versions.&lt;/li&gt;&#xA;&lt;li&gt;Update pointers to project website and docs.&lt;/li&gt;&#xA;&lt;li&gt;Add script to test frame output.&lt;/li&gt;&#xA;&lt;li&gt;Add instructions to new website in release script.&lt;/li&gt;&#xA;&lt;li&gt;Adjust star shader so that sunspots are more prominent. Enable hot reload in star shaders (use &lt;code&gt;Ctrl&lt;/code&gt;+&lt;code&gt;Shift&lt;/code&gt;+&lt;code&gt;Y&lt;/code&gt;).&lt;/li&gt;&#xA;&lt;li&gt;Remove music classes and events.&lt;/li&gt;&#xA;&lt;li&gt;Increase default line width of recursive grid.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;bug-fixes&#34;&gt;Bug Fixes&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Star velocity vectors in VR do not work.&lt;/li&gt;&#xA;&lt;li&gt;Star&amp;rsquo;s proper motions do not work in VR.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;stopRecordingCameraPath()&lt;/code&gt; does not work.&lt;/li&gt;&#xA;&lt;li&gt;Default to &amp;lsquo;.jpg&amp;rsquo; instead of &amp;lsquo;.jpeg&amp;rsquo; as file extension for screenshots and still frames.&lt;/li&gt;&#xA;&lt;li&gt;Refreshing orbits sometimes crashes the thread.&lt;/li&gt;&#xA;&lt;li&gt;Constellation names sometimes not showing up with LOD catalogs.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;FORCE_OBJECT_LABEL_CMD&lt;/code&gt; now accepts an &lt;code&gt;Entity&lt;/code&gt; type to work with &lt;code&gt;setForceDisplayLabel(name)&lt;/code&gt; API call.&lt;/li&gt;&#xA;&lt;li&gt;Adjust recursive grid labels and base model size.&lt;/li&gt;&#xA;&lt;li&gt;Billboard rendering for single stars in VR mode.&lt;/li&gt;&#xA;&lt;li&gt;Do not show component types with no style in visibility component or game pad GUI.&lt;/li&gt;&#xA;&lt;li&gt;Focus orientation lock does not work consistently.&lt;/li&gt;&#xA;&lt;li&gt;Trajectory scaling.&lt;/li&gt;&#xA;&lt;li&gt;Missing translation keys for invisible component type.&lt;/li&gt;&#xA;&lt;li&gt;Restore motion blur settings crashes the app.&lt;/li&gt;&#xA;&lt;li&gt;Changelog template contains wrong URL paths.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;code-refactoring&#34;&gt;Code Refactoring&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Clean up skins, remove unused icons.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;build-system&#34;&gt;Build System&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Upgrade to Gradle 8.10.&lt;/li&gt;&#xA;&lt;li&gt;Remove old downloads-table template, update release script with new instructions regarding release publishing on the new gaiasky.space website.&lt;/li&gt;&#xA;&lt;li&gt;Include metainfo file in tarball, Flathub now requires this file to come from upstream.&lt;/li&gt;&#xA;&lt;li&gt;Remove 16 and 32 pixel icons from launchers. Use only 128 pixels for macOS.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;documentation&#34;&gt;Documentation&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Update website pointers in README file.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;As always, you can grab it in the &lt;a href=&#34;https://gaiasky.space/downloads/&#34;&gt;downloads page&lt;/a&gt;.&lt;/p&gt;</description>
      </item> 
      <item>
        <title>Moon 32K topography virtual texture</title>
        <link>https://gaiasky.space/news/2025/moon-vt-32k/</link>
        <pubDate>Tue, 18 Feb 2025 09:15:20 +0000</pubDate>
        <guid>https://gaiasky.space/news/2025/moon-vt-32k/</guid>
        <description>&lt;p&gt;We&amp;rsquo;d like to announce that we just published a new virtual texture dataset. This dataset is based on NASA&amp;rsquo;s &lt;a href=&#34;https://svs.gsfc.nasa.gov/4720&#34;&gt;Scientific Visualization Studio CGI Moon Kit&lt;/a&gt;. Constructed from the DEM (Digital Elevation Map) in LRO/LOLA, it contains a 32K virtual texture for the Moon topography (elevation). When you have tessellation activated, this represents elevation in the Moon by vertex displacement and subdivision.&lt;/p&gt;&#xA;&#xA;&lt;figure class=&#34;fig-center fig-post&#34;&gt;&lt;a href=&#34;https://gaiasky.space/img/2025/02/32k-vt-moon.jpg&#34;&gt;&lt;picture&gt;&lt;img src=&#34;https://gaiasky.space/img/2025/02/32k-vt-moon.thumb.jpg&#34; loading=&#34;lazy&#34;decoding=&#34;async&#34; /&gt;&#xA;    &lt;/picture&gt;&lt;/a&gt;&lt;figcaption&gt;&#xA;            &lt;h4&gt;The new 32K topography virtual texture applied to the Moon in Gaia Sky.&lt;/h4&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;You can get it from the &lt;strong&gt;dataset manager&lt;/strong&gt; in Gaia Sky. Just look up &amp;ldquo;32K Moon Topography&amp;rdquo; and it should just pop right up.&lt;/p&gt;&#xA;&lt;p&gt;The repository for this dataset is &lt;a href=&#34;https://codeberg.org/gaiasky/gsdata-vt-moon-topography-nasa&#34;&gt;codeberg.org/gaiasky/gsdata-vt-moon-topography-nasa&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Original &lt;a href=&#34;https://svs.gsfc.nasa.gov/4720#section_credits&#34;&gt;credits&lt;/a&gt; go to Ernie Wright (USRA) and Noah Petro (NASA/GSFC).&lt;/p&gt;</description>
      </item> 
      <item>
        <title>New Flatpak app ID</title>
        <link>https://gaiasky.space/news/2025/new-flatpak-id/</link>
        <pubDate>Fri, 14 Feb 2025 09:00:20 +0000</pubDate>
        <guid>https://gaiasky.space/news/2025/new-flatpak-id/</guid>
        <description>&lt;p&gt;Our Flatpak package, published via &lt;a href=&#34;https://flathub.org&#34;&gt;Flathub&lt;/a&gt;, has been updated to a new app ID &lt;a href=&#34;https://flathub.org/apps/space.gaiasky.GaiaSky&#34;&gt;&lt;code&gt;space.gaiasky.GaiaSky&lt;/code&gt;&lt;/a&gt;. This has been done to match the domain of our new website &lt;a href=&#34;https://gaiasky.space&#34;&gt;gaiasky.space&lt;/a&gt;. Additionally, this has enabled us to verify the application, which was impossible with the old &lt;code&gt;de.uni_heidelberg.zah.GaiaSky&lt;/code&gt; ID, as we did not control that domain.&lt;/p&gt;&#xA;&#xA;&lt;figure class=&#34;fig-center fig-post&#34;&gt;&lt;picture&gt;&lt;img src=&#34;https://gaiasky.space/img/2025/02/flathub.jpg&#34; loading=&#34;lazy&#34;decoding=&#34;async&#34; /&gt;&#xA;    &lt;/picture&gt;&lt;figcaption&gt;&#xA;            &lt;h4&gt;Gaia Sky is now verified on Flathub.&lt;/h4&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Essentially, I needed to contact the &lt;a href=&#34;https://uni-heidelberg.de&#34;&gt;uni-heidelberg.de&lt;/a&gt; domain owner and ask them to add their domain to a PSL (public suffix list). They were initially cooperative, but after a few department redirections my requests must have fallen down the bureaucracy cracks, for they stopped being responsive. If you want the full story, check out &lt;a href=&#34;https://github.com/flathub/de.uni_heidelberg.zah.GaiaSky/issues/57&#34;&gt;this issue&lt;/a&gt;, and &lt;a href=&#34;https://github.com/flathub-infra/website/issues/3844&#34;&gt;this one&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Anyway, creating a proper website for Gaia Sky was already on the to-do list. In fact, the  initial commit to the project was made &lt;a href=&#34;https://codeberg.org/gaiasky/gaiasky-web/commit/61d9802b4d9506920d53411a8e722062f2ef7eaf&#34;&gt;a long time ago&lt;/a&gt;. Almost exactly 4 years ago, to be precise.&lt;/p&gt;&#xA;</description>
      </item> 
      <item>
        <title>New homepage</title>
        <link>https://gaiasky.space/news/2025/new-site/</link>
        <pubDate>Fri, 31 Jan 2025 09:41:55 +0000</pubDate>
        <guid>https://gaiasky.space/news/2025/new-site/</guid>
        <description>&lt;p&gt;Today we publish the new Gaia Sky web site. If you are reading this, you obviously know it. I&amp;rsquo;ve been working on this for a while, and, even though it is not yet finished, I think it is now ready to be deployed. Until now, we have used the website of &lt;a href=&#34;https://zah.ari.uni-heidelberg.de&#34;&gt;our institute&lt;/a&gt;, which uses the Typo3 CMS, as our home page. In a few days, I&amp;rsquo;ll make it point to this new site.&lt;/p&gt;&#xA;&lt;p&gt;It is easier to add content to, and easier to maintain. I also happen to think it looks better. I hope you enjoy it.&lt;/p&gt;&#xA;&lt;p&gt;The canonical URL, for now, is this:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://gaiasky.space&#34;&gt;https://gaiasky.space&lt;/a&gt;&lt;/p&gt;&#xA;</description>
      </item> 
      <item>
        <title>Gaia Sky 3.6.6</title>
        <link>https://gaiasky.space/news/2025/gaiasky_3.6.6/</link>
        <pubDate>Fri, 24 Jan 2025 09:41:55 +0000</pubDate>
        <guid>https://gaiasky.space/news/2025/gaiasky_3.6.6/</guid>
        <description>&lt;p&gt;📢 Today we publish the version 3.6.6 of Gaia Sky. This is a small update focused on fixing some bugs and improving performance. Also, it comes with proper handling of depth for volumes!&lt;/p&gt;&#xA;&#xA;&lt;figure class=&#34;fig-center vid-post&#34;&gt;&lt;video poster=&#34;https://gaiasky.space/vid/2025/3.6.6-release.jpg&#34; preload=&#34;none&#34;controls=&#34;controls&#34;&#xA;    &gt;&#xA;      &lt;source src=&#34;https://gaiasky.space/vid/2025/3.6.6-release.mp4&#34; autostart=&#34;false&#34;&gt;&#xA;        Your browser does not support the video tag.&#xA;    &lt;/video&gt;&lt;figcaption&gt;&#xA;            &lt;h4&gt;The Trifid nebula (NGC6514) rendered as a volume with correct usage of the depth buffer.&lt;/h4&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Move volumes earlier in the rendering pipeline, because they now write to the depth buffer.&lt;/li&gt;&#xA;&lt;li&gt;Check for dataset incompatibilities and ask user to confirm action when selecting incompatible datasets.&lt;/li&gt;&#xA;&lt;li&gt;Add window size and resolution of external view in settings, when the external view is active.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;bug-fixes&#34;&gt;Bug Fixes&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Attitude indicator not scaling with units-per-pixel value in spacecraft UI.&lt;/li&gt;&#xA;&lt;li&gt;Incorrect initialization of label threshold in volumes in VR mode.&lt;/li&gt;&#xA;&lt;li&gt;Entering panorama mode resets back-buffer scale. The issue was that the dynamic resolution reset routine was always applied, and not only when the dynamic resolution setting was on.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;performance-improvements&#34;&gt;Performance Improvements&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Replace arbitrary precision &lt;code&gt;add()&lt;/code&gt; call with double-precision one to compute spherical coordinates of objects. Double-precision is more than sufficient for that purpose.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;build-system&#34;&gt;Build System&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Update install4j template to version 11.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;documentation&#34;&gt;Documentation&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Improve javadoc comments in settings class.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;As always, you can grab it in the &lt;a href=&#34;https://gaiasky.space/downloads/&#34;&gt;downloads page&lt;/a&gt;.&lt;/p&gt;</description>
      </item> 
      <item>
        <title>Gaia Sky 3.6.5</title>
        <link>https://gaiasky.space/news/2025/gaiasky_3.6.5/</link>
        <pubDate>Wed, 15 Jan 2025 09:41:55 +0000</pubDate>
        <guid>https://gaiasky.space/news/2025/gaiasky_3.6.5/</guid>
        <description>&lt;p&gt;📢 Today, coinciding with the end of the sky-scanning phase of Gaia, we publish Gaia Sky 3.6.5. The most noteworthy addition is the introduction of the volume rendering infrastructure.&lt;/p&gt;&#xA;&#xA;&lt;figure class=&#34;fig-center fig-post&#34;&gt;&lt;picture&gt;&lt;img src=&#34;https://gaiasky.space/img/2025/01/3.6.5-release.jpg&#34; loading=&#34;lazy&#34;decoding=&#34;async&#34; /&gt;&#xA;    &lt;/picture&gt;&lt;figcaption&gt;&#xA;            &lt;h4&gt;Gaia Sky 3.6.5 welcome screen.&lt;/h4&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Add support for volume rendering. The infrastructure is in place with a new archetype &lt;code&gt;Volume&lt;/code&gt;. This is necessary for the new volumetric aurora dataset and volume nebulae in NGC2000.&lt;/li&gt;&#xA;&lt;li&gt;Add &amp;lsquo;volumes and effects&amp;rsquo; catalog type.&lt;/li&gt;&#xA;&lt;li&gt;Enable &lt;code&gt;&amp;quot;flip&amp;quot;&lt;/code&gt; attribute for &lt;code&gt;box&lt;/code&gt;es/&lt;code&gt;cube&lt;/code&gt;s in mesh builders.&lt;/li&gt;&#xA;&lt;li&gt;Add &lt;code&gt;&amp;quot;cameraCollision&amp;quot;&lt;/code&gt; attribute to bodies.&lt;/li&gt;&#xA;&lt;li&gt;Shader include statement now supports targets in datasets.&lt;/li&gt;&#xA;&lt;li&gt;Add on-demand re-compilation of post-processing shaders from their source files, in runtime.&lt;/li&gt;&#xA;&lt;li&gt;Add new attribute &lt;code&gt;renderLabel&lt;/code&gt; to label component. This enables/disables the actual rendering of the label.&lt;/li&gt;&#xA;&lt;li&gt;Increase default quality of FXAA filter, provide a simpler implementation (disabled by default), and enable hot shader reloading for FXAA effect.&lt;/li&gt;&#xA;&lt;li&gt;Update Gaia Sky icon.&lt;/li&gt;&#xA;&lt;li&gt;Add Bluesky link to readme file and about page.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;bug-fixes&#34;&gt;Bug Fixes&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Position of context menu in dataset manager is off.&lt;/li&gt;&#xA;&lt;li&gt;Unknown dataset types crash Gaia Sky. Fixes &lt;a href=&#34;https://codeberg.org/gaiasky/gaiasky/issues/787&#34;&gt;#787&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Do not crash when reloading non-compiling glsl shaders.&lt;/li&gt;&#xA;&lt;li&gt;Wrong size initialization for ray-marched objects.&lt;/li&gt;&#xA;&lt;li&gt;Prevent non-focusable objects to appear in search results and to be set as camera focus.&lt;/li&gt;&#xA;&lt;li&gt;Enable atmosphere/cloud procedural generation even when the surface is disabled due to cubemaps being used.&lt;/li&gt;&#xA;&lt;li&gt;Do not attempt setting a window icon in Wayland, it is not supported and results in a (harmless) crash.&lt;/li&gt;&#xA;&lt;li&gt;Position tracking does not work with objects in orbital elements group.&lt;/li&gt;&#xA;&lt;li&gt;Correctly populate window width and height in preferences dialog.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;build-system&#34;&gt;Build System&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Update configuration file version number. This implies that your old configuration file gets overridden with the new version during the first startup of the new Gaia Sky version.&lt;/li&gt;&#xA;&lt;li&gt;Update to LibGDX 1.13.1.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;As always, you can grab it &lt;a href=&#34;https://gaiasky.space/downloads/&#34;&gt;right here&lt;/a&gt; (&lt;a href=&#34;https://gaia.ari.uni-heidelberg.de/gaiasky/releases/3.6.5.a7ae14f4d&#34;&gt;link to repository&lt;/a&gt;).&lt;/p&gt;</description>
      </item> 
      <item>
        <title>Gaia Sky 3.6.4-2</title>
        <link>https://gaiasky.space/news/2024/gaiasky_3.6.4-2/</link>
        <pubDate>Thu, 17 Oct 2024 00:00:00 +0000</pubDate>
        <guid>https://gaiasky.space/news/2024/gaiasky_3.6.4-2/</guid>
        <description>&lt;p&gt;📢 Gaia Sky patch release 3.6.4-2 includes a fix for the external view feature.&lt;/p&gt;&#xA;&lt;h2 id=&#34;bug-fixes&#34;&gt;Bug Fixes&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;External view feature not working.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;build-system&#34;&gt;Build System&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Remove lib directory, does not contain anything anymore.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;As always, you can grab it &lt;a href=&#34;https://gaiasky.space/downloads/&#34;&gt;right here&lt;/a&gt; (&lt;a href=&#34;https://gaia.ari.uni-heidelberg.de/gaiasky/releases/3.6.4-2.3bfeec0f9&#34;&gt;link to repository&lt;/a&gt;).&lt;/p&gt;</description>
      </item> 
      <item>
        <title>Gaia Sky 3.6.4</title>
        <link>https://gaiasky.space/news/2024/gaiasky_3.6.4/</link>
        <pubDate>Tue, 08 Oct 2024 00:00:00 +0000</pubDate>
        <guid>https://gaiasky.space/news/2024/gaiasky_3.6.4/</guid>
        <description>&lt;p&gt;📢 Gaia Sky 3.6.4 released! It comes with a new in-app console, a revamp in the locations feature, and some under-the-hood rendering improvements.&lt;/p&gt;&#xA;&#xA;&lt;figure class=&#34;fig-center fig-post&#34;&gt;&lt;picture&gt;&lt;img src=&#34;https://gaiasky.space/img/2024/10/3.6.4/3.6.4-release.jpg&#34; loading=&#34;lazy&#34;decoding=&#34;async&#34; /&gt;&#xA;    &lt;/picture&gt;&lt;figcaption&gt;&#xA;            &lt;h4&gt;Gaia Sky 3.6.4 welcome screen.&lt;/h4&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Add location markers to pinpoint the exact position of each location. Add custom marker textures and custom label and marker colors.&lt;/li&gt;&#xA;&lt;li&gt;Add new attribute to locations, &lt;code&gt;ignoreSolidAngleLimit&lt;/code&gt;, which disregards the limits when computing visibility. Cap angular sizes for all locations.&lt;/li&gt;&#xA;&lt;li&gt;Add location type attribute to location objects. This attribute is used to categorize locations by groups in the individual visibility window. Remove &amp;lsquo;cosmic locations&amp;rsquo; content type, and move it to regular locations (requires default data pack update.).&lt;/li&gt;&#xA;&lt;li&gt;Separate scene frame buffer from meta-elements rendering (labels, lines, etc.) to be able to apply different post-processing effects to each.&lt;/li&gt;&#xA;&lt;li&gt;Add an implementation of console/terminal, which accepts commands to interact directly with the Gaia Sky API. Use &lt;code&gt;~&lt;/code&gt; or &lt;code&gt;:&lt;/code&gt; to launch the console.&lt;/li&gt;&#xA;&lt;li&gt;Add a generic map in the base component to store &amp;lsquo;unrecognized&amp;rsquo; attributes; these get displayed in the object info window.&lt;/li&gt;&#xA;&lt;li&gt;Improve on-screen keyboard in controller UI.&lt;/li&gt;&#xA;&lt;li&gt;Add session type (X11, Wayland) to system information (Linux only).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;figure class=&#34;fig-center fig-post&#34;&gt;&lt;picture&gt;&lt;img src=&#34;https://gaiasky.space//img/2024/10/3.6.4/3.6.4-markers.jpg&#34; loading=&#34;lazy&#34;decoding=&#34;async&#34; /&gt;&#xA;    &lt;/picture&gt;&lt;figcaption&gt;&#xA;            &lt;h4&gt;The new markers on the Moon.&lt;/h4&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;h2 id=&#34;bug-fixes&#34;&gt;Bug Fixes&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Prevent virtual objects (hooks, invisibles, catalogs, etc.) from appearing in the individual visibility window. Hide meta-components (atmospheres, key frames, etc.) from buttons list. Fix layout.&lt;/li&gt;&#xA;&lt;li&gt;Always load HIP numbers if present in the STIL data loader, even if there are other identifiers.&lt;/li&gt;&#xA;&lt;li&gt;Update jEtty, JSON and XMLRPC libraries to secure versions (the old versions contain known vulnerabilities).&lt;/li&gt;&#xA;&lt;li&gt;Inform user of unsupported cubemap textured objects with procedural generation.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;build-system&#34;&gt;Build System&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Update versions of &lt;code&gt;jCommander&lt;/code&gt;, STIL and &lt;code&gt;Apfloat&lt;/code&gt;, remove &lt;code&gt;Joise&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Update OSHI library version.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;figure class=&#34;fig-center fig-post&#34;&gt;&lt;picture&gt;&lt;img src=&#34;https://gaiasky.space//img/2024/10/3.6.4/3.6.4-console.jpg&#34; loading=&#34;lazy&#34;decoding=&#34;async&#34; /&gt;&#xA;    &lt;/picture&gt;&lt;figcaption&gt;&#xA;            &lt;h4&gt;The console allows direct interaction with the API.&lt;/h4&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;h2 id=&#34;documentation&#34;&gt;Documentation&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Add architectures to download table.&lt;/li&gt;&#xA;&lt;li&gt;Fix typos and spelling errors in changelog file.&lt;/li&gt;&#xA;&lt;li&gt;Move VR info into README.md from VR.md.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;As always, you can grab it &lt;a href=&#34;https://gaiasky.space/downloads/&#34;&gt;right here&lt;/a&gt; (&lt;a href=&#34;https://gaia.ari.uni-heidelberg.de/gaiasky/releases/3.6.4-2.3bfeec0f9&#34;&gt;link to repository&lt;/a&gt;).&lt;/p&gt;</description>
      </item> 
      <item>
        <title>Gaia Sky 3.6.3-2</title>
        <link>https://gaiasky.space/news/2024/gaiasky_3.6.3-2/</link>
        <pubDate>Wed, 17 Jul 2024 10:44:00 +0000</pubDate>
        <guid>https://gaiasky.space/news/2024/gaiasky_3.6.3-2/</guid>
        <description>&lt;p&gt;📢 Gaia Sky 3.6.3-2 available now!&lt;/p&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Use noise library for star surface shader.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;bug-fixes&#34;&gt;Bug Fixes&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Bad truncation leads to some SVTs not working properly. Fixes &lt;a href=&#34;https://codeberg.org/gaiasky/gaiasky/issues/778&#34;&gt;#778&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;You can get this release in &lt;a href=&#34;https://gaia.ari.uni-heidelberg.de/gaiasky/releases//3.6.3-2.5dd63b3c7/&#34;&gt;our repository&lt;/a&gt;.&lt;/p&gt;</description>
      </item> 
      <item>
        <title>Gaia Sky 3.6.3</title>
        <link>https://gaiasky.space/news/2024/gaiasky_3.6.3/</link>
        <pubDate>Fri, 12 Jul 2024 11:10:00 +0000</pubDate>
        <guid>https://gaiasky.space/news/2024/gaiasky_3.6.3/</guid>
        <description>&lt;p&gt;📢 Gaia Sky 3.6.3 available now!&lt;/p&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Add on-demand loading of JSON datasets to particle groups, which enables having thousands of extrasolar systems to explore.&lt;/li&gt;&#xA;&lt;li&gt;Add script to translate a NASA exoplanet archive VOTable to the Gaia Sky JSON format.&lt;/li&gt;&#xA;&lt;li&gt;Replace CPU-based procedural generation with GPU-based implementation, which is orders of magnitude faster.&lt;/li&gt;&#xA;&lt;li&gt;Improve layout of procedural generation window.&lt;/li&gt;&#xA;&lt;li&gt;Improve cloud color and atmospheric fog density randomizers.&lt;/li&gt;&#xA;&lt;li&gt;Use normal map when elevation type is &amp;lsquo;None&amp;rsquo; in procedural generation.&lt;/li&gt;&#xA;&lt;li&gt;Add initial amplitude to noise parametrization in procedural generation.&lt;/li&gt;&#xA;&lt;li&gt;Surface generation presets (Earth-like, gas giant, rocky planet, etc.), and hide noise parameters in collapsible pane.&lt;/li&gt;&#xA;&lt;li&gt;Add procedurally generated texture resolution to configuration and preferences window.&lt;/li&gt;&#xA;&lt;li&gt;Add procedural generation button to camera info interface.&lt;/li&gt;&#xA;&lt;li&gt;Move &amp;lsquo;save textures&amp;rsquo; of procedural generation to a parallel thread.&lt;/li&gt;&#xA;&lt;li&gt;Divide procedural generation in 4 consecutive frames. Add emission generation as an extra (optional) channel.&lt;/li&gt;&#xA;&lt;li&gt;Add &amp;lsquo;systems&amp;rsquo; component type, to contain all extrasolar planetary systems.&lt;/li&gt;&#xA;&lt;li&gt;Automatic DPI scaling to support multi-DPI configurations.&lt;/li&gt;&#xA;&lt;li&gt;Add new graphical presets (low, medium, high) to settings dialog. These presets are sets of settings that are applied all at once.&lt;/li&gt;&#xA;&lt;li&gt;Change antialiasing settings from only type to type and quality in the configuration file.&lt;/li&gt;&#xA;&lt;li&gt;Add tooltip with hotkeys to cinematic camera checkbox.&lt;/li&gt;&#xA;&lt;li&gt;Improve camera velocity display units in camera info pane.&lt;/li&gt;&#xA;&lt;li&gt;New splash image based on NASA exoplanets.&lt;/li&gt;&#xA;&lt;li&gt;Enable multiple lights (and also point lights) for cloud shader. This is necessary for the NASA exoplanets.&lt;/li&gt;&#xA;&lt;li&gt;Add &amp;lsquo;refreshRate&amp;rsquo; to orbit objects to control how often they are updated (if needed), add button to camera info interface to refresh the orbit of the selected object.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;bug-fixes&#34;&gt;Bug Fixes&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Relativistic shaders define their own helper functions.&lt;/li&gt;&#xA;&lt;li&gt;Broken anchor in readme file.&lt;/li&gt;&#xA;&lt;li&gt;Error computing next focus and closest body positions.&lt;/li&gt;&#xA;&lt;li&gt;Restore elevation-aware planet traversal.&lt;/li&gt;&#xA;&lt;li&gt;Artifacts in atmosphere shader when SSR is active.&lt;/li&gt;&#xA;&lt;li&gt;Adjust maximum reach of point lights.&lt;/li&gt;&#xA;&lt;li&gt;Improve single star selection code, especially when close to stars.&lt;/li&gt;&#xA;&lt;li&gt;Regression where orientation lock stopped working altogether.&lt;/li&gt;&#xA;&lt;li&gt;Adjust frequency and lacunarity randomizers so that more strucutre is always present.&lt;/li&gt;&#xA;&lt;li&gt;Crash during initialization when model is set to randomize.&lt;/li&gt;&#xA;&lt;li&gt;Tooltip background width incorrectly computed.&lt;/li&gt;&#xA;&lt;li&gt;Remove call to pack() in constructor.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;performance-improvements&#34;&gt;Performance Improvements&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Enable fast-math usage by default, and remove old, unused trigo scaffolding classes.&lt;/li&gt;&#xA;&lt;li&gt;Improve performance of recursive grid shader, which was very slow due to the background fill (with interpolation), and the animation. Animation is now removed.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;build-system&#34;&gt;Build System&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Upgrade bundled JRE to 21, minimum language version to 17.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;You can get this release in &lt;a href=&#34;https://gaia.ari.uni-heidelberg.de/gaiasky/releases//3.6.3.929b0f7a6/&#34;&gt;our repository&lt;/a&gt;.&lt;/p&gt;</description>
      </item> 
      <item>
        <title>Gaia Sky 3.6.2-3</title>
        <link>https://gaiasky.space/news/2024/gaiasky_3.6.2-3/</link>
        <pubDate>Fri, 07 Jun 2024 09:26:00 +0000</pubDate>
        <guid>https://gaiasky.space/news/2024/gaiasky_3.6.2-3/</guid>
        <description>&lt;p&gt;📢 Gaia Sky 3.6.2-3 available now!&lt;/p&gt;&#xA;&lt;h2 id=&#34;bug-fixes&#34;&gt;Bug Fixes&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;SVT indirection shader cleared with wrong value. Fixes &lt;a href=&#34;https://codeberg.org/gaiasky/gaiasky/issues/774&#34;&gt;#774&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;You can get this release in &lt;a href=&#34;https://gaia.ari.uni-heidelberg.de/gaiasky/releases//3.6.2-3.d5632974f/&#34;&gt;our repository&lt;/a&gt;.&lt;/p&gt;</description>
      </item> 
      <item>
        <title>Gaia Sky 3.6.2-2</title>
        <link>https://gaiasky.space/news/2024/gaiasky_3.6.2-2/</link>
        <pubDate>Thu, 06 Jun 2024 09:06:00 +0000</pubDate>
        <guid>https://gaiasky.space/news/2024/gaiasky_3.6.2-2/</guid>
        <description>&lt;p&gt;📢 Gaia Sky 3.6.2-2 available now!&lt;/p&gt;&#xA;&lt;h2 id=&#34;bug-fixes&#34;&gt;Bug Fixes&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Shadow map GLSL library crash due to use of old, unsupported  call. Fixes &lt;a href=&#34;https://codeberg.org/gaiasky/gaiasky/issues/773&#34;&gt;#773&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;You can get this release in &lt;a href=&#34;https://gaia.ari.uni-heidelberg.de/gaiasky/releases//3.6.2-2.c12559806/&#34;&gt;our repository&lt;/a&gt;.&lt;/p&gt;</description>
      </item> 
      <item>
        <title>Gaia Sky 3.6.2</title>
        <link>https://gaiasky.space/news/2024/gaiasky_3.6.2/</link>
        <pubDate>Wed, 05 Jun 2024 15:27:00 +0000</pubDate>
        <guid>https://gaiasky.space/news/2024/gaiasky_3.6.2/</guid>
        <description>&lt;p&gt;📢 Gaia Sky 3.6.2 available now!&lt;/p&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Enable ray-marching effects in stereoscopic mode.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;bug-fixes&#34;&gt;Bug Fixes&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Use a new instance of the preferences dialog each time it is open, so that all preferences are reinitialized correctly.&lt;/li&gt;&#xA;&lt;li&gt;Invert-x/-y button in gamepad GUI does not work/update correctly.&lt;/li&gt;&#xA;&lt;li&gt;Ray-marching effects in cubemap modes. Probably a source of unforeseen consequences.&lt;/li&gt;&#xA;&lt;li&gt;Remove blank frame produced when activating a ray-marching effect for the first time.&lt;/li&gt;&#xA;&lt;li&gt;Never skip future closest body position computation.&lt;/li&gt;&#xA;&lt;li&gt;Restore light glow effect in cubemap modes (360, planetarium, orthosphere).&lt;/li&gt;&#xA;&lt;li&gt;Restore light glow effect in stereoscopic mode.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;You can get this release in &lt;a href=&#34;https://gaia.ari.uni-heidelberg.de/gaiasky/releases//3.6.2.1b1e23dbb/&#34;&gt;our repository&lt;/a&gt;.&lt;/p&gt;</description>
      </item>
  </channel>
</rss>
