Skip to content

SOFA dev reports (2025)

Hugo edited this page Dec 18, 2025 · 17 revisions

Join us every Thursday 9:30 am CET online: www.sofa-framework.org/sofa-dev-meeting


25/12/2025

No SOFA dev meeting 🎄 Let's meet next year!

For 2️⃣0️⃣2️⃣6️⃣, next meeting will be on January 8th ➡️ 2026 SOFA dev reports

🎁 💝 🎁

18/12/2025

News

Technical discussions

  • Release branch creation: TODAY
  • Binary release will be done early January
  • Remaining unit tests failing, that will be tackled
  • spdlog could be generalized for message in SOFA, possibly header-only

PR review

SOFA PR review

SOFAPYTHON3 PR review

CI PR review

SOFAGLFW PR review

PR merged within the week

SOFA PR merged

SOFAPYTHON3 PR merged

BEAMADAPTER PR merged

DOC PR merged

SOFAGLFW PR merged

CGALPLUGIN PR merged

SOFASPHFLUID PR merged


11/12/2025

News

  • Release is coming, the v25.12 branch will be frozen
    • backport flag is available for PR to be merged for v25.12
    • breaking PR will be possible to merge starting from Tomorrow

Technical discussions

  • Several test failures are now detected by the GitHub-based CI, a sprint could be organized to fix them
  • METIS compilation fail when building package, warning appeared out of nowhere on CI without any code change with flag -Wall + -Werror. Dirty solution: removed -Wxx flags from compilation.

PR review

SOFA PR review

SOFAPYTHON3 PR review

SOFAGLFW PR review

CGALPLUGIN PR review

PR merged within the week

SOFA PR merged

BEAMADAPTER PR merged

REGRESSION PR merged


04/12/2025

News

  • SOFA Week 2025 Took place last week
    • Discover the 150+ participants
    • STC#20 led to the definition of a technical roadmap, it will be presented at the next SOFA dev meeting
    • Still technical issues for online participation: our apologies, new technical infrastructure has been prepared for 2026!
    • All feedback are most welcome

Technical discussions

  • Release is coming, the release branch will be frozen by middle of next week. Make sure to milestone all your ongoing PR
  • Interest PR on check dynamic allocation : Add Realtime Sanitizer (RTsan) support
  • #5794 [Core] Start renaming BaseObject to BaseComponent
    • This renaming comes from the fact that Object is an old nomenclature which is not anymore used in the SOFA lexicography. This corresponds today to a Component
    • Base inherits from IntrusiveObject, this part should also be considered (Base to rename?). This will be done later

PR review

SOFA PR review

SOFAPYTHON3 PR review

BEAMADAPTER PR review

SOFAGLFW PR review

CGALPLUGIN PR review

  • #40 Fix compilation when not using image plugin This type of issue should be managed with a dedicated subfolder image/. target_compile_definitions could be removed since the symbol is already created at sofa_find_package(). → keep to review

PR merged within the week

SOFA PR merged

CI PR merged


20/11/2025

News

Technical discussions

  • CMake presets, need to specify generator for them to show on CMake-GUI
    • Tests all use cases (basic user, advanced that want another generator on Cmake-GUI, command line user)

PR review

SOFA PR review

SOFAPYTHON3 PR review

PR merged within the week

SOFA PR merged

SOFAPYTHON3 PR merged

DOC PR merged

SOFAGLFW PR merged


13/11/2025

News

Technical discussions

PR review

SOFA PR review

SOFAPYTHON3 PR review

SOFAGLFW PR review

REGRESSION PR review

CGALPLUGIN PR review

REGISTRATION PR review

CSPARSESOLVERS PR review

PR merged within the week

SOFA PR merged

SOFAPYTHON3 PR merged

BEAMADAPTER PR merged

SOFA.QT PR merged


06/11/2025

News

Technical discussions

  • Themis is working on V&V on continuum mechanics
    • Comparing SOFA and FEniCS
    • Linear small strain
      • under constant force, gravity
      • with tetrahedral and hexahedral mesh
      • define the metrics of evaluation : deformed state,
    • One big difference between FEniCS and SOFA is that the constant forcefield is per node in SOFA and is per element in FEniCS
    • The differences between the tetra under gravity are surprising
  • #5762 [CI] Add new GitHub-based continuous integration
    • Waiting from feedback from devs on the features detailed in the description.
    • v25.12 will soon be frozen ❄️
  • #5726 [Config] Prevent recursive calls to the same directory Restart the PR
    • This PR has been reverted
  • When moving to std::format : this depends on the CI compiler version. Possibly use the fmt beforehand
  • Want a check on the CI for code formatting. It would be nice to have a bot that check PR once they have been accepted and make a PR on the PR suggesting formatting changes to be easily merged before.

PR review

SOFA PR review

SOFAPYTHON3 PR review

BEAMADAPTER PR review

CI PR review

SOFAGLFW PR review

SOFA.QT PR review

PR merged within the week

SOFA PR merged

SOFAPYTHON3 PR merged

SOFAGLFW PR merged


30/10/2025

News

  • 🚨 🚨 ONE month left 🚨 🚨 Register now for the SOFA Week 2025
  • ⏲️ Last moment to apply for the SOFA Awards 2025
  • Next year major dates, you can already save them 💾
    • STC#21 mid-2026 : June 2-4
    • SOFA Week 2026 : November 23-27

Technical discussions

  • Data getValue is maked as const, but uses const cast to update if dirty ! → Let's try to remove the constness of the method and see if it changes anything in term of compilation , user experience and performance. And if we still think that we need a const version of it, we could add a getDirtyValue that would be const and wouldn't update the value.
  • #5751 Drift in beam deformation example with tetrahedral mesh and SurfacePressureForceField → The drift that you notice for your tetrahedral mesh comes from the fact that you mesh is "oriented". All tetrahedra have an edge in the following direction: ↘ diffusing errors/forces in an anisotropic way. To solve this one can use in the Hexa2TetraTopologicalMapping, the data swapping=True.
  • #5718 [GL] fix segfault when drawing Rigid3d frame The changes in this drawing introduced a crash in SOFA. This crash is really difficult to track and randomly appears event when a fix is found. Damien will open a PR to revert those changes to rediscuss them with the core dev and then sate on wether we fix it or just revert it.

PR review

SOFA PR review

SOFAPYTHON3 PR review

BEAMADAPTER PR review

PR merged within the week

SOFA PR merged

SOFAPYTHON3 PR merged


23/10/2025

News

