Commit Graph

216 Commits

Author SHA1 Message Date
Emma Broman
3a5c56de81 Move interactionMonitor into InteractionHandler 2025-12-17 13:12:51 +01:00
Emma Broman
9e62607636 Move interaction/input related code form navigation handler to a global interaction handler 2025-12-17 11:59:11 +01:00
Alexander Bock
c02e59b9f8 Fixing more includes and forward declarations (#3876) 2025-12-16 13:40:19 +01:00
hn-88
e81129c42e CMake 4 fixes for the MacOS build
CMake 4.x requires consistency - once you use plain signature, all calls must be plain, or once you use keywords, all must use keywords. (#3858)
2025-12-04 11:28:30 +01:00
Alexander Bock
25f021f009 Change more prefix to postfix operators 2025-10-04 10:13:25 +02:00
benpm
ccadf2a53b fixes #3711 2025-09-25 15:18:43 -06:00
Alexander Bock
4fe270d055 Force OpenSpace_Helper to the dedicated graphics card. Fixes a crash on laptops 2025-09-09 19:51:08 +02:00
Alexander Bock
ff72e47f7b Move to use postfix increment only 2025-09-07 16:56:59 +02:00
Alexander Bock
685af84339 Adjust properties to new capitalization rules 2025-09-07 15:13:45 +02:00
Alexander Bock
ca8508087f Correctly download ARM-version of CEF when on a Windows ARM architecture 2025-08-31 16:26:20 +02:00
Alexander Bock
19e9e2c1fb Adapt to new compile option style and fix warnings (#3773) 2025-08-12 14:19:45 +02:00
Alexander Bock
02f2814834 Fix compile issue for MinVR (closes #2813) 2025-07-28 14:18:07 +02:00
Alexander Bock
e308383e7c Add profile information to the version checkin 2025-06-10 13:38:16 +02:00
Ylva Selling
1c8cb30b12 Fix crash when reloading skybrowser (#3690)
* Make skybrowser use accelerated rendering
* Remove flag for not accelerating rendering
* Make default side full HD for texture
* Make wwt calls be exposed with pointer to worldwidetelescope communicator & restructure
* Restore on reload functionality
* Make default value for updating the sky browser when target travels true
* Remove texture quality property and make the vfov and radius work again
2025-06-09 11:41:08 +02:00
Alexander Bock
fbd4128b34 Pass through the coding styles 2025-06-05 10:59:58 +02:00
hn-88
37bc62e766 Some more patches towards building on MacOS (#3695)
- bump CMAKE_OSX_DEPLOYMENT_TARGET to "13.3"
  - CXX STANDARD to 20 etc for Mac builds
  -  Update cef platforms correctly for arm64 and x86_64
  - patch cxx and c standard versions in flags set for macos
2025-06-02 11:16:07 +02:00
Alexander Bock
10e2da78df Remove the zombie process (#3687)
The OpenSpace_Helper process was staying when terminating OpenSpace.  This fixes that by automatically closing the helper process when the parent process dies for whatever reasons
2025-05-28 10:51:04 +02:00
Alexander Bock
5e3a972767 Remove more warnings from the codebase 2025-05-19 20:35:14 +02:00
Alexander Bock
8495acd171 Remove unused boolean return value for ScreenSpaceRenderable initialize and deinitialize functions 2025-05-16 23:57:40 +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
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
Ylva Selling
17279d2b4a Add handling for apostrophe code (#3594) 2025-04-11 13:40:30 +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
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
cc395ce340 Update C++ version to 23, add new warnings and the fix them 2025-03-01 15:49:38 +01:00
Alexander Bock
cd8924ed22 Remove compiler warnings on Clang/GCC (#3546) 2025-02-28 23:29:38 +01:00
Alexander Bock
5152a7a6e0 General code spring cleaning (#3525) 2025-02-22 15:28:14 +01:00
Alexander Bock
d21d1e4dcf Add the ability to disable accelerated rendering for CEF. Disable it for AMD cards as it causes a crash (#2488) 2025-02-17 18:25:14 +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
Emma Broman
2856085724 Use a pointing hand GLFW cursor for the web grab cursor (#3465)
* Use a pointing hand GLFW cursor for the web grab cursor

* Add TODO comment about custom cursor
2024-12-09 17:08:06 +01:00
Alexander Bock
ff345006d1 General code cleanup (#3445) 2024-10-10 09:49:02 +02:00
Ylva Selling
8ad84b6d35 Make useAcceleratedRendering a uniform for screenspace renderables 2024-09-17 17:17:46 +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
e24cff1d19 Handle warnings and coding style adaptations 2024-09-12 16:30:09 +02:00
Alexander Bock
3024467cbc Prevent crash when requesting a mouse click outside the window borders 2024-09-10 15:05:23 +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
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
Ylva Selling
67965e8844 Issue/3174 update cef (#3383)
* 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

* Update modules/webbrowser/src/cefhost.cpp

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

* Update version number

---------

Co-authored-by: Ylva Selling <ylva.selling@liu.se>
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2024-08-21 11:16:17 +02:00
Alexander Bock
c4c82483e0 Update copyright header in CMakeLists files 2024-07-31 10:57:10 +02:00
Alexander Bock
6edea5cae7 Apply the hue, value, saturation, and gamma values from the renderengine to screenspace renderables. Change the screenspace's own gamma value into an offset (#3293)
* Apply the hue, value, saturation, and gamma values from the renderengine to screenspace renderables.  Change the screenspace's own gamma value into an offset

* Make it clearer that the gamma correction is now an offset
2024-06-04 16:28:52 +02:00
Ylva Selling
098bae18b2 Create a tiny app for writing the documentation jsons (#3239)
* Add simple app for writing the documentation (only asset components and lua scripting)

* Update apps/DocsWriter/CMakeLists.txt

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

* Update apps/DocsWriter/main.cpp

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

* Update apps/DocsWriter/main.cpp

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

* Update apps/DocsWriter/main.cpp

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

* Update apps/DocsWriter/CMakeLists.txt

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

* Update apps/DocsWriter/main.cpp

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

* Update apps/DocsWriter/main.cpp

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

* Update apps/DocsWriter/main.cpp

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

---------

Co-authored-by: Ylva Selling <ylva.selling@liu.se>
Co-authored-by: Emma Broman <emma.broman@liu.se>
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2024-05-21 11:22:14 +02:00
Emma Broman
542f35e4de Update ScreenSpaceRenderable documentation (#3227)
* Update screen space documentation

* Fix inconsistent "screen space" phrasing

* Rephrase according to code review

---------

Co-authored-by: Ylva Selling <ylva.selling@gmail.com>
Co-authored-by: Malin E <malin.ejdbo@gmail.com>
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2024-05-17 15:38:48 +02:00
Alexander Bock
78b3b4fb2e Adding periods to the description texts 2024-04-23 22:33:17 +02:00
Alexander Bock
3d62571c44 Remove warning on Jenkins 2024-04-07 01:53:16 +02:00
Alexander Bock
49fc538c17 Rename fmt.h to format.h and enable audio module on default 2024-03-25 23:19:52 +01:00