Commit Graph

817 Commits

Author SHA1 Message Date
Joakim Kilby
ed39d4fc68 Add possibility to capture, edit & replay camera-keyframes (#2785)
* Add possibility to capture, edit & replay camera-keyframes

* fix compilation on non-windows systems

* use cbegin/cend instead of std::views

* Coding style adaptions

* Member variable names

* add Keyframe struct, fix pr suggestions

* add function to remove keyframes

* add lua function to fetch keyframes

* Update lua documentation

* add constexpr keys for json entries

* Add log info messages, input checks and general pr suggestions

* update comments to doxygen style

* batch of pr suggestions

* add jump to keyframe function

* update docs

---------

Co-authored-by: Alexander Bock <mail@alexanderbock.eu>
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
Co-authored-by: Andreas Engberg <adde.engberg@gmail.com>
2024-08-30 10:25:38 +02:00
Alexander Bock
2e4b99787f Resolve ShellLink files before passing them to the drag/drop handler (closes #2544). Add new Lua function to resolve Shell links 2024-08-22 15:20:02 +02:00
Alexander Bock
f2a9477eb5 Lua Securty Sandboxing (#3378)
* Add Lua sandboxing
* Convert existing files to use custom functions instead of now-prohibited library functions
2024-08-16 13:46:39 +02:00
Alexander Bock
75b4609c52 Remove explicitly specifying LuaState constructors 2024-08-07 11:34:57 +02:00
Alexander Bock
43645ce7a4 Fix existing assets; Make the goToGeo function without altitude in the profile work 2024-06-14 23:55:55 +02:00
Emma Broman
95b4deccca Fix the goToGeo call when the camera is set from a profile 2024-06-06 09:39:49 +02:00
Alexander Bock
7a2b876541 Add profile information to the visual test files (#3270)
* Update test files
* Fix apollo test
* Cleanup test files
* Include information about the profile being loaded
* Add documentation about the visual tests
2024-05-23 13:09:01 +02:00
Ylva Selling
7757ec7976 Merge pull request #3212 from OpenSpace/issue/2996
Issue/2996 - documentation engine rewrite
2024-04-30 16:11:13 +02:00
Ylva Selling
708143d06e Make json file printout a separate function 2024-04-30 15:49:23 +02:00
Alexander Bock
78b3b4fb2e Adding periods to the description texts 2024-04-23 22:33:17 +02:00
Alexander Bock
58bc1bd29d Publish event when a scheduled script is executed (closes #1892) 2024-04-19 13:27:15 +02:00
Alexander Bock
50dadb37a8 Rename filesystem token from USER_PANELS to USER_WEBPANELS 2024-04-16 20:40:17 +02:00
Micah Acinapura
cfb400e7b8 added user panel token and folder needed for webgui pr (#3141) 2024-04-16 08:15:03 +02:00
Alexander Bock
4328476d26 Use more filesystem::path where applicable 2024-04-06 23:55:59 +02:00
Alexander Bock
cdf98f7889 Optimizing the data loading. Adding more Tracy macros 2024-03-28 14:30:12 +01:00
Emma Broman
3f8bff5a62 General performance improvements (#3142)
* Adding some Tracy zones
* Move point cloud dataset loading to initialize function to speed up startup 
* Switch order of operations in memoryaware tile cache to speed up startup
* Move point cloud dataset loading to initialize function
* Add more Zone Scoped and rearrange SDSS loading
* More speed up

---------

Co-authored-by: Alexander Bock <mail@alexanderbock.eu>
2024-03-28 01:10:07 +01:00
Ylva Selling
f625dc296b Update PR according to comments 2024-03-25 11:23:00 +01:00
Ylva Selling
b347659510 Merge branch 'master' into issue/2645
# Conflicts:
#	src/documentation/documentationengine.cpp
#	src/properties/propertyowner.cpp
#	src/scripting/scriptengine.cpp
#	src/util/factorymanager.cpp
2024-03-25 11:14:09 +01:00
Alexander Bock
3ba346a227 Remove fmt::format and replace with std::format 2024-03-24 20:19:14 +01:00
Alexander Bock
2759c00e4b Pass through the code to address clang-tidy linting (#3083) 2024-03-17 00:58:50 +01:00
Alexander Bock
9a6fe47d17 Fix up text formatting as path's no longer get quoted 2024-03-08 20:19:06 +01:00
Alexander Bock
fff6f8a627 General pass for code cleanup 2024-03-08 00:36:54 +01:00
Alexander Bock
86c2c75b01 Coding style 2024-03-04 13:32:56 +01:00
Alexander Bock
b77e03dce2 Some general cleanup 2024-03-04 13:03:40 +01:00
Ylva Selling
1ceb3d1f5a Merge remote-tracking branch 'origin/master' into issue/2645 2024-03-04 10:55:49 +01:00
Alexander Bock
7a2efc66d6 Simplify profile loading and handling of the loading screen 2024-02-28 00:19:06 +01:00
Ylva Selling
3fdac4a6d0 Move function from SceneLicenseWriter to DocumentationEngine and remove SceneLicenseWriter files 2024-02-26 09:10:52 +01:00
Ylva Selling
373f4ca924 Move documentation function from openspace engine to the documentation engine 2024-02-23 13:56:38 +01:00
Ylva Selling
e77443b825 Add events to documentation 2024-02-22 10:41:03 +01:00
Ylva Selling
6751b30c03 Add actions to documentation file 2024-02-22 09:10:51 +01:00
Alexander Bock
fa1847d235 Add Lua function to load a JSON file 2024-02-10 10:18:57 +01:00
Alexander Bock
6e29d898cf Update copyright header 2024-02-06 15:53:24 +01:00
Andreas Engberg
04ff09814d Add event topic (#3010)
* Add event topic

Add ability to subscribe to events via js-api

* Apply suggestions from code review

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

* Output an error if no status or event object is passed to payload

* fixed typo

* Report a warning if user tries to unsubscribe to a non registered event/type combination

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2024-01-24 13:51:55 +01:00
Alexander Bock
cae9834ec7 Add log rotation function to the Script log as well (closes #2995) 2024-01-09 15:44:22 +01:00
Malin E
690878bc87 Layers maintenance (#2917)
* Separate layers for the Moon and Earth

* One asset each for each server, New York, Utah, and Sweden

* Add the layers asset files for Earth and Moon

* Add new layers structure for Mars and Europa

* Add layers assets for Mercury and Enceladus

* Add more layer assets for all servers

* Add layer assets for each server on the top asset level

* Rename Venus Utah cloud combo layer asset (breaking change)

* Clean up layer asset descriptions

* Update layer asset version name

* Fix base layers error

* Add configuration option to choose layers server

* Add Lua functions to access configuration settings

* Extend configuration Lua function

* Add layer server setting in setting gui + add 'None' as a server option

* Add base layers when server 'None' is used

* Add tests for the new Layer Server setting
2023-12-06 16:17:23 +01:00
Emma Broman
c525565e84 Utilize new functions for converting strings to upper/lower case (#2956)
* Utilize new functions for converting strings to upper/lower case

* Adapt to updated file name

* Use new function signature

* Update ghoul
2023-11-28 14:57:01 +01:00
Andreas Engberg
f3c4fc54db Update UrlSynchronization to limit amount of downloads (#2586) (#2933)
Limits the number of URL synchronization downloads by time stamping files for X seconds fixes (#2586). 
Also, show the amount of downloaded data as soon as the download is started fix (#2460)

* Adds time validity to UrlSynchronized files (#2586)

Updated affected asset files. Satellite asset files lasts for 24h by default now. Other assets are updated to work as before. Obs timestamp is computed using UTC time.

* Code cleanup

* Update httpsynchronization.cpp

* Applied suggestions from code review

* Update multi-line comment to `//`

* Remove accidental commas in .asset files

Co-authored-by: Emma Broman <emma.broman@liu.se>

* Fixed PR comments + bug in .asset file

* Refactor code

* Reports downloaded data as early as possible, fixes (#2460)

* More files

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
Co-authored-by: Emma Broman <emma.broman@liu.se>
2023-11-14 17:08:38 +01:00
Andreas Engberg
9343c6315d Adds warning and error messages on loading screen (#2941)
Fixes task 1 of (#494)

* Removed loading screen progress bar

It was removed because it does not show an accurate estimation of load times and is rarely used (off by default)

* Add status info to the loading screen on warnings and errors 

Add: Warning logs and above to loading screen, fixes task 1 of (#494)
Removed code duplication in openspanceengine.cpp
Fixed some bugs where completed assets would not disappear from the screen

* Update the design & address PR comments

* Address PR comments & add bool to show/hide log msg

* Delete test_configuration.cpp

* Update Ghoul submodule

* Renders number of warnings and errors to screen

* Update renderengine.cpp

* Adapt new function to the coding style

---------

Co-authored-by: Alexander Bock <mail@alexanderbock.eu>
2023-11-14 15:40:30 +01:00
Alexander Bock
b62e604b2e Adds a persistent file used to store user settings (#2931)
* Enable the loading of settings
* Add a user interface for changing the settings in the launcher


Co-authored-by: Emma Broman <emma.broman@liu.se>
2023-11-13 08:52:51 +01:00
Malin E
4447de87f5 Issue/2768 (#2872)
* Rename remote scripting property to reflect better what it does

* Change the remote scripting name in all modules

* Update all scripts and action calls to use the new property for sync

* Simplify code that decides whether to send actions to nodes and peers

* Move Lua console hint text to be right top aligned

* Update Lua script topic

* Added new JSON key whether or not the script should be synced to other
  nodes and peers

* Per default all scripts sync to everyone
  In the next full release, we should have two separate keys that
  decides whether to sync and send to nodes and peers separately

* Add some comments that explain why there is no sync for some scripts

* Make sync argument in trigger action function BooleanType
2023-09-07 13:21:29 +02:00
Emma Broman
7411302334 Fix fatal error when starting profile with navigation state camera setting
And provide more information in the fatal error message... (emerged from commit 30b80843c3)
2023-08-08 13:41:20 +02:00
Alexander Bock
30b80843c3 Add a new Lua function that resets the camera back to the start position (closes #2825) 2023-08-03 21:50:25 +02:00
Emma Broman
c949a9892c Issue/2227 - Option to just specify a scene graph node in profile editor camera dialog (#2699)
* Add profile edit to start camera at a given scene graph node

* Restructure some navigation code to allow computing camera pose from node

* Delay computation of camera pose for node spec as well... And give NodeInfo a more extensive name (The objects may move during the frame, making the computed pose invalid)

* Update to make scene graph node first option in editor

* Add some description to each tab in the camera dialog

* Add operator== for CameraGoToNode struct to make the unit tests compile

* Add version handling for new profile version

* Add option to specify an optional height

* Update current version constant, for old test cases to go through successfully

* Add some test files

Note that apparently, the profile loading does not check the values of the individual fields, just existence, and type. So added two test cases that are not currently checked.

---------

Co-authored-by: Alexander Bock <mail@alexanderbock.eu>
2023-05-24 11:22:41 +02:00
Alexander Bock
94f9e1b051 Do not crash when trying to access a module folder that does not exist (closes #2703). Remove the ability to specify external modules 2023-05-17 22:32:13 +02:00
Joakim Kilby
ca4b6d2ce2 Fix viewport & window issues (#2630)
* Add support for multiple windows & viewports
With correct rendering of both Scene and Overlays/GUI.
GUI is restricted to either the first window or any other windows tagged
with "GUI", overlays are drawn on all windows/viewports.

Closes #2542 and #1645
2023-05-17 22:02:47 +02:00
Alexander Bock
bde840ad03 Remove a bunch of compiler warnings
* Remove compile warnings
* Coding style fix
2023-05-16 11:59:28 +02:00
Ylva Selling
9a1e6b8002 Remove old json functions 2023-04-26 16:58:55 -04:00
Ylva Selling
e0fc813525 Update scripting documentation to be backwards compatible 2023-04-26 15:10:32 -04:00
Ylva Selling
a668f08f03 Make documentation file use camelCase for the keys 2023-04-26 13:33:39 -04:00
Ylva Selling
3ad2d35cb4 Make all json keys lower case 2023-04-25 17:40:19 -04:00