Technical discussions

  • #5736 [all] Rename pentahedron to prism This discussion is on which word we should use, prism or wedge. Let's use prism because is the word used by the simulation community. Same for pyramid.
  • #5724 CMake fails with Eigen 5.0 Let's create a FindEigen5 module then wait for CMake to distribute it. Alex will try to find it using 'NO_MODULE' option
  • V&V : Quentin's work has reach a satisfactory point for research, Alex will work with him to release it properly as a static webpage. A goal will be to integrate this in the CI pipline as for the performances tests.
  • Hyperelasticity material: what about anisotropy ? SOFA currently has some pipeline for anisotropy, but is never used. Alex is in the process of implementing hyperelasticity in his plugin (ElasticityPlugin), and will implement anisotropy there. He doesn't plan to make any changes on the current SOFA code. Themis will take a look at it, so they'll work together and have a dedicated call.

PR review

SOFA PR review

SOFAPYTHON3 PR review

SOFA.QT PR review

PR merged within the week

SOFA PR merged

SOFAPYTHON3 PR merged

BEAMADAPTER PR merged

SOFAGLFW PR merged

REGRESSION PR merged

SOFA.QT PR merged

SOFA.METIS PR merged


16/10/2025

News

Technical discussions

  • VTK loader project started by Alex: SOFA.VTK. Several file formats are supported (vtk, stl, obj etc.), adding other formats including higher order meshes has been made easy. To be tested now!
    • Should be added on the CI
    • Could be distributed in the release
    • Compilation on GitHub is an issue due to the VTK dependency, but Conda/Pixi should ease this. VTK would be shipped along with the plugin
    • Alternative MeshIO but Python only. An example should be written
  • Creation of examples of GaussianSplatting (see the ongoing work, demonstration video). A demonstration could be done using the RigidBodyDynamics plugin
  • #5713 Issue with SofaPython3

PR review

SOFA PR review

SOFAPYTHON3 PR review

BEAMADAPTER PR review

  • #205 [IRC] Reset the restPositions while fixed - make consistent StartPosition Checking the regression raised the fact that the error on DoFs was significant. This has beem fixed along with a deeper bug on the definition of the initial orientation. Data startPoint is only used for the position, the orientation is given by the topology used. Now only the startPoint data matters and the PR is more breaking. → ready

SOFAGLFW PR review

REGRESSION PR review

SOFA.QT PR review

PR merged within the week

SOFA PR merged

SOFAGLFW PR merged


09/10/2025

News

Technical discussions

  • Covering recent issues:
  • Discussion with Thibault Tricard
    • plan a discussion at SOFA Week
    • information regarding OpenGL
  • Feedback from Journées Thématiques HPC
    • frugality mostly for HPC, not exactly the topic of SOFA
    • scientific computation with a presentation of TaskFlow
    • restarted from scratch with TaskFlow (ongoing work), this will be soon discussed with core-devs
    • another interesting talk about multithreading focused on FEM, possibly use Loic's library, SIMD, GPU Python computing, Guix
  • Work on delegate pattern: try creating a branch gathering all diffs to check for the tests and make sure verything is compatible then start merging them.
  • Issue noticed regarding the scene graph for mapping: graph mappings could solve a problem that cannot currently be solved with node graphs

PR review

SOFA PR review

BEAMADAPTER PR review

PR merged within the week

SOFA PR merged

SOFAGLFW PR merged

SOFA.QT PR merged


02/10/2025

News

  • Register for the SOFA Week 2025. It's free and open: sofa-week-2025/registration
  • As for every year, we organize the SOFA Awards during the newt SOFA Week, where contributions to the project are rewarded with cash prizes! Don't hesitate to apply!!
  • Next week Alex will be part of the Inria-engineer HPC meeting

Technical discussions

  • Parallel computing with OpenMP: #pragma omp parallel for (tetras for loop in FEM)
    • different from SOFA Multithreading approach relying on the thread-pull
    • std execution policy parallel which becomes implementation dependent
    • might not be efficient if using a different threading strategy than the one currently being used in SOFA. If both coexist in the same execution, they will fight over ressources.
  • Work at Willow ongoing on coupling Eigen and FAER (linear algebra library) to benefit from Rust implementation, willing to collaborate (Sarah Quinones)
  • Eigen 5 might be released this week

PR review

SOFA PR review

SOFAPYTHON3 PR review

BEAMADAPTER PR review

SOFAGLFW PR review

SOFA.QT PR review

PR merged within the week

SOFA PR merged

BEAMADAPTER PR merged

SOFAGLFW PR merged


25/09/2025

News

Lucas' work on the Shell plugin

  • Shell plugin :Merge both the DEFROST gitlab version and the GitHub public one
    • The interest is to take all the scenes presents on the gitlab. They needed an update to be able to be run on the current SOFA version (89)
    • Want to add unit/regression/performance tests in the future
  • BandSolver plugin
    • Used in the context of Vine Robot simulation
    • inspired from the LAPACK library
    • storing done following the diagonal
    • Based on LU decomposition
    • Unit tests implemented
    • Solver looks still much slower than existing ones

PR review

SOFA PR review

SOFAPYTHON3 PR review

BEAMADAPTER PR review

PR merged within the week

SOFA PR merged

SOFAPYTHON3 PR merged

BEAMADAPTER PR merged

DOC PR merged

SOFAGLFW PR merged


18/09/2025

News

  • Register for the SOFA Week 2025. It's free and open: sofa-week-2025/registration
  • Presentation of Lucas' work on the Shell plugin 25th of September
  • ℹ️ New schedule of the SOFA dev meeting: Thursday 9:30-11:00 pm, starting next week Thu 18th of September
  • Meeting of Inria engineers in robotics took place, interesting presentations

Technical discussions

  • GitHub : Your total cache usage exceeds upcoming caching limits
  • CGAL plugin : to remove from supported plugins
    • what about keeping it in the binary release ?
      • No the idea is to completely sotp building it on the main CI
    • it could bestil built in its own CI and released independently
  • #5666 [Lagrangian] Refactoring of GenericConstraintSolver
    • Alex has got WIP code for direct solving of constraint that'll gain from this refactoring
  • Crashes on the GUI from the newly intoduced mechanism of showing the bbox when object is cclicked on the graph. Need to investigate the changes in SOFA that does the draw.

PR review

SOFA PR review

SOFAPYTHON3 PR review

BEAMADAPTER PR review

DOC PR review

SOFAGLFW PR review

SOFA.QT PR review

PR merged within the week

SOFA PR merged

SOFAPYTHON3 PR merged


10/09/2025

News

  • Register for the SOFA Week 2025. It's free and open: sofa-week-2025/registration
  • Presentation of Lucas' work on the Shell plugin 25th of September
  • ℹ️ New schedule of the SOFA dev meeting: Thursday 9:30-11:00 pm, starting next week Thu 18th of September.

