opensim-creator
opensim-creator copied to clipboard
Add an OpenSim model warping UI based on TPS mesh warping and ISB-derived frame definitions
This issue was broken out from #467, which was originally an all encompassing issue for building an OpenSim model warping UI.
It turned out that creating such a UI would require a lot of auxiliary tooling+code to do robustly, so it was broken into three separate pieces that were deemed to be handy in isolation:
- A mesh warping UI that uses the TPS algorithm (#467)
- A frame definition UI that enables users to define frames based on relationships between landmarks and meshes (#490)
- An OpenSim model warping UI that takes multiple mesh warping definitions (from #467) and high-level frame definitions (#490) to warp OpenSim models (this issue)
Work List
- [x] Implement minimum-viable version of a mesh warping UI that exports the necessary landmark data for this model-warping UI (#467)
- [x] Stub a text-based UI for showing what was sucessfully/unsucessfully loaded:
- [ ] Implement minimum-viable version of a frame definition UI that exports the necessary high-level (ISB-based) frame definitions for this model warping UI (#490)
- [ ] Implement backing algorithms such that text-based UI seems to work
- [ ] Implement basic input-to-osim conversion algorithm (possibly, with hacky maths)
- [ ] Implement an actual 3D UI for providing user feedback on what's loaded/missing
- [ ] Implement UX for validating user input, missing data, etc.
- [ ] ... Draw the rest of the owl (UI wireup, making it entirely general, etc.)
Note: it should (from my written notes):
- Support loading the source model
- Support loading "destination" assets (meshes+landmarks)
- Load warping config
- Show the user what's missing
- E.g. missing landmarks
- E.g.2. under-defined frames, missing LSQ
- Provide user with concrete resolution steps (e.g. add landmarks)
- Once all issues are resolved, provide a big green "Warp Model" button
Extra features:
- Re-bake meshes via warp kernel
- Re-bake meshes to be body-centered
- Re-bake landmarks via warp kernel
- etc. (bake a cake, why not, etc.)
Closing this: it's now implemented as a working prototype in the UI and is awaiting user/research validation before features will be added. Those features will be put into new issues.