Commit Graph

11715 Commits

Author SHA1 Message Date
Emma Broman 417996565e Fix renderbin mode Parameters list to include new Sticker
So that Sticker bin can be set from an asset
2024-10-23 13:45:51 +02:00
Alexander Bock 390d4a3e50 Fix issue with creating RenderableGlobes with layers 2024-10-22 15:24:35 +02:00
Alexander Bock fef526652d Update WebGUI commit hash 2024-10-21 15:08:32 +02:00
Alexander Bock 438d6e3ddd SessionRecording and KeyframeRecording redesign (#3399) 2024-10-21 15:06:40 +02:00
Emma Broman 304cbb2032 Provide errors when setting exoplanet module file paths 2024-10-21 10:04:35 +02:00
Emma Broman 68c2157dd4 Move Exoplanet creation code from C++ to Lua (#3450)
* Move exoplanet creation code to Lua

* Add more descriptions and handle missing values

* Remove old creation function and move load from CSV to Lua

* Properly document all functions, including a type for the `systemData` return value

* Add `\param` documentation to the scripts

* Cleanup and move helper functions to core scripts

* Throw Lua errors when things go wrong, instead of returning empty objects

This prevents the rest of the code from being run

* Flesh out TODO comments, so future us know why they are there


---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2024-10-21 09:30:18 +02:00
Andreas Engberg 6dd3dd8ab8 Feature/UI launcher accessibility (#3417)
* update background and foreground colors in launcher

* Change tab order and preliminary focus visuals

* update focus color

Improves on #3091 but does not fixes it, the contrast ratio is 2.4/2.9-3.3 versus the white border/the gray background on each button/dropdown

* update focus border width

* Update color of error messages fixes #3103

* Enable enter key interaction on ui launcher buttons fixes #3092

* Update accessibility names on buttons and fields where the current readout does not make sense, fixes #3089

* Fixed issue where you could not tab out of multiline textfields

* Add overlay to the launcher image to increase contrast

* Slightly improves readability of Start button fixes #3096

We decided to keep the all caps to indicate call to action

* Add start button to have default focus which enables quick start by pressing enter or space on startup

* Removed overriden object name

* Update color label text for better clarity fixes #3094

The actual fix is in #9a7e8e1

* Add `esc` keypress to exit the launcher fixes #3097

* add placeholder text for profile name fixes #3101

* Fixed issue with properties, assets, and keybindings multiline readout, fixes #3098

* Change tab order of properties, assets, and keybindings: text area -> edit button,  fixes #3099

* Add prompt to user warning of unsaved changes in profile editor

* Add error message dialog fixes #3100

* Removed unused code

* Remove hardcoded color for information text in cameradialog

* Don't compare profile files but profiles instead

* Add same focus outline to all buttons in launcher

---------

Co-authored-by: Alexander Bock <mail@alexanderbock.eu>
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2024-10-11 10:13:32 +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
Emma Broman e3271670a7 Update comments in time_lua to new script documentation format (#3438)
* Update comments in time_lua to new script documentation format

* Fix some mistakes in formulation about how pausing works

* Add return value documentation
2024-10-10 11:51:12 +02:00
Emma Broman 275fbb63b7 Fix broken ghoul_assert that prevented building in Debug 2024-10-10 11:47:26 +02:00
Emma Broman 8d176e4aa8 Fix error in openspace.time.secondsPerYear function documentation 2024-10-10 11:33:45 +02:00
Malin E 3d3d696eb9 Update OS-model format and fix model cache bug (#3395)
* Update ghoul - update model cache version

* Update OS-model format to work with the new cache version

* Plus some backward compatibility
2024-10-10 10:11:03 +02:00
Alexander Bock ff345006d1 General code cleanup (#3445) 2024-10-10 09:49:02 +02:00
Alexander Bock 125114cad5 Add documentation for TileProviderByLevel (#3446)
---------

Co-authored-by: Ylva Selling <ylva.selling@gmail.com>
2024-10-10 09:48:39 +02:00
Malin E 9582d81fb6 Sync out the anchor node, issue 2854 (#3398)
* Sync out anchor node to all connected clients

* Remove warning in case anchor node is nullptr

* Always sync out the anchor node to nodes
2024-10-09 10:39:13 +02:00
Emma Broman 2d6e2d891b Remove any double whitespace in script documentations (closes #3448) 2024-10-03 14:05:28 +02:00
Alexander Bock 56a9d6ae8c Add the ability to query RAM and VRAM usage (#3427) 2024-09-28 13:19:29 +02:00
Emma Broman 326740095f Do not hide requestedUnit of dashboarditem distance in UI (#3435)
* Do not hide requestedUnit of dashboarditem distance in UI

We want to be able to change it during runtime

* Change visiblity of RequestedUnit properties
2024-09-25 11:03:23 +02:00
Alexander Bock 4f58eff235 Make it possible to choose in the asset whether the domain filtering in a fieldline sequence. Apply the change to the Juice fieldlines (closes #3437) 2024-09-25 10:24:15 +02:00
Emma Broman acc6e41f3d Screenspace dashboard distance to earth example (#3428)
* Add screenspace dashboard example for showing distance to earth in lightyears

* Address review comments
2024-09-25 09:45:05 +02:00
Emma Broman 0fe90ed5b4 Fix ScreenSpace Rotation not being settable from asset
And restructure construction code to make it easier to find issues with unset parameters
2024-09-24 11:48:18 +02:00
Emma Broman 75bbd3b8ad Add possiblity to set timestamp when using jumpToNavigationState 2024-09-24 08:53:23 +02:00
Alexander Bock 5fdc2c4bb8 Add examples for SpiceTranslation (#3413) 2024-09-23 11:35:01 +02:00
Alexander Bock db23148af0 Add ability to schedule Lua scripts (#3416) 2024-09-23 11:34:51 +02:00
Emma Broman 24a2247aa4 Give exoplanets a color based on their size (#3412)
* Add a tag for all exoplanet globes

* Add color to exoplanet globes based on their size

* Update color of terrestrial planets to be more deeply brown

* Change order so that the default texture for planets is shown on top

I.e. only use color if no other texture was provided

* Add descriptions of layer and planet type

* Add descriptions for some more things in the system

* Increase ambient intensity for when a planet is colored (not textured)

* Ignore GlobeBrowsing shader warning when setting camera position (closes #3405)

* Apply suggestions from code review

* Fix new constant names (from review)

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2024-09-18 11:02:30 +02:00
Ylva Selling 8ad84b6d35 Make useAcceleratedRendering a uniform for screenspace renderables 2024-09-17 17:17:46 +02:00
Alexander Bock c0ca1acb33 Don't crash when enableing the shadow component on a planet that doesn't have a ring system (closes #3404) 2024-09-16 18:01:10 +02:00
Alexander Bock 06a92620d1 Ignore GlobeBrowsing shader warning when setting camera position (closes #3405) 2024-09-16 17:32:48 +02:00
Alexander Bock 062278b0a0 Store last profile and configuration from the launcher (closes #3410) 2024-09-13 12:30:24 +02:00
Alexander Bock 6d56fec0ec Update README.md 2024-09-13 11:32:17 +02:00
Emma Broman b351f80298 Fix broken Earth radius distance constant 2024-09-13 11:05:30 +02:00
Gene Payne 67992558e1 Fixes for linux build with most recent CEF update (#3407) 2024-09-12 09:17:24 -06:00
Alexander Bock 462629762a Don't print version number in dump file if not in release mode 2024-09-12 16:34:30 +02:00
Alexander Bock e24cff1d19 Handle warnings and coding style adaptations 2024-09-12 16:30:09 +02:00
Emma Broman 77672f0cc4 Fix, cleanup and simplify RenderableGlobe properties (#3408)
* Restructure "general properties" into shadow mapping and regular ones

To better connect to subpropertyowners and avoid having to specify an ordered list in constructor... Hard to keep track of

* Restructure properties in constructor to more easily find errors

* Add values that could not be set from parameters (e.g. from asset or script)

* Apply suggestions from code review

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

* Address review comments

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2024-09-11 16:40:38 +02:00
Alexander Bock b6819fc22e Fixes for unit tests.
- Fix issue where a propertyowner would not report its uri correctly
  - Fix inconsistency with number->string conversions
  - Adapt SPICE tests to now baked-in leap seconds kernel
  - Disable CreateSingleColorImage test as it requires an OpenGL context
2024-09-11 10:51:00 +02:00
Alexander Bock 3024467cbc Prevent crash when requesting a mouse click outside the window borders 2024-09-10 15:05:23 +02:00
Alexander Bock bc8df9a3d9 Fix issue with constellations asset when no sync folder is present 2024-09-10 13:58:06 +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
Andreas Engberg ddbf155e8b fixed return type to tuple 2024-09-04 09:21:59 +02:00
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
Emma Broman 311c69cc7a Update GUI hash
For a couple of small fixes. Non-breaking
2024-08-29 09:41:58 +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 16484dc295 Doxygen cleanup and moving functions in SceneGraphNodes 2024-08-28 11:50:39 +02:00
Ylva Selling aed2c0b0c8 Issue/2244 different mouse cursors (#3388)
* Update CEF version number

* Set OpenSpace_Helper version of C++ to 20

* Update C++ syntax to v 20

* Remove deprecated function (now default)

* Set the cache folder for cef

* Make static function in webbrowsermodule that determines if we can use accelerated rendering

* Add flag for accelerated rendering to webrenderhandler

* Use accelerated rendering

* Implement function to see if gui should absorb click

* Adhere to 80 char linewidth

* Make only the UI GPU accelerated

* Use dirty rects size for the texture to remove crash

* Better comments

* Make has content function work for GPU acceleration

* Make it so all browsers can be accelerated

Tried making it so only the gui was accelerated for simplicity. Performance plummeted, so reverted that

* Tidy up

* Add accelerated rendering flag to the screenspacerenderable shader

* Add temporary fix to make the sky browser work

* Remove flag from gui render handler

* Enable webgl in a nicer way

* Unbind texture in screenspacerenderable

* Add better comments for error handling

* Tidy up

* Address PR comments

* Make the acceleration Windows only

* Remove unnecessary setting of shader dictionary

* Add display handler to browser client

* Make glfw change mouse cursor depending on cef cursor

* formatting

* Add switch to main

* Update modules/webbrowser/src/browserclient.cpp

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

* Address comments on PR

* Update again

* Update modules/webbrowser/src/browserclient.cpp

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

* Address PR comments

---------

Co-authored-by: Ylva Selling <ylva.selling@liu.se>
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
Co-authored-by: Emma Broman <emma.broman@liu.se>
2024-08-28 10:44:17 +02:00
Ylva Selling fd586e30a3 Set useAcceleratedRendering flag in skybrowser 2024-08-23 16:46:36 +02:00
Alexander Bock bf8c2bbe13 Add missing information about color-enhancement for the Viking image 2024-08-23 10:30:15 +02:00
Ylva Selling 11bb8e7ac5 GPU accelerate CEF (#3386)
* Update CEF version number

* Set OpenSpace_Helper version of C++ to 20

* Update C++ syntax to v 20

* Remove deprecated function (now default)

* Set the cache folder for cef

* Make static function in webbrowsermodule that determines if we can use accelerated rendering

* Add flag for accelerated rendering to webrenderhandler

* Use accelerated rendering

* Implement function to see if gui should absorb click

* Adhere to 80 char linewidth

* Make only the UI GPU accelerated

* Use dirty rects size for the texture to remove crash

* Better comments

* Make has content function work for GPU acceleration

* Make it so all browsers can be accelerated

Tried making it so only the gui was accelerated for simplicity. Performance plummeted, so reverted that

* Tidy up

* Add accelerated rendering flag to the screenspacerenderable shader

* Add temporary fix to make the sky browser work

* Remove flag from gui render handler

* Enable webgl in a nicer way

* Unbind texture in screenspacerenderable

* Add better comments for error handling

* Tidy up

* Address PR comments

* Make the acceleration Windows only

* Remove unnecessary setting of shader dictionary

* Allow web dev tools to connect to CEF

* Update modules/webbrowser/include/browserinstance.h

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

* Update modules/webbrowser/include/webrenderhandler.h

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

* Apply suggestions from code review

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

---------

Co-authored-by: Ylva Selling <ylva.selling@liu.se>
Co-authored-by: Emma Broman <emma.broman@liu.se>
2024-08-23 09:37:01 +02:00
Emma Broman 6e6f425a0a Issue/3337 Custom UI group ordering (#3363)
* remove code for controlling group sorting in ImGui

We only use this for debug and the sorting here is no longer relevant

* Add feature to add custom ordering to UI groups

* Tiny cleanup

* Add numerical ordering for night sky planets

* Update Lua function name and create an event when ordering updated

* Set top-level ordering

* Add function documentation

* Add a custom ordering that previously was hardcoded in UI

* Apply suggestions from code review

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

* Rename GUI ordering function

* Update GUI hash

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2024-08-22 16:51:28 +02:00
Alexander Bock f962a10e03 Add new maps for the Globe representation of Phobos (closes #1397) 2024-08-22 16:38:04 +02:00