Technical discussions

  • Fred is working on collision pipeline, and he suggests some refactoring required in the implementation of a new pipeline. A dedicated discussion should be organized with Paul

PR review

SOFA PR review

SOFAPYTHON3 PR review

SOFAGLFW PR review

SOFA.QT PR review

  • #24 Improve UX on the draw selection settings. Slight more insight needed to understand the changes, else PR would be mergeable. The scene graph was broken in Qt. Load/store mechanism to save visualization would be nice in ImGui → to review

PR merged within the week

SOFA PR merged

SOFAPYTHON3 PR merged

BEAMADAPTER PR merged

DOC PR merged

CI PR merged

SOFAGLFW PR merged

SOFA.QT PR merged


03/09/2025

News

Technical discussions

  • CI issue due to Qt (early merge of PR #18) solved by Fred, thanks!
  • CI issue regarding FindCImg.cmake:
CMake Error at /builds/workspace/sofa-framework/master/ubuntu_clang_options_release/build/lib/cmake/FindCImg.cmake:61 (file):
  file failed to open for reading (No such file or directory):

PR review

SOFA PR review

SOFAPYTHON3 PR review

BEAMADAPTER PR review

DOC PR review

SOFAGLFW PR review

SOFA.QT PR review

PR merged within the week

SOFA PR merged

SOFAPYTHON3 PR merged

BEAMADAPTER PR merged

SOFAGLFW PR merged

REGRESSION PR merged

SOFA.QT PR merged

CGALPLUGIN PR merged

SOFASPHFLUID PR merged

SOFA.METIS PR merged


27/08/2025

News

Technical discussions

  • Lifecycle for v25.12 over
  • #5666 [Lagrangian] Refactoring of GenericConstraintSolver
    • GenericConstraintSolver structure was messy: constraint problem contained also the solving method. This PR aims at clarifying the constraint problem, the constraint solver. GenericConstraintSolver is now a purely virtual component and a specific component should be used (e.g. ProjectedGaussSeidelConstraintSolver). This design should be able to support both direct or iterative resolution. LCPConstraintSolver has not been modified in this PR.
  • New plugins officially supported on the CI.
    • SofaViscoElastic: still a question if we want to integrate it (FEM/mechanics validation is missing). Scenes are long to be tested (small time-step). Upcoming discussions will sort it out
    • SoftRobots.Inverse: (racing) issue to be solved

PR review

SOFA PR review

SOFAPYTHON3 PR review

BEAMADAPTER PR review

SOFAGLFW PR review

REGRESSION PR review

SOFA.QT PR review

CGALPLUGIN PR review

PR merged within the week

SOFA PR merged

SOFAPYTHON3 PR merged

DOC PR merged

SOFAGLFW PR merged


20/08/2025

News

Technical discussions

PR review

SOFA PR review

SOFAPYTHON3 PR review

SOFAGLFW PR review

SOFA.QT PR review


23/07/2025

News

  • Get ready for the SOFA Week 2025
  • The team wishes you a nice summer 2025 :beach_with_umbrella:

Technical discussions

  • Info: Revert "[Type] Replace fixed_array with std::array"
    • TypeInfo for std::array was missing, leading to 2700 + scene test errors
    • a PR will be reopen to implement it
  • Viser: a library for interactive 3D visualization in Python
  • CGAL plugin: responsible for recurrent CI compilation fails. The CGAL or Gmsh projects already providing Python bindings, it sounds reasonable. Let's discuss the reason why we shall keep SOFA components using CGAL
    • Tough template meta programming
    • Attempt using explicit instantiation which did not succceed
    • Could be removed from the CI and still compiled on GitHub
    • Examples using the CGAL codes could be rewritten in Python
    • See issue #37
  • SofaGLFW plugin
  • Two plugins added as decided by the SOFA Technical Members

PR review

SOFA PR review

SOFAPYTHON3 PR review

DOC PR review

  • Many PRs are open, including several on the documentation generation for plugins. It will be reviewed in the coming days

CI PR review

CGALPLUGIN PR review

PR merged within the week

SOFA PR merged

SOFAPYTHON3 PR merged

BEAMADAPTER PR merged

SOFAGLFW PR merged

SOFA.QT PR merged

CGALPLUGIN PR merged

REGISTRATION PR merged

PLUGINEXAMPLE PR merged

SOFA.METIS PR merged


16/07/2025

News

  • Get ready for the SOFA Week 2025
  • The team wishes you a nice summer 2025 :beach_with_umbrella:

Technical discussions

  • #518 Use built in method numpy.set_printoptions in addObject/addChild methods to enable numpy 2 Enforce numpy to use the legacy representation in order to support string conversion for Data. Using the RAII mechanism. PR is ready
  • AdaptiveBeamMapping in BeamAdapter: this component allows to map a 3D model onto a beam model and thus calculate forces on the mesh (pneumatic, elastic) and project them onto the beam. API changed since Paul Chaillou's PhD thesis. Await Quentin's feedback regarding the BeamInterpolation object
  • SofaGLFW / ImgGui : some features are still missing
    • ↩️ button ImGui is doing reset()
    • Other features: align on axis, changing the focus point, recently opened files; mouse incision, select in Logs
  • #5611 [All] CMake: an other round of speedup (configure stage)
    • This PR exploits the optimization available in sofa_find_packages(). Applying it to all *Config.in, it avoids re-finding packages that are already found. This is already enough to gain time on configure on windows. PR seems ready, just awaits for Alex's feedback
  • #5610 [Sofa.Simulation.Graph] Remove DAGSimulation and DAGNode
    • Follow-up of a DAG-related discussion with Alex. All DAG-XXX is meaningless since we support nothing else than DAG (before Tree was existing). All could be simply Node, Context and Simulation. This PR is based on #5566. See below
  • #5566 [Sofa.Core] Merge DAGNode in Node
    • This PR merges both DAGNode and Node. Some part of the code where DAG used the design pattern 'call super' has been refactored in a quick way (just changed the call to super to a call to self method). But it might be better to refactor it completely because there is no purpose of having this call to another method anymore.
  • #5608 [Sofa.Core] Merge BaseContext and Context
    • Node implementation is inheriting from BaseNode and BaseContext. Merging the two is a complex move. Damien is looking for Context and BaseContext: again no clear explanation why we keep two layers. Context would be merged into BaseContext since it requires less code change (testing purpose). See diff in this commit. The question that arised is:
      • why keeping DAGSimulation → #5610
      • why does the Node class inherits from both BaseNode and BaseContext. We must clarify why we want to differ a Node and a Context (architecture questioning)
  • #5571 [Sofa.Core] Add a registerToFactory template function in ObjectFactory
    • This removes the class name from the method symbol, using templates to pass the class name. This eases the process of refactoring using IDE.
    • The specialization of the registerToFactory<template class T> could be done automatically by providing a default templated implementation. But in that case we would need a static argument in all classes containing the help string of the factory along with a SFINAE-like mechanism to enable this default implementation when this help string is available.
  • Data in components for rendering : two purposes are supported. 1) Live introspecting (debug) 2) actual expected visualization of Data in a scene. For the 1) we should have options in ImGui that is supporting the user in its scene development

