Commit Graph

4054 Commits

Author SHA1 Message Date
Alexander Bock
6e18684297 Give the console first go at keyboard input (closes #3649) 2025-07-03 11:14:14 +02:00
Emma Broman
b51a3322e2 Fix toggleFade for multiple property owners, and add openspace.propertyOwner API function (#3721)
* Add a function for getting all propertyowners matching a certain regex
* Fix broken toggleFade - now works with multiple nodes
* Utilize updated toggle fade function in existing toggle actions
* Make `openspace.propertyOwner` work when only tag is included
* And make toggleFade work in a situation where tag matches both a screenspace renderable and scene graph node
* Remove mistakenly added scene graph node (it is really a screenspace renderable)
* Cleanup property check code to reuse check in both property and propertyowner function
2025-06-18 18:32:17 +02:00
Alexander Bock
21cfc7eb6b Fix the loading of binary session recording files recorded with version 0.15 2025-06-16 19:42:12 +02:00
Alexander Bock
e3fe192bb2 Correct the documentation for the startPlayback Lua function to take a full path instead 2025-06-16 15:51:31 +02:00
Alexander Bock
93c0f75ef2 Remove Clang warnings 2025-06-14 15:42:38 +02:00
Alexander Bock
5655088a25 Use correct sync directory in Dynamic Downloader 2025-06-14 13:47:35 +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
eb8f621390 Add new Lua function to save base64-encoded files to disk 2025-06-11 15:39:27 +02:00
Alexander Bock
94edfdb471 Correctly update whether OpenSpace has started before 2025-06-11 10:02:26 +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
d5c586f46f Prevent division by 0 error in ScreenSpaceSkybrowser (closes #3696) 2025-06-09 11:22:33 +02:00
Alexander Bock
fbd4128b34 Pass through the coding styles 2025-06-05 10:59:58 +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
32a99ea62a Replace “ and ” with " to make copy-pasting from the documentation page possible. Replace \ with / to make copy-pasting paths less painful (#3683) 2025-05-26 11:04:34 +02:00
Emma Broman
f0c3df7309 Fix broken selection properties (closes #3676)
And small options key cleanup
2025-05-23 09:22:06 +02:00
Alexander Bock
1d80019e53 Allow nil as a value for the setPropertyValue functions 2025-05-23 08:34:47 +02:00
Emma Broman
26ebee9b7a Add missing identifier in property json info
The JSON included the full URI, but not the identifier
2025-05-22 09:57:18 +02:00
Emma Broman
05f064aa2b Fix so property visibility change is respected also for currently hidden properties
We only subscribe to changes for visible properties, so here we need to notify the property owner about the change
2025-05-21 10:27:47 +02:00
Alexander Bock
212385a59a Don't refer to the ESC key in the shutdown message (closes #3666) 2025-05-21 09:39:53 +02:00
Alexander Bock
eaff4fdb4c Remove remnant of the deprecation functions 2025-05-21 09:10:50 +02:00
Alexander Bock
237798d9a3 Add ability to specify log level verbosity for file downloads. Make notification file download not log anything as there already will be a warning message 2025-05-20 16:16:14 +02:00
Alexander Bock
b39a5f3d7b Remove deprecated Lua functions (#3664) 2025-05-19 17:59:58 +02:00
Alexander Bock
8495acd171 Remove unused boolean return value for ScreenSpaceRenderable initialize and deinitialize functions 2025-05-16 23:57:40 +02:00
Alexander Bock
8630240260 Cleaning up the code for the setProperty value functions, add better documentation, and add the ability to combine tags (#3638) 2025-05-15 22:02:52 +02:00
Alexander Bock
2c77efbde1 Compile fix for Linux arch (#3642) 2025-05-05 19:49:34 +02:00
Alexander Bock
9b77afa95d Correctly display geodetic distances for objects with a bounding and interactionsphere of 0 2025-05-05 14:28:08 +02:00
Alexander Bock
43cd1fd831 Remove warnings 2025-05-01 10:29:37 +02:00
Alexander Bock
637ee4ec4f Cleanup of the Initializer class (#3631)
* Combine single- and multithreaded initializer to only one initializer
* Change the default to 0 to represent initializing the nodes on the main thread. Increase the default number of threads

---------

Co-authored-by: Malin E <malin.ejdbo@gmail.com>
2025-05-01 10:24:27 +02:00
Alexander Bock
7692e83340 Add some analyzer suggestions 2025-04-30 08:47:34 +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
6257f96dca Adapt to the change in the codegen repository 2025-04-23 17:21:19 +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
Arohdin
5a862c27d8 Updated property names for "maximum allowed distance"
`EnableMaximumAllowedDistance` and `EnableMinimumAllowedDistance`
2025-04-22 12:53:43 +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
9a623129d8 Add Notification window to the Launcher (#3595) 2025-04-16 17:13:14 +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
151d3f37b6 Fix reparenting function to actually update the children list of the two parents (closes #3603) 2025-04-15 19:26:32 +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
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
39a6d7ed5d Fix out of bounds crash and remove duplicate notifyChangeListeners (#3589) 2025-04-07 09:43:01 +02:00
Emma Broman
0d45e5fc8e Add documentation for ColorMappingComponent (#3581)
* Add documentation for `ColorMappingComponent`

* Apply suggestions from code review

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

* Adjust text for line width

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2025-04-07 09:37:21 +02:00
Emma Broman
c16968e6fb Update SGN Focusable property identifier to match the one in codecen parameters
So we can set it from an asset
2025-04-04 15:57:40 +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
b1a8c82a1e Use central subdirectory function. Fix compile issue with Tracy 2025-03-24 15:10:34 +01:00
Alexander Bock
86dd037870 Window Configuration Generation (#3550)
* Use built-in toJSON converter instead of manually creating the string. Also removes the ability to create fisheye configuration files from the Lua script directly
2025-03-24 08:49:37 +01:00