Roadmap

download

Technical roadmap

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#20) took place in Strasbourg from June 11 to 13th 2025. During this meeting, the committee voted the following roadmap:

Constraint: new features

  • Solve constraints in static and BDF solvers using Newton-Raphson
  • Complete the parallel implementation of Gauss-Seidel
  • Filter constraint and allow the resolution of all equalities (bilateral constraints) in a direct manner
  • Fix incompressibility

Constraint: refactoring

  • Extraction of solvers from the ConstraintSolvers component
  • Being able to use any templates on LagrangianConstraint component
  • Enable the use of the constraints components on any template
  • Unify data representation of constraints information for both collision pipeline and constraint components

Implement the IPC method

  • Try out the open source version (examples)
  • Bring the CCD method in SOFA
  • Rework the energy computation in some ForceField
  • Implementation of the contact barrier energy (as a ForceField)
  • Add a way to compute a global energy of your problem in the solver
  • Build the IPCAnimationLoop (SPD projection, Kappa param, friction)

Collision pipeline

  • Proof of concept with COAL in a Mapping (in a specific situation with interesting primitive)
  • Proof of concept with implicit modeling (Damien, Christian)
  • Optional – Use this on inertia for rigid

Migration to GitHub Actions

  • Notification for dashboard
  • Publish binaries/artifacts if generated on server
  • Work on builders
  • Action rebooting
  • Action cleaning
  • Merge in SOFA master branch
  • Make the test action as an action usable from plugins

Robotic-oriented application

  • Semi-structured interviews and on-site observations with 4-5 user-types
  • Drafting of a document summarizing the information gathered
  • Drafting of a document describing typical scenarios, a selection of ideas
  • Development of an interactive prototype of the tool
  • Semi-directed user testing
  • Drafting of a document summarizing the developments and tests sessions

runSofa GUI (GLFW)

  • Complete the last identified bugs and feature gaps, mainly
    • Create a real window for component inspector
    • Restore key shortcuts
    • Rendering of scientific floating values
    • Be able to save user configuration
    • Data widget to implement
    • Opening of Node: investigate Data
    • Support mouse interactions
    • Fix the crash when random name are displayed in the Graph

Refactor object registration

  • Refactor last supported plugins

Validation & verification

  • Create an online report based on existing publications and comparisons
  • Reference mechanical tests
    • Write such tests in collaboration (indiedev, intern, subcontracting)
    • Define regular tests in mechanics
  • Create a first test case format
    • Markdown file describing the test case
    • Associated scene and test based on the regression python infrastructure

Redesign STLIB

  • Proof of concept of a Python template library (present at the next STC#20)
  • Linked with the Design of a Robotic Application task

Pixi

  • Proof of concept using Pixi for Windows generating the binaries
  • Finalize PR adding pixi on the sofa repository
  • Remove github-based (self-hosted) windows ci
  • Add a master version of packages on a forge that will correspond to the last commit in master
  • Add a generic CI for plugins based on pixi that uses the master version of the packages

Differentiable simulation

  • Presentation SoftRobots.Inverse: how it can be used for this theme
  • Agreeing on an example (framing) and on a semantic
  • Seminars in visioconference and on-site sessions following

Parallelism

  • Define ~10 representative scenes for profiling
  • Develop new benchmarks (using PerformanceReg)
  • Transform the profiling results into set of issues
  • Technology review
  • Make sure we can mix GPU and CPU component in the scene for few example scenes
  • Investigate
    • Execution of mapping in parallel
    • Parallelisation of Barycentric mapping
    • Parallelisation collision detection

Caribou integration

  • Depending on whether funding are unlocked, the merge of API could be started towards a more modular description of the mechanical material laws in SOFA

Simulation stability

  • Compute the right-hand side based on the mapping graph
  • Projected Newton method
  • Demonstrate falling scenes
  • Investigations on energy stability
  • Investigate Recursive Projection method
  • Investigate crop of Eigenvalues
  • Guidelines in the documentation
  • Create debug tools (dump logs at crash/divergence)

Cosserat plugin

  • Enhance co-axial beam modeling
  • Implement non-linear mapping
    • Calculate the expression $\dot{J}v + J\dot{v}$
    • Enhance mapping for dynamic scenarios
  • Advancing needle insertion simulation
    • Integrating normal forces on the needle tip
    • Introducing dynamic discretization for the needle
  • Cosserat in global frame, like BeamAdapter (intern)

More projects

Besides the main roadmap tasks, additional projects are going to evolve in the next 6 months. Never hesitate to join the force or share your own contribution project at the next Technical Committee!


Back to Top