Commit Graph

2489 Commits

Author SHA1 Message Date
Alexander Bock f024c25666 Add the ability to run as task file at startup. Add new model conversion task that requires an OpenGL context. Add ability to use FileVerifier and DirectoryVerifier on files that don't exist (#3612) 2025-04-29 09:50:29 +02:00
Alexander Bock 6257f96dca Adapt to the change in the codegen repository 2025-04-23 17:21:19 +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 b02680a360 Add new TimeFrame that parses Spice kernels (#3600) 2025-04-22 20:47:17 +02:00
Alexander Bock 8a364c16e3 Fix layout issues with Dashboards (#3614)
- Correctly render multiline text passed to a DashboardItemText
  - Invert the property for the Dashboard location to no longer need a negative y-axis
  - Use the current lineheight instead of pointsize for the ScreenLog
  - Remove the unused size function from DashboardItems
2025-04-21 01:10:02 +02:00
Alexander Bock 9a623129d8 Add Notification window to the Launcher (#3595) 2025-04-16 17:13:14 +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 b554187d76 Improve performance of setPropertyValue function (#3579)
* Cache full property URIs
  * Multithreaded handling

---------

Co-authored-by: Emma Broman <emma.broman@liu.se>
2025-04-15 17:43:57 +02:00
Alexander Bock af20b97dc7 Add ability to configure horizontal field of view per window instead (#3584) 2025-04-14 19:47:54 +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
Emma Broman eb709b830c Small option property cleanup (#3577)
* Notify change listeners

I can't come up with a reason for why we would not want to do this

* Remove the Display Type for OptionProperty (only used in ImGui)

* Replace extra boolean with internal anonymous addOption function

* Tiny refactor

* removed dropdown on a couple of more places

* Update optionproperty.cpp

---------

Co-authored-by: ElonOlsson <olssonelon@gmail.com>
2025-04-02 09:28:11 +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 aa7a31eced GCC/Clang compile fix 2025-03-18 13:16:39 +01:00
Alexander Bock c07479222a Compile fix 2025-03-18 10:01:59 +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
Emma Broman 938ce57802 Update nautical mile abbreviation to an accepted one
"nm" is non-standard. It should apparently be either M, NM or nmi
2025-03-03 17:24:15 +01:00
Alexander Bock 7905f5b63f Add the ability to the backend to specify a background color and a text color for actions (#3551) 2025-03-03 13:17:57 +01:00
Alexander Bock cd8924ed22 Remove compiler warnings on Clang/GCC (#3546) 2025-02-28 23:29:38 +01:00
Malin E 80b1061b26 Update time conversion to mirror distance conversion code (#3507) 2025-02-28 18:25:05 +01:00
Alexander Bock 9f77ca1daa Use composable Lua types in Property definitions. Allow OptionProperty to receive either indices or descriptions (#3524) 2025-02-27 15:42:54 +01:00
Emma Broman eb3bd4395a Add Lua function openspace.navigation.setFocus(identifier, shouldRetarget, shouldResetVelocities) (#3534)
* Add support to set focus with reset-velocities setting from Lua

* Update Lua function name and add documentation

* Rename functions that actually update the anchor/aim nodes, to reduce confusion

* Apply suggestions from code review

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

* Apply suggestions from code review

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

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
Co-authored-by: Ylva Selling <ylva.selling@gmail.com>
2025-02-27 13:20:22 +01:00
Alexander Bock d861c321ba Add nautical mile to the distance units 2025-02-26 13:35:26 +01:00
Alexander Bock 5152a7a6e0 General code spring cleaning (#3525) 2025-02-22 15:28:14 +01:00
Alexander Bock 8cb3ce8b94 Add the ability to limit-rate the dashboard updating (#3527)
Co-authored-by: Emma Broman <emma.broman@liu.se>
2025-02-18 16:49:47 +01:00
Andreas Engberg a9beb476af added optional parameter to overwrite session recording file 2025-02-18 12:01:13 +01:00
Alexander Bock 588c4a6f86 Fixing assets that had problems loading (#3528)
- Correctly remove interpolating render program to prevent invalid shader access
 - Fix Apollo 11 location
 - Fix Apollo 17 location
 - Replace errors with warnings for Gala and Rime instruments for Juice
 - Correctly rely on the solarsystembarycenter asset in the Voyager/Pioneer asset
 - Use correct identifier for the Jupiter barycenter
 - NASA Treks assets
 - Slidedeck
 - Fix unloading of missions
 - No longer crash when loading and unloading image sequence assets
2025-02-17 14:08:53 +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 97f574ce8c Ramping the sensitivity change gradually (closes #3064) and applies the sensitivity to the rotation as well (closes #3065) 2025-02-06 16:11:21 +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 4950c8d5bd Add missing algorithm header 2025-02-05 23:16:16 +01:00
Alexander Bock efb7599b3d Reenable checking loading screen entries against the logo without the endless loop 2025-02-04 01:24:09 +01:00
Emma Broman 3d3580fa65 Polish and docs for RenderableDistanceLabel and docs for RenderableNodeLine (#3485)
* Update add add documentation for `RenderableDistanceLabel`

* Move distancelabel to `base` module and remove now empty `vislab` module

* Add examples for `RenderableNodeLine` and `RenderableDistanceLabel`

* Fix faultily formatted documentation ID for `RenderableNodeLine`

* Make `RenderableDistanceLabel` unit use units from distanceconversion file

And simplify how the different names for a unit are specified

* Use new distanceUnitList() function for other classes that uses the units

* Change default unit to correct option according to documentation

* Make the text property readonly for `RenderableDistanceLabel`

* Add property to specify the precision of the number

distance label precision to docs

* Add examples with different units and descriptors

* Add docs description to `RenderableNodeLine`

* Update name in one of the examples

* Remove redundant switch cases

* Apply suggestions from code review

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

---------

Co-authored-by: Ylva Selling <ylva.selling@gmail.com>
2025-01-29 16:11:47 +01:00
Alexander Bock c01ce9b09d Add the ability to schedule scripts based on wallclock time (closes #1773) 2025-01-15 12:05:12 +01:00
Alexander Bock 0bc2c4a9ee Coding style fixes 2025-01-14 16:34:42 +01:00
Alexander Bock 820e90eab4 Happy new year 2025-01-14 16:21:08 +01:00
Andreas Engberg c00e8e40ba Set B.C. to start of time string if year < 1000 B.C
This is to make it faster to check for B.C years on the frontend so we can properly show years < 0
2024-11-04 15:15:41 +01:00
Malin E 40578ebc81 Update string versions of distance and time units, start with capital
letter

* Update RenderableModel to better make use of these predefined units
2024-10-29 17:02:48 +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
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
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
Alexander Bock 56a9d6ae8c Add the ability to query RAM and VRAM usage (#3427) 2024-09-28 13:19:29 +02:00
Alexander Bock db23148af0 Add ability to schedule Lua scripts (#3416) 2024-09-23 11:34:51 +02:00
Ylva Selling 8ad84b6d35 Make useAcceleratedRendering a uniform for screenspace renderables 2024-09-17 17:17:46 +02:00
Emma Broman b351f80298 Fix broken Earth radius distance constant 2024-09-13 11:05:30 +02:00
Alexander Bock e24cff1d19 Handle warnings and coding style adaptations 2024-09-12 16:30:09 +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