Commit Graph

380 Commits

Author SHA1 Message Date
Alexander Bock
c02e59b9f8 Fixing more includes and forward declarations (#3876) 2025-12-16 13:40:19 +01:00
Alexander Bock
f9346452cb Use string_views in more query functions 2025-12-08 23:35:54 +01:00
Alexander Bock
6b20d114c8 Global pass over optimizing includes (#3862) 2025-12-08 20:13:31 +01:00
Andreas Engberg
dfbc1f5090 Issue/591 add assets file browsing (#3798)
* create download event topic wip

* Make topic connection thread safe & rate limit downloadeventtopic data to reduce traffic


* add LDEBUG and LERROR on donwload start/finish/failed

* Add new AssetLoadingEvent
event 
* fix pr comments
2025-12-01 11:14:41 +01:00
Alexander Bock
39bd973321 Correctly define comparison operators 2025-08-26 23:17:04 +02:00
Alexander Bock
19e9e2c1fb Adapt to new compile option style and fix warnings (#3773) 2025-08-12 14:19:45 +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
fbd4128b34 Pass through the coding styles 2025-06-05 10:59:58 +02:00
Alexander Bock
f704bc9bb8 Correctly update scale, rotation, and scale classes where multiple subtypes are involved 2025-05-01 18:00:36 +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
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
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
David Wagner
9dcdf42df6 Add a 'reload' function to the AssetManager. Also make it vailable as a scripting API (#3543) 2025-03-22 14:49:52 +01: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
7328a94fb1 TimeFrame specification and status (#3553)
* Makes Translation/Scale/Rotation all able to have a TimeFrame, not just the SpiceRotation.  Add read-only BoolProperty to the TimeFrame that indicates whether the current time is a in the timeframe

---------

Co-authored-by: Emma Broman <emma.broman@liu.se>
2025-03-10 13:53:32 +01:00
Alexander Bock
5152a7a6e0 General code spring cleaning (#3525) 2025-02-22 15:28:14 +01:00
Alexander Bock
bc4a137040 Add new property hint to determine if a scene graph node should focusable (#3508) 2025-02-10 17:57:31 +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
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
Alexander Bock
16484dc295 Doxygen cleanup and moving functions in SceneGraphNodes 2024-08-28 11:50:39 +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
Emma Broman
cca2f7e272 Add possiblity to sort SGNs in GUI based on numerical value (#3340)
* Add possiblity to sort SGNs in GUI based on numerical value

And apply to grids

* Fix mistake in docs

* Apply suggestions from code review

Co-authored-by: Ylva Selling <ylva.selling@gmail.com>

* Rename Order -> Ordering and remove unused getter functions

* Update GUI hash to match the UI changes

---------

Co-authored-by: Ylva Selling <ylva.selling@gmail.com>
2024-07-17 09:54:59 +02:00
Emma Broman
19f0f707dc Issue/2174 - Show items with no GUI tag in asset in the GUI (#3133)
* Always add GUI properties, even if tag is not in the asset

To make objects wihtout GUI tag be included in the UI

* Hide the hover circle, to clean up scene menu list a little

* set root node gui hidden property to true

* Properly add the gui properties for all scene graph nodes (even root)

* Update GUI hash
2024-04-03 09:23:49 +02: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
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
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
Alexander Bock
6e29d898cf Update copyright header 2024-02-06 15:53:24 +01:00
Alexander Bock
902da116e7 Remove interesting times (closes #2991) 2024-01-09 15:34:54 +01:00
Emma Broman
b41c48861b Add property for actual bounding and interaction sphere value (#2967)
* Add property for actual bounding and interaction sphere value

* Apply suggestions from code review (no "Read Only" in name)

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2023-12-01 10:00:42 +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
4ee078502b Doxygen (#2953)
* Update Doxygen and add new CSS file
* Remove Doxygen warnings
2023-11-19 16:35:14 +01:00
Alexander Bock
aad8beb60c Remove warnings 2023-09-07 19:00:26 +02:00
Alexander Bock
ecb8b06df6 Add new Lua function to remove all loaded assets (closes #2812). Fix crash that would occur when trying to unload an asset that requires a root asset 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
Ylva Selling
d6ddd86a35 Rewrite asset json function to nlohmann::json 2023-04-26 17:30:51 -04:00
Ylva Selling
9a1e6b8002 Remove old json functions 2023-04-26 16:58:55 -04:00
Ylva Selling
d267bc0dad Remove documentation generator 2023-04-25 16:44:10 -04:00
Ylva Selling
948fdd024b Remove generateJson function from the DocumentationGenerator and move sortJson function to json_helper 2023-04-25 16:32:04 -04:00
Ylva Selling
3ff6169771 Merge remote-tracking branch 'origin/master' into feature/documentation-overhaul
# Conflicts:
#	src/scripting/scriptengine.cpp
2023-04-12 17:37:28 -04:00
Emma Broman
4de3713107 Add a central function to create an identifier from string, and also expose it through Lua 2023-04-03 11:40:19 +02:00
Gene Payne
00c8543306 Switch to std::list for adding & removing assets in deterministic order (#2543) 2023-03-17 16:07:17 -06:00
Alexander Bock
a711591c09 Update Doxygen (#2537)
* Modernizing Doxygen
* Remove warnings for Doxygen
2023-03-06 23:41:24 +01:00
Ylva Selling
c645fa81b6 Merge remote-tracking branch 'origin/master' into feature/documentation-overhaul
# Conflicts:
#	src/properties/propertyowner.cpp
#	src/scripting/scriptengine.cpp
2023-03-02 11:28:33 -05:00
Alexander Bock
35a92b6e4d Add the ability to start a profile paused (closes #2228). Bump profile version to 1.2 2023-02-27 18:03:35 +01:00