* Reimplement stringlistproperty with a listproperty parent class
* Add string list property tests and structure test files
* Reimplement SelectionProperty and add tests
* Some TemplateProperty documentation updates
* Read full constellation name and not just first word for ConstallationSelection
* Remove support for setting property value from string (unused)
* Add IntListProperty, DoubleListProperty
* Bug fix: SetProperty topic now support empty json objects
* Imgui renderings for list properties and pass SelectionProperty info to WebGui
* Add the ability to automatically generate code to extract values out of a Dictionary (see https://github.com/openspace/codegen for more information on how to use this)
* Applied this technique to a large number of cases in the codebase
* Don't add _codegen files to the repository
Co-authored-by: Emma Broman <emma.broman@liu.se>
* Cleaner handling of global state
* Prevent Lua memory corruption (closes#982)
* Initialize glfw first thing to prevent weird joystick loading bug during startup
* Fade fixes
* Clean up RenderableSphere. Add orientation properties.
* Sane defaults for Digital Universe
* Clean up New Horizons related code
* Add basic scene
* Add ability to initialize rotation as quaternion and mat3
* Adapt legacy code to new Renderable interface
* Cleanup
* CMake cleanups
* Update current year
* Update copyright header
* Use script to return list of all modules
* Update credits, license and ghoul
* Move global objects out of OpenSpaceEngine
* General cleanup of main.cpp
* Add default_joystick asset to all scenes
* No longer suppress mouse interaction on slave nodes
* Window delegate uses function pointers rather than subclassing
* Fix for false overwriting of ImGUI configuration file
* Change default color and tilt angle of fisheye rendering
* Restructured performance manager
* Simplify screenshot handling
* Make height map fallback layer work again
* Add documentation to joystick button bindings
* Removed grouped property headers
* Add new version number constant generated by CMake
* Make Joystick deadzone work properly
* Change the startup date on Earth to today
* Fix key modifier handling
* Add debugging indices for TreeNodeDebugging
* Fix script schedule for OsirisRex
* Do not open Mission schedule automatically
* Upload default projection texture automatically
* General code cleanup
* Fix check_style_guide warnings
* Remove .clang-format
* MacOS compile fixes
* Clang analyzer fixes
* Add initializeGL and deinitializeGL methods to OpenSpaceModule Call releaseAll from ProgramObjectManager in deinitializeGL to guard against errors when deinitializing assets
* Change removeProgramObject function in RenderEngine to take a non-owning pointer instead of a reference to a unique pointer to make it compatible with the ProgramObjectManager
Update Ghoul repository
* Using ProgramObjectManager in more modules to reduce the number of programs compiled at startup
* Change to new logging format (closes#542)
* Adds a screenshots folder that uses the application startup time
* Creating focus nodes for VRT files if the info files contain location information
* Fix issue with removing virtual properties
* Add a method for returning the cartesian coordinates for a geolocation on a planet
* Rename OnScreenGui module to ImGui
* Support multiple external module folders (closes#31)
* Cleaning up CMake files
* Restructure application specification
* Add parameter for library mode to all modules
* Add functions to handle global variable state
* Misc/remove warnings (#383)
* Increase build timeout and do a clean rebuild every commit
Add Property descriptions to the documentation file
Remove update method from StaticTranslation
Remove spelling error in RenderableGlobe
Remove rotation from renderablemodel projection
Fix setting the Origin through the GUI
Reorder Optional and documentation arguments for DocumentationEntry, and making Optional a non-optional argument
- Change Time class to become a non-singleton
- Move ownership of the current time to TimeManager(instead of singleton access).
- Store the Time as a Syncable in TimeManager instead of representing all member variables of Time as Syncables.
- Pass a Time object around in the update/render methods, so that renderables don't have to query the OpenSpaceEngine to know if time is paused or if it jumped.
- Introduce Timeline and Keyframe classes
- Make use of Timelineand Keyframeclasses in KeyframeInteractionMode and TimeManager
- Added basic unit tests for Timelineand Keyframe
Future work: Add interpolation schemes for keyframes. Possibly use keyframes+interpolation feature to tween/morph properties, or figure out if this should be a separate mechanism.