Skip to content

General release for Jul2021

Compare
Choose a tag to compare
@adamkewley adamkewley released this 14 Jul 07:57

Contains a wide variety of improvements over 0.0.2:

  • OSMV (the codename for the alpha) has now internally been renamed to OSC, or OpenSim Creator. The official repository is now at https://github.com/ComputationalBiomechanicsLab/opensim-creator
    • This is mostly a branding change, but also renames the C++ namespaces from osmv to osc
    • OSC uses the OpenSim logo, rather than the custom one that was used in earlier versions
  • All releases of the software now use OpenSim 4.2
    • This adds support for things like ScapulothoracicJoint
    • It also makes simulations slightly faster (typically, 20-40 %)
    • Mac users may (needs verification) need to install gfortran: please report installation issues on fresh mac products
  • OpenSim's log now prints to the OSC log panel
    • This means any warnings, error messages, etc. from OpenSim can be seen in the UI
  • Component default values are now improved
    • These are the property values components have when added through the UI
    • This is an ongoing process. Some components (e.g. ContactSphere) still have poor defaults (e.g. radius=0.0)
  • Fixed a bug where keybinds could be triggered, even when typing something into an input textbox
    • This could occasionally lead to annoying situations. E.g. typing R (reload) into an input box would reload the model
  • Modal dialogs no longer trigger popups/changes in UI elements below the dialog
    • E.g. mousing over something in a modal should no longer trigger tooltips, 3D scene changes, etc. below the modal
  • Simulation states are now saved
    • This means that you can retrospectively view the entire simulation with an animation scrubber
    • It also means you can retrospectively plot outputs from a previously-ran simulation
    • The reporting interval is deterministic, with a fixed time step, so that data+animations are consistent (e.g. datapoints in plots will be evenly spaced)
    • Simulations make their own independent copy of a model before running. This means that you can keep editing a model while a simulation runs on older versions of the model.
  • Simulations are now more configurable
    • This means that users can change the integrator, minimum step size, maximum step size, etc. of a simulation
  • Multiple simulations can now be ran concurrently
    • The UI provides a way for selecting which simulation is currently being viewed
    • There is currently no limit, or queuing, on the parallelism - try not to let your computer explode
  • Simulation metadata--eg. the number of integration steps, error rates, etc.--is now displayed on the simulation screen with basic documentation explaining each plot
  • Any plotted outputs can be directly exported to a CSV file
    • Choose to plot an output, view a simulation, go to the "outputs" tab: there's now a "Export to CSV" button
  • The UI is now uses custom style colors, which are darker and less blue than the ImGui defaults
  • The UI now uses FontAwesome for icon support. FontAwesome icons have been added to the most commonly used actions in the UI
  • The component hierarchy viewer now supports expanding and contracting nodes
  • Switching between editing and simulation mode no longer wipes the undo/redo history of the edited model
  • The "About" menu has been tidied up and now contains more information + documentation.
  • The "Experiments" screen (accessed via the About menu) now prompts the user to select an experimental feature
    • This is because we plan on using this space to ship experimental features to production early.
  • Added "Windows" tab to the main menu
    • Lets users enable/disable UI panels
    • Multiple 3D viewers can be enabled through this
    • Currently does not save which panels were enabled/disabled between UI boots (a future version will support this)
  • The splash screen now contains obvious-looking "New" and "Open" buttons right above the main content
    • This is so that new users don't have to search around in the "File" tab of the main menu
  • Example filenames are now sorted case-insensitively, so that they appear to be logically alphabetical (e.g. A, a, B b vs. A B a b)
  • 3D viewers now use Blender-like keybindings
    • e.g. Left/Right click interact with things. Middle mouse for swiveling, CTRL+middle mouse to pan, etc.
    • This is because it's fairly common for model builders to also be using blender
  • You can now add muscles to a model through the UI
    • Requires selecting N>1 bodies/frames in the model
    • Currently, there is no support for rearranging the attachment order
  • You can now add geometry to a body/frame
    • Previously, you could assign geometry to a body/frame, which would overwrite any previous assignments
    • Adding enables adding multiple pieces of geometry to a single body/frame
    • You can delete geometry by pressing DEL while geometry is selected
  • Added support for attaching analytical geometry (cubes, spheres, etc.)
    • The benefit of using these is that the resulting model file is less dependent on external mesh files (the geometry is generated in-code by OSC)
  • The loading screen now has a progress bar
    • The progress bar always marches forward and is no indication of actual progress: purely there to show the UI is doing something
  • Experimental: Added mesh importer wizard
    • Enables importing multiple mesh files into a 3D scene without having to first build an OpenSim model
    • Users can then rearrange the meshes in 3D space and assign bodies/joints to them while moving things around in a global, Blender-like, coordinate system
    • Once the user has set everything up in this wizard, it automatically generates an OpenSim model from the assignments
    • This is work in progress. It requires further development, but may still save a significant amount of time over manually building the model step-by-step through the main editor UI
  • Experimental: You can now plot subfields of an output, rather than only being able to plot double value types
    • Practically, this means that you can plot a Vec3's x, y, or z coordinates
    • Experimental, because the output names etc. need to be fixed when exporting the resulting (subfield) output to a CSV file