PR review

SOFA PR review

PR merged within the week

SOFA PR merged

SOFAPYTHON3 PR merged

SOFAGLFW PR merged

SOFA.QT PR merged


09/07/2025

News

Technical discussions

  • Check needed features for GLFW
    • Fred is in the process of improving the node searching behavior
    • Maybe the most important one listed in issue and still missing are the keyboard shortcut
    • We are also missing the ability to create a video of the execution in the GUI (e.g. save automatically a screenshot by frame)
  • Refactoring of the SofaPython Bindings/Modules
    • To ease the use of modules/bindings, we should rename them to match the one in SOFA since SOFA NG
    • It would require a compatibility layer which doesn't seem trivial
    • Maybe a coding sprint would be good for this task
  • #5571 [Sofa.Core] Add a registerToFactory template function in ObjectFactory
    • TrailRenderer is the only component that is templated here. But it is the case of most of the components in SOFA. So we would like to see how it works with such a component to decide whether we want this in the core or not.
  • #4991 [Collision] ADD optional viscous friction at sliding contact points
    • Paul will do the work on adding it into SOFA, the feature is interesting.

PR review

SOFAPYTHON3 PR review

PR merged within the week

SOFA PR merged

BEAMADAPTER PR merged

CI PR merged

SOFAGLFW PR merged

REGRESSION PR merged

SOFA.QT PR merged


02/07/2025

News

Technical discussions

  • Feedback from Slicer Week
    • Many people interested in SOFA (medical, soft-robotics)
    • SOFA launchable on any server using rpyc
    • Several fixes on CMake
  • Interest in Gaussian Splatting
    • CNRS call is an opportunity
    • Create easily 3D environment, use for collision detection (LDI)
    • e.g. method Nerf
  • Roadmap topics
    • Create GitHub projects
    • Notify persons in charge
  • PoC about the DataTypes
    • Plugin SOFA to test the creation of a new DataType: https://github.com/alxbilger/DataTypes
    • Understand what was needed to create a new DataType
      • it depends on how you use it, and which class is using it
      • here : case where it is used by a MechanicalObject
      • ⚠️ this work has only been done until the build of a templated MechanicalObject passed. No runtime tests has been performed
    • Observations
      • Heavy to implement : 500 lines just to describe a new DataType
      • VecCoord, Real etc. are cumbersome to redefine but using std::vector it can be shorten
      • Important underlying dependency on MatrixDeriv: a function was introduced in MechanicalObject when working on the new matrix type for constraints (note that MatrixDeriv looks very much like a CompressedRawSparseMatrix which makes it not generic at all)
      • Link between Data (relying on AbstractDataTypeInfo) might need to be refactored too
      • All this is a large project, not urgent to rush in
    • Strategy
      • A reasonable strategy could be to work on a more generic refactoring of MatrixDeriv in MechanicalObject
      • It could be design as a C++ concept
  • Windows remarks
    • Execution of Python unit tests on Windows should be re-activated
    • Slow configuration on CMake since some weeks (generation takes +180s)

PR review

SOFA PR review

PR merged within the week

SOFA PR merged

SOFAPYTHON3 PR merged

SOFAGLFW PR merged


25/06/2025

News

  • SOFA Technical Committee took place, now heading towards the SOFA Week 2025
  • DEFROST team will again organize a soft robotics summer school in 2026 in Lille, sponsored by IEEE RAS!
  • Consortium took part in the 2RM meeting gathering French engineers in soft-robotics
  • Roadmap v25.12 is out

Technical discussions

  • Discuss and collectively decide about the mapping graph
    • where to store the mapping graph
      • root context
      • assembly component
      • animation loop
      • Simulation data structure for each simulation (started refactoring of this singleton) with: node (root), graph (mapping), execparams
    • when to trigger its update
      • each usage
      • each time step*
      • each change in the scene graph*
      • each change in the mapping graph (using callbacks on Links)
    • see PR #5557 which introduces a function to visit mappings according to the mapping graph
      • way simpler approach
      • relying on brute force approach (quadratic-order search on the number of "edges"/mapping connection)
      • ongoing work to evaluate the need to create the mapping graph
      • exploiting parallelism would be possible, but manually
  • COAL
    • SIMD data structure x8 speedup expected
    • for SOFA, it was intended to use Eigen (vector and matrices) which is using SIMD structure too

PR review

SOFAPYTHON3 PR review

DOC PR review

SOFAGLFW PR review

  • #204 Add support of custom GUIs Possibility to create a new GUI based on ImGui. This is done for a C++ implementation (CameraGUI is based on the BaseAdditionalGUI) however the Python version to create a new GUI using the ImGui binding (based on our version of ImGui) is not yet implemented. PR is ready, another review would be welcome → keep to review

PR merged within the week

SOFA PR merged

BEAMADAPTER PR merged

CI PR merged

SOFAGLFW PR merged

CGALPLUGIN PR merged


18/06/2025

News

  • SOFA Technical Committee took place last week in Strasbourg
    • Report incoming
    • Interesting discussions and good times 🍻 as always!
  • DEFROST team will again organize a soft robotics summer school in 2026 in Lille, sponsored by IEEE RAS!

Technical discussions

  • Internship ended in Lille on a customized GUI in C++. In Python, the internship did not successfully completed a demo (no best ImGui Python library).
  • #5539 [Type] Replace fixed_array with std::array
    • Complex to inherit from std::array when using advanced mechanisms such as traits or concepts
    • Super breaking currently, still need a lot of work to make it work. It therefore questioned the interest in pursuing further this change. Dev team estimates it worth changing.
    • Possibly push towards removing Vec and Mat
    • Wait the PR progresses a bit before notifying reviewers

PR review

SOFA PR review

CI PR review

SOFAGLFW PR review

  • #192 Add option to Draw the scene Bounding Box Linked to #5527. In Qt GUI, qglviewer was implementing this feature. Now, a dedicated component is implementing the rendering of the visual bounding box. This component is added dynamically in the scene. Why not creating a filtering of such components (also like RequiredPlugin) to make them invisible in the graph. → ready

04/06/2025

News

