Commit Graph

2744 Commits

Author SHA1 Message Date
ElonOlsson
2829f259ac Feature/WSAdocs (#3715)
* documentation in FITS renderable

* selected color range bug fix, parameter documentation for fits sphere and field lines sequence renderables

* Very compact description in mission panel

* field line vs fieldline

* Alex comments

* Add missing punctuation

* emmas comments

---------

Co-authored-by: Emma Broman <emma.broman@liu.se>
2025-06-16 11:09:06 -04:00
Emma Broman
f8672d6064 Fix broken Jupiter Minor Moons 2025-06-16 16:06:58 +02:00
Emma Broman
38b4aeaebc Update data for exoplanets module 2025-06-16 13:21:41 +02:00
Micah Acinapura
430a93ddda Updated ecliptic band texture to include months. also added action to choose between color/grayscale (#3714) 2025-06-14 15:55:34 +02:00
Alexander Bock
5a366d02db Use correct tags for the constellation art 2025-06-14 13:41:28 +02:00
Roxeena
6204b2e6b9 Fix example sonifications' ambient sound level 2025-06-13 11:56:55 +02:00
Alexander Bock
821a340bd7 Update webgui hash 2025-06-12 23:10:08 +02:00
Emma Broman
93398aff67 Bring back the space stations at startup and add actions for toggling them (#3713)
Do not toggle these as part of the regular satellites
2025-06-12 20:29:49 +02:00
ElonOlsson
87c1372744 Todays Sun, PR for branch: feature/WSA (#3652)
The merge commit
---------

Co-authored-by: shyamthyagarajan <shyammuralithyagarajan@gmail.com>
Co-authored-by: Lundkvist <alundkvi@ndc.nasa.gov>
Co-authored-by: lundkvistarn <lundkvistarn@live.se>
Co-authored-by: Alexander Bock <mail@alexanderbock.eu>
Co-authored-by: Emma Broman <emma.broman@liu.se>
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2025-06-12 09:57:26 -04:00
Emma Broman
4bc2fdb83c Update outdated instructions in gui.asset 2025-06-11 10:30:46 +02:00
Emma Broman
68ab41a241 Fix broken Apollo profile and transform initialization in general (#3704)
* Fix faulty log category and minor inconsistencies in GlobeTranslation and GlobeRotation

* Small refactor

* Remove unused return value from initialize function

* Fill attached node in globetranslation initialize and initialize all timeline

Should make the timeline translation work with globetranslations in other cases that the renderabletrails

* Do the same type of change for rotation and scale

* Update initialize function singatures

* Initialize and update translation in trail before use

* Screenspace renderable renderable - move initialize call to initialize

* Refactor trail position calls to make it clearer what is being done

* Call timeframe initialize functions in transform classes

* Do not call update in trail position after all - it borks up the performance

* GlobeTransform: Only fill attached node in init and onchange, and allow nodes without renderable

* Correctly initialize the multi-transform types

* Apply suggestions from code review

* Apply suggestions from code review

Co-authored-by: Alexander Bock <alexander.bock@liu.se>

* Address code review comment

* Update comments in renderabletrail

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2025-06-10 12:05:30 +02:00
Alexander Bock
2048a1b5df ShowComposer (#3707)
- Updated webgui config and paths for ShowComposer
  - Update backendhash, download showcomposer.  Fix issue with sorting dictionary keys
  - Update the hashes for the backend and showcomposer

---------

Co-authored-by: dmelancon <mr.dmelancon@gmail.com>
2025-06-09 21:14:21 +02:00
Alexander Bock
0984c1ddca Remove non-existent asset request (closes #3703) 2025-06-09 13:42:42 +02:00
Emma Broman
1278ab69a0 Fix inconsistent naming of imported moon asset in moon mission assets
And import asset in trail keyframe asset
2025-06-09 13:01:17 +02:00
Alexander Bock
758c0f0641 Move the images from mission files to our own servers (closes #3700) 2025-06-06 10:25:04 +02:00
Alexander Bock
4bf2d675e5 Fix up the tags for dwarf planets 2025-06-02 15:12:23 +02:00
Alexander Bock
ae8e95e038 Print info message when hiding the UI that shows how to get it back
- Print the information message informing about the keybdining if it exists
  - Add new function `keyBindingsForAction` that returns the list of keys that are bound to a specific action
  - Change the parameter to the `keyBindings` function to be optional, causing it to return all actions bound to keys
2025-06-02 12:05:37 +02:00
Alexander Bock
11beff4ce0 Apply the Focusable tag to all scene graph nodes (#3677)
- Apply the Focusable tag to all scene graph nodes
  - Fix tag specification for the Moon
2025-06-02 11:17:25 +02:00
Emma Broman
f220dc8b9e Update GUI Hash: Remove duplicate friction controls (closes #3674) 2025-05-23 11:18:51 +02:00
Alexander Bock
c3b1aec9be Unify earth_satellite and earth_satellites tags. Harmonize constellation art tags 2025-05-23 00:14:25 +02:00
Emma Broman
f1153da5db Update GUI Hash (bring back copy URI for bool properties)
b2c5407c61
2025-05-21 17:42:59 +02:00
Brian Abbott
6ec6291360 Data updates for the Exoplanets and Brown dwarfs dataset of the Digital Universe (#3661) 2025-05-19 18:04:37 +02:00
Emma Broman
0293a94601 Update GUI hash
* Prepare for adding locilization
* Add notification system
* Redesign keybinds panel
* Consistent behavior for bool input components
* Improved inputs for vector properties (including colors)
* Fix orientation of getting started tour taskbar button
* Add Night Sky Panel
2025-05-19 17:10:58 +02:00
Micah Acinapura
9ef8a24f1c updates to night sky assets and new actions for ui panel; (#3660)
* updates to night sky assets and new actions for ui panel;

* Apply suggestions from code review

Co-authored-by: Alexander Bock <alexander.bock@liu.se>

* swap order of east/south declaration

* updated zeropoint_data to synched resource

* rework action to use fadeIn

* Apply suggestions from code review

update to ns navigation actions

Co-authored-by: Alexander Bock <alexander.bock@liu.se>

* update to position function for review

* removed action based on review

* Update data/assets/actions/nightsky/createsuntrails.asset

up formatting of suntrails action

Co-authored-by: Alexander Bock <alexander.bock@liu.se>

* update to nightsky grids for segement property name change

* updated fade distances for mercury and venus label to be visible from earth when close

* fix to nightsky grid segments

* added time actions to list of nightsky assets

* Update default UI panels to include night sky panel

* fix to add sun trails action

* Show night sky panel in nightsky profile

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
Co-authored-by: Emma Broman <emma.broman@liu.se>
2025-05-19 10:27:49 -04:00
Malin E
ac3e30c24e Sonification/Telemetry (#3461)
* Add sonification module

* WIP: Extract planet positions in own thread

* WIP Extract camera position and angle

* Extract distance to camera and fix angle

* WIP: Extract focus node

* Optimize and clean up

* Fix signed angle for surround sound

* WIP add solar system view sonification

* Extract time
Extract the speed of time in OpenSpace and send it to supercollider.
Needed to scale the sonification time in sync with OpenSpace

* Extract moon angles
Extract the angle from the planet to the major moons. Used in
sonification to position the moons in surround.

* Add easy change of angles
Easier to switch what angle is calculated and sent to the sonification.
Preperation for test in Dome

* Fix shutdown error and nullptr error
Add deinitialize for sonification module. Make sure pointers are
initialized to nullptrs at start. Check in sonification main in the
start if the scene is initialized

* Add properties to contol sonification
* Add property to turn on/off sonification for each planet

* Change so the data only send for those planets that are enabled with the property

* WIP: Improve GUI for sonification control
* Add GUI for every sonification parameter per planet

* However, only for Earth and Mars so far

* Make data send more often and not just when the planet is enabled

* Add sonification GUI for Mercury and Venus
* GUI for each parameter for Marcury and Venus

* Send a shutdown message to SuperCollider during deinitialization

* Group properties together
* Gather the planets properties under a planets property owner

* Prepare to expand GUI

* Name changes

* Add Solar view in GUI
* Add GUI that controls the solar sonification

* Remove the all enabled slot in the settings arrays

* No longer sends the all enabled slot in teh settings arrays

* WIP Compare view

* Add compare view in GUI. Allows to compare two planets sonification.

* Finish compare view

* Add connection to sonification for compare view

* Improve responsiveness of GUI

* Expand GUI with the outer planets

* Add GUI for the outer planets

* Increase array sizes to compe with all the planets

* Add functionality for the outer planets GUI

* Add temperature option in GUI

* Fix so that compare cannot compare to itself

* Scale selected planets in compare view

* Fix reset of compare view

* Add Rings sonification to GUI

* Fix solar sonification GUI

* Bind onChange function for the outer planets in the solar GUI

* Add comment about where in the settings array the setting for rings
are

* Add master buttuns in GUI

* Add button to turn on/off all the planets

* Add button to turn on/off everything, solar when sun is in focus and
planetary otherwise.

* Add function to easier turn on/off all the parameters of solar and
planetary

* Only master start sonification module

* Add check that only the master start the sonification thread

* Clean up a few lines in the angle calculation

* Optimize the sending of time

* Time is not sent with every message but only when it changes instead

* Add GUI for choosing what parts to compare

* More GUI in compare view to control which sonification to compare

* Fix deinitialize turn off sounds

* Make sure the auto (enable all) now also work with the new compare GUI

* Fix socket problem and code clean up

* Only use one socket to send information to supercollider

* General code clean up

* Remove sending of focus node since supercollider does not use it

* Adjust to new master

* Fix oscpack linker issues

* Update to new master

* Add start of SonificationEngine

* Move osc code into SonificationEngine

* Add function for the planetary settings

* Add function to access SonificationEngine via the module

* Add base sonification class

* Start seperating into different sonification classes

* Add PlanetarySonification to the internal list

* Move osc to its own module

* Seperate planet sonifications into seperate sonification classes

* Make time sonification its own class

* Some clean up

* Update to new cmake version

* Add proper module dependency for the sonification module

* Fix thread issue

* Temporary fix with a sleep, works for now

* Fix log messages issue

* Add enabled property for the sonification module

* Some clean up

* More clean up

* More clean up

* Make it possible to send in node position directly for helper function

* Add stop function for sonifications

* Make possible to specify sonification destination ip and port in cfg file

* Use Parameters struct for the sonification module dictionary

* Make sonification module a singleton

* Minor code style fix

* Use module engine module function for singleton pattern instead

* Add angle calculations for the surround modes

* Use codegen map function for surround mode enum

* Improve data storage and sending for planet sonificaitons

* Add focus sonification

* Fix elevation angle calculation for circular surround mode

* Add Lua function to add entries for the PlanetsSonification

* Add sonification profile

* Add lua library file for planets sonification

* Fix gui osc messages sending

* Update to latest master

* Rename planets sonificaitons to reflect they only work for planets

* Add generic nodes sonification

* Clean up Time sonification

* plus a little in the nodes sonification

* Add current time information to the time sonification

* Add precision propertysubowner to structure Gui and make it flexible

* Some general clean up

* Rename solar sonification to planets overview sonification

* Add Camera sonification

* Fix some bugs with the camera sonificaiton

* Make sure the sonificaiton thread is synced with the main thread

* Fix camera and scene bug in sonificaiton

* Dont hold up the main thread while sonificaiton thread does its work

* Use the current frame time for speed calculaiton instead of average

* Fix osc::Blob memory bug

* Wait max 30 seconds in the sonification thread for the main thread

* Make sure deinitialize of sonificaiton thread does not halt

* Add the mode sonification as a proper sonification

* Add nodes sonification example with ISS and Tiangong

* Some renaming and restructuring

* Add more detailed documentation for the sonification math

* The util functions for different angles in the sonificaiton/telemetry module

* Major clean up and restructuring

* Rename module to telemetry to make it more clear that we do not
  produce the sonifications, we just spit out data used by a
  sonificaiton software

* Add the new moon of Neptune to sonification and add sonification files

* And add the test osc supercollider file

* Add the OpenSpace header to the supercollider example file

* Apply suggestions from code review

Co-authored-by: Alexander Bock <alexander.bock@liu.se>

* Adjust suggestions to fix errors

* Address more PR comments

* Address more PR comments

* More PR comments

* More PR comments

* More PR comments

* Even more PR comments

* Update to latest master

* More PR comments

* Add OSC as a submodule

* NOTE that due to path issues this commit will not build with the osc
  module, you will need to change the paths inside two osc files for it
  to build. Will fix very soon

* Fix issue with oscpack not setting correct include directory

* Address PR comments

* Address PR comments

* Update the SuperCollider files

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
Co-authored-by: Ivar Gorenko <ivago071@student.liu.se>
2025-05-19 15:02:48 +02:00
Anders Lundkvist
327a0693c4 Add distance-based scaling to RenderablePlane (#3598)
This commit adds optional distance-based scaling to RenderablePlane, enabling it to scale dynamically based on its distance from the camera.
2025-05-18 13:30:09 -04:00
Alexander Bock
f16288f53f Relocated dashboard examples. Add missing documentation entries 2025-05-18 15:44:45 +02:00
Alexander Bock
f3430a23d1 Move toggling UI keys from F2 to F1 2025-05-18 14:02:06 +02:00
Adam Rohdin
0a82796f0f ScreenSpaceInsetBlackout (#3657) 2025-05-16 23:34:19 +02:00
Emma Broman
755782d44b Do not include the old friction controls in the toggle overlay keybinds 2025-05-16 16:37:21 +02:00
Alexander Bock
5c15bf74b7 Harmonizing OrientationRenderOption and Billboard settings. Make RenderablePlanes use the new setting (#3630) 2025-05-15 22:02:00 +02:00
Emma Broman
4792d3021c Remove the touch profile
This UI is not included in the new frontend
2025-05-15 17:45:29 +02:00
Emma Broman
e33ad09632 Update GUI hash
Move profile info to File menu, Add color to friction buttons, tighten up mission panel, and close windows menu when selecting a window
2025-05-14 12:03:12 +02:00
Anders Lundkvist
a05380779e Add time varying screen space image online class (#3646)
New screen space renderable class, ScreenSpaceTimeVaryingImageOnline, for displaying online time-dependent images from a JSON file.

This class loads a JSON file containing timestamped image URLs and displays the image that corresponds to the current simulation time. It only renders during the valid time interval defined by the dataset and updates automatically as time progresses.
2025-05-13 08:00:54 -04:00
Alexander Bock
22735c5aaf Add support for non-numerical values to the DashboardItemTimevaryingText (closes #3653) 2025-05-12 21:19:24 +02:00
Emma Broman
1d56563412 Move profile name from top bar center to File menu (#3628)
* Add more profile meta info to profile topic, and gueard for nonexisting meta entry

* Add punctuation to end of profile descriptions

* Cleanup

* Apply suggestions from code review

Co-authored-by: Alexander Bock <alexander.bock@liu.se>

* Update GUI hash

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2025-05-06 18:17:41 +02:00
Anders Lundkvist
517e44db5a Add time varying dashboard item text class (#3621)
New dashboard item class, DashboardItemTimeVaryingText, designed to display numeric values from a JSON time series, dynamically updating based on time. Also added examples for this.

Useful for displaying dynamic values like KP index or solar wind parameters in sync with time.
---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2025-05-05 15:31:02 -04:00
Alexander Bock
1e458ab2e8 Update profile versions and add mission panels to mission profiles (#3625)
3=
2025-05-01 18:00:11 +02:00
Alexander Bock
214c3056fb Add Kuiper constellation of satellites 2025-04-30 08:47:47 +02:00
Emma Broman
a6354d14a6 Fix typo 2025-04-29 15:58:15 +02:00
Emma Broman
d978476b93 Fix broken apollo assets 2025-04-29 15:56:05 +02:00
Ylva Selling
b1e843cb48 Small UI rewrite fixes 2025-04-29 15:49:48 +02:00
Ylva Selling
e3f5b83f74 Feature/2025 UI rewrite (#3608)
* Remove Escape keybind; move gui keybind to F2

* Clear up keybinds properly

* Workaround for CEF focus bug

* Add TODO comment

* Guard against null ptr dereferencing

* Remove shift tab

* add additional keyboard mapping from glfw to cef

* Change dashboards to make prototype for first user test

* add mission added/removed event, disptached when a mission has been loaded/unloaded

* send missions as map instaed of array, rename missionName -> name

* Set keybind for toggling overlays to shift+f2

* Remove property for showing the title in the gui skybrowser module

* Remove default setting for skybrowser

* First implementation of setting the ui panel visibility from the launcher

* Add profile topic

* Coding style adjustment

* Add markNodes to the profiletopic

* Change format of additional data of options in engine

* Address PR comments

* map escape key from glfw to cef correctly

* fix issue with "Enter" key not working on buttons and other input fields in CEF

* Add test for new profile version

* Send skybrowser data although we are outside the solar system

* Update webgui to new ui

* Add name to profile topic

* Add cef variable to javascript context for when browser is in cef

* Use camelcase for cef variable

* Rewrite shortcuts topic to ActionKeybind and pass data in a better way (#3590)

* Rewrite shortcuts topic to ActionKeybind and pass data in a better way

* Fix strange error with file structure

* Address PR comments

* Address PR comments

* Address PR comments

* Make numbers in asset file prettier

* Rename name to identifier for missions event

* Clean up browser code

* Update UI hash (to fix the actions panel not working)

And update outdated comment. The backend is not part of this

* Feature/notify meta data change (#3605)

* Add notifyMetaDataChangeListener to topic

* First round of clean up the data passing

* Convert from string to json for metadata

* Update additional data to json

* Use nlohmann::json for additional data

* Pass meta data in new structure to topics

* Remove meta data method

* Fix mistake in merge

* Update src/properties/property.cpp

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* remove TODO comment that will be fixed by this PR

* Address PR comments

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Emma Broman <emma.broman@liu.se>

* Address PR comment

* Remove function for setting the endpoint

* Update frontend hash

* Remove enabled property from exoplanets module

* Remove enabled property from skybrowser module

* Update default UI panels json

* Remove setting of enabled properties for skybrowser and exoplanets

* Update gui hash

* Auto format json

---------

Co-authored-by: Andreas Engberg <adde.engberg@gmail.com>
Co-authored-by: Emma Broman <emma.broman@liu.se>
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
Co-authored-by: Alexander Bock <mail@alexanderbock.eu>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-04-29 15:43:56 +02:00
Alexander Bock
f024c25666 Add the ability to run as task file at startup. Add new model conversion task that requires an OpenGL context. Add ability to use FileVerifier and DirectoryVerifier on files that don't exist (#3612) 2025-04-29 09:50:29 +02:00
Emma Broman
e0df6d6c2e Default keybinds asset cleanup (#3618)
* Split default keybinds asset file into one file for the actions and one for the keybinds

* Renaming the `default_actions.asset -> solarsystem_actions.asset` and then separating the `default_keybindings.asset` into `default_keybindings` and `default_actions`

* Move time action to correct place in file

* Update ESC -> Ctrl+Q for toggling a shutdown

Also add comment to the clearKey lines to make the connection easier to see

* Remove Alt+R keybinding

* Add asset meta for keybindings asset

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2025-04-25 14:12:26 +02:00
Alexander Bock
b111b24e8a Add horizons-based NewHorizons asset. Move Voyager and Pioneer horizons files into separate folders. Create new interstellar horizons file that replaces previous voyager-pioneer one (closes #3273) 2025-04-24 09:09:42 +02:00
Alexander Bock
c82a8a763f Reparent the milkyway galaxy to the root to make it not disappear when SPICE information runs out (closes #3232) 2025-04-23 17:38:32 +02:00
Anders Lundkvist
ad786f7d5c Add RenderableSwitch class (#3597) 2025-04-23 16:44:24 +02:00
Alexander Bock
6dc738e54e Move functions about globe locations from the GlobeBrowsingModule into the core (#3613)
* Make GlobeRotation and GlobeTranslation work for non-globes and move them to the base module
* Move ellipsoid and geodetic classes into the core
* Allow more things to take scene graph nodes instead of RenderableGlobes
* Move goToGeo and related Lua functions into the core
* Move more functions from the pathnavigation namespace into the navigation namespace

---------

Co-authored-by: Emma Broman <emma.broman@liu.se>
2025-04-23 16:15:17 +02:00
Alexander Bock
b02680a360 Add new TimeFrame that parses Spice kernels (#3600) 2025-04-22 20:47:17 +02:00