Commit Graph

6003 Commits

Author SHA1 Message Date
Emma Broman
b6d3704439 Update GuiHash and Backend hash to fix issues with routing
And fix an outdated comment
2025-06-18 17:14:46 +02:00
Ylva Selling
35332384b7 Change frontend endpoint to gui (#3717) 2025-06-16 19:34:14 +02:00
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
Alexander Bock
4c1a1fc57b Update SGCT repository
- Make it possible to offset the statistics window
2025-06-16 14:44:20 +02:00
Mathis Brossier
28929da822 Miscellaneous changes (#3708)
* Add fov input for fisheye projections in launcher
* Updated gitignore to ignore more necessary files
* Fixed typos
* Replace `add_definitions` with `add_compile_options` in CMakeLists for /MP /bigobj, which are not preprocessor defs
* Fixes in TuioEar: add `override`; replace erroneous `unique_lock` with `lock_guard`; minor refactor

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2025-06-14 16:12:44 +02:00
Alexander Bock
93c0f75ef2 Remove Clang warnings 2025-06-14 15:42:38 +02:00
Alexander Bock
ce1b3a8ebf Remove unreachable code 2025-06-14 13:48:01 +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
Alexander Bock
db2f93257b Create download directory for Node.js before trying to read the existing version number 2025-06-11 09:52:34 +02:00
Ylva Selling
9b427d617a Show getting started tour on startup (#3705)
* Add has started before value to profile topic

* Address PR comments
2025-06-11 09:43:18 +02:00
Alexander Bock
2589ccd4ac Correctly redownload NodeJS when the requested version number changes 2025-06-10 23:28:26 +02:00
Alexander Bock
da545909d6 Increase required NodeJS version to make the new new backend work 2025-06-10 22:45:08 +02:00
Alexander Bock
e308383e7c Add profile information to the version checkin 2025-06-10 13:38:16 +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
1f72257141 Make the ImGui module more resilient against use-after-free action (closes #2938) 2025-06-09 14:06:51 +02:00
Ylva Selling
1c8cb30b12 Fix crash when reloading skybrowser (#3690)
* Make skybrowser use accelerated rendering
* Remove flag for not accelerating rendering
* Make default side full HD for texture
* Make wwt calls be exposed with pointer to worldwidetelescope communicator & restructure
* Restore on reload functionality
* Make default value for updating the sky browser when target travels true
* Remove texture quality property and make the vfov and radius work again
2025-06-09 11:41:08 +02:00
Alexander Bock
72c40f531f Correctly resize the CEF browser when any window in a collection is resized (closes #3686). Warn about the behavior when showing 2D elements on multiple windows 2025-06-08 15:19:19 +02:00
Alexander Bock
fbd4128b34 Pass through the coding styles 2025-06-05 10:59:58 +02:00
hn-88
37bc62e766 Some more patches towards building on MacOS (#3695)
- bump CMAKE_OSX_DEPLOYMENT_TARGET to "13.3"
  - CXX STANDARD to 20 etc for Mac builds
  -  Update cef platforms correctly for arm64 and x86_64
  - patch cxx and c standard versions in flags set for macos
2025-06-02 11:16:07 +02:00
Alexander Bock
221c8b427f Rename iswa renderable classes to fit the naming scheme. Also use documentation feature (closes #3689) 2025-05-30 12:23:43 +02:00
Roxeena
9d3bc5ac68 Update the parent transform class in Timeline updates fixes #3691 2025-05-28 15:28:09 +02:00
Alexander Bock
10e2da78df Remove the zombie process (#3687)
The OpenSpace_Helper process was staying when terminating OpenSpace.  This fixes that by automatically closing the helper process when the parent process dies for whatever reasons
2025-05-28 10:51:04 +02:00
Alexander Bock
2b46271f59 Fix issue with parsing the color for a GeoJSON element 2025-05-22 16:37:56 +02:00
Emma Broman
0e7423bc27 Correctly unset meta data subscription callbacks and small fix for dashboard item simulation increment
Fixes a crash when changing visibility of properties during runtime.
2025-05-21 09:12:11 +02:00
Benjamin Mastripolito
141fda231b Merge pull request #3634 from benpm/issue/3596-saturn-ring-shadow
Issue/3596 saturn ring shadow. fixes #3596
2025-05-20 15:17:47 -06:00
Benjamin Mastripolito
300e1089a4 Update modules/globebrowsing/shaders/rings_geom_fs.glsl
Co-authored-by: Alexander Bock <mail@alexanderbock.eu>
2025-05-19 22:31:29 -06:00
Alexander Bock
5e3a972767 Remove more warnings from the codebase 2025-05-19 20:35:14 +02:00
Alexander Bock
89131de88e Update oscpack submodule to set the correct include path 2025-05-19 19:56:18 +02:00
Alexander Bock
b39a5f3d7b Remove deprecated Lua functions (#3664) 2025-05-19 17:59:58 +02:00
Roxeena
eec755bfc7 Give hint to user if Horizons news appear instead of request results
* Fixes #3622
2025-05-19 17:37:21 +02: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
26211c1815 Fix documentation issues 2025-05-18 15:23:32 +02:00
Alexander Bock
8495acd171 Remove unused boolean return value for ScreenSpaceRenderable initialize and deinitialize functions 2025-05-16 23:57:40 +02:00
Adam Rohdin
0a82796f0f ScreenSpaceInsetBlackout (#3657) 2025-05-16 23:34:19 +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
Andreas Engberg
ee56eb62e8 errorlogtopic send log messages as json object instead of a fixed string (#3639) 2025-05-14 12:28:46 +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
hn-88
fd0d52afa9 Several fix for compiling on Mac. Specifying the output name of the web helper instead (#3651)
* Fix compile issue on Apple reg ALSA. since ALSA won't be available on Apple machines, we need to choose coreaudio instead.
* Changes for target without spaces. newer versions of CMake don't allow targets to have spaces, but we can specify TARGET_OUTPUT_NAME with spaces
2025-05-11 19:55:26 +02:00
hn-88
a88e1f46e5 more patches for building ARM64 (#3650)
A adding ARM64 PROJECT_ARCH options to enable building for Linux ARM64, Apple Silicon, etc
2025-05-09 10:21:33 +02:00
hn-88
5588395b2a Correct cef builds index link. Add arm64 binary download support (#3647) 2025-05-08 07:38:16 +02:00
Alexander Bock
0bec798cb3 Compile fix for CEF fix 2025-05-07 14:58:32 +02:00
David Wagner
d8a9ee8771 Fix CEF deprecation notice and crash (#3643)
According to https://github.com/chromiumembedded/cef/issues/3685, using
the so-called "Alloy bootstrap" (which seems to be the default) is
deprecated. This causes a warning when starting OpenSpace.

In some setups (e.g. an AppImage build on Ubuntu 22.04), the warning is
followed by a fatal error and a crash:

   [0505/213642.653624:FATAL:path_service.cc(265)] Failed to get the path for 1001

Following the migration instructions from the aforementioned ticket
solve both the warning and the crash.
2025-05-07 11:21:36 +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
bc715e1a74 Turn ResetTileProviders in RenderableGlobe into a button 2025-05-05 14:41:05 +02:00
benpm
c8243d75c1 (#3596) fixed normals in rings_geom_fs.glsl 2025-05-01 11:10:16 -06:00
Alexander Bock
f704bc9bb8 Correctly update scale, rotation, and scale classes where multiple subtypes are involved 2025-05-01 18:00:36 +02:00