Technical discussions

  • Discussion about the Assimp plugin
    • Outsource the code
    • Deactivate on the CI
  • Addressed topics at "Réseaux Thématiques Inria"
    • Scientific computing : date being defined
    • Robotics : differentiable simulation
    • LLM : Lyon in October
  • Plugin dashboard : make sure to get the triggered Actions updating the dashboard
  • SOFA dashboard is currently having one scene time-outing : SlidingLagrangianConstraint.scn. Alex will investigate it

PR review

SOFA PR review

BEAMADAPTER PR review

DOC PR review

SOFAGLFW PR review

CSPARSESOLVERS PR review

PR merged within the week

SOFA PR merged

SOFAPYTHON3 PR merged

DOC PR merged

CI PR merged

CGALPLUGIN PR merged

SOFASPHFLUID PR merged


28/05/2025

News

Technical discussions

PR review

SOFA PR review

SOFAPYTHON3 PR review

DOC PR review

CI PR review

CGALPLUGIN PR review

SOFASPHFLUID PR review

PR merged within the week

SOFA PR merged

SOFAGLFW PR merged

SOFA.QT PR merged


21/05/2025

News

  • 📢 Last minute registration for STC#19:exclamation:
  • Vote for the STC discussion topics will take place at the SOFA dev meeting

Technical discussions

  • Feedback from the SED Sprint on the application of the template method pattern
    • Successful experience, 34 PR opened (set to WIP) will be post-processed by Paul and Hugo
    • Application on all Base classes (inheriting from BaseObject)
    • One PR remains to be completed (hugtalbot)
    • One other PR remains focused on BaseObject itself
    • Deprecation purpose : base function is made final to trigger an error message on overriding function (see online code snippet). Later, base functions could be made non-virtual.
  • Presentation of the dashboard for plugins made by Paul for the supported plugins
    • Soon a dedicated static webpage will be created
    • PR are currently open in various plugin repos
    • Remaining TODO : fix failing plugins
  • #5500 [Core,Lagrangian] Add some useful comments
    • Constraint code is hard to catch. Need a review
    • Suggestion not to wait for the PR to be complete
  • Alex wrote a XML-scheme script which can be used in IDE to make code autocompletion. Feel free to check the SOFA.xsd
  • Alex also created a plugin "maker", see GitHub Discussion #5486

PR review

SOFA PR review

BEAMADAPTER PR review

SOFA.QT PR review

PR merged within the week

SOFA PR merged

SOFAPYTHON3 PR merged

BEAMADAPTER PR merged

DOC PR merged

SOFAGLFW PR merged

REGRESSION PR merged

SOFA.QT PR merged

CGALPLUGIN PR merged

REGISTRATION PR merged

PLUGINEXAMPLE PR merged

SOFASPHFLUID PR merged

SOFA.METIS PR merged


14/05/2025

News

Technical discussions

  • ODESolver::solve(params,dt) used in AnimateVisitor and MechanicalIntegrationVisitor (only used in CollisionAnimationLoop and its MT version)
    • keep only one makes sense (full signature with VecIds)
    • issue created about this #5467
  • #5466 [Framework] Apply template method design pattern to BaseMapping
    • each function should have a dedicated / different name
    • alternative: focus on the level 2 (Mapping, ForceField, Mass classes). Not preferred regarding the consistency
    • does not prevent/block this PR (and similar ones) anyone
  • Resurrection of SOFA dev repository: TriangleSubdivisionTopologicalMapping. Could be brought back to SOFA or Shell plugin
    • This code can be brought in SOFA since it has interest beyond the Shell plugin
  • SOFA GL is not checked using GLFW GUI: error at first configuration
    • should remove GLFW active by default
    • set a log that says that SOFA_OPENGL is needed

DOC PR review

SOFAGLFW PR review

PR merged within the week

SOFA PR merged

SOFAPYTHON3 PR merged

BEAMADAPTER PR merged

SOFAGLFW PR merged


07/05/2025

News

Technical discussions

  • SOFA GFLW - new GUI : missing features & bugs to solve, development effort
    • Depending on the advancement on fixing these bugs, we might have to distribute Qt GUI and set by default in the v25.06 release
    • Consortium staff focuses on GitHub Actions until mid-June
  • Migration Jenkins to GitHub Actions : Linux and MacOS is done, only Windows remains. One compilation issue with Cuda + one alst unknown remains: the tests, there might be issues with the paths (length).
  • Template method pattern : why not only check the component state in visitors ?
    • Do not target the componentState process in the sprint
    • #3317, #3904, #4943 already started this work
    • Discussion on naming
    • Issue describing a recipe to apply such changes
    • Performance is a real concern with this mechanism: e.g.addDForce for iterative solvers -> We will need 'less lazy' update mechanism of the component state to avoid checking the graph each call of those simple methods.
      • A good thing is that now we have the performance regression scripts : we will need to test the PR with this before merging them

PR review

SOFA PR review

BEAMADAPTER PR review

PR merged within the week

BEAMADAPTER PR merged

DOC PR merged

CI PR merged

SOFAGLFW PR merged

REGRESSION PR merged


30/04/2025

News

