Commit Graph

198 Commits

Author SHA1 Message Date
Andreas Engberg
ee56eb62e8 errorlogtopic send log messages as json object instead of a fixed string (#3639) 2025-05-14 12:28:46 +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
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
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
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
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
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
53e356e819 Remove the unused any alternatives of the property accessor functions 2025-02-06 10:23:00 +01:00
Alexander Bock
096363fd06 Make constructors explicit 2025-02-05 23:22:32 +01:00
Alexander Bock
820e90eab4 Happy new year 2025-01-14 16:21:08 +01:00
Alexander Bock
438d6e3ddd SessionRecording and KeyframeRecording redesign (#3399) 2024-10-21 15:06:40 +02:00
Andreas Engberg
0fc9265837 Feature/assetvalidation (#3396)
# To run the script
Make sure to install the latest Python API version `openspace-api 0.1.2`
The script is located in `OpenSpace/support/assetvalidation`, the main script takes a few command line arguments

`--dir` - specify the OpenSpace directory 
`--filter` - optionally supply a regex string to filter which assets to validate
`--verbose` - flag to print debug info to log and also console (default off), if off only warnings and errors are logged
`--start` - flag to start OpenSpace as a subprocess (default on) if this is off it assumes OpenSpace is already running, useful if you want to run OpenSpace via Visual Studio for example. 
`--at` - specify an index to start at a specific asset

run eg: 
`python main.py --dir="C:/User/Desktop/OpenSpace" --filter="examples" --verbose=True --start=False --at=35`
2024-10-10 15:55:53 +02:00
Alexander Bock
ff345006d1 General code cleanup (#3445) 2024-10-10 09:49:02 +02:00
Alexander Bock
fd64fe7c96 Improvements to the ScriptLog logging (#3389)
* Restructuring the queueScript function
* Don't log the contents of actions that are triggered.  Add the ability to do verbose logging in the scriptlog
2024-09-09 21:16:57 +02:00
Emma Broman
a7c11b4de9 Make empty dictionary convert into an empty json object and not undefined
Fixes a crash in the GUI when no gui order was set, e.g. in the empty profile
2024-08-29 09:30:33 +02:00
Alexander Bock
ab4023b9fd No longer send the script source of shortcuts via the topic. Don't scripts into the log that are binary blobs 2024-08-14 14:38:46 +02:00
Alexander Bock
c4c82483e0 Update copyright header in CMakeLists files 2024-07-31 10:57:10 +02:00
Ylva Selling
059ab70218 Add events for adding and removing actions and publishing events when an action is added (#3325)
* Remove unused shortcut manager
* Add events for adding and removing actions
* Publish event when an action is added
* Add get_action event to shortcut topic which sends requested action to the topic
* Add better comments to events
* Publish event action removed when removing an action
* Rename actions to shortcuts in the json object
* Remove subscriptions and rename action to shortcut
2024-06-14 20:48:13 +02:00
Ylva Selling
1cae99ebfc Issue/2000 automatically update gui (#3289)
* Make it possible to query a propertyowner by uri with the getpropertytopic

* Remove automatic reloading of ui from drag and drop script

* Add function for uri for propertyowners

* Add uri to the to_json for the propertyowner

* Add comment for the propertyOwner function and update the comment for the property function to clearer distinguish between uris and identifiers

* Go back to the old events but with uris instead as their member

* Apply feedback from PR

* Address PR comments

---------

Co-authored-by: Ylva Selling <ylva.selling@liu.se>
2024-06-04 18:32:41 +02:00
Alexander Bock
78b3b4fb2e Adding periods to the description texts 2024-04-23 22:33:17 +02:00
Alexander Bock
2a88521795 Properly disable appropriate code when compiled without globebrowsing support (closes #3146) 2024-04-07 17:44:21 +02:00
Alexander Bock
cdf98f7889 Optimizing the data loading. Adding more Tracy macros 2024-03-28 14:30:12 +01:00
Alexander Bock
49fc538c17 Rename fmt.h to format.h and enable audio module on default 2024-03-25 23:19:52 +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
534f92c485 Second linting pass and adding .clang_tidy file (#3128) 2024-03-18 22:46:17 +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
Ylva Selling
fc2d48fa06 Rename functions for consistency 2024-03-04 14:14:23 +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
126c62dc3a Move json documentation generation from keybindings to documentation engine 2024-02-23 16:44:22 +01:00
Ylva Selling
94aa098457 Move generated json documentation from factory manager to documentation engine 2024-02-23 16:17:02 +01:00
Ylva Selling
5fdd2e9938 Move documentation generation for script engine from script engine into documentation engine 2024-02-23 15:53:28 +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
902da116e7 Remove interesting times (closes #2991) 2024-01-09 15:34:54 +01:00
Emma Broman
9c77a12269 Issue/2665 - Show timer for how long time left in camera path (#2980)
* Add a camera path topic and compute remaining time in path

* Remove unused parameter in function

* Include speed scale in estimation of time the path will take

* Includes cleanup and address review comments

* Round instead of ceil, to make countdown reach 0 in most cases

* Update GUI hash
2023-12-20 08:28:07 +01:00
Alexander Bock
3a9716a535 No need to use the .set method of properties directly 2023-11-28 21:37:52 +01:00
Alexander Bock
7db7c40841 Doxygen style overhaul (#2954)
Reformatting the existing Doxygen comments to be unified
2023-11-20 23:39:17 +01:00
Alexander Bock
3c35d23062 Verifier cleanup (#2952)
* Add a description to structs
* Cleanup
2023-11-19 11:51:19 +01:00
Alexander Bock
870850db07 Enable warnings for missing case labels and subsequent cleanup. Updated ghoul, sgct, and codegen repository for same 2023-11-05 22:16:06 +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
Alexander Bock
4edb796147 Also set the socket type for the server connection correctly; Fix the broken spacetime component again 2023-05-16 15:34:32 +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
c1e9993c27 Add option to have actions in a milestone in mission UI 2023-05-11 14:58:54 -04:00
Alexander Bock
6dfd0cd3a8 Remove warnings on MSVC 2023-04-26 23:51:16 +02:00
Ylva Selling
d6ddd86a35 Rewrite asset json function to nlohmann::json 2023-04-26 17:30:51 -04:00