The roadmap is jointly defined by the Consortium Members with the developer community at the SOFA Technical Committee (STC). This committee is open and free for all, however votes for the roadmap are restricted to Consortium Members.
Read more on the governance.
Previous edition (STC#10) took place on the 26-28th November 2020 online, due to the Covid-19 situation.
During this meeting, the committee voted the following roadmap:
- Each module of SOFA is a SofaPython3 module
- Remove the dependency on the Plugin from the bindings
- Refactoring Data bindings following NG1
- Clean the tests
- Propose a setup.py to install the bindings basing on any system-wide Python version
- Add examples
- Work on the documentation
SOFA NG: a modular SOFA
- Simplify headers dependency graph by removing un-needed includes
- Pluginize all SOFA modules
- SofaAdvanced etc.
- Iterate to design the future SOFA architecture
Packaging & CI/CD
- Setup a Benchmarking CI
- Documentation about Github Actions + use Github Actions for supported plugins
- Run tests on the install instead of on the build
- Generate binaries v2: use SOFA binaries to build plugins
- Dependency management (more and more critical with modularization): SPM, Snap, Flatpack, …
- Find a standard solution to RELOCATABLE hack
- (one day) a SOFA PPA with nice Linux packages
- (one day) create repos with SOFA as a submodule to experiment different package mgmt systems
- Redesign a more centralised API of topological changes
- Propagate this design in SOFA
- Add tests for topology components and API
- Converging towards a dedicated static geometry module (Caribou-like, maybe converge here as well)
- In this work, clean/fix of the SofaCUDA plugin would also be considered