Technical discussions

  • Scene errors: [ERROR] [FileSystem::createdirectory()] /home/runner/.config/SOFA: File exists further to #5096
    • Linux error only since when the folder is existing, an error is thrown. We should either use std::filesystem instead of sofa::helper::system::FileSystem (see Fred's comment)
    • Decision : use std::filesystem directly in the SOFA FileSystem
  • #5411 [SofaDistanceGrid] New scenes and regression tests for the plugin
    • Problem with Regression tests: not the same tests are failing on all OS because of numerical precision discrepencies. Investigation should be performed in VM + on ubuntu use gcc and clang to see compiler differencies.

PR review####

SOFA PR review

SOFAPYTHON3 PR review

  • #494 [doc] Fix examples given in the First Steps It has been fixed and tested. But they will be outdated for next release (Use of QGL instead of IMGUI) --> need to update it. Tests should be added in SofaPython3 to test scenes ran within a Python environment. → ready

BEAMADAPTER PR review

DOC PR review

REGRESSION PR review

PR merged within the week

SOFA PR merged

BEAMADAPTER PR merged

REGRESSION PR merged


23/04/2025

News

  • 1️⃣ 0️⃣ 0️⃣ 0️⃣ 🌟 on the SOFA GitHub repository!
  • 📢 STC#19 registration is open: register online now
  • SOFA release branch v25.06 will be created early May
  • Autogeneration of activable and supported plugins has been added to the doc.

Technical discussions

  • #5411 About the SofaDistanceGrid plugin
    • The collision model is shifted with respect to the object. Confusion comes from the fact that the collision is not mapped and acts directly on the mstate of the object. To remove the shift, only one point should be placed in the mstate and it should be at the origin.
      • It might be great to fix that and enable a mechanism of localToGlobalCoord as in the rigid mapping. To allow any relative position at the begining of the simulation between the dof and the mesh.
    • It need to be refactored:
      • warn user when object is wrongly used
      • explodes files to have one file per object
      • use links instead of pointers for mstate or inherits from SingleStateAccessor
      • rely on a loader instead of loading the file internaly. This will enable the mechanisms availables into loaders.
    • There is a current dependency MiniFlowVR that is quite old and we would like to remove it. But right now it seems to be required. We need to investigate to see if the plugin can use more common filename to know if we can get rid of it.

PR review

SOFA PR review

SOFAPYTHON3 PR review

BEAMADAPTER PR review

REGRESSION PR review

PR merged within the week

SOFA PR merged

DOC PR merged

PLUGINEXAMPLE PR merged

SOFASPHFLUID PR merged


16/04/2025

News

  • 1️⃣ 0️⃣ 0️⃣ 0️⃣ 🌟 on the SOFA GitHub repository!!!!!
  • 📢 STC#19 registration is open: register online now
  • SOFA release branch v25.06 will be created early May
  • Nice InfinyTech3D booth at Laval Virtual: see the LinkedIn post here
  • InfinyTech3D will take part in the SOFA-Slicer workshop organized at Universidad Carlos III de Madrid in Spain

Technical discussions

  • Continuous integration was down for two days due to an "update" on Inria servers. Now back up and running!
  • Prefabs project still ongoing, we might be discussing about it at the STC#19!

PR review

SOFA PR review

DOC PR review

PLUGINEXAMPLE PR review

SOFASPHFLUID PR review

PR merged within the week

SOFA PR merged

PLUGINEXAMPLE PR merged


09/04/2025

News

  • 📢 STC#19 registration is open: register online now
  • Welcome to Lucas Burel ! He is a new intern at the DEFROST team who will work on the shell models.

Technical discussions

  • Interest in simple models for wave propagation in a volume
    • Discussion to have again with InfinyTech3D
    • Demo could be done by Fred later
  • Integration of COAL (HPP-FCL)
    • Problem was documentation and access on response data
    • Get in touch with Louis Manteau directly would ease the integration
  • Project candlewick: a cross-platform real-time 3D renderer for robotics powered by SDL3-gpu
    • This is really a choice for technology but a lot of other technical solutions exist, let's wait and see. Not yet mature

PR review

SOFA PR review

DOC PR review

PLUGINEXAMPLE PR review

SOFASPHFLUID PR review

PR merged within the week

SOFA PR merged

SOFAPYTHON3 PR merged

DOC PR merged

CI PR merged

REGRESSION PR merged

SOFA.QT PR merged


02/04/2025

News

  • 📢 STC#19 registration is open: register online now
  • Welcome to Lucas Burel ! He is a new intern at the DEFROST team who will xork on the shel models.

Technical discussions

  • Presentation the new visitors by Alex (3rd edition)
    • Current visitors are based on the scene graph, it therefore depends on how it has been built by the user (e.g. ordering influences the execution order)
    • Working on visitors based on the mapping graph : would guarantee a desired execution order
    • Mapping graph does not exist yet
    • The header-only TaskFlow library is used to define and order the tasks
    • Questions arise:
      • how/when to do conversion from the scene graph to mapping graph (convert/recompute it or cache it)
      • how to make sure to detect all changes affecting the mapping : cache invalidation is the complex part
      • would it be possible to handle that by introducing callbacks on mappings links to invalidate the cache whe a change modifies the graph?
      • we should work on a scene stress-case (rigidification, topological change, node removal/addition, dynamic contacts)
      • might be possible to have an intermediate version where we could activate the recomputation of the graph
  • Status of the BeamPlastic plugin (#1618)
    • The plugin will be open-sourcely released with a LGPL license
    • We should think merging the various beam models though
  • Add a documentation page about SOFA environment variables that are used explicitly or as fallback (e.g. SOFA_ROOT, SOFA_PLUGIN_PATH, and more !)
    • Make a troubleshooting page whith all the env variables and other stuff pointing as much as possible to already existing doc pages.
  • Possible participation of InfinyTech3D at the SOFA-Slicer workshop
  • Interesting PR to keep in mind using precompiled headers on GitHub Actions: #2627 Fix PCH and ccache build

PR review

SOFA PR review

SOFAPYTHON3 PR review

DOC PR review

SOFA.QT PR review

PR merged within the week

SOFA PR merged

SOFAPYTHON3 PR merged

BEAMADAPTER PR merged

CI PR merged

SOFAGLFW PR merged

REGRESSION PR merged


26/03/2025

News

Technical discussions

  • Binary signature process: shall we start the discussion ? :arrow_right: Info here
    • that might be good, but maybe not the higher priority. We need to prioritize. Jenkins 2 Github migration has higher priority : start after this.
  • CMake : generate dependency graph and edit it to make it simpler
    • Currently the tree is generated using CMake : but a svg is directly produced
    • Alex has an option it its IDE (jetbrain) to generate such graph using yFiles for visualization. --> Very difficult to read
  • Node editor librairies for SofaGLFW (ImGui) to draw simulation/mapping/data tree
    • Tried 'imgui-node-editor' from themd and ImNodeFlow. --> Problem: imgui-node-editor is the best but is not developped anymore (them main branch is not even building with ImGui master)
    • We need to decide wether visualization is a priority -> need to be discussed at next STC. If it is, we need to either decide if maintaining imgui-node-editor is worth the time, find an active fork or find another library upon which we can rely.
  • #5356 [All] Move fetched guis folders into dedicated folder
    • Problem: Python bindings in GUI will never be compiled.
    • Quick and dirty solution : add SofaPython3 before anything else. (transfer adding of application subfolders in a CMakeLists.txt)
    • Better solution: add all plugins directly in a main CMakeLists file in application (directly adding plugin/SofaPython3 for instance). Could be simplified byt segmenting inclus with subfiled (e.g. plugins.cmake)

PR review

SOFA PR review

SOFAPYTHON3 PR review

BEAMADAPTER PR review

DOC PR review

CI PR review

SOFA.QT PR review

PR merged within the week

SOFA PR merged

SOFAPYTHON3 PR merged

BEAMADAPTER PR merged

SOFAGLFW PR merged

SOFA.QT PR merged

SOFA.METIS PR merged


19/03/2025

News

Technical discussions

  • Short presentation about ImGui
    • Update the list of desired features and noticed bugs (see Issues)
  • Compilation of SoftRobots.Inverse, Cosserat (#5113) on the CI
    • Make a PR with SoftRobots.Inverse
  • #5332 [CMake] Fetch in build dir instead of source to avoid lots of cmake errors
    • we should avoid fetching sources into the SOFA sources
    • this PR suggest to include external plugins in the build dir
    • in plugins, only one file (GitConfig.cmake) remains containing name of the repository and the tag
    • issue with SofaPython3 which does not behave properly (all internal folders/targets are copied in the build), it should therefore be refactored
  • #5324 [examples] Propose a new default scene
    • Everyone agrees with the new scene
    • Problem of center of view noticed
    • Comments could be added in the scene

PR review

SOFA PR review

BEAMADAPTER PR review

DOC PR review

SOFAGLFW PR review

SOFA.QT PR review

SOFA.METIS PR review

PR merged within the week

SOFA PR merged

DOC PR merged

SOFAGLFW PR merged

REGRESSION PR merged


12/03/2025

News

  • New engineering forces coming in!
  • Check out the 2025 SOFA events
  • Dedicated session on matrix assembly will take place around the STC#19 in June in Strasbourg, along with paper presentations
  • Sprint SED: joint effort with SED engineers to work on how to proprerly apply the delegate pattern in SOFA
    • Simple topic with large impact on SOFA
    • Any other suggestions is welcome

Technical discussions

  • Presentation of the Performance Regression dashboard
    • performance tests are now running at each merge in master
    • not run within a PR
    • Results are also in the same repo to be self-contained
    • We need to remember that changing the timers should trigger a change in the script (patch)
    • TODOs:
      • Notify when performances worsen
      • Document how to update the repository when a timer is modified/added
      • Include this check recursively at STC
      • Windows builder could be trickier (LTOptim)
      • Add syntax to add optionnal timers in timer files
  • Plastic beam: Fred did some update to make it compile. Let's see if the full CI is OK by activating it by default in the PR.
  • List of errors on CI
    • LCPForceFeedback_test should just be more gentle on the frequency (500Hz)
  • Discussion about remaining ImGUI issues
    • Add data modification widgets
    • Fix last problem regarding contact mapper and random names making ImGUI crash
    • Mouse interactions
  • Collision models with Capsule

PR review

SOFA PR review

PR merged within the week

SOFA PR merged

BEAMADAPTER PR merged

DOC PR merged

CI PR merged

SOFAGLFW PR merged

REGISTRATION PR merged


05/03/2025

News

  • New engineering forces coming in!
  • Check out the 2025 SOFA events
  • Additional training courses will take place around the STC#19 in June in Strasbourg

Technical discussions

  • Having several ODE solvers in a single node: Alex has a use case where one could use the other. But today all solvers are visited independently
    • SolveVisitor triggers a solve on all ODE solvers in each node
    • Discussion about BDF schemes (order 1-6)
    • Any use case to have several ODE solvers per node ?
    • Pointer towards the first ODE found + warning at scene creation when several ODE solver founds
    • Possibly refactor the NodeSingle
  • Status of Shell plugin
    • Different versions at Mimesis (gitlab) and Defrost (github)
    • The open-source version is not functional (not stable) with a bug (rest position)
    • The private older version contains a lot of things (Bezier interpolation, engines, bending plates)
    • Solutions: restart from scratch or revive codes
  • #1618 [plugins] Beam plastic
    • Answer from Camille: agrees to include changes and possibly pluginize it
    • Contact UCA for license definition

PR review

SOFA PR review

BEAMADAPTER PR review

SOFA.QT PR review

REGISTRATION PR review

PR merged within the week

SOFA PR merged

SOFAGLFW PR merged

26/02/2025

News

  • New engineering forces coming in!
  • PerformanceRegression plugin is out and running! A dedicated presentation will be done later this week and at the STC#19
    • Each new commit in master branch of SOFA now triggers performance testing
    • It does not trigger an error on GitHub CI if performances decrease
    • Can be run locally

Technical discussions

PR review

SOFA PR review

BEAMADAPTER PR review

SOFAGLFW PR review

SOFA.QT PR review

REGISTRATION PR review

PR merged within the week

SOFA PR merged

SOFAPYTHON3 PR merged

BEAMADAPTER PR merged

SOFAGLFW PR merged

SOFA.QT PR merged

SOFAMJEDFEM PR merged

CGALPLUGIN PR merged

REGISTRATION PR merged

PLUGINEXAMPLE PR merged


19/02/2025

News

  • Recruitment Gaetan Desrue (Epione) to work on electrophysiology simulations for 6 months
  • Themis just arrived at InfinyTech3D as software engineer on SOFA

Technical discussions

  • #5272 [CMake] Modify presets to generalize its use
    • Explicit and centralize the various SOFA configuration used for the CI, the release generation etc. This PR should help significantly in the lifecycle on plugins and the technical steering of plugins by SOFA consortium members
    • Fine by Olivier (for pixi) might be changed slightly in the future
    • Add hidden configuration named 'core' that would not integrate the applications
  • Dump a newer version of ImGUI
    • Related to the issue #152
    • The plugin uses some ImGUI options : ImGUI has no packaging, two branches in parallel (docking-branch & master). We rely on docking-branch but no Conda packaging exists about it. Discussions ongoing with the ImGUI devs
    • We'll continue to fetch the docking-branch, deliver the binary version, link statically and not shipping symbols to avoid inconsistency with users ImGUI versions
  • All SOFA repository officially supported now have the proper PR-related flags. Note that flags on Defrost plugins: SoftRobots, SoftRobots.Inverse and ModelOrderReduction do not have PR-related flags
  • Plugins
  • #5245 [all] Lifecycle in preparation of v25.06 release
  • Update on SofaPython3 documentation incoming (see #481, #482 and #483)

PR review

SOFA PR review

SOFAPYTHON3 PR review

BEAMADAPTER PR review

SOFAGLFW PR review

SOFA.QT PR review

REGISTRATION PR review

PR merged within the week

SOFA PR merged

BEAMADAPTER PR merged

SOFAGLFW PR merged


12/02/2025

News

  • We did move from Twitter to Reddit, discover our new Reddit account!
  • 2025 Executive Committee of SOFA took place on January 28th with Strategic Partners

Technical discussion

  • ⚠️ #5176 has been merged to remove Qt and make SofaImGUI as default viewer ⚠️
  • Various flags / SOFA configurations
    • too many different definitions
      • CMakePresets.json
      • sofa-framework/ci
      • CMakeLists.txt
      • Document "CI Scope
    • this could be simplified using only the Presets (generating a document on the wiki)

PR review

SOFA PR review

BEAMADAPTER PR review

DOC PR review

SOFAGLFW PR review

PR merged within the week

SOFA PR merged

SOFAPYTHON3 PR merged

DOC PR merged

SOFAGLFW PR merged


05/02/2025

News

  • We did move from Twitter to Reddit, discover our new Reddit account!
  • 2025 Executive Committee of SOFA took place on January 28th with Strategic Partners

Technical discussion

  • Scene explosion: how to detect/avoid this by pausing SOFA.
    • The Animation loop could inspect the mstates :
      • Might be good to try to detect when a NaN appears.
      • Energy based detection ?
    • Or the ODE
      • Newton Raphson has a residue that might also be good to tak einto account
    • Look at Bordas's work on how to detect when the FEM model is not precise enough

PR review

SOFA PR review

SOFAPYTHON3 PR review

BEAMADAPTER PR review

DOC PR review

  • #168 Update 45_Lifecycle_mechanisms.md Discussion on whether it might be better to guide the compilation error instead of removing the symbol directly. Normally we should use DeprecatedAndRemoved. It is necessary to unify the lifecycle API -> make a clear difference between C++ symbol and factory datas. → keep to review

SOFAGLFW PR review

PR merged within the week

SOFA PR merged

SOFAPYTHON3 PR merged

BEAMADAPTER PR merged

DOC PR merged


29/01/2025

News

  • We did move from Twitter to Reddit, discover our new Reddit account!
  • 2025 Executive Committee of SOFA took place on January 28th with Strategic Partners

Technical discussions

  • Tour of the dashboard: persistent or flashing errors/warnings/crashes
  • Windows VM are extremely slow: It is urgent now to move from Jenkins to GitHub Actions, with GitHub VM and possible hybrid setup with self-hosted machines (CUDA)
  • Re-discuss the compliance with C++20
    • Proxsuite has fixed its issue
    • Support clang-cl on windows VM builders (half of the builder could use clang-cl)
    • Start with a CI with Pixi on GitHub
  • Binary signature: service is open and in production but some bugs remain
  • Conda: saturation of memory with the ModelOrderReduction plugin
    • Sort the examples to keep (only finger)
    • Make sure to use the flag introduced by Paul to filter the resources at installation
  • Make warning for the double loading of plugin as a developer warning

PR review

SOFA PR review

SOFAPYTHON3 PR review

BEAMADAPTER PR review

DOC PR review

SOFAGLFW PR review

PR merged within the week

SOFA PR merged

BEAMADAPTER PR merged

DOC PR merged

SOFAGLFW PR merged

REGRESSION PR merged


22/01/2025

News

Technical discussions

  • New regression architecture proposed
    • Less environment variables
    • Simplified through only Python
    • Applied in BeamAdapter as in #164
    • TODO (see #69)
      • use .csv extension for regression files instead of .json
      • regenerate all dependencies
      • test with a SOFA PR and a sofa-depends-on
      • check new references files with old ones
  • Complexity in handling the lifecycle of renamed data
    • Once the date of disabling is reached the c++ symbol could simply be deleted
    • The compiler (clang at least) would probably suggest since the name difference is only d_

PR review

SOFA PR review

BEAMADAPTER PR review

  • #164 [WIP/POC] Use new regression As mentioned in the technical discussions, the new regression process should be tested against SOFA then officially supported → keep to review

SOFAGLFW PR review

PR merged within the week

SOFA PR merged

DOC PR merged


15/01/2025

News

  • Release v24.12 is now out (both source and binary versions)
  • Agenda 2025 is available!

Technical discussions

  • Release
    • New script using CPack at the end of the install
    • Working for all, just failing with the ZIP on Windows
  • Clean of SOFA and SofaPython3 repository branches
  • CI Conda
    • Release done with v24.12
    • Now work on plugins
    • Nightly packages being generated (integrate GLFW) for a new CI fully based on Conda. This was required due to the coupling between SOFA and Pinocchio (plugin Sofa.RigidBodyDynamics)
    • Test of the Conda release is welcome
    • Remove support to 3.8 and 3.9 to fit what SOFA supports
  • Overview of the introduced C++20 concepts (#5196, #5199, #5200, #5201, #5205 and more recent ones), SOFA is leveling 🆙
  • #5212 [Simulation] Trigger error when Node already contains component
    • Generate many errors in the scene which are not following the Node rules
    • Might be good to first merge this PR only with warnings
    • Then open a PR with an ERROR throw and make it pass (mainly ogl + mechanicalObject OR two topology)
    • Why not removing the rule of having only one instance of a certain type of component ? If we base mechanics on mapping graph that should be explicited with link then nodes have no more utility except sorting components.

PR review

SOFA PR review

DOC PR review

PR merged within the week

SOFA PR merged

SOFAPYTHON3 PR merged

BEAMADAPTER PR merged

DOC PR merged


08/01/2025

News

  • Happy New Year 2025 to you all!!
  • Read our article about the SOFA Week 2024 experience!
  • v24.12 branch is created and the release is almost ready. Stay tuned for the official binary release!
    • version for x86-64 should be ready by Friday (v24.12.00)
    • version for arm architecture will be targeted but could come in a second minor release (v24.12.01)

Technical discussions

  • Signature of binary release should be done through a Inria-GitLab pipeline (picking up the SOFA binaries). A dedicated runner is available on the Inria infrastructure. We will contact the first developers / admin using it. Possibly to integrate within the new GitHub CI (action-driven)
  • Plugin namespace organization
    • all namepsaces should be prefixed with the plugin name (e.g. cosserat::...{})
    • all register methods should be done within the namespace with the plugin name, e.g. namepace cosserat{}
  • New GUI using GLFW (roadmap topic)
    • #5177 [runSofa] Change default scene --> modify this PR to remove the set to default and include the scene in the Demo folder.
      • the rendering of SOFA should be improved
      • should the default scene be that complex?
      • use the config to define whether or nor to use a default scene
      • Problem: BeamAdapter being fetched and activated by default
        • Not a real problem because it can be deactivated with CMake (-DPLUGIN_BEAMADAPTER=OFF)
    • #5176 [GUI] Remove Qt and make SofaImGUI as default viewer
      • Merge first to see how dev goes with an auto-fetched
      • Agreement has been met to get SofaImGUI as default so that we can improve/clean it for the next release v25.06

PR review

SOFA PR review

SOFAPYTHON3 PR review

BEAMADAPTER PR review

DOC PR review

SOFAGLFW PR review

  • #141 Set compilation of plugins by default This might have an impact on the GitHub Actions (compilation SofaGLFW alone and compilation with ImGui). Actions should be updated to hard-impose the SofaImGui OFF. Do we want to have separate repositories? → wait for #5176

PR merged within the week

SOFA PR merged

SOFAPYTHON3 PR merged

BEAMADAPTER PR merged

SOFAGLFW PR merged

Clone this wiki locally