Skip to content

Releases: ComputationalBiomechanicsLab/opensim-creator

0.1.4: STO file support and more components (+other stuff)

12 Apr 11:31
Compare
Choose a tag to compare

This release adds support for STO file loading and the ability to add a wider variety of components via the editor, plus a variety of other nice-to-have changes - plus some bugfixes to things we found during the model-building workshop. This release also includes changes from 0.1.3, which was not released, because it contained a crash we found internally.

See CHANGELOG.md for a comprehensive list of all changes, but here's a few of them:

  • A simulation can now be loaded from an STO file
  • You can now add a much wider range of components in the editor UI (#154):
  • Added a "Want to save changes?" prompt when closing the editor (#72)
  • Simulation playback can now be paused/resumed (#16)
  • All output plots, including meta plots (e.g. number of integration steps), are now scrubbable and can be saved as a CSV
  • Switching between grab(G)/rotate(R)/scale(S) is now displayed as icons in the mesh importer (#65)
  • Added reorient 90 degrees option in the mesh importer context menu (#160)
  • Output plots are now rendered with ImPlot, which should make them easier to view and make them pop less while a simulation is running
  • Hovering over a body in the UI now shows where the center of mass is as a black sphere (#60)
  • Added option for switching between degrees/radians input when editing 'orientation' properties (#55)
  • Renamed "Open" and "Save" in the mesh importer to "Import" and "Export" (#143)
  • Fixed scale factors property being ignored for some types of OpenSim geometry in the osim editor (#141)
  • Fixed an edge-case segfault that happened when editing the properties of a body that was synthesized by OpenSim to break a graph cycle (#156)

0.1.2: Hotfix release

16 Feb 19:12
Compare
Choose a tag to compare

This release fixes a bug in the "Convert to OpenSim Model" part of the mesh importer screen.

The bug was causing scenes containing scaled meshes to incorrectly move the meshes around during the conversion step (see #153). This was due to some bad math in the export converter (a diff is attached to the issue).

The "Uninstall failed" bug (see #131) bug is still present. If you are re-installing OpenSim Creator to update your version, just click "no" to the "uninstall previous version?" prompt. The new version will still install correctly.

0.1.1: Hotfix release

11 Feb 16:26
Compare
Choose a tag to compare

This is a patch update to the 0.1.0 alpha release. It fixes a couple of edge-case bugs that can happen in the osim editor.

  • Fixed exception-handling code in the UI to automatically recover the model if a property edit results in an exception being thrown by OpenSim/SimTK (e.g. because the resulting model cannot be assembled - see #132 )
  • Fixed a minor bug where having a component selected in the model editor, clicking the textbox to edit its name, followed by selecting something else fails to update the text input to the new selection's name (note: it does not change the component's name - it's a display bug)

0.1.0: Public alpha release

09 Feb 17:22
Compare
Choose a tag to compare

This public alpha release is intended for use by researchers as part of OpenSim Creator's first model-building workshop event.

It contains a variety of fixes, and features from 0.0.8 that are intended to make the UI more stable and useful. Things like documentation, tutorials, and a variety of UX features. See the issues (closed) list for more details on what's changed, or the CHANGELOG (once updated 😉).

0.0.8: Variety of features and bugfixes release

07 Feb 08:52
Compare
Choose a tag to compare

This is a release of 0.0.8. Previous releases can be found at my private repo (here). Main features for 0.0.8:

  • A variety (>50) of little UX improvements were made to the mesh importer
    • Over the 0.0.8 pre-release (here), users can now also assign multiple meshes to a body by multi-selecting them and pressing A
    • Imported bodies also now have a nonzero inertia. Instead they have an inertia vector that is ~1 % of the mass of the body in a diagonal direction
  • Any weird typos and confusing sections in the tutorial were cleaned up

0.0.5: General UX improvements and new installation location

01 Oct 10:14
Compare
Choose a tag to compare

This release contains a wide variety of general UX improvements which were identified during a model-building hackathon. It also changes the installation location of OpenSim Creator in Windows to ensure that newer versions overwrite older ones.


Important: The default installation location of OpenSim Creator has changed.

In general, the new location(s) do not contain a version number and installing newer versions of OpenSim Creator will overwrite the older versions. The reason for doing this was to prevent the confusion caused by allowing multiple versions to be installed concurrently, which would create multiple start menu shortcuts, etc. and make it difficult to know whether the latest version is being used after an upgrade.

  • e.g. Windows. Old location = C:\Program Files\osc ${version}. New location = C:\Program Files\OpenSimCreator\

You should manually uninstall older versions of OpenSim Creator to ensure that you are always running the latest version.


Changelog:

  • 3D viewer panels now have a close button
  • 3D viewers now have zoom in and zoom out buttons under scene, to help users that can't scroll easily
  • Setting the mass in the add body popup now correctly sets the mass of the added body
  • Plotting an output subfield (e.g. angular_velocity.x) now correctly displays it in the output plots and output CSV export
  • The about tab now contains a shortcut to open OpenSim Creator's installation directory
  • The view tab now contains a shortcut to open the currently-open osim's file directory. Handy for viewing adjacent files, like STOs and Geometry.
  • All output plots now contain a vertical line indicating where, in time, the simulation is currently scrubbed to
  • Output plots can now be clicked to scrub the simulation to that point in time
  • Output plots now have a horizontal X axis at Y=0.00 if the data ever crosses that boundary
  • The mini axis lines in the bottom-left of a 3D viewer are now bigger and labelled with X, Y, and Z
  • The action buttons now have an extra + symbol to make them slightly more visible
  • Contact geometry can now be removed from a HuntCrossleyForce in the UI
  • The Selection View panel is now hidden when editing a model: the information is redundant and appears in the Edit Properties panel anyway
  • 3D viewers now have a Measure button, for measuring 3D distances in the model. Click it, click where you want to start the measurement, drag to where you'd like to measure.
  • In addition to reassigning sockets in the Edit Properties panel, you can now browse to them (i.e. make them the selected component) by right-clicking them
  • Assigning cone geometry to a body now correctly displays cone, rather than cylinder, geometry
  • Fixed a bug where menu padding could break sometimes, causing all the UI elements to bunch up to the edge of UI panels
  • The add_body modal now automatically focuses the body's name when initially opened
  • Dragging an .osim file into the splash screen now loads the osim file in the editor

0.0.4: General release for Sep2021

22 Sep 06:51
Compare
Choose a tag to compare

This is the latest release of OSC. Depending on the platform, the installer may install OSC alongside previous versions. If this isn't the behavior you want (e.g. because it causes multiple OSCs to appear in your start bar) then uninstall the previous version (e.g. run Uninstall.exe in C:\Program Files\osc on Windows). Later versions of OSC may be packaged to do that automatically.

This contains a variety of fixes/improvements over 0.0.3, including:

  • A coordinate editor in the main editor screen
  • Limited support for ultra-large/ultra-small models, such as fly legs, by scaling the scene
  • The coordinate editor and hierarchy panels now have a search bar
  • The mouse controls are now a union of OpenSim's and Blenders, which should make OSC easier to use in a variety of circumstances (especially laptop touch pads)
  • The scene light now moves with the camera, so the model has no dark spots
  • (work in progress) In-built documentation. Currently contains two introductory tutorials. These will be improved over time.
  • More built-in analytical geometries are supported, such as arrows and cones
  • The rendering pipeline is ~20-30 % faster on lower-end devices (e.g. laptops with iGPUs)
  • The UI renders much less frequently if a user isn't interacting with it. Typically reduces resource usage by 50-70x
  • Rim highlights should now always show correctly, and not occasionally be occluded by other things in the scene (this was particularly annoying when rendering overlapping frames)
  • The camera can now zoom in very far, provided the camera's focal point is set correctly. This enables zooming into (e.g. very small features)
  • The camera has more keybinds (subject to change): X, Ctrl+X, Z, Y move the camera along +X, -X, Z, and Y axes respectively (Ctrl+Z and Ctrl+Y are already taken by Undo and Redo). F resets the camera. Ctrl+F automatically tries to move the camera to view the whole screne
  • The locale now defaults to C, rather than whatever the system is. This handles the edge-case of saving a file while using a locale that has decimal numbers like 3,14. OpenSim will save the file with 3,14 but then fail to read the number in when the file is loaded later, substituting in 3.

General release for Jul2021

14 Jul 07:57
Compare
Choose a tag to compare

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

0.0.2: April 2021 release (imported from adamkewley/osmv)

13 Jul 11:55
Compare
Choose a tag to compare