Commit Graph

5966 Commits

Author SHA1 Message Date
Micah Acinapura
1d34da9255 updates to softwareintegration mosdule to merge with master; right now everything seems to be working except the LinearSizeAttribute 2025-05-16 10:46:10 -04:00
Micah Acinapura
f1808aea76 Merge branch 'master' into merge/2022softwareintegration 2025-05-14 10:09:29 -04: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
Alexander Bock
f704bc9bb8 Correctly update scale, rotation, and scale classes where multiple subtypes are involved 2025-05-01 18:00:36 +02:00
Alexander Bock
f7f1aa30ad Update cfitsio to fix GCC 15 compile issue (closes #3632) 2025-05-01 17:23:01 +02:00
Alexander Bock
43cd1fd831 Remove warnings 2025-05-01 10:29:37 +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
Arohdin
0e2a365e55 Moved onChange function for horizonstranslation 2025-04-24 17:30:41 +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
Alexander Bock
8a364c16e3 Fix layout issues with Dashboards (#3614)
- Correctly render multiline text passed to a DashboardItemText
  - Invert the property for the Dashboard location to no longer need a negative y-axis
  - Use the current lineheight instead of pointsize for the ScreenLog
  - Remove the unused size function from DashboardItems
2025-04-21 01:10:02 +02:00
Alexander Bock
bd448a1dd6 Fix the text alignment in the DashboardItemMission (closes #3540) 2025-04-20 20:22:07 +02:00
Emma Broman
93ef632663 Fix faulty identifier in exoplanet system creation script
And clarify that some tags are used in the UI => dangerous to change
2025-04-17 10:02:42 +02:00
Alexander Bock
125f54aa0a Update nlohmann repository (#3609)
* Remove old non-submodule version of nlohmann in favor of submodule
* Update nlohmann from 3.9.1 to 3.12.0
- Already disable implicit conversions in preparation for next major version
2025-04-16 14:13:20 +02:00
Alexander Bock
b554187d76 Improve performance of setPropertyValue function (#3579)
* Cache full property URIs
  * Multithreaded handling

---------

Co-authored-by: Emma Broman <emma.broman@liu.se>
2025-04-15 17:43:57 +02:00
Emma Broman
b5dbee2164 Fix exoplanet system 1 AU ring no longer being a ring, but a grid
Default value for gridsegments changed in #3506
2025-04-15 12:59:48 +02:00
Alexander Bock
17b182cda3 Add new Kepler data reader for the IAU's Minor Planet Center database files (#3591) 2025-04-14 19:50:05 +02:00
Alexander Bock
af20b97dc7 Add ability to configure horizontal field of view per window instead (#3584) 2025-04-14 19:47:54 +02:00
Ylva Selling
17279d2b4a Add handling for apostrophe code (#3594) 2025-04-11 13:40:30 +02:00
Emma Broman
d47e7f2074 Add type documentation for the different light sources (#3582)
* Add type documentation for the different light sources

* Address code review comments
2025-04-04 10:02:08 +02:00
Alexander Bock
6fa3f76c48 Add a new panel to the Launcher to control which WebUI button appears on the bottom bar (#3569)
- Add markNodes to the profiletopic

---------

Co-authored-by: Ylva Selling <ylva.selling@gmail.com>
2025-04-03 18:09:35 +02:00
Emma Broman
eb709b830c Small option property cleanup (#3577)
* Notify change listeners

I can't come up with a reason for why we would not want to do this

* Remove the Display Type for OptionProperty (only used in ImGui)

* Replace extra boolean with internal anonymous addOption function

* Tiny refactor

* removed dropdown on a couple of more places

* Update optionproperty.cpp

---------

Co-authored-by: ElonOlsson <olssonelon@gmail.com>
2025-04-02 09:28:11 +02:00
Alexander Bock
80955e3ec1 Add ScreenSpaceRenderableRenderable class (#3575) 2025-04-01 12:45:35 +02:00
Alexander Bock
070d1180e5 Fix issue with scnlib update 2025-04-01 10:13:47 +02:00
Alexander Bock
bf2fee7d71 Submodule updates (#3586)
Update submodules and also provide compatibility with CMake 4.0.

  - assimp: `v5.4.1` -> `v5.4.3`
  - catch: `v3.5.3` -> `3.8.0`
  - date: `master` -> `v3.0.3`
  - freetype2: `v2.10.4` -> `v2.13.3`. Also change to freetypes original Git server
  - glbindings: `v3.3.0` -> `v3.4.0`
  - glm: `master` -> `v1.0.2`
  - scnlib: `v4.0.1` -> `v2.0.2`
  - soloud: `master` -> `master`
  - tinyxml: `master` -> `v11.0.0`
  - tracy: `v0.10.1` -> `v0.11.0`
2025-03-31 22:30:31 +02:00
Alexander Bock
e93ad7910f Rename propertyowner and gui to geographic overlays (#2883)
Breaking change
2025-03-24 17:12:47 +01:00
Alexander Bock
28d0a778d5 Add proper motion of stars (#3561) 2025-03-20 09:55:19 +01:00
Alexander Bock
edd123197f Give the GeoJSON component in the RenderableGlobe a better name (closes #2883) 2025-03-19 13:31:13 +01:00
Alexander Bock
2e191b6bd2 Second merge fix 2025-03-17 11:42:57 +01:00
Alexander Bock
ab84ca7ad6 Fix merge issue 2025-03-17 11:37:32 +01:00
Alexander Bock
5008aa7cd7 Adding documentation and examples (#3541)
- Make the SourceType and DestinationType parameters required in the DashboardItemAngle
  - Shift the "UTC" string in the DashboardDate from the FormatString to the TimeFormat
  - Make the SourceType and DestinationType parameters for the DashboardItemDistance required
  - Add new "Deltatime" option to the DashboardItemFramerate.  Add examples for the DashboardItemFramerate
  - Fix issue where the inputstate would not update if no option was selected
  - Automatically disable simplification if a unit is requested in the asset for a DashboardItemSimulationIncrement or DashboardItemVelocity
2025-03-14 11:25:26 +01:00
Alexander Bock
fc9b2ab091 Increase the compilation speed (#3545)
- Remove toStringConversion function and move json_helper include out of numericalproperty.inl
  - Optimizing some header files
  - Remove duplicate Lua functions from properties. 
  - Move List,Option,Selection,String, and TriggerProperty into misc folder
  - Move lua_helper include out of inline file
  - Add lua_helper to the precompiled header
  - Declare property functions as final. No longer have OptionProperty derive from IntProperty
  - Remove Dictionary header from properties
2025-03-14 11:22:40 +01:00
Alexander Bock
0e815559d2 Improve the error message for FixedRotation (closes #2445) 2025-03-10 14:56:59 +01:00
Alexander Bock
9b5c7b3080 Fix merge error 2025-03-10 14:31:04 +01:00
Alexander Bock
7328a94fb1 TimeFrame specification and status (#3553)
* Makes Translation/Scale/Rotation all able to have a TimeFrame, not just the SpiceRotation.  Add read-only BoolProperty to the TimeFrame that indicates whether the current time is a in the timeframe

---------

Co-authored-by: Emma Broman <emma.broman@liu.se>
2025-03-10 13:53:32 +01:00
Alexander Bock
b6d380d84c Add new class TimelineScale (#3536) 2025-03-06 13:06:19 +01:00
Roxeena
737976a8d2 Enable depth for RenderableSphericalGrid 2025-03-06 11:44:37 +01:00
Alexander Bock
25f7a2f1e4 Fix assertion failures in the ImGUI UI code 2025-03-04 11:43:44